From admin at opensuse.org Mon Mar 1 01:36:20 2021 From: admin at opensuse.org (OBS Notification) Date: Mon, 01 Mar 2021 01:36:20 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <603c452e2382f_6772ac5bdd365f01189978@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_20.04/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_20.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 155s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 155s] [COMPILING libboard/qmod/source/card_pres.c] [ 155s] [COMPILING libboard/qmod/source/wwan_led.c] [ 155s] [COMPILING libboard/qmod/source/i2c.c] [ 155s] [COMPILING libboard/qmod/source/board_qmod.c] [ 155s] [COMPILING apps/dfu/main.c] [ 155s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 156s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 156s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 156s] Memory region Used Size Region Size %age Used [ 156s] rom: 16588 B 16 KB 101.25% [ 156s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 156s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 204 bytes [ 156s] collect2: error: ld returned 1 exit status [ 156s] % [ 156s] make[2]: *** [Makefile:234: flash] Error 1 [ 156s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 156s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 156s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 156s] dh_auto_build: error: make -j1 returned exit code 2 [ 156s] make: *** [debian/rules:16: build] Error 25 [ 156s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 156s] ### VM INTERACTION START ### [ 159s] [ 148.843971] sysrq: Power Off [ 159s] [ 148.851984] reboot: Power down [ 159s] ### VM INTERACTION END ### [ 159s] [ 159s] lamb07 failed "build simtrace2_0.7.0.70.657c.dsc" at Mon Mar 1 01:36:09 UTC 2021. [ 159s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Mar 1 01:36:20 2021 From: admin at opensuse.org (OBS Notification) Date: Mon, 01 Mar 2021 01:36:20 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.10/x86_64 In-Reply-To: References: Message-ID: <603c452dd495a_6772ac5bdd365f011898cc@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_20.10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_20.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 156s] [COMPILING apps/dfu/main.c] [ 157s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 157s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 157s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 157s] Memory region Used Size Region Size %age Used [ 157s] rom: 16580 B 16 KB 101.20% [ 157s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 157s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 157s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 157s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 157s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 157s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 157s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 196 bytes [ 157s] collect2: error: ld returned 1 exit status [ 157s] % [ 157s] make[2]: *** [Makefile:234: flash] Error 1 [ 157s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 157s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 157s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 157s] dh_auto_build: error: make -j1 returned exit code 2 [ 157s] make: *** [debian/rules:16: build] Error 25 [ 157s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 157s] ### VM INTERACTION START ### [ 160s] [ 149.042664] sysrq: Power Off [ 160s] [ 149.049518] reboot: Power down [ 160s] ### VM INTERACTION END ### [ 160s] [ 160s] lamb12 failed "build simtrace2_0.7.0.70.657c.dsc" at Mon Mar 1 01:36:08 UTC 2021. [ 160s] -- 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 Mar 1 08:56:24 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 1 Mar 2021 08:56:24 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3: rename ttcn3-ggsn-test-kernel-net-next References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/23149 ) Change subject: jobs/ttcn3: rename ttcn3-ggsn-test-kernel-net-next ...................................................................... jobs/ttcn3: rename ttcn3-ggsn-test-kernel-net-next Change the name of the job to ttcn3-ggsn-test-kernel-git. A follow-up patch will add parameters to the jenkins job to specify a different repository than net-next, therefore the generic name makes more sense. Related: OS#3208 Change-Id: I409f49f88f0a75c782dd3c90c5051e8287644138 --- M jobs/ttcn3-testsuites.yml 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/49/23149/1 diff --git a/jobs/ttcn3-testsuites.yml b/jobs/ttcn3-testsuites.yml index cc66836..3e62126 100644 --- a/jobs/ttcn3-testsuites.yml +++ b/jobs/ttcn3-testsuites.yml @@ -28,11 +28,11 @@ - ttcn3-ggsn-test-kernel-latest: blocking: "^(ttcn3|TTCN3-.*)-ggsn-test.*" timer: 20 04 * * * - - ttcn3-ggsn-test-kernel-net-next: + - ttcn3-ggsn-test-kernel-git: blocking: "^(ttcn3|TTCN3-.*)-ggsn-test.*" timer: 30 04 * * * # Cache the linux source tree in the workspace of one node - node: ttcn3-ggsn-test-kernel-net-next + node: ttcn3-ggsn-test-kernel-git wipe_workspace: false - ttcn3-msc-test: blocking: "^(ttcn3|TTCN3-.*)-msc-test.*" @@ -249,7 +249,7 @@ export IMAGE_SUFFIX="latest" export KERNEL_TEST=1 ;; - ttcn3-ggsn-test-kernel-net-next) + ttcn3-ggsn-test-kernel-git) DIR="ttcn3-ggsn-test" export IMAGE_SUFFIX="master" # Build net-next kernel from source, default git repo from: -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23149 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I409f49f88f0a75c782dd3c90c5051e8287644138 Gerrit-Change-Number: 23149 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 Mon Mar 1 08:56:24 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 1 Mar 2021 08:56:24 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3: add KERNEL_* parameters References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/23150 ) Change subject: jobs/ttcn3: add KERNEL_* parameters ...................................................................... jobs/ttcn3: add KERNEL_* parameters Make it possible to run the jenkins job with a different kernel repository, by exposing KERNEL_URL, KERNEL_REMOTE_NAME and KERNEL_BRANCH. Related: OS#3208 Change-Id: I5d4202a67a24d9c15a5b211fa29ce9d5b5a9d9c1 --- M jobs/ttcn3-testsuites.yml 1 file changed, 22 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/50/23150/1 diff --git a/jobs/ttcn3-testsuites.yml b/jobs/ttcn3-testsuites.yml index 3e62126..621915b 100644 --- a/jobs/ttcn3-testsuites.yml +++ b/jobs/ttcn3-testsuites.yml @@ -230,6 +230,26 @@ Branch of docker-playground.git. Only modify if you are hacking on the docker-playground scripts. default: '*/master' + - string: + name: KERNEL_URL + description: | + (*-kernel-git only) remote URL of git repository, + from which the kernel will be built. + default: 'https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git' + - string: + name: KERNEL_REMOTE_NAME + description: | + (*-kernel-git only) short name for the remote URL, + which will be used to add it to the local git checkout with + git remote add. + default: 'net-next' + - string: + name: KERNEL_BRANCH + description: | + (*-kernel-git only) branch to check out from the + remote with KERNEL_URL and + KERNEL_REMOTE_NAME before building the kernel. + default: 'master' builders: - shell: |- @@ -252,8 +272,8 @@ ttcn3-ggsn-test-kernel-git) DIR="ttcn3-ggsn-test" export IMAGE_SUFFIX="master" - # Build net-next kernel from source, default git repo from: - # docker-playground.git scripts/kernel-test/kernel-build.sh + # Build kernel from source, git repo is defined in the job's + # parameters: KERNEL_URL, KERNEL_REMOTE_NAME, KERNEL_BRANCH export KERNEL_TEST=1 export KERNEL_BUILD=1 ;; -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23150 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I5d4202a67a24d9c15a5b211fa29ce9d5b5a9d9c1 Gerrit-Change-Number: 23150 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 Mon Mar 1 08:56:52 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 1 Mar 2021 08:56:52 +0000 Subject: Change in docker-playground[master]: kernel-test: verify REMOTE_NAME and URL References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/23151 ) Change subject: kernel-test: verify REMOTE_NAME and URL ...................................................................... kernel-test: verify REMOTE_NAME and URL If the checked out git repository already has a remote with the name KERNEL_REMOTE_NAME, make sure that the KERNEL_URL matches the remote URL. Motivation for this change is osmo-ci I5d4202a67a24d9c15a5b211fa29ce9d5b5a9d9c1, which will expose the parameters in the jenkins job. Related: OS#3208 Change-Id: I18b29011e3e8e2577bdf1a9c64c4370309cc8399 --- M scripts/kernel-test/kernel-build.sh 1 file changed, 19 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/51/23151/1 diff --git a/scripts/kernel-test/kernel-build.sh b/scripts/kernel-test/kernel-build.sh index d261051..5f246ae 100755 --- a/scripts/kernel-test/kernel-build.sh +++ b/scripts/kernel-test/kernel-build.sh @@ -9,6 +9,8 @@ # Add the kernel repository as git remote, fetch it, checkout the given branch prepare_git_repo() { + local url + if ! [ -d "$KERNEL_DIR" ]; then mkdir -p "$KERNEL_DIR" git -C "$KERNEL_DIR" init @@ -18,6 +20,23 @@ if ! git remote | grep -q "^$KERNEL_REMOTE_NAME$"; then git remote add "$KERNEL_REMOTE_NAME" "$KERNEL_URL" + else + url="$(git remote get-url "$KERNEL_REMOTE_NAME")" + if [ "$url" != "$KERNEL_URL" ]; then + set +x + echo "ERROR: the checked out repository already has" \ + "a remote with the same name, pointing to a" \ + "different URL!" + echo + echo "KERNEL_REMOTE_NAME: $KERNEL_REMOTE_NAME" + echo "KERNEL_URL (parameter): $KERNEL_URL" + echo "KERNEL_URL (checked out): $url" + echo + echo "Please restart the job, and either change the" \ + "KERNEL_URL parameter to the same value, or" \ + "use a different KERNEL_REMOTE_NAME." + exit 1 + fi fi git fetch "$KERNEL_REMOTE_NAME" -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23151 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I18b29011e3e8e2577bdf1a9c64c4370309cc8399 Gerrit-Change-Number: 23151 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 Mon Mar 1 08:56:52 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 1 Mar 2021 08:56:52 +0000 Subject: Change in docker-playground[master]: README.md: describe OSMO_*_BRANCH References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/23152 ) Change subject: README.md: describe OSMO_*_BRANCH ...................................................................... README.md: describe OSMO_*_BRANCH Copy description from wiki, so the README.md describes all environment variables, and the wiki page can link to the README.md. Change-Id: I23077edf153b76f7936f0b874e87bb7424766b19 --- M README.md 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/52/23152/1 diff --git a/README.md b/README.md index 6a9f4b9..1cd9488 100644 --- a/README.md +++ b/README.md @@ -21,6 +21,8 @@ * `OSMO_TTCN3_BRANCH`: [osmo-ttcn3-hacks.git](https://git.osmocom.org/osmo-ttcn3-hacks/) branch, which will be used when building a `ttcn3-*` docker image. Defaults to `master`. +* `OSMO_BSC_BRANCH`, `OSMO_MSC_BRANCH`, ...: branch of the appropriate + Osmocom project. Defaults to `master`. * `NO_DOCKER_IMAGE_BUILD`: when set to `1`, it won't try to update the containers (see "caching" below) -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23152 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I23077edf153b76f7936f0b874e87bb7424766b19 Gerrit-Change-Number: 23152 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 Mon Mar 1 09:37:45 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 1 Mar 2021 09:37:45 +0000 Subject: Change in osmo-ci[master]: OBS: latest: add osmo-gbproxy References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/23153 ) Change subject: OBS: latest: add osmo-gbproxy ...................................................................... OBS: latest: add osmo-gbproxy Related: OS#5051 Change-Id: I66bb4e7aeedbb6f40aa9401f4adaf077e22dd9fe --- M scripts/osmocom-latest-packages.sh 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/53/23153/1 diff --git a/scripts/osmocom-latest-packages.sh b/scripts/osmocom-latest-packages.sh index 34fa55c..ca2ce77 100755 --- a/scripts/osmocom-latest-packages.sh +++ b/scripts/osmocom-latest-packages.sh @@ -152,6 +152,7 @@ checkout osmo-uecups checkout osmo-e1d checkout osmo-cbc + checkout osmo-gbproxy cd "$TOP" osmo_obs_checkout_copy debian8 osmo-gsm-manuals @@ -189,6 +190,7 @@ build osmo-uecups build osmo-e1d build osmo-cbc + build osmo-gbproxy cd "$TOP/$PROJ" osc ci -m "Latest Tagged versions of $DT" --noservice -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23153 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I66bb4e7aeedbb6f40aa9401f4adaf077e22dd9fe Gerrit-Change-Number: 23153 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 Mon Mar 1 09:41:43 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 1 Mar 2021 09:41:43 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3: rename ttcn3-ggsn-test-kernel-net-next In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23149 ) Change subject: jobs/ttcn3: rename ttcn3-ggsn-test-kernel-net-next ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23149 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I409f49f88f0a75c782dd3c90c5051e8287644138 Gerrit-Change-Number: 23149 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 01 Mar 2021 09:41: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 Mar 1 09:42:06 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 1 Mar 2021 09:42:06 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3: add KERNEL_* parameters In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23150 ) Change subject: jobs/ttcn3: add KERNEL_* parameters ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23150 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I5d4202a67a24d9c15a5b211fa29ce9d5b5a9d9c1 Gerrit-Change-Number: 23150 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 01 Mar 2021 09:42:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 1 09:42:58 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 1 Mar 2021 09:42:58 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/data_msg.py: use tuple for DATAMSG.known_versions In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/23133 ) Change subject: trx_toolkit/data_msg.py: use tuple for DATAMSG.known_versions ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/23133 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I79de5fe478297e1850d9582426888411a0189d3f Gerrit-Change-Number: 23133 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 01 Mar 2021 09:42:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 1 09:43:18 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 1 Mar 2021 09:43:18 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/data_msg.py: use uppercase for KNOWN_VERSIONS In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/23134 ) Change subject: trx_toolkit/data_msg.py: use uppercase for KNOWN_VERSIONS ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/23134 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ie4dcc8e91115c514ace243a95a9b44a17cd976b4 Gerrit-Change-Number: 23134 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 01 Mar 2021 09:43: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 Mar 1 09:48:13 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 1 Mar 2021 09:48:13 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit: check in simple declarative codec In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/23135 ) Change subject: trx_toolkit: check in simple declarative codec ...................................................................... Patch Set 2: Code-Review+1 Not sure if this is really performant, but will see. -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/23135 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I7ff46b278c59af3720ee7f3950ea5a8b2f1313e1 Gerrit-Change-Number: 23135 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 01 Mar 2021 09:48: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 Mar 1 09:48:57 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 1 Mar 2021 09:48:57 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/codec.py: implement check() API for Envelope In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/23136 ) Change subject: trx_toolkit/codec.py: implement check() API for Envelope ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/23136 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I8258504493cf85c401677866fe8474de2e49786b Gerrit-Change-Number: 23136 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 01 Mar 2021 09:48:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 1 09:51:33 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 1 Mar 2021 09:51:33 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit: define TRXD PDUs using declarative codec In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/23137 ) Change subject: trx_toolkit: define TRXD PDUs using declarative codec ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/23137 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I739ae5da22c603fb2cf1e84d3a79fb1a6e7343b6 Gerrit-Change-Number: 23137 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 01 Mar 2021 09:51: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 Mar 1 09:52:06 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 1 Mar 2021 09:52:06 +0000 Subject: Change in osmo-ttcn3-hacks[master]: SGSN_Tests: fix coding style in TC_bssgp_rim_single_report In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23144 ) Change subject: SGSN_Tests: fix coding style in TC_bssgp_rim_single_report ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23144 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I667c1e8a94393e2b5afc6e2e3f7503b73198822c Gerrit-Change-Number: 23144 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 01 Mar 2021 09:52:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 1 09:53:11 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 1 Mar 2021 09:53:11 +0000 Subject: Change in osmo-ttcn3-hacks[master]: SGSN_Tests: add setverdict(pass) to TC_bssgp_rim_single_report() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23145 ) Change subject: SGSN_Tests: add setverdict(pass) to TC_bssgp_rim_single_report() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23145 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If5295cc8eccda2d1b3baae7d2169fac5da2a085c Gerrit-Change-Number: 23145 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 01 Mar 2021 09:53: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 Mar 1 09:53:33 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 1 Mar 2021 09:53:33 +0000 Subject: Change in osmo-ttcn3-hacks[master]: remsim: TC_connect_and_nothing() runs on test_CT In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23146 ) Change subject: remsim: TC_connect_and_nothing() runs on test_CT ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23146 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie94bf52e57a964b9f280c7626f354c5feee5c165 Gerrit-Change-Number: 23146 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 01 Mar 2021 09: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 Mon Mar 1 09:54:33 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 1 Mar 2021 09:54:33 +0000 Subject: Change in osmo-ttcn3-hacks[master]: remsim: add the guard timeout to all test cases In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23147 ) Change subject: remsim: add the guard timeout to all test cases ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23147 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3897efd2a97c3e0d487057aa7bdc2967f3424dd8 Gerrit-Change-Number: 23147 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 01 Mar 2021 09:54: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 Mar 1 10:08:45 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 1 Mar 2021 10:08:45 +0000 Subject: Change in osmo-ci[master]: OBS: don't amend distro specific patch References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/23154 ) Change subject: OBS: don't amend distro specific patch ...................................................................... OBS: don't amend distro specific patch Make a separate commit for the distro specific patch, instead of using "git commit --amend". Otherwise, if HEAD was pointing to the latest tag before the amend, git-version-gen will use the previous tag instead of the latest one after the amend. Fixes: OS#5053 Change-Id: I67770a19ee60101df989f98673a22705ad50beed --- M scripts/common-obs.sh 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/54/23154/1 diff --git a/scripts/common-obs.sh b/scripts/common-obs.sh index edd48df..b6be98c 100644 --- a/scripts/common-obs.sh +++ b/scripts/common-obs.sh @@ -211,6 +211,6 @@ exit 1 fi patch -p1 < "$patch" - git commit --amend --no-edit debian/ + git commit -m "auto-commit: apply $patch" debian/ cd .. } -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23154 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I67770a19ee60101df989f98673a22705ad50beed Gerrit-Change-Number: 23154 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 Mon Mar 1 10:09:13 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 1 Mar 2021 10:09:13 +0000 Subject: Change in osmo-ci[master]: OBS: don't amend distro specific patch In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23154 ) Change subject: OBS: don't amend distro specific patch ...................................................................... Patch Set 1: Verified+1 https://build.opensuse.org/package/show/home:osmith42/osmo-gsm-manuals-debian8 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23154 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I67770a19ee60101df989f98673a22705ad50beed Gerrit-Change-Number: 23154 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 01 Mar 2021 10:09: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 Mar 1 10:20:54 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 1 Mar 2021 10:20:54 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/data_msg.py: decorate abstract methods as such In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/23131 ) Change subject: trx_toolkit/data_msg.py: decorate abstract methods as such ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmocom-bb/+/23131/2/src/target/trx_toolkit/data_msg.py File src/target/trx_toolkit/data_msg.py: https://gerrit.osmocom.org/c/osmocom-bb/+/23131/2/src/target/trx_toolkit/data_msg.py at 160 PS2, Line 160: raise NotImplementedError fyi, since they are marked abstractmethod they shouldn't be callable because python wil ldetec tit at class instance construction, so this code will never be executed. Hence you can use "pass" in this line instead. -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/23131 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I27fdcfdabc2b5318ab3e958d2e5446e670fe9035 Gerrit-Change-Number: 23131 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 01 Mar 2021 10:20:54 +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 Mar 1 10:21:55 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 1 Mar 2021 10:21:55 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/data_msg.py: convert comments into docstrings In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/23132 ) Change subject: trx_toolkit/data_msg.py: convert comments into docstrings ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/23132 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I856b54fd1baca4ae0edd2aa59be6a76372cef667 Gerrit-Change-Number: 23132 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 01 Mar 2021 10:21: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 Mar 1 10:22:41 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 1 Mar 2021 10:22:41 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/data_msg.py: do not instantiate abstract class DATAMSG In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/23148 ) Change subject: trx_toolkit/data_msg.py: do not instantiate abstract class DATAMSG ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/23148 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I811f67ae030ccd93e1c6a421097cec36ca01cbf9 Gerrit-Change-Number: 23148 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 01 Mar 2021 10: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 Mon Mar 1 10:23:20 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 1 Mar 2021 10:23:20 +0000 Subject: Change in docker-playground[master]: kernel-test: verify REMOTE_NAME and URL In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23151 ) Change subject: kernel-test: verify REMOTE_NAME and URL ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23151 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I18b29011e3e8e2577bdf1a9c64c4370309cc8399 Gerrit-Change-Number: 23151 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 01 Mar 2021 10:23:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 1 10:23:32 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 1 Mar 2021 10:23:32 +0000 Subject: Change in docker-playground[master]: README.md: describe OSMO_*_BRANCH In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23152 ) Change subject: README.md: describe OSMO_*_BRANCH ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23152 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I23077edf153b76f7936f0b874e87bb7424766b19 Gerrit-Change-Number: 23152 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 01 Mar 2021 10:23:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 1 10:24:02 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 1 Mar 2021 10:24:02 +0000 Subject: Change in osmo-ci[master]: OBS: latest: add osmo-gbproxy In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23153 ) Change subject: OBS: latest: add osmo-gbproxy ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23153 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I66bb4e7aeedbb6f40aa9401f4adaf077e22dd9fe Gerrit-Change-Number: 23153 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 01 Mar 2021 10:24: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 Mar 1 10:25:49 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 1 Mar 2021 10:25:49 +0000 Subject: Change in osmo-ci[master]: OBS: don't amend distro specific patch In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23154 ) Change subject: OBS: don't amend distro specific patch ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23154 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I67770a19ee60101df989f98673a22705ad50beed Gerrit-Change-Number: 23154 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 01 Mar 2021 10:25: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 Mar 1 10:26:27 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 1 Mar 2021 10:26:27 +0000 Subject: Change in osmo-ci[master]: OBS: don't amend distro specific patch In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23154 ) Change subject: OBS: don't amend distro specific patch ...................................................................... OBS: don't amend distro specific patch Make a separate commit for the distro specific patch, instead of using "git commit --amend". Otherwise, if HEAD was pointing to the latest tag before the amend, git-version-gen will use the previous tag instead of the latest one after the amend. Fixes: OS#5053 Change-Id: I67770a19ee60101df989f98673a22705ad50beed --- M scripts/common-obs.sh 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: osmith: Verified pespin: Looks good to me, approved diff --git a/scripts/common-obs.sh b/scripts/common-obs.sh index edd48df..b6be98c 100644 --- a/scripts/common-obs.sh +++ b/scripts/common-obs.sh @@ -211,6 +211,6 @@ exit 1 fi patch -p1 < "$patch" - git commit --amend --no-edit debian/ + git commit -m "auto-commit: apply $patch" debian/ cd .. } -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23154 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I67770a19ee60101df989f98673a22705ad50beed Gerrit-Change-Number: 23154 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 1 11:17:15 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 1 Mar 2021 11:17:15 +0000 Subject: Change in osmo-ci[master]: OBS: latest: fix osmo_obs_add_rpm_spec call References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/23155 ) Change subject: OBS: latest: fix osmo_obs_add_rpm_spec call ...................................................................... OBS: latest: fix osmo_obs_add_rpm_spec call Pass the path to the project's git repository to osmo_obs_add_rpm_spec, instead of $output (has the output of "gbp buildpackage"). Related: OS#5054 Change-Id: I799398120ab0cbdb74b2d74a3fb139395d66d449 --- M scripts/osmocom-latest-packages.sh 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/55/23155/1 diff --git a/scripts/osmocom-latest-packages.sh b/scripts/osmocom-latest-packages.sh index 34fa55c..9bf08eb 100755 --- a/scripts/osmocom-latest-packages.sh +++ b/scripts/osmocom-latest-packages.sh @@ -96,7 +96,7 @@ mv "$output/"*.tar* "$TOP/$PROJ/$project/" cd "$TOP/$PROJ" osc add "$project" - osmo_obs_add_rpm_spec "$TOP/$PROJ/$project" "$output" "$project" "osmocom-latest" + osmo_obs_add_rpm_spec "$TOP/$PROJ/$project" "$TOP/$project" "$project" "osmocom-latest" else cd "$TOP/$PROJ/$project" @@ -107,7 +107,7 @@ mv "$output/"*.dsc . mv "$output/"*.tar* . osc add ./* - osmo_obs_add_rpm_spec "$PWD" "$output" "$project" "osmocom-latest" + osmo_obs_add_rpm_spec "$PWD" "$TOP/$project" "$project" "osmocom-latest" fi fi cd "$TOP" -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23155 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I799398120ab0cbdb74b2d74a3fb139395d66d449 Gerrit-Change-Number: 23155 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 Mon Mar 1 11:17:16 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 1 Mar 2021 11:17:16 +0000 Subject: Change in osmo-ci[master]: OBS: latest: run osmo_obs_add_rpm_spec every time References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/23156 ) Change subject: OBS: latest: run osmo_obs_add_rpm_spec every time ...................................................................... OBS: latest: run osmo_obs_add_rpm_spec every time Replace the current logic, that would only run osmo_obs_add_rpm_spec when adding a new package, or when the version of a package has changed, with running it every time. Running the command when it is not needed does not hurt, as it does not take significant time, and osc does not attempt to upload the file when it did not change. The advantage is, that we can update/upload the spec file without tagging a new version, if a bug prevented it from getting uploaded before (as it just was the case for all Osmocom packages). Related: OS#5054 Change-Id: Ie067c97b5f54ec5b3309ddbd2bfb7f846cd0ccd3 --- M scripts/osmocom-latest-packages.sh 1 file changed, 3 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/56/23156/1 diff --git a/scripts/osmocom-latest-packages.sh b/scripts/osmocom-latest-packages.sh index 9bf08eb..fddcf0c 100755 --- a/scripts/osmocom-latest-packages.sh +++ b/scripts/osmocom-latest-packages.sh @@ -96,7 +96,6 @@ mv "$output/"*.tar* "$TOP/$PROJ/$project/" cd "$TOP/$PROJ" osc add "$project" - osmo_obs_add_rpm_spec "$TOP/$PROJ/$project" "$TOP/$project" "$project" "osmocom-latest" else cd "$TOP/$PROJ/$project" @@ -107,9 +106,11 @@ mv "$output/"*.dsc . mv "$output/"*.tar* . osc add ./* - osmo_obs_add_rpm_spec "$PWD" "$TOP/$project" "$project" "osmocom-latest" fi fi + + osmo_obs_add_rpm_spec "$TOP/$PROJ/$project" "$TOP/$project" "$project" "osmocom-latest" + cd "$TOP" } -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23156 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ie067c97b5f54ec5b3309ddbd2bfb7f846cd0ccd3 Gerrit-Change-Number: 23156 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 Mon Mar 1 11:26:30 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 1 Mar 2021 11:26:30 +0000 Subject: Change in osmo-pcu[master]: bts: Add new stats to detect TBF allocation failure reasons In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23110 ) Change subject: bts: Add new stats to detect TBF allocation failure reasons ...................................................................... Patch Set 2: Code-Review+2 (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/23110/2/src/bts.cpp File src/bts.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/23110/2/src/bts.cpp at 103 PS2, Line 103: { "tbf:alloc:failed", "TBF Alloc Failure (ALL)"}, > Yes, more than the sum, it simply is increment when tbf allocation failed, regardless of the reason. [?] Maybe '(any reason)' or '(total)' would be more self-explaining? -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23110 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5402e937ff8d800684655e500ef8e5c867141dc3 Gerrit-Change-Number: 23110 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 01 Mar 2021 11:26:30 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: osmith Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 1 12:03:24 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 1 Mar 2021 12:03:24 +0000 Subject: Change in docker-playground[master]: README.md: describe OSMO_*_BRANCH In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23152 ) Change subject: README.md: describe OSMO_*_BRANCH ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23152 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I23077edf153b76f7936f0b874e87bb7424766b19 Gerrit-Change-Number: 23152 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 01 Mar 2021 12:03:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 1 12:10:28 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 1 Mar 2021 12:10:28 +0000 Subject: Change in osmo-ci[master]: OBS: latest: fix osmo_obs_add_rpm_spec call In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23155 ) Change subject: OBS: latest: fix osmo_obs_add_rpm_spec call ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23155 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I799398120ab0cbdb74b2d74a3fb139395d66d449 Gerrit-Change-Number: 23155 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 01 Mar 2021 12:10:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 1 12:10:51 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 1 Mar 2021 12:10:51 +0000 Subject: Change in osmo-ci[master]: OBS: latest: run osmo_obs_add_rpm_spec every time In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23156 ) Change subject: OBS: latest: run osmo_obs_add_rpm_spec every time ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23156 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ie067c97b5f54ec5b3309ddbd2bfb7f846cd0ccd3 Gerrit-Change-Number: 23156 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 01 Mar 2021 12:10: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 Mar 1 12:15:05 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 1 Mar 2021 12:15:05 +0000 Subject: Change in docker-playground[master]: kernel-test: verify REMOTE_NAME and URL In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23151 ) Change subject: kernel-test: verify REMOTE_NAME and URL ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23151 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I18b29011e3e8e2577bdf1a9c64c4370309cc8399 Gerrit-Change-Number: 23151 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 01 Mar 2021 12:15:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 1 12:18:41 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 1 Mar 2021 12:18:41 +0000 Subject: Change in osmo-pcu[master]: bts: Add new stats to detect TBF allocation failure reasons In-Reply-To: References: Message-ID: Hello osmith, Jenkins Builder, fixeria, daniel, lynxis lazus, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/23110 to look at the new patch set (#3). Change subject: bts: Add new stats to detect TBF allocation failure reasons ...................................................................... bts: Add new stats to detect TBF allocation failure reasons This is specially useful to detect for instance if a cell is handling too many users, ending up in TFI or USF exhaustions. This information can be later in the future used to tune TBF allocation algorithm behavior (either manually/statially through config file, or automatically/dynamically in code based on some thresholds). Related: OS#5042 Change-Id: I5402e937ff8d800684655e500ef8e5c867141dc3 --- M src/bts.cpp M src/bts.h M src/gprs_rlcmac_ts_alloc.cpp 3 files changed, 15 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/10/23110/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23110 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5402e937ff8d800684655e500ef8e5c867141dc3 Gerrit-Change-Number: 23110 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 1 12:19:47 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 1 Mar 2021 12:19:47 +0000 Subject: Change in osmo-pcu[master]: bts: Add new stats to detect TBF allocation failure reasons In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23110 ) Change subject: bts: Add new stats to detect TBF allocation failure reasons ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23110 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5402e937ff8d800684655e500ef8e5c867141dc3 Gerrit-Change-Number: 23110 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 01 Mar 2021 12:19:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 1 12:25:53 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 1 Mar 2021 12:25:53 +0000 Subject: Change in docker-playground[master]: kernel-test: verify REMOTE_NAME and URL In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23151 ) Change subject: kernel-test: verify REMOTE_NAME and URL ...................................................................... Patch Set 1: Verified+1 Code-Review+2 1+1=2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23151 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I18b29011e3e8e2577bdf1a9c64c4370309cc8399 Gerrit-Change-Number: 23151 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 01 Mar 2021 12:25:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 1 12:26:00 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 1 Mar 2021 12:26:00 +0000 Subject: Change in docker-playground[master]: README.md: describe OSMO_*_BRANCH In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23152 ) Change subject: README.md: describe OSMO_*_BRANCH ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23152 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I23077edf153b76f7936f0b874e87bb7424766b19 Gerrit-Change-Number: 23152 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 01 Mar 2021 12:26:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 1 12:26:03 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 1 Mar 2021 12:26:03 +0000 Subject: Change in docker-playground[master]: kernel-test: verify REMOTE_NAME and URL In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23151 ) Change subject: kernel-test: verify REMOTE_NAME and URL ...................................................................... kernel-test: verify REMOTE_NAME and URL If the checked out git repository already has a remote with the name KERNEL_REMOTE_NAME, make sure that the KERNEL_URL matches the remote URL. Motivation for this change is osmo-ci I5d4202a67a24d9c15a5b211fa29ce9d5b5a9d9c1, which will expose the parameters in the jenkins job. Related: OS#3208 Change-Id: I18b29011e3e8e2577bdf1a9c64c4370309cc8399 --- M scripts/kernel-test/kernel-build.sh 1 file changed, 19 insertions(+), 0 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve fixeria: Looks good to me, but someone else must approve osmith: Looks good to me, approved; Verified diff --git a/scripts/kernel-test/kernel-build.sh b/scripts/kernel-test/kernel-build.sh index d261051..5f246ae 100755 --- a/scripts/kernel-test/kernel-build.sh +++ b/scripts/kernel-test/kernel-build.sh @@ -9,6 +9,8 @@ # Add the kernel repository as git remote, fetch it, checkout the given branch prepare_git_repo() { + local url + if ! [ -d "$KERNEL_DIR" ]; then mkdir -p "$KERNEL_DIR" git -C "$KERNEL_DIR" init @@ -18,6 +20,23 @@ if ! git remote | grep -q "^$KERNEL_REMOTE_NAME$"; then git remote add "$KERNEL_REMOTE_NAME" "$KERNEL_URL" + else + url="$(git remote get-url "$KERNEL_REMOTE_NAME")" + if [ "$url" != "$KERNEL_URL" ]; then + set +x + echo "ERROR: the checked out repository already has" \ + "a remote with the same name, pointing to a" \ + "different URL!" + echo + echo "KERNEL_REMOTE_NAME: $KERNEL_REMOTE_NAME" + echo "KERNEL_URL (parameter): $KERNEL_URL" + echo "KERNEL_URL (checked out): $url" + echo + echo "Please restart the job, and either change the" \ + "KERNEL_URL parameter to the same value, or" \ + "use a different KERNEL_REMOTE_NAME." + exit 1 + fi fi git fetch "$KERNEL_REMOTE_NAME" -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23151 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I18b29011e3e8e2577bdf1a9c64c4370309cc8399 Gerrit-Change-Number: 23151 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 1 12:26:04 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 1 Mar 2021 12:26:04 +0000 Subject: Change in docker-playground[master]: README.md: describe OSMO_*_BRANCH In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23152 ) Change subject: README.md: describe OSMO_*_BRANCH ...................................................................... README.md: describe OSMO_*_BRANCH Copy description from wiki, so the README.md describes all environment variables, and the wiki page can link to the README.md. Change-Id: I23077edf153b76f7936f0b874e87bb7424766b19 --- M README.md 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve fixeria: Looks good to me, approved osmith: Verified diff --git a/README.md b/README.md index 6a9f4b9..1cd9488 100644 --- a/README.md +++ b/README.md @@ -21,6 +21,8 @@ * `OSMO_TTCN3_BRANCH`: [osmo-ttcn3-hacks.git](https://git.osmocom.org/osmo-ttcn3-hacks/) branch, which will be used when building a `ttcn3-*` docker image. Defaults to `master`. +* `OSMO_BSC_BRANCH`, `OSMO_MSC_BRANCH`, ...: branch of the appropriate + Osmocom project. Defaults to `master`. * `NO_DOCKER_IMAGE_BUILD`: when set to `1`, it won't try to update the containers (see "caching" below) -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23152 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I23077edf153b76f7936f0b874e87bb7424766b19 Gerrit-Change-Number: 23152 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 1 12:26:51 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 1 Mar 2021 12:26:51 +0000 Subject: Change in osmo-pcu[master]: bts: Add new stats to detect TBF allocation failure reasons In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23110 ) Change subject: bts: Add new stats to detect TBF allocation failure reasons ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23110 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5402e937ff8d800684655e500ef8e5c867141dc3 Gerrit-Change-Number: 23110 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 01 Mar 2021 12: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 Mon Mar 1 12:28:57 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 1 Mar 2021 12:28:57 +0000 Subject: Change in osmo-pcu[master]: bts: Add new stats to detect TBF allocation failure reasons In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23110 ) Change subject: bts: Add new stats to detect TBF allocation failure reasons ...................................................................... bts: Add new stats to detect TBF allocation failure reasons This is specially useful to detect for instance if a cell is handling too many users, ending up in TFI or USF exhaustions. This information can be later in the future used to tune TBF allocation algorithm behavior (either manually/statially through config file, or automatically/dynamically in code based on some thresholds). Related: OS#5042 Change-Id: I5402e937ff8d800684655e500ef8e5c867141dc3 --- M src/bts.cpp M src/bts.h M src/gprs_rlcmac_ts_alloc.cpp 3 files changed, 15 insertions(+), 3 deletions(-) Approvals: fixeria: Looks good to me, approved osmith: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/bts.cpp b/src/bts.cpp index 8d1fb3f..55d45b8 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -100,7 +100,11 @@ { "tbf:reused", "TBF Reused "}, { "tbf:alloc:algo-a", "TBF Alloc Algo A "}, { "tbf:alloc:algo-b", "TBF Alloc Algo B "}, - { "tbf:alloc:failed", "TBF Alloc Failure "}, + { "tbf:alloc:failed", "TBF Alloc Failure (any reason)"}, + { "tbf:alloc:failed:no_tfi", "TBF Alloc Failure (TFIs exhausted)"}, + { "tbf:alloc:failed:no_usf", "TBF Alloc Failure (USFs exhausted)"}, + { "tbf:alloc:failed:no_slot_combi", "TBF Alloc Failure (No valid UL/DL slot combination found)"}, + { "tbf:alloc:failed:no_slot_avail", "TBF Alloc Failure (No slot available)"}, { "rlc:sent", "RLC Sent "}, { "rlc:resent", "RLC Resent "}, { "rlc:restarted", "RLC Restarted "}, @@ -609,6 +613,7 @@ if (best_trx_nr == 0xff || best_cnt == 0) { LOGP(DRLCMAC, LOGL_NOTICE, "No TFI available (suggested TRX: %d).\n", use_trx); + bts_do_rate_ctr_inc(bts, CTR_TBF_ALLOC_FAIL_NO_TFI); return -EBUSY; } diff --git a/src/bts.h b/src/bts.h index d321b8d..15a72bd 100644 --- a/src/bts.h +++ b/src/bts.h @@ -88,6 +88,10 @@ CTR_TBF_ALLOC_ALGO_A, CTR_TBF_ALLOC_ALGO_B, CTR_TBF_ALLOC_FAIL, + CTR_TBF_ALLOC_FAIL_NO_TFI, + CTR_TBF_ALLOC_FAIL_NO_USF, + CTR_TBF_ALLOC_FAIL_NO_SLOT_COMBI, + CTR_TBF_ALLOC_FAIL_NO_SLOT_AVAIL, CTR_RLC_SENT, CTR_RLC_RESENT, CTR_RLC_RESTARTED, @@ -319,11 +323,11 @@ return bts->statg; } -static inline void bts_do_rate_ctr_inc(struct gprs_rlcmac_bts *bts, unsigned int ctr_id) { +static inline void bts_do_rate_ctr_inc(const struct gprs_rlcmac_bts *bts, unsigned int ctr_id) { rate_ctr_inc(&bts->ratectrs->ctr[ctr_id]); } -static inline void bts_do_rate_ctr_add(struct gprs_rlcmac_bts *bts, unsigned int ctr_id, int inc) { +static inline void bts_do_rate_ctr_add(const struct gprs_rlcmac_bts *bts, unsigned int ctr_id, int inc) { rate_ctr_add(&bts->ratectrs->ctr[ctr_id], inc); } diff --git a/src/gprs_rlcmac_ts_alloc.cpp b/src/gprs_rlcmac_ts_alloc.cpp index 1dc31f6..dd921e7 100644 --- a/src/gprs_rlcmac_ts_alloc.cpp +++ b/src/gprs_rlcmac_ts_alloc.cpp @@ -647,6 +647,7 @@ if (!max_ul_slots || !max_dl_slots) { LOGP(DRLCMAC, LOGL_NOTICE, "No valid UL/DL slot combination found\n"); + bts_do_rate_ctr_inc(trx->bts, CTR_TBF_ALLOC_FAIL_NO_SLOT_COMBI); return -EINVAL; } @@ -719,6 +720,7 @@ if (!sl) { LOGP(DRLCMAC, LOGL_NOTICE, "No %s slots available\n", tbf->direction != GPRS_RLCMAC_DL_TBF ? "uplink" : "downlink"); + bts_do_rate_ctr_inc(trx->bts, CTR_TBF_ALLOC_FAIL_NO_SLOT_AVAIL); return -EINVAL; } @@ -771,6 +773,7 @@ if (!ul_slots) { LOGP(DRLCMAC, LOGL_NOTICE, "No USF available\n"); + bts_do_rate_ctr_inc(trx->bts, CTR_TBF_ALLOC_FAIL_NO_USF); return -EBUSY; } -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23110 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5402e937ff8d800684655e500ef8e5c867141dc3 Gerrit-Change-Number: 23110 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 1 12:52:08 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 1 Mar 2021 12:52:08 +0000 Subject: Change in osmo-ci[master]: OBS: latest: fix osmo_obs_add_rpm_spec call In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23155 ) Change subject: OBS: latest: fix osmo_obs_add_rpm_spec call ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23155 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I799398120ab0cbdb74b2d74a3fb139395d66d449 Gerrit-Change-Number: 23155 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 01 Mar 2021 12:52: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 Mar 1 12:52:38 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 1 Mar 2021 12:52:38 +0000 Subject: Change in osmo-ci[master]: OBS: latest: run osmo_obs_add_rpm_spec every time In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23156 ) Change subject: OBS: latest: run osmo_obs_add_rpm_spec every time ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23156 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ie067c97b5f54ec5b3309ddbd2bfb7f846cd0ccd3 Gerrit-Change-Number: 23156 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 01 Mar 2021 12: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 Mon Mar 1 12:52:40 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 1 Mar 2021 12:52:40 +0000 Subject: Change in osmo-ci[master]: OBS: latest: fix osmo_obs_add_rpm_spec call In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23155 ) Change subject: OBS: latest: fix osmo_obs_add_rpm_spec call ...................................................................... OBS: latest: fix osmo_obs_add_rpm_spec call Pass the path to the project's git repository to osmo_obs_add_rpm_spec, instead of $output (has the output of "gbp buildpackage"). Related: OS#5054 Change-Id: I799398120ab0cbdb74b2d74a3fb139395d66d449 --- M scripts/osmocom-latest-packages.sh 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved; Verified pespin: Looks good to me, but someone else must approve diff --git a/scripts/osmocom-latest-packages.sh b/scripts/osmocom-latest-packages.sh index 34fa55c..9bf08eb 100755 --- a/scripts/osmocom-latest-packages.sh +++ b/scripts/osmocom-latest-packages.sh @@ -96,7 +96,7 @@ mv "$output/"*.tar* "$TOP/$PROJ/$project/" cd "$TOP/$PROJ" osc add "$project" - osmo_obs_add_rpm_spec "$TOP/$PROJ/$project" "$output" "$project" "osmocom-latest" + osmo_obs_add_rpm_spec "$TOP/$PROJ/$project" "$TOP/$project" "$project" "osmocom-latest" else cd "$TOP/$PROJ/$project" @@ -107,7 +107,7 @@ mv "$output/"*.dsc . mv "$output/"*.tar* . osc add ./* - osmo_obs_add_rpm_spec "$PWD" "$output" "$project" "osmocom-latest" + osmo_obs_add_rpm_spec "$PWD" "$TOP/$project" "$project" "osmocom-latest" fi fi cd "$TOP" -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23155 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I799398120ab0cbdb74b2d74a3fb139395d66d449 Gerrit-Change-Number: 23155 Gerrit-PatchSet: 2 Gerrit-Owner: osmith 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 Mar 1 12:52:40 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 1 Mar 2021 12:52:40 +0000 Subject: Change in osmo-ci[master]: OBS: latest: run osmo_obs_add_rpm_spec every time In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23156 ) Change subject: OBS: latest: run osmo_obs_add_rpm_spec every time ...................................................................... OBS: latest: run osmo_obs_add_rpm_spec every time Replace the current logic, that would only run osmo_obs_add_rpm_spec when adding a new package, or when the version of a package has changed, with running it every time. Running the command when it is not needed does not hurt, as it does not take significant time, and osc does not attempt to upload the file when it did not change. The advantage is, that we can update/upload the spec file without tagging a new version, if a bug prevented it from getting uploaded before (as it just was the case for all Osmocom packages). Related: OS#5054 Change-Id: Ie067c97b5f54ec5b3309ddbd2bfb7f846cd0ccd3 --- M scripts/osmocom-latest-packages.sh 1 file changed, 3 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved; Verified pespin: Looks good to me, but someone else must approve diff --git a/scripts/osmocom-latest-packages.sh b/scripts/osmocom-latest-packages.sh index 9bf08eb..fddcf0c 100755 --- a/scripts/osmocom-latest-packages.sh +++ b/scripts/osmocom-latest-packages.sh @@ -96,7 +96,6 @@ mv "$output/"*.tar* "$TOP/$PROJ/$project/" cd "$TOP/$PROJ" osc add "$project" - osmo_obs_add_rpm_spec "$TOP/$PROJ/$project" "$TOP/$project" "$project" "osmocom-latest" else cd "$TOP/$PROJ/$project" @@ -107,9 +106,11 @@ mv "$output/"*.dsc . mv "$output/"*.tar* . osc add ./* - osmo_obs_add_rpm_spec "$PWD" "$TOP/$project" "$project" "osmocom-latest" fi fi + + osmo_obs_add_rpm_spec "$TOP/$PROJ/$project" "$TOP/$project" "$project" "osmocom-latest" + cd "$TOP" } -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23156 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ie067c97b5f54ec5b3309ddbd2bfb7f846cd0ccd3 Gerrit-Change-Number: 23156 Gerrit-PatchSet: 2 Gerrit-Owner: osmith 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 Mar 1 12:52:57 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 1 Mar 2021 12:52:57 +0000 Subject: Change in osmo-ci[master]: OBS: latest: add osmo-gbproxy In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23153 ) Change subject: OBS: latest: add osmo-gbproxy ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23153 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I66bb4e7aeedbb6f40aa9401f4adaf077e22dd9fe Gerrit-Change-Number: 23153 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 01 Mar 2021 12: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 Mon Mar 1 12:53:01 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 1 Mar 2021 12:53:01 +0000 Subject: Change in osmo-ci[master]: OBS: latest: add osmo-gbproxy In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23153 ) Change subject: OBS: latest: add osmo-gbproxy ...................................................................... OBS: latest: add osmo-gbproxy Related: OS#5051 Change-Id: I66bb4e7aeedbb6f40aa9401f4adaf077e22dd9fe --- M scripts/osmocom-latest-packages.sh 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved; Verified pespin: Looks good to me, but someone else must approve diff --git a/scripts/osmocom-latest-packages.sh b/scripts/osmocom-latest-packages.sh index fddcf0c..b6a3d16 100755 --- a/scripts/osmocom-latest-packages.sh +++ b/scripts/osmocom-latest-packages.sh @@ -153,6 +153,7 @@ checkout osmo-uecups checkout osmo-e1d checkout osmo-cbc + checkout osmo-gbproxy cd "$TOP" osmo_obs_checkout_copy debian8 osmo-gsm-manuals @@ -190,6 +191,7 @@ build osmo-uecups build osmo-e1d build osmo-cbc + build osmo-gbproxy cd "$TOP/$PROJ" osc ci -m "Latest Tagged versions of $DT" --noservice -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23153 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I66bb4e7aeedbb6f40aa9401f4adaf077e22dd9fe Gerrit-Change-Number: 23153 Gerrit-PatchSet: 2 Gerrit-Owner: osmith 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 Mar 1 12:53:18 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 1 Mar 2021 12:53:18 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3: rename ttcn3-ggsn-test-kernel-net-next In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23149 ) Change subject: jobs/ttcn3: rename ttcn3-ggsn-test-kernel-net-next ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23149 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I409f49f88f0a75c782dd3c90c5051e8287644138 Gerrit-Change-Number: 23149 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 01 Mar 2021 12: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 Mon Mar 1 12:53:35 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 1 Mar 2021 12:53:35 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3: add KERNEL_* parameters In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23150 ) Change subject: jobs/ttcn3: add KERNEL_* parameters ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23150 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I5d4202a67a24d9c15a5b211fa29ce9d5b5a9d9c1 Gerrit-Change-Number: 23150 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 01 Mar 2021 12:53: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 Mar 1 12:53:51 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 1 Mar 2021 12:53:51 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/data_msg.py: use tuple for DATAMSG.known_versions In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/23133 ) Change subject: trx_toolkit/data_msg.py: use tuple for DATAMSG.known_versions ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/23133 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I79de5fe478297e1850d9582426888411a0189d3f Gerrit-Change-Number: 23133 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 01 Mar 2021 12:53: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 Mar 1 12:54:11 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 1 Mar 2021 12:54:11 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/data_msg.py: do not instantiate abstract class DATAMSG In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/23148 ) Change subject: trx_toolkit/data_msg.py: do not instantiate abstract class DATAMSG ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/23148 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I811f67ae030ccd93e1c6a421097cec36ca01cbf9 Gerrit-Change-Number: 23148 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 01 Mar 2021 12:54: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 Mar 1 12:54:26 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 1 Mar 2021 12:54:26 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/data_msg.py: convert comments into docstrings In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/23132 ) Change subject: trx_toolkit/data_msg.py: convert comments into docstrings ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/23132 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I856b54fd1baca4ae0edd2aa59be6a76372cef667 Gerrit-Change-Number: 23132 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 01 Mar 2021 12:54: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 Mar 1 12:54:49 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 1 Mar 2021 12:54:49 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3: rename ttcn3-ggsn-test-kernel-net-next In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23149 ) Change subject: jobs/ttcn3: rename ttcn3-ggsn-test-kernel-net-next ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23149 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I409f49f88f0a75c782dd3c90c5051e8287644138 Gerrit-Change-Number: 23149 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 01 Mar 2021 12: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 Mon Mar 1 12:54:52 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 1 Mar 2021 12:54:52 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3: add KERNEL_* parameters In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23150 ) Change subject: jobs/ttcn3: add KERNEL_* parameters ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23150 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I5d4202a67a24d9c15a5b211fa29ce9d5b5a9d9c1 Gerrit-Change-Number: 23150 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 01 Mar 2021 12:54: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 Mar 1 12:54:55 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 1 Mar 2021 12:54:55 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/data_msg.py: decorate abstract methods as such In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/23131 ) Change subject: trx_toolkit/data_msg.py: decorate abstract methods as such ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/23131 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I27fdcfdabc2b5318ab3e958d2e5446e670fe9035 Gerrit-Change-Number: 23131 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 01 Mar 2021 12:54: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 Mar 1 12:54:56 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 1 Mar 2021 12:54:56 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3: rename ttcn3-ggsn-test-kernel-net-next In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23149 ) Change subject: jobs/ttcn3: rename ttcn3-ggsn-test-kernel-net-next ...................................................................... jobs/ttcn3: rename ttcn3-ggsn-test-kernel-net-next Change the name of the job to ttcn3-ggsn-test-kernel-git. A follow-up patch will add parameters to the jenkins job to specify a different repository than net-next, therefore the generic name makes more sense. Related: OS#3208 Change-Id: I409f49f88f0a75c782dd3c90c5051e8287644138 --- M jobs/ttcn3-testsuites.yml 1 file changed, 3 insertions(+), 3 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve osmith: Verified diff --git a/jobs/ttcn3-testsuites.yml b/jobs/ttcn3-testsuites.yml index cc66836..3e62126 100644 --- a/jobs/ttcn3-testsuites.yml +++ b/jobs/ttcn3-testsuites.yml @@ -28,11 +28,11 @@ - ttcn3-ggsn-test-kernel-latest: blocking: "^(ttcn3|TTCN3-.*)-ggsn-test.*" timer: 20 04 * * * - - ttcn3-ggsn-test-kernel-net-next: + - ttcn3-ggsn-test-kernel-git: blocking: "^(ttcn3|TTCN3-.*)-ggsn-test.*" timer: 30 04 * * * # Cache the linux source tree in the workspace of one node - node: ttcn3-ggsn-test-kernel-net-next + node: ttcn3-ggsn-test-kernel-git wipe_workspace: false - ttcn3-msc-test: blocking: "^(ttcn3|TTCN3-.*)-msc-test.*" @@ -249,7 +249,7 @@ export IMAGE_SUFFIX="latest" export KERNEL_TEST=1 ;; - ttcn3-ggsn-test-kernel-net-next) + ttcn3-ggsn-test-kernel-git) DIR="ttcn3-ggsn-test" export IMAGE_SUFFIX="master" # Build net-next kernel from source, default git repo from: -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23149 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I409f49f88f0a75c782dd3c90c5051e8287644138 Gerrit-Change-Number: 23149 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 1 12:54:56 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 1 Mar 2021 12:54:56 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3: add KERNEL_* parameters In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23150 ) Change subject: jobs/ttcn3: add KERNEL_* parameters ...................................................................... jobs/ttcn3: add KERNEL_* parameters Make it possible to run the jenkins job with a different kernel repository, by exposing KERNEL_URL, KERNEL_REMOTE_NAME and KERNEL_BRANCH. Related: OS#3208 Change-Id: I5d4202a67a24d9c15a5b211fa29ce9d5b5a9d9c1 --- M jobs/ttcn3-testsuites.yml 1 file changed, 22 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve osmith: Verified diff --git a/jobs/ttcn3-testsuites.yml b/jobs/ttcn3-testsuites.yml index 3e62126..621915b 100644 --- a/jobs/ttcn3-testsuites.yml +++ b/jobs/ttcn3-testsuites.yml @@ -230,6 +230,26 @@ Branch of docker-playground.git. Only modify if you are hacking on the docker-playground scripts. default: '*/master' + - string: + name: KERNEL_URL + description: | + (*-kernel-git only) remote URL of git repository, + from which the kernel will be built. + default: 'https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git' + - string: + name: KERNEL_REMOTE_NAME + description: | + (*-kernel-git only) short name for the remote URL, + which will be used to add it to the local git checkout with + git remote add. + default: 'net-next' + - string: + name: KERNEL_BRANCH + description: | + (*-kernel-git only) branch to check out from the + remote with KERNEL_URL and + KERNEL_REMOTE_NAME before building the kernel. + default: 'master' builders: - shell: |- @@ -252,8 +272,8 @@ ttcn3-ggsn-test-kernel-git) DIR="ttcn3-ggsn-test" export IMAGE_SUFFIX="master" - # Build net-next kernel from source, default git repo from: - # docker-playground.git scripts/kernel-test/kernel-build.sh + # Build kernel from source, git repo is defined in the job's + # parameters: KERNEL_URL, KERNEL_REMOTE_NAME, KERNEL_BRANCH export KERNEL_TEST=1 export KERNEL_BUILD=1 ;; -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23150 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I5d4202a67a24d9c15a5b211fa29ce9d5b5a9d9c1 Gerrit-Change-Number: 23150 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 1 12:55:08 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 1 Mar 2021 12:55:08 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/data_msg.py: use uppercase for KNOWN_VERSIONS In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/23134 ) Change subject: trx_toolkit/data_msg.py: use uppercase for KNOWN_VERSIONS ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/23134 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ie4dcc8e91115c514ace243a95a9b44a17cd976b4 Gerrit-Change-Number: 23134 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 01 Mar 2021 12:55: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 Mar 1 12:55:45 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 1 Mar 2021 12:55:45 +0000 Subject: Change in osmo-ttcn3-hacks[master]: SGSN_Tests: fix coding style in TC_bssgp_rim_single_report In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23144 ) Change subject: SGSN_Tests: fix coding style in TC_bssgp_rim_single_report ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23144 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I667c1e8a94393e2b5afc6e2e3f7503b73198822c Gerrit-Change-Number: 23144 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 01 Mar 2021 12:55:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 1 12:55:58 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 1 Mar 2021 12:55:58 +0000 Subject: Change in osmo-ttcn3-hacks[master]: SGSN_Tests: add setverdict(pass) to TC_bssgp_rim_single_report() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23145 ) Change subject: SGSN_Tests: add setverdict(pass) to TC_bssgp_rim_single_report() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23145 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If5295cc8eccda2d1b3baae7d2169fac5da2a085c Gerrit-Change-Number: 23145 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 01 Mar 2021 12:55:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 1 12:56:11 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 1 Mar 2021 12:56:11 +0000 Subject: Change in osmo-ttcn3-hacks[master]: remsim: TC_connect_and_nothing() runs on test_CT In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23146 ) Change subject: remsim: TC_connect_and_nothing() runs on test_CT ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23146 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie94bf52e57a964b9f280c7626f354c5feee5c165 Gerrit-Change-Number: 23146 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 01 Mar 2021 12:56: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 Mar 1 12:56:33 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 1 Mar 2021 12:56:33 +0000 Subject: Change in osmo-ttcn3-hacks[master]: remsim: add the guard timeout to all test cases In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23147 ) Change subject: remsim: add the guard timeout to all test cases ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23147 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3897efd2a97c3e0d487057aa7bdc2967f3424dd8 Gerrit-Change-Number: 23147 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 01 Mar 2021 12:56: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 Mar 1 12:56:34 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 1 Mar 2021 12:56:34 +0000 Subject: Change in osmo-ttcn3-hacks[master]: SGSN_Tests: fix coding style in TC_bssgp_rim_single_report In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23144 ) Change subject: SGSN_Tests: fix coding style in TC_bssgp_rim_single_report ...................................................................... SGSN_Tests: fix coding style in TC_bssgp_rim_single_report Change-Id: I667c1e8a94393e2b5afc6e2e3f7503b73198822c --- M sgsn/SGSN_Tests.ttcn 1 file changed, 12 insertions(+), 12 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/sgsn/SGSN_Tests.ttcn b/sgsn/SGSN_Tests.ttcn index b79aae4..efd92a0 100644 --- a/sgsn/SGSN_Tests.ttcn +++ b/sgsn/SGSN_Tests.ttcn @@ -3195,13 +3195,13 @@ RIM[0].send(bssgp_rim_pdu); T.start; alt { - [] RIM[1].receive(bssgp_rim_pdu_expect) { } - [] RIM[1].receive { - setverdict(fail, "Unexpected BSSGP RIM PDU received"); + [] RIM[1].receive(bssgp_rim_pdu_expect) { } + [] RIM[1].receive { + setverdict(fail, "Unexpected BSSGP RIM PDU received"); } - [] T.timeout { - setverdict(fail, "No BSSGP RIM PDU received"); - mtc.stop; + [] T.timeout { + setverdict(fail, "No BSSGP RIM PDU received"); + mtc.stop; } } @@ -3227,13 +3227,13 @@ RIM[1].send(bssgp_rim_pdu); T.start; alt { - [] RIM[0].receive(bssgp_rim_pdu_expect) { } - [] RIM[0].receive { - setverdict(fail, "Unexpected BSSGP RIM PDU received"); + [] RIM[0].receive(bssgp_rim_pdu_expect) { } + [] RIM[0].receive { + setverdict(fail, "Unexpected BSSGP RIM PDU received"); } - [] T.timeout { - setverdict(fail, "No BSSGP RIM PDU received"); - mtc.stop; + [] T.timeout { + setverdict(fail, "No BSSGP RIM PDU received"); + mtc.stop; } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23144 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I667c1e8a94393e2b5afc6e2e3f7503b73198822c Gerrit-Change-Number: 23144 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 Mon Mar 1 12:56:35 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 1 Mar 2021 12:56:35 +0000 Subject: Change in osmo-ttcn3-hacks[master]: SGSN_Tests: add setverdict(pass) to TC_bssgp_rim_single_report() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23145 ) Change subject: SGSN_Tests: add setverdict(pass) to TC_bssgp_rim_single_report() ...................................................................... SGSN_Tests: add setverdict(pass) to TC_bssgp_rim_single_report() Change-Id: If5295cc8eccda2d1b3baae7d2169fac5da2a085c --- M sgsn/SGSN_Tests.ttcn 1 file changed, 6 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved laforge: Looks good to me, approved diff --git a/sgsn/SGSN_Tests.ttcn b/sgsn/SGSN_Tests.ttcn index efd92a0..79e7434 100644 --- a/sgsn/SGSN_Tests.ttcn +++ b/sgsn/SGSN_Tests.ttcn @@ -3195,7 +3195,9 @@ RIM[0].send(bssgp_rim_pdu); T.start; alt { - [] RIM[1].receive(bssgp_rim_pdu_expect) { } + [] RIM[1].receive(bssgp_rim_pdu_expect) { + setverdict(pass); + } [] RIM[1].receive { setverdict(fail, "Unexpected BSSGP RIM PDU received"); } @@ -3227,7 +3229,9 @@ RIM[1].send(bssgp_rim_pdu); T.start; alt { - [] RIM[0].receive(bssgp_rim_pdu_expect) { } + [] RIM[0].receive(bssgp_rim_pdu_expect) { + setverdict(pass); + } [] RIM[0].receive { setverdict(fail, "Unexpected BSSGP RIM PDU received"); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23145 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: If5295cc8eccda2d1b3baae7d2169fac5da2a085c Gerrit-Change-Number: 23145 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 Mon Mar 1 12:56:35 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 1 Mar 2021 12:56:35 +0000 Subject: Change in osmo-ttcn3-hacks[master]: remsim: TC_connect_and_nothing() runs on test_CT In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23146 ) Change subject: remsim: TC_connect_and_nothing() runs on test_CT ...................................................................... remsim: TC_connect_and_nothing() runs on test_CT Change-Id: Ie94bf52e57a964b9f280c7626f354c5feee5c165 --- M remsim/RemsimServer_Tests.ttcn 1 file changed, 1 insertion(+), 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/remsim/RemsimServer_Tests.ttcn b/remsim/RemsimServer_Tests.ttcn index fd7a1a4..d5af530 100644 --- a/remsim/RemsimServer_Tests.ttcn +++ b/remsim/RemsimServer_Tests.ttcn @@ -75,7 +75,7 @@ }; -testcase TC_connect_and_nothing() runs on rspro_client_CT { +testcase TC_connect_and_nothing() runs on test_CT { var ComponentIdentity rspro_id := valueof(ts_CompId(remsimClient, "foobar")); timer T := 20.0; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23146 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie94bf52e57a964b9f280c7626f354c5feee5c165 Gerrit-Change-Number: 23146 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 Mon Mar 1 12:56:35 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 1 Mar 2021 12:56:35 +0000 Subject: Change in osmo-ttcn3-hacks[master]: remsim: add the guard timeout to all test cases In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23147 ) Change subject: remsim: add the guard timeout to all test cases ...................................................................... remsim: add the guard timeout to all test cases As can be seen [1], it happens quite often that a test case gets stuck and runs forever. Most of the existing test suites have the guard timeout to prevent this. Let's make use of it here too. [1] https://jenkins.osmocom.org/jenkins/view/TTCN3/job/ttcn3-remsim-test-latest/190/ Build has been executing for 1 day 23 hr! Change-Id: I3897efd2a97c3e0d487057aa7bdc2967f3424dd8 --- M remsim/RemsimBankd_Tests.ttcn M remsim/RemsimClient_Tests.ttcn M remsim/RemsimServer_Tests.ttcn 3 files changed, 59 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/remsim/RemsimBankd_Tests.ttcn b/remsim/RemsimBankd_Tests.ttcn index 47beedd..a2686d3 100644 --- a/remsim/RemsimBankd_Tests.ttcn +++ b/remsim/RemsimBankd_Tests.ttcn @@ -35,11 +35,23 @@ /* We implement a RSPRO server to simulate the remsim-server and a RSPRO client to simulate a remsim-client connecting to bankd */ type component bankd_test_CT extends rspro_server_CT, rspro_client_CT, VPCD_Adapter_CT { + timer g_T_guard := 60.0; +} + +private altstep as_Tguard() runs on bankd_test_CT { + [] g_T_guard.timeout { + setverdict(fail, "Timeout of T_guard"); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__); + } } private function f_init(boolean start_client := false) runs on bankd_test_CT { var ComponentIdentity srv_comp_id := valueof(ts_CompId(remsimServer, "ttcn-server")); + /* Start the guard timer */ + g_T_guard.start; + activate(as_Tguard()); + f_rspro_srv_init(0, mp_server_ip, mp_server_port, srv_comp_id); if (start_client) { diff --git a/remsim/RemsimClient_Tests.ttcn b/remsim/RemsimClient_Tests.ttcn index 499fd3e..d7d6bc7 100644 --- a/remsim/RemsimClient_Tests.ttcn +++ b/remsim/RemsimClient_Tests.ttcn @@ -15,6 +15,7 @@ import from Native_Functions all; import from Osmocom_Types all; import from IPA_Emulation all; +import from Misc_Helpers all; /* the PIPEasp port allows us to interact with osmo-remsim-client-shell via stdin/stdout */ import from PIPEasp_PortType all; @@ -33,12 +34,24 @@ type component client_test_CT extends rspro_server_CT { port PIPEasp_PT PIPE; var ComponentIdentity g_srv_comp_id, g_bankd_comp_id; + timer g_T_guard := 60.0; }; +private altstep as_Tguard() runs on client_test_CT { + [] g_T_guard.timeout { + setverdict(fail, "Timeout of T_guard"); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__); + } +} + private function f_init() runs on client_test_CT { g_srv_comp_id := valueof(ts_CompId(remsimServer, "ttcn-server")); g_bankd_comp_id := valueof(ts_CompId(remsimBankd, "ttcn-bankd")); + /* Start the guard timer */ + g_T_guard.start; + activate(as_Tguard()); + f_rspro_srv_init(0, mp_server_ip, mp_server_port, g_srv_comp_id); f_rspro_srv_init(1, mp_bankd_ip, mp_bankd_port, g_bankd_comp_id, exp_connect := false); } diff --git a/remsim/RemsimServer_Tests.ttcn b/remsim/RemsimServer_Tests.ttcn index d5af530..135ce15 100644 --- a/remsim/RemsimServer_Tests.ttcn +++ b/remsim/RemsimServer_Tests.ttcn @@ -20,6 +20,7 @@ import from RSPRO_Types all; import from REMSIM_Tests all; +import from Misc_Helpers all; import from IPA_Emulation all; import from HTTPmsg_Types all; @@ -72,13 +73,28 @@ } type component test_CT extends rspro_client_CT, http_CT { + timer g_T_guard := 60.0; }; +private altstep as_Tguard() runs on test_CT { + [] g_T_guard.timeout { + setverdict(fail, "Timeout of T_guard"); + Misc_Helpers.f_shutdown(__BFILE__, __LINE__); + } +} + +private function f_init() runs on test_CT { + /* Start the guard timer */ + g_T_guard.start; + activate(as_Tguard()); +} + testcase TC_connect_and_nothing() runs on test_CT { var ComponentIdentity rspro_id := valueof(ts_CompId(remsimClient, "foobar")); timer T := 20.0; + f_init(); f_rspro_init(rspro[0], mp_server_ip, mp_server_port, rspro_id, 0); T.start; /* expect that we're disconnected if we never send a ConnectClientReq */ @@ -97,6 +113,7 @@ var ComponentIdentity rspro_id := valueof(ts_CompId(remsimClient, "foobar")); var JsRoot js; + f_init(); f_rsres_init(); f_rspro_init(rspro[0], mp_server_ip, mp_server_port, rspro_id, 0); rspro[0].rspro_client_slot := valueof(ts_ClientSlot(3,4)); @@ -120,6 +137,7 @@ var ComponentIdentity rspro_id := valueof(ts_CompId(remsimBankd, "foobar")); var JsRoot js; + f_init(); f_rsres_init(); f_rspro_init(rspro[0], mp_server_ip, mp_server_port, rspro_id, 0); rspro[0].rspro_bank_id := 1; @@ -170,6 +188,7 @@ /* test adding a single slotmap */ testcase TC_slotmap_add() runs on test_CT { + f_init(); f_rsres_init(); var JsSlotmap sm := valueof(ts_JsSlotmap(ts_BankSlot(1,2), ts_ClientSlot(3,4))); @@ -181,6 +200,7 @@ /* test adding a single slotmap with out-of-range values */ testcase TC_slotmap_add_out_of_range() runs on test_CT { + f_init(); f_rsres_init(); var HTTPMessage http_resp; @@ -206,6 +226,8 @@ /* test adding a slotmap and then connecting a client + bankd */ testcase TC_slotmap_add_conn_cl_b() runs on test_CT { + f_init(); + /* Simulate one client */ var ComponentIdentity rspro_id := valueof(ts_CompId(remsimClient, testcasename())); f_rspro_init(rspro[0], mp_server_ip, mp_server_port, rspro_id, 0); @@ -249,6 +271,8 @@ /* test connecting a client and later adding a slotmap for it */ testcase TC_conn_cl_b_slotmap_add() runs on test_CT { + f_init(); + /* Simulate one client */ var ComponentIdentity rspro_id := valueof(ts_CompId(remsimClient, testcasename())); f_rspro_init(rspro[0], mp_server_ip, mp_server_port, rspro_id, 0); @@ -292,6 +316,7 @@ /* simple delete of a 'NEW' slotmap */ testcase TC_slotmap_del_new() runs on test_CT { + f_init(); f_rsres_init(); var JsSlotmap sm := valueof(ts_JsSlotmap(ts_BankSlot(1,2), ts_ClientSlot(3,4))); @@ -303,6 +328,7 @@ /* simple delete of a non-existant slotmap */ testcase TC_slotmap_del_nonexistant() runs on test_CT { + f_init(); f_rsres_init(); var JsSlotmap sm := valueof(ts_JsSlotmap(ts_BankSlot(11,12), ts_ClientSlot(13,14))); @@ -314,6 +340,8 @@ /* simple delete of a 'UNACKNOWLEDGED' slotmap */ testcase TC_slotmap_del_unack() runs on test_CT { var ComponentIdentity rspro_id := valueof(ts_CompId(remsimBankd, testcasename())); + + f_init(); f_rspro_init(rspro[0], mp_server_ip, mp_server_port, rspro_id, 0); rspro[0].rspro_bank_id := 1; rspro[0].rspro_bank_nslots := 8; @@ -347,6 +375,8 @@ /* simple delete of a 'ACTIVE' slotmap from server + bankd */ testcase TC_slotmap_del_active() runs on test_CT { var ComponentIdentity rspro_id := valueof(ts_CompId(remsimBankd, testcasename())); + + f_init(); f_rspro_init(rspro[0], mp_server_ip, mp_server_port, rspro_id, 0); rspro[0].rspro_bank_id := 1; rspro[0].rspro_bank_nslots := 8; @@ -386,6 +416,8 @@ /* simple delete of a 'ACTIVE' slotmap from client */ testcase TC_slotmap_del_active_client() runs on test_CT { var ComponentIdentity rspro_id := valueof(ts_CompId(remsimBankd, testcasename())); + + f_init(); f_rspro_init(rspro[0], mp_server_ip, mp_server_port, rspro_id, 0); rspro[0].rspro_bank_id := 1; rspro[0].rspro_bank_nslots := 8; @@ -438,6 +470,8 @@ /* Add a slotmap to a currently active bank */ testcase TC_slotmap_add_active_bank() runs on test_CT { var ComponentIdentity rspro_id := valueof(ts_CompId(remsimBankd, testcasename())); + + f_init(); f_rspro_init(rspro[0], mp_server_ip, mp_server_port, rspro_id, 0); rspro[0].rspro_bank_id := 1; rspro[0].rspro_bank_nslots := 8; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23147 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I3897efd2a97c3e0d487057aa7bdc2967f3424dd8 Gerrit-Change-Number: 23147 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 Mon Mar 1 13:47:54 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 1 Mar 2021 13:47:54 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit: check in simple declarative codec In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/23135 ) Change subject: trx_toolkit: check in simple declarative codec ...................................................................... Patch Set 2: > Patch Set 2: Code-Review+1 > > Not sure if this is really performant, but will see. It's not gonna be faster than the current implementation, but will definitely be faster than Scapy or Pycrate. I find declarative approach easier to maintain when it comes to different TRXD versions, especially TRXDv2 with batching and completely different field ordering. -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/23135 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I7ff46b278c59af3720ee7f3950ea5a8b2f1313e1 Gerrit-Change-Number: 23135 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 01 Mar 2021 13:47: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 Mon Mar 1 14:50:34 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 1 Mar 2021 14:50:34 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/data_msg.py: decorate abstract methods as such In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmocom-bb/+/23131 to look at the new patch set (#3). Change subject: trx_toolkit/data_msg.py: decorate abstract methods as such ...................................................................... trx_toolkit/data_msg.py: decorate abstract methods as such Change-Id: I27fdcfdabc2b5318ab3e958d2e5446e670fe9035 Related: OS#4006, SYS#4895 --- M src/target/trx_toolkit/data_msg.py 1 file changed, 7 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/31/23131/3 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/23131 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I27fdcfdabc2b5318ab3e958d2e5446e670fe9035 Gerrit-Change-Number: 23131 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 1 14:51:40 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 1 Mar 2021 14:51:40 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/data_msg.py: decorate abstract methods as such In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/23131 ) Change subject: trx_toolkit/data_msg.py: decorate abstract methods as such ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmocom-bb/+/23131/2/src/target/trx_toolkit/data_msg.py File src/target/trx_toolkit/data_msg.py: https://gerrit.osmocom.org/c/osmocom-bb/+/23131/2/src/target/trx_toolkit/data_msg.py at 160 PS2, Line 160: raise NotImplementedError > fyi, since they are marked abstractmethod they shouldn't be callable because python wil ldetec tit a [?] ACK, removed in the new patch set. -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/23131 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I27fdcfdabc2b5318ab3e958d2e5446e670fe9035 Gerrit-Change-Number: 23131 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 01 Mar 2021 14:51:40 +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 Mar 1 14:56:52 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 1 Mar 2021 14:56:52 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/data_msg.py: decorate abstract methods as such In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/23131 ) Change subject: trx_toolkit/data_msg.py: decorate abstract methods as such ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/23131 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I27fdcfdabc2b5318ab3e958d2e5446e670fe9035 Gerrit-Change-Number: 23131 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 01 Mar 2021 14:56: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 Mar 1 15:02:25 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 1 Mar 2021 15:02:25 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/data_msg.py: decorate abstract methods as such In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/23131 ) Change subject: trx_toolkit/data_msg.py: decorate abstract methods as such ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/23131 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I27fdcfdabc2b5318ab3e958d2e5446e670fe9035 Gerrit-Change-Number: 23131 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 01 Mar 2021 15:02:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 1 15:02:35 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 1 Mar 2021 15:02:35 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/data_msg.py: do not instantiate abstract class DATAMSG In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/23148 ) Change subject: trx_toolkit/data_msg.py: do not instantiate abstract class DATAMSG ...................................................................... trx_toolkit/data_msg.py: do not instantiate abstract class DATAMSG Change-Id: I811f67ae030ccd93e1c6a421097cec36ca01cbf9 Related: OS#4006, SYS#4895 --- M src/target/trx_toolkit/test_data_msg.py 1 file changed, 5 insertions(+), 5 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/target/trx_toolkit/test_data_msg.py b/src/target/trx_toolkit/test_data_msg.py index 6254203..8735b0c 100644 --- a/src/target/trx_toolkit/test_data_msg.py +++ b/src/target/trx_toolkit/test_data_msg.py @@ -62,23 +62,23 @@ def test_validate(self): # Unknown version with self.assertRaises(ValueError): - msg = DATAMSG(fn = 0, tn = 0, ver = 100) + msg = DATAMSG_TRX2L1(fn = 0, tn = 0, ver = 100) msg.validate() # Uninitialized field with self.assertRaises(ValueError): - msg = DATAMSG() + msg = DATAMSG_TRX2L1() msg.validate() with self.assertRaises(ValueError): - msg = DATAMSG(fn = None, tn = 0) + msg = DATAMSG_TRX2L1(fn = None, tn = 0) msg.validate() # Out-of-range value(s) with self.assertRaises(ValueError): - msg = DATAMSG(fn = -1, tn = 0) + msg = DATAMSG_TRX2L1(fn = -1, tn = 0) msg.validate() with self.assertRaises(ValueError): - msg = DATAMSG(fn = 0, tn = 10) + msg = DATAMSG_TRX2L1(fn = 0, tn = 10) msg.validate() # Validate header and burst randomization -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/23148 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I811f67ae030ccd93e1c6a421097cec36ca01cbf9 Gerrit-Change-Number: 23148 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 Mon Mar 1 15:02:36 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 1 Mar 2021 15:02:36 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/data_msg.py: convert comments into docstrings In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/23132 ) Change subject: trx_toolkit/data_msg.py: convert comments into docstrings ...................................................................... trx_toolkit/data_msg.py: convert comments into docstrings Change-Id: I856b54fd1baca4ae0edd2aa59be6a76372cef667 Related: OS#4006, SYS#4895 --- M src/target/trx_toolkit/data_msg.py 1 file changed, 75 insertions(+), 47 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/target/trx_toolkit/data_msg.py b/src/target/trx_toolkit/data_msg.py index 86670fc..89fb916 100644 --- a/src/target/trx_toolkit/data_msg.py +++ b/src/target/trx_toolkit/data_msg.py @@ -122,54 +122,53 @@ CHDR_VERSION_MAX = 0b1111 known_versions = [0x00, 0x01] - # Common constructor def __init__(self, fn = None, tn = None, burst = None, ver = 0): self.burst = burst self.ver = ver self.fn = fn self.tn = tn - # The common header length @property def CHDR_LEN(self): - # (VER + TN) + FN - return 1 + 4 + ''' The common header length. ''' + return 1 + 4 # (VER + TN) + FN - # Generates message specific header def gen_hdr(self): + ''' Generate message specific header. ''' raise NotImplementedError - # Parses message specific header def parse_hdr(self, hdr): + ''' Parse message specific header. ''' raise NotImplementedError - # Generates message specific burst def gen_burst(self): + ''' Generate message specific burst. ''' raise NotImplementedError - # Parses message specific burst def parse_burst(self, burst): + ''' Parse message specific burst. ''' raise NotImplementedError - # Generate a random message specific burst def rand_burst(self): + ''' Generate a random message specific burst. ''' raise NotImplementedError - # Generates a random frame number def rand_fn(self): + ''' Generate a random frame number. ''' return random.randint(0, GSM_HYPERFRAME) - # Generates a random timeslot number def rand_tn(self): + ''' Generate a random timeslot number. ''' return random.randint(0, 7) - # Randomizes the message header def rand_hdr(self): + ''' Randomize the message header. ''' self.fn = self.rand_fn() self.tn = self.rand_tn() - # Generates human-readable header description def desc_hdr(self): + ''' Generate human-readable header description. ''' + result = "" if self.ver > 0: @@ -186,28 +185,29 @@ return result - # Converts unsigned soft-bits {254..0} to soft-bits {-127..127} @staticmethod def usbit2sbit(bits): + ''' Convert unsigned soft-bits {254..0} to soft-bits {-127..127}. ''' return [-127 if (b == 0xff) else 127 - b for b in bits] - # Converts soft-bits {-127..127} to unsigned soft-bits {254..0} @staticmethod def sbit2usbit(bits): + ''' Convert soft-bits {-127..127} to unsigned soft-bits {254..0}. ''' return [127 - b for b in bits] - # Converts soft-bits {-127..127} to bits {1..0} @staticmethod def sbit2ubit(bits): + ''' Convert soft-bits {-127..127} to bits {1..0}. ''' return [int(b < 0) for b in bits] - # Converts bits {1..0} to soft-bits {-127..127} @staticmethod def ubit2sbit(bits): + ''' Convert bits {1..0} to soft-bits {-127..127}. ''' return [-127 if b else 127 for b in bits] - # Validates the message fields (throws ValueError) def validate(self): + ''' Validate the message fields (throws ValueError). ''' + if not self.ver in self.known_versions: raise ValueError("Unknown TRXD header version %d" % self.ver) @@ -223,8 +223,9 @@ if self.tn < 0 or self.tn > 7: raise ValueError("TDMA time-slot %d is out of range" % self.tn) - # Generates a TRX DATA message def gen_msg(self, legacy = False): + ''' Generate a TRX DATA message. ''' + # Validate all the fields self.validate() @@ -252,8 +253,9 @@ return buf - # Parses a TRX DATA message def parse_msg(self, msg): + ''' Parse a TRX DATA message. ''' + # Make sure we have at least common header if len(msg) < self.CHDR_LEN: raise ValueError("Message is to short: missing common header") @@ -311,9 +313,10 @@ # Specific message fields pwr = None - # Calculates header length depending on its version @property def HDR_LEN(self): + ''' Calculate header length depending on its version. ''' + # Common header length length = self.CHDR_LEN @@ -325,8 +328,9 @@ return length - # Validates the message fields (throws ValueError) def validate(self): + ''' Validate the message fields (throws ValueError). ''' + # Validate common fields DATAMSG.validate(self) @@ -344,8 +348,9 @@ if len(self.burst) not in (GSM_BURST_LEN, EDGE_BURST_LEN): raise ValueError("Tx burst has odd length %u" % len(self.burst)) - # Generates a random power level def rand_pwr(self, min = None, max = None): + ''' Generate a random power level. ''' + if min is None: min = self.PWR_MIN @@ -354,13 +359,15 @@ return random.randint(min, max) - # Randomizes message specific header def rand_hdr(self): + ''' Randomize message specific header. ''' + DATAMSG.rand_hdr(self) self.pwr = self.rand_pwr() - # Generates human-readable header description def desc_hdr(self): + ''' Generate human-readable header description. ''' + # Describe the common part result = DATAMSG.desc_hdr(self) @@ -370,8 +377,9 @@ # Strip useless whitespace and return return result.strip() - # Generates message specific header part def gen_hdr(self): + ''' Generate message specific header part. ''' + # Allocate an empty byte-array buf = bytearray() @@ -380,18 +388,21 @@ return buf - # Parses message specific header part def parse_hdr(self, hdr): + ''' Parse message specific header part. ''' + # Parse power level self.pwr = hdr[5] - # Generates message specific burst def gen_burst(self): + ''' Generate message specific burst. ''' + # Copy burst 'as is' return bytearray(self.burst) - # Parses message specific burst def parse_burst(self, burst): + ''' Parse message specific burst. ''' + length = len(burst) # Distinguish between GSM and EDGE @@ -400,12 +411,13 @@ else: self.burst = list(burst[:GSM_BURST_LEN]) - # Generate a random message specific burst def rand_burst(self, length = GSM_BURST_LEN): + ''' Generate a random message specific burst. ''' self.burst = [random.randint(0, 1) for _ in range(length)] - # Transforms this message to TRX2L1 message def gen_trx2l1(self, ver = None): + ''' Transform this message to TRX2L1 message. ''' + # Allocate a new message msg = DATAMSG_TRX2L1(fn = self.fn, tn = self.tn, ver = self.ver if ver is None else ver) @@ -539,9 +551,10 @@ tsc = None ci = None - # Calculates header length depending on its version @property def HDR_LEN(self): + ''' Calculate header length depending on its version. ''' + # Common header length length = self.CHDR_LEN @@ -580,15 +593,17 @@ if len(self.burst) != self.mod_type.bl: raise ValueError("Rx burst has odd length %u" % len(self.burst)) - # Validates the burst (throws ValueError) def validate_burst(self): + ''' Validate the burst (throws ValueError). ''' + if self.ver == 0x00: self._validate_burst_v0() elif self.ver >= 0x01: self._validate_burst_v1() - # Validates the message header fields (throws ValueError) def validate(self): + ''' Validate the message header fields (throws ValueError). ''' + # Validate common fields DATAMSG.validate(self) @@ -635,8 +650,9 @@ self.validate_burst() - # Generates a random RSSI value def rand_rssi(self, min = None, max = None): + ''' Generate a random RSSI value. ''' + if min is None: min = self.RSSI_MIN @@ -645,8 +661,9 @@ return random.randint(min, max) - # Generates a ToA (Time of Arrival) value def rand_toa256(self, min = None, max = None): + ''' Generate a random ToA (Time of Arrival) value. ''' + if min is None: min = self.TOA256_MIN @@ -655,8 +672,9 @@ return random.randint(min, max) - # Randomizes message specific header def rand_hdr(self): + ''' Randomize message specific header. ''' + DATAMSG.rand_hdr(self) self.rssi = self.rand_rssi() self.toa256 = self.rand_toa256() @@ -672,8 +690,9 @@ # C/I: Carrier-to-Interference ratio self.ci = random.randint(self.CI_MIN, self.CI_MAX) - # Generates human-readable header description def desc_hdr(self): + ''' Generate human-readable header description. ''' + # Describe the common part result = DATAMSG.desc_hdr(self) @@ -699,8 +718,9 @@ # Strip useless whitespace and return return result.strip() - # Encodes Modulation and Training Sequence info def gen_mts(self): + ''' Encode Modulation and Training Sequence info. ''' + # IDLE / nope indication has no MTS info if self.nope_ind: return self.NOPE_IND @@ -714,8 +734,9 @@ return mts - # Parses Modulation and Training Sequence info def parse_mts(self, mts): + ''' Parse Modulation and Training Sequence info. ''' + # IDLE / nope indication has no MTS info self.nope_ind = (mts & self.NOPE_IND) > 0 if self.nope_ind: @@ -738,8 +759,9 @@ self.mod_type = Modulation.ModGMSK self.tsc_set = mts & 0b11 - # Generates message specific header part def gen_hdr(self): + ''' Generate message specific header part. ''' + # Allocate an empty byte-array buf = bytearray() @@ -760,8 +782,9 @@ return buf - # Parses message specific header part def parse_hdr(self, hdr): + ''' Parse message specific header part. ''' + # Parse RSSI self.rssi = -(hdr[5]) @@ -775,16 +798,18 @@ # C/I: Carrier-to-Interference ratio (in centiBels) self.ci = struct.unpack(">h", hdr[9:11])[0] - # Generates message specific burst def gen_burst(self): + ''' Generate message specific burst. ''' + # Convert soft-bits to unsigned soft-bits burst_usbits = self.sbit2usbit(self.burst) # Encode to bytes return bytearray(burst_usbits) - # Parses message specific burst for header version 0 def _parse_burst_v0(self, burst): + ''' Parse message specific burst for header version 0. ''' + bl = len(burst) # We need to guess modulation by the length of burst @@ -798,8 +823,9 @@ return burst[:self.mod_type.bl] - # Parses message specific burst def parse_burst(self, burst): + ''' Parse message specific burst. ''' + burst = list(burst) if self.ver == 0x00: @@ -808,15 +834,17 @@ # Convert unsigned soft-bits to soft-bits self.burst = self.usbit2sbit(burst) - # Generate a random message specific burst def rand_burst(self, length = None): + ''' Generate a random message specific burst. ''' + if length is None: length = self.mod_type.bl self.burst = [random.randint(-127, 127) for _ in range(length)] - # Transforms this message to L12TRX message def gen_l12trx(self, ver = None): + ''' Transform this message to L12TRX message. ''' + # Allocate a new message msg = DATAMSG_L12TRX(fn = self.fn, tn = self.tn, ver = self.ver if ver is None else ver) -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/23132 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I856b54fd1baca4ae0edd2aa59be6a76372cef667 Gerrit-Change-Number: 23132 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 Mon Mar 1 15:02:38 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 1 Mar 2021 15:02:38 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/data_msg.py: decorate abstract methods as such In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/23131 ) Change subject: trx_toolkit/data_msg.py: decorate abstract methods as such ...................................................................... trx_toolkit/data_msg.py: decorate abstract methods as such Change-Id: I27fdcfdabc2b5318ab3e958d2e5446e670fe9035 Related: OS#4006, SYS#4895 --- M src/target/trx_toolkit/data_msg.py 1 file changed, 7 insertions(+), 6 deletions(-) Approvals: fixeria: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/target/trx_toolkit/data_msg.py b/src/target/trx_toolkit/data_msg.py index 89fb916..cafe7a6 100644 --- a/src/target/trx_toolkit/data_msg.py +++ b/src/target/trx_toolkit/data_msg.py @@ -23,6 +23,7 @@ import random import struct +import abc from enum import Enum from gsm_shared import * @@ -55,7 +56,7 @@ return mod return None -class DATAMSG: +class DATAMSG(abc.ABC): """ TRXD (DATA) message codec (common part). The DATA messages are used to carry bursts in both directions @@ -133,25 +134,25 @@ ''' The common header length. ''' return 1 + 4 # (VER + TN) + FN + @abc.abstractmethod def gen_hdr(self): ''' Generate message specific header. ''' - raise NotImplementedError + @abc.abstractmethod def parse_hdr(self, hdr): ''' Parse message specific header. ''' - raise NotImplementedError + @abc.abstractmethod def gen_burst(self): ''' Generate message specific burst. ''' - raise NotImplementedError + @abc.abstractmethod def parse_burst(self, burst): ''' Parse message specific burst. ''' - raise NotImplementedError + @abc.abstractmethod def rand_burst(self): ''' Generate a random message specific burst. ''' - raise NotImplementedError def rand_fn(self): ''' Generate a random frame number. ''' -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/23131 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I27fdcfdabc2b5318ab3e958d2e5446e670fe9035 Gerrit-Change-Number: 23131 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 Mar 1 15:02:38 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 1 Mar 2021 15:02:38 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/data_msg.py: use tuple for DATAMSG.known_versions In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/23133 ) Change subject: trx_toolkit/data_msg.py: use tuple for DATAMSG.known_versions ...................................................................... trx_toolkit/data_msg.py: use tuple for DATAMSG.known_versions Change-Id: I79de5fe478297e1850d9582426888411a0189d3f Related: OS#4006, SYS#4895 --- M src/target/trx_toolkit/data_msg.py 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/src/target/trx_toolkit/data_msg.py b/src/target/trx_toolkit/data_msg.py index cafe7a6..8857ba8 100644 --- a/src/target/trx_toolkit/data_msg.py +++ b/src/target/trx_toolkit/data_msg.py @@ -121,7 +121,7 @@ # NOTE: up to 16 versions can be encoded CHDR_VERSION_MAX = 0b1111 - known_versions = [0x00, 0x01] + known_versions = (0, 1) def __init__(self, fn = None, tn = None, burst = None, ver = 0): self.burst = burst -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/23133 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I79de5fe478297e1850d9582426888411a0189d3f Gerrit-Change-Number: 23133 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 Mar 1 15:02:39 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 1 Mar 2021 15:02:39 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/data_msg.py: use uppercase for KNOWN_VERSIONS In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/23134 ) Change subject: trx_toolkit/data_msg.py: use uppercase for KNOWN_VERSIONS ...................................................................... trx_toolkit/data_msg.py: use uppercase for KNOWN_VERSIONS Change-Id: Ie4dcc8e91115c514ace243a95a9b44a17cd976b4 Related: OS#4006, SYS#4895 --- M src/target/trx_toolkit/burst_gen.py M src/target/trx_toolkit/data_if.py M src/target/trx_toolkit/data_msg.py M src/target/trx_toolkit/test_data_msg.py 4 files changed, 8 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/src/target/trx_toolkit/burst_gen.py b/src/target/trx_toolkit/burst_gen.py index 7028c24..7f154b3 100755 --- a/src/target/trx_toolkit/burst_gen.py +++ b/src/target/trx_toolkit/burst_gen.py @@ -176,7 +176,7 @@ help = "How many bursts to send (default %(default)s)") bg_group.add_argument("-v", "--hdr-version", metavar = "VER", dest = "hdr_ver", type = int, - default = 0, choices = DATAMSG.known_versions, + default = 0, choices = DATAMSG.KNOWN_VERSIONS, help = "TRXD header version (default %(default)s)") bg_group.add_argument("-f", "--frame-number", metavar = "FN", dest = "tdma_fn", type = int, diff --git a/src/target/trx_toolkit/data_if.py b/src/target/trx_toolkit/data_if.py index cab25aa..07f3d32 100644 --- a/src/target/trx_toolkit/data_if.py +++ b/src/target/trx_toolkit/data_if.py @@ -35,7 +35,7 @@ log.debug("Init TRXD interface (%s)" % self.desc_link()) def set_hdr_ver(self, ver): - if not ver in DATAMSG.known_versions: + if not ver in DATAMSG.KNOWN_VERSIONS: return False self._hdr_ver = ver @@ -43,7 +43,7 @@ def pick_hdr_ver(self, ver_req): # Pick a version that is lower or equal to ver_req - for ver in DATAMSG.known_versions[::-1]: + for ver in DATAMSG.KNOWN_VERSIONS[::-1]: if ver <= ver_req: return ver diff --git a/src/target/trx_toolkit/data_msg.py b/src/target/trx_toolkit/data_msg.py index 8857ba8..742dce4 100644 --- a/src/target/trx_toolkit/data_msg.py +++ b/src/target/trx_toolkit/data_msg.py @@ -121,7 +121,7 @@ # NOTE: up to 16 versions can be encoded CHDR_VERSION_MAX = 0b1111 - known_versions = (0, 1) + KNOWN_VERSIONS = (0, 1) def __init__(self, fn = None, tn = None, burst = None, ver = 0): self.burst = burst @@ -209,7 +209,7 @@ def validate(self): ''' Validate the message fields (throws ValueError). ''' - if not self.ver in self.known_versions: + if not self.ver in self.KNOWN_VERSIONS: raise ValueError("Unknown TRXD header version %d" % self.ver) if self.fn is None: @@ -263,7 +263,7 @@ # Parse the header version first self.ver = (msg[0] >> 4) - if not self.ver in self.known_versions: + if not self.ver in self.KNOWN_VERSIONS: raise ValueError("Unknown TRXD header version %d" % self.ver) # Parse TDMA TN and FN diff --git a/src/target/trx_toolkit/test_data_msg.py b/src/target/trx_toolkit/test_data_msg.py index 8735b0c..991dd25 100644 --- a/src/target/trx_toolkit/test_data_msg.py +++ b/src/target/trx_toolkit/test_data_msg.py @@ -120,7 +120,7 @@ # Validate encoding and decoding def test_enc_dec(self): - for ver in DATAMSG.known_versions: + for ver in DATAMSG.KNOWN_VERSIONS: with self.subTest("L1 -> TRX message", ver = ver): msg = DATAMSG_L12TRX(ver = ver) self._test_enc_dec(msg) @@ -180,7 +180,7 @@ # Validate message transformation def test_transform(self): - for ver in DATAMSG.known_versions: + for ver in DATAMSG.KNOWN_VERSIONS: with self.subTest("L1 -> TRX message", ver = ver): msg = DATAMSG_L12TRX(ver = ver) self._test_transform(msg) -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/23134 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: Ie4dcc8e91115c514ace243a95a9b44a17cd976b4 Gerrit-Change-Number: 23134 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 Mar 1 15:04:39 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 1 Mar 2021 15:04:39 +0000 Subject: Change in osmo-ggsn[master]: doc/examples/Makefile.am: add sgsnemu.conf References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/23157 ) Change subject: doc/examples/Makefile.am: add sgsnemu.conf ...................................................................... doc/examples/Makefile.am: add sgsnemu.conf Related: OS#3209 Change-Id: Icd6f3efcf5a9ef50237a3d0a76d4cce55051f447 --- M contrib/osmo-ggsn.spec.in M doc/examples/Makefile.am 2 files changed, 9 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/57/23157/1 diff --git a/contrib/osmo-ggsn.spec.in b/contrib/osmo-ggsn.spec.in index dcf0e7c..0a568ef 100644 --- a/contrib/osmo-ggsn.spec.in +++ b/contrib/osmo-ggsn.spec.in @@ -109,6 +109,7 @@ %{_unitdir}/%{name}.service %dir %{_docdir}/%{name}/examples %{_docdir}/%{name}/examples/osmo-ggsn.cfg +%{_docdir}/%{name}/examples/sgsnemu.conf %dir %{_sysconfdir}/osmocom %config(noreplace) %{_sysconfdir}/osmocom/osmo-ggsn.cfg diff --git a/doc/examples/Makefile.am b/doc/examples/Makefile.am index d0b677c..f80ce0d 100644 --- a/doc/examples/Makefile.am +++ b/doc/examples/Makefile.am @@ -1,9 +1,14 @@ +OSMOCONF_FILES = \ + osmo-ggsn.cfg \ + sgsnemu.conf \ + $(NULL) + osmoconfdir = $(sysconfdir)/osmocom -osmoconf_DATA = osmo-ggsn.cfg +osmoconf_DATA = $(OSMOCONF_FILES) -EXTRA_DIST = osmo-ggsn.cfg +EXTRA_DIST = $(OSMOCONF_FILES) -CFG_FILES = find $(srcdir) -name '*.cfg*' | sed -e 's,^$(srcdir),,' +CFG_FILES = find $(srcdir) -name '*.cfg' -o -name '*.conf' | sed -e 's,^$(srcdir),,' dist-hook: for f in $$($(CFG_FILES)); do \ -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/23157 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Icd6f3efcf5a9ef50237a3d0a76d4cce55051f447 Gerrit-Change-Number: 23157 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 Mon Mar 1 15:04:40 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 1 Mar 2021 15:04:40 +0000 Subject: Change in osmo-ggsn[master]: doc/examples/osmo-ggsn-kernel-gtp.cfg: new file References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/23158 ) Change subject: doc/examples/osmo-ggsn-kernel-gtp.cfg: new file ...................................................................... doc/examples/osmo-ggsn-kernel-gtp.cfg: new file Add a copy of osmo-ggsn.cfg, with gtpu-mode set to kernel-gtp and apn inet6 and inet46 removed (as the kernel module only supports ipv4). Related: OS#3209 Change-Id: I6fbe8a8e55bad41532e9aed3cf71ebebffdcee52 --- M contrib/osmo-ggsn.spec.in M debian/osmo-ggsn.examples M doc/examples/Makefile.am A doc/examples/osmo-ggsn-kernel-gtp.cfg 4 files changed, 54 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/58/23158/1 diff --git a/contrib/osmo-ggsn.spec.in b/contrib/osmo-ggsn.spec.in index 0a568ef..6d55af8 100644 --- a/contrib/osmo-ggsn.spec.in +++ b/contrib/osmo-ggsn.spec.in @@ -108,6 +108,7 @@ %{_mandir}/man8/sgsnemu.8%{?ext_man} %{_unitdir}/%{name}.service %dir %{_docdir}/%{name}/examples +%{_docdir}/%{name}/examples/osmo-ggsn-kernel-gtp.cfg %{_docdir}/%{name}/examples/osmo-ggsn.cfg %{_docdir}/%{name}/examples/sgsnemu.conf %dir %{_sysconfdir}/osmocom diff --git a/debian/osmo-ggsn.examples b/debian/osmo-ggsn.examples index fe0136c..f9e13b1 100644 --- a/debian/osmo-ggsn.examples +++ b/debian/osmo-ggsn.examples @@ -1,2 +1,3 @@ doc/examples/osmo-ggsn.cfg +doc/examples/osmo-ggsn-kernel-gtp.cfg doc/examples/sgsnemu.conf diff --git a/doc/examples/Makefile.am b/doc/examples/Makefile.am index f80ce0d..64c513a 100644 --- a/doc/examples/Makefile.am +++ b/doc/examples/Makefile.am @@ -1,4 +1,5 @@ OSMOCONF_FILES = \ + osmo-ggsn-kernel-gtp.cfg \ osmo-ggsn.cfg \ sgsnemu.conf \ $(NULL) diff --git a/doc/examples/osmo-ggsn-kernel-gtp.cfg b/doc/examples/osmo-ggsn-kernel-gtp.cfg new file mode 100644 index 0000000..28eb207 --- /dev/null +++ b/doc/examples/osmo-ggsn-kernel-gtp.cfg @@ -0,0 +1,51 @@ +! +! OpenGGSN (0.94.1-adac) configuration saved from vty +!! +! +log stderr + logging filter all 1 + logging color 1 + logging print category 0 + logging timestamp 0 + logging level ip info + logging level tun info + logging level ggsn info + logging level sgsn notice + logging level icmp6 notice + logging level lglobal notice + logging level llapd notice + logging level linp notice + logging level lmux notice + logging level lmi notice + logging level lmib notice + logging level lsms notice + logging level lctrl notice + logging level lgtp info + logging level lstats notice + logging level lgsup notice + logging level loap notice + logging level lss7 notice + logging level lsccp notice + logging level lsua notice + logging level lm3ua notice + logging level lmgcp notice +! +stats interval 5 +! +line vty + no login +! +ggsn ggsn0 + gtp state-dir /tmp + gtp bind-ip 127.0.0.2 + apn internet + gtpu-mode kernel-gtp + tun-device tun4 + type-support v4 + ip prefix dynamic 172.16.222.0/24 + ip dns 0 8.8.8.8 + ip dns 1 8.8.4.4 + ip ifconfig 172.16.222.0/24 + no shutdown + default-apn internet + no shutdown ggsn -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/23158 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I6fbe8a8e55bad41532e9aed3cf71ebebffdcee52 Gerrit-Change-Number: 23158 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 Mon Mar 1 15:04:40 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 1 Mar 2021 15:04:40 +0000 Subject: Change in osmo-ggsn[master]: doc/manuals: describe GTP-U kernel module References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/23159 ) Change subject: doc/manuals: describe GTP-U kernel module ...................................................................... doc/manuals: describe GTP-U kernel module Related: OS#3209 Change-Id: Ib45cbfe03077960f216a83cf500ab3203d02cb3b --- M doc/manuals/chapters/running.adoc 1 file changed, 41 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/59/23159/1 diff --git a/doc/manuals/chapters/running.adoc b/doc/manuals/chapters/running.adoc index 51b8ae2..3a4d832 100644 --- a/doc/manuals/chapters/running.adoc +++ b/doc/manuals/chapters/running.adoc @@ -80,3 +80,44 @@ ggsn ggsn0 gtp bind-ip 127.0.0.2 ---- + +=== GTP-U kernel module + +OsmoGGSN has support to use the Linux kernel GTP-U code to accelerate the +data/user plane while still implementing the control plane (GTP-C) in userspace +in OsmoGGSN. The kernel code is included in Linux 4.7.0 and higher. Notably the +Debian GNU/Linux distribution has it enabled by default (as module). + +In order to use this feature, make sure that your Linux kernel was configured +to support it (`CONFIG_GTP=m` or `=y`). Furthermore, `osmo-ggsn` must have been +built with `./configure` argument `--enable-gtp-linux`. + +Load the kernel module with: + +---- +$ sudo modprobe gtp +---- + +Then start OsmoGGSN with a configuration file that uses `gtpu-mode kernel-gtp`. + +A full example configuration is in `osmo-ggsn-kernel-gtp.cfg`. + +---- +$ sudo osmo-ggsn -c /usr/share/doc/osmo-ggsn/examples/osmo-ggsn-kernel-gtp.cfg +---- + +.Example: APN with kernel-gtp +---- +ggsn ggsn0 + gtp state-dir /tmp + gtp bind-ip 127.0.0.2 + apn internet + gtpu-mode kernel-gtp + tun-device tun4 + type-support v4 + ip prefix dynamic 172.16.222.0/24 + ip dns 0 8.8.8.8 + ip dns 1 8.8.4.4 + ip ifconfig 172.16.222.0/24 + no shutdown +---- -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/23159 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ib45cbfe03077960f216a83cf500ab3203d02cb3b Gerrit-Change-Number: 23159 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 Mon Mar 1 15:20:53 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 1 Mar 2021 15:20:53 +0000 Subject: Change in osmo-trx[master]: Drop logging pthread ID References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/23160 ) Change subject: Drop logging pthread ID ...................................................................... Drop logging pthread ID new libosmocore osmo-trx already depends on does support printing thread ID as prefix to all messages (confgiurable through VTY), so there's no use in printing it in osmo-trx unconditionally. Moreover, The type used to represent a thread ID is implementation specific, and may be an opaqe structure, making it unsuitable to be printed by standard means, so in any case we should be better printing system's TID instead. Related: OS#5032 Change-Id: Ie98a21246230c946afc47f4f5b9c6618eefde494 --- M CommonLibs/Logger.h M CommonLibs/debug.h 2 files changed, 6 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/60/23160/1 diff --git a/CommonLibs/Logger.h b/CommonLibs/Logger.h index b752e51..6452e25 100644 --- a/CommonLibs/Logger.h +++ b/CommonLibs/Logger.h @@ -50,19 +50,19 @@ #endif #define LOG(level) \ - Log(DMAIN, LOGL_##level, __BASE_FILE__, __LINE__).get() << "[tid=" << pthread_self() << "] " + Log(DMAIN, LOGL_##level, __BASE_FILE__, __LINE__).get() #define LOGC(category, level) \ - Log(category, LOGL_##level, __BASE_FILE__, __LINE__).get() << "[tid=" << pthread_self() << "] " + Log(category, LOGL_##level, __BASE_FILE__, __LINE__).get() #define LOGLV(category, level) \ - Log(category, level, __BASE_FILE__, __LINE__).get() << "[tid=" << pthread_self() << "] " + Log(category, level, __BASE_FILE__, __LINE__).get() #define LOGSRC(category, level, file, line) \ - Log(category, level, file, line).get() << "[tid=" << pthread_self() << "] " + Log(category, level, file, line).get() #define LOGCHAN(chan, category, level) \ - Log(category, LOGL_##level, __BASE_FILE__, __LINE__).get() << "[tid=" << pthread_self() << "][chan=" << chan << "] " + Log(category, LOGL_##level, __BASE_FILE__, __LINE__).get() << "[chan=" << chan << "] " /** A C++ stream-based thread-safe logger. diff --git a/CommonLibs/debug.h b/CommonLibs/debug.h index ddb5c75..71f344e 100644 --- a/CommonLibs/debug.h +++ b/CommonLibs/debug.h @@ -3,7 +3,6 @@ #include #include -#include extern const struct log_info log_info; @@ -19,10 +18,6 @@ DCTR, }; -#define CLOGC(category, level, fmt, args...) do { \ - LOGP(category, level, "[tid=%ld] " fmt, (long int) osmo_gettid(), ##args); \ -} while(0) - #define CLOGCHAN(chan, category, level, fmt, args...) do { \ - LOGP(category, level, "[tid=%ld][chan=%zu] " fmt, (long int) osmo_gettid(), chan, ##args); \ + LOGP(category, level, "[chan=%zu] " fmt, chan, ##args); \ } while(0) -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/23160 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ie98a21246230c946afc47f4f5b9c6618eefde494 Gerrit-Change-Number: 23160 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 Mar 1 15:20:54 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 1 Mar 2021 15:20:54 +0000 Subject: Change in osmo-trx[master]: Threads: Avoid printing pthread_self() References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/23161 ) Change subject: Threads: Avoid printing pthread_self() ...................................................................... Threads: Avoid printing pthread_self() The type used to represent a thread ID is implementation specific, and may be an opaqe structure, making it unsuitable to be printed by standard means. Let's use osmo_gettid() instead. Change-Id: Iaa4d0eaf52b901fff06cc67f8dd8b61ac6084911 Related: OS#5032 --- M CommonLibs/Threads.cpp 1 file changed, 4 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/61/23161/1 diff --git a/CommonLibs/Threads.cpp b/CommonLibs/Threads.cpp index b3ff52f..b6750ab 100644 --- a/CommonLibs/Threads.cpp +++ b/CommonLibs/Threads.cpp @@ -32,7 +32,9 @@ #include "Timeval.h" #include "Logger.h" +extern "C" { #include +} using namespace std; @@ -47,7 +49,7 @@ { gStreamLock.lock(); Timeval entryTime; - cout << entryTime << " " << pthread_self() << ": "; + cout << entryTime << " " << osmo_gettid() << ": "; } @@ -62,7 +64,7 @@ { gStreamLock.lock(); Timeval entryTime; - cerr << entryTime << " " << pthread_self() << ": "; + cerr << entryTime << " " << osmo_gettid() << ": "; } void unlockCerr() -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/23161 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Iaa4d0eaf52b901fff06cc67f8dd8b61ac6084911 Gerrit-Change-Number: 23161 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 Mar 1 15:23:50 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 1 Mar 2021 15:23:50 +0000 Subject: Change in osmo-trx[master]: ipc: Makefile.am: Clean LDADD variable References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/23162 ) Change subject: ipc: Makefile.am: Clean LDADD variable ...................................................................... ipc: Makefile.am: Clean LDADD variable Change-Id: I26c942496ab12883a4a1e0d549cb462642570636 --- M Transceiver52M/device/ipc/Makefile.am 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/62/23162/1 diff --git a/Transceiver52M/device/ipc/Makefile.am b/Transceiver52M/device/ipc/Makefile.am index 1c75088..7d8dd43 100644 --- a/Transceiver52M/device/ipc/Makefile.am +++ b/Transceiver52M/device/ipc/Makefile.am @@ -32,11 +32,12 @@ ipc_driver_test_SOURCES = ipc-driver-test.c uhdwrap.cpp ipc_shm.c ipc_chan.c ipc_sock.c uhddev_ipc.cpp ipc_driver_test_LDADD = \ shm.lo \ + $(top_builddir)/Transceiver52M/device/common/libdevice_common.la \ + $(COMMON_LA) $(LIBOSMOCORE_LIBS) \ $(NULL) ipc_driver_test_CXXFLAGS = $(AM_CXXFLAGS) $(UHD_CFLAGS) ipc_driver_test_CPPFLAGS = $(AM_CPPFLAGS) $(UHD_CFLAGS) ipc_driver_test_CFLAGS = $(AM_CFLAGS) $(UHD_CFLAGS) ipc_driver_test_LDFLAGS = $(AM_LDFLAGS) $(UHD_LIBS) -ipc_driver_test_LDADD += $(top_builddir)/Transceiver52M/device/common/libdevice_common.la $(top_builddir)/CommonLibs/libcommon.la endif -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/23162 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I26c942496ab12883a4a1e0d549cb462642570636 Gerrit-Change-Number: 23162 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 Mar 1 15:25:37 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 1 Mar 2021 15:25:37 +0000 Subject: Change in osmo-ggsn[master]: doc/examples/Makefile.am: add sgsnemu.conf In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/23157 ) Change subject: doc/examples/Makefile.am: add sgsnemu.conf ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-ggsn/+/23157/1/contrib/osmo-ggsn.spec.in File contrib/osmo-ggsn.spec.in: https://gerrit.osmocom.org/c/osmo-ggsn/+/23157/1/contrib/osmo-ggsn.spec.in at 106 PS1, Line 106: %{_bindir}/sgsnemu We should split sgsnemu into its own binary at some point, not sure if that's already the case. -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/23157 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Icd6f3efcf5a9ef50237a3d0a76d4cce55051f447 Gerrit-Change-Number: 23157 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 01 Mar 2021 15:25:37 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 1 15:27:32 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 1 Mar 2021 15:27:32 +0000 Subject: Change in osmo-ggsn[master]: doc/manuals: describe GTP-U kernel module In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/23159 ) Change subject: doc/manuals: describe GTP-U kernel module ...................................................................... Patch Set 1: (3 comments) https://gerrit.osmocom.org/c/osmo-ggsn/+/23159/1/doc/manuals/chapters/running.adoc File doc/manuals/chapters/running.adoc: https://gerrit.osmocom.org/c/osmo-ggsn/+/23159/1/doc/manuals/chapters/running.adoc at 86 PS1, Line 86: OsmoGGSN has support to use the Linux kernel GTP-U code to accelerate the s/code/stack/ https://gerrit.osmocom.org/c/osmo-ggsn/+/23159/1/doc/manuals/chapters/running.adoc at 87 PS1, Line 87: data/user plane while still implementing the control plane (GTP-C) in userspace user only? https://gerrit.osmocom.org/c/osmo-ggsn/+/23159/1/doc/manuals/chapters/running.adoc at 93 PS1, Line 93: built with `./configure` argument `--enable-gtp-linux`. Worth mentioning you need libgtpnl dependency then? -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/23159 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ib45cbfe03077960f216a83cf500ab3203d02cb3b Gerrit-Change-Number: 23159 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 01 Mar 2021 15:27: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 Mon Mar 1 15:28:00 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 1 Mar 2021 15:28:00 +0000 Subject: Change in osmo-ggsn[master]: doc/examples/osmo-ggsn-kernel-gtp.cfg: new file In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/23158 ) Change subject: doc/examples/osmo-ggsn-kernel-gtp.cfg: new file ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/23158 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I6fbe8a8e55bad41532e9aed3cf71ebebffdcee52 Gerrit-Change-Number: 23158 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 01 Mar 2021 15:28: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 Mar 1 15:28:36 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 1 Mar 2021 15:28:36 +0000 Subject: Change in osmo-ggsn[master]: doc/examples/osmo-ggsn-kernel-gtp.cfg: new file In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/23158 ) Change subject: doc/examples/osmo-ggsn-kernel-gtp.cfg: new file ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-ggsn/+/23158/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-ggsn/+/23158/1//COMMIT_MSG at 10 PS1, Line 10: inet6 and inet46 removed (as the kernel module only supports ipv4). kernel module only supports ipv4: This is an important limitation which I think makes sense describing in previous patch documenting it. -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/23158 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I6fbe8a8e55bad41532e9aed3cf71ebebffdcee52 Gerrit-Change-Number: 23158 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 01 Mar 2021 15:28:36 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 1 15:36:34 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 1 Mar 2021 15:36:34 +0000 Subject: Change in osmo-trx[master]: ipc: Makefile.am: Clean LDADD variable In-Reply-To: References: Message-ID: pespin has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-trx/+/23162 ) Change subject: ipc: Makefile.am: Clean LDADD variable ...................................................................... ipc: Makefile.am: Clean LDADD variable Change-Id: I26c942496ab12883a4a1e0d549cb462642570636 --- M Transceiver52M/device/ipc/Makefile.am 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/62/23162/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/23162 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I26c942496ab12883a4a1e0d549cb462642570636 Gerrit-Change-Number: 23162 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 Mar 1 15:36:37 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 1 Mar 2021 15:36:37 +0000 Subject: Change in osmo-trx[master]: Threads.cpp: Fix missing extern C around libosmocore include References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-trx/+/23163 ) Change subject: Threads.cpp: Fix missing extern C around libosmocore include ...................................................................... Threads.cpp: Fix missing extern C around libosmocore include Change-Id: I76975ed71382ff2afa8cfaff2950e23ff750201e --- M CommonLibs/Threads.cpp 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/63/23163/1 diff --git a/CommonLibs/Threads.cpp b/CommonLibs/Threads.cpp index b3ff52f..a98183a 100644 --- a/CommonLibs/Threads.cpp +++ b/CommonLibs/Threads.cpp @@ -32,7 +32,9 @@ #include "Timeval.h" #include "Logger.h" +extern "C" { #include +} using namespace std; -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/23163 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I76975ed71382ff2afa8cfaff2950e23ff750201e Gerrit-Change-Number: 23163 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 Mar 1 16:34:04 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 1 Mar 2021 16:34:04 +0000 Subject: Change in pysim[master]: Python2 is deprecated, switch to Python3 In-Reply-To: References: Message-ID: fixeria has uploaded a new patch set (#18) to the change originally created by gnutoo. ( https://gerrit.osmocom.org/c/pysim/+/15504 ) Change subject: Python2 is deprecated, switch to Python3 ...................................................................... Python2 is deprecated, switch to Python3 Signed-off-by: Denis 'GNUtoo' Carikli Tweaked-by: Vadim Yanitskiy Change-Id: I430d173535e0cd5bb895b9dfc9070cbc40cfc8ff --- M contrib/jenkins.sh M pySim-prog.py M pySim/utils.py M tests/pysim-test.sh 4 files changed, 8 insertions(+), 19 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/04/15504/18 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15504 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I430d173535e0cd5bb895b9dfc9070cbc40cfc8ff Gerrit-Change-Number: 15504 Gerrit-PatchSet: 18 Gerrit-Owner: gnutoo Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 1 16:34:06 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 1 Mar 2021 16:34:06 +0000 Subject: Change in pysim[master]: Remove Python shebang from files where it's not needed References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/23164 ) Change subject: Remove Python shebang from files where it's not needed ...................................................................... Remove Python shebang from files where it's not needed Change-Id: I1d08544c37f50416acf8dc30139c572c029790d0 --- M pySim/card_handler.py M pySim/cards.py M pySim/commands.py M pySim/exceptions.py M pySim/transport/__init__.py M pySim/transport/calypso.py M pySim/transport/modem_atcmd.py M pySim/transport/pcsc.py M pySim/transport/serial.py M pySim/ts_31_102.py M pySim/ts_31_103.py M pySim/ts_51_011.py M pySim/utils.py 13 files changed, 0 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/64/23164/1 diff --git a/pySim/card_handler.py b/pySim/card_handler.py index eaa838b..9beab51 100644 --- a/pySim/card_handler.py +++ b/pySim/card_handler.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ pySim: card handler utilities diff --git a/pySim/cards.py b/pySim/cards.py index 850d084..41dd179 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python # -*- coding: utf-8 -*- """ pySim: Card programmation logic diff --git a/pySim/commands.py b/pySim/commands.py index 7b8ebec..327de57 100644 --- a/pySim/commands.py +++ b/pySim/commands.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python # -*- coding: utf-8 -*- """ pySim: SIM Card commands according to ISO 7816-4 and TS 11.11 diff --git a/pySim/exceptions.py b/pySim/exceptions.py index 68303e1..c0cf1e7 100644 --- a/pySim/exceptions.py +++ b/pySim/exceptions.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python # -*- coding: utf-8 -*- """ pySim: Exceptions diff --git a/pySim/transport/__init__.py b/pySim/transport/__init__.py index 69e2fe9..8e009ee 100644 --- a/pySim/transport/__init__.py +++ b/pySim/transport/__init__.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python # -*- coding: utf-8 -*- """ pySim: PCSC reader transport link base diff --git a/pySim/transport/calypso.py b/pySim/transport/calypso.py index fd501b5..fd2e110 100644 --- a/pySim/transport/calypso.py +++ b/pySim/transport/calypso.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python # -*- coding: utf-8 -*- """ pySim: Transport Link for Calypso bases phones diff --git a/pySim/transport/modem_atcmd.py b/pySim/transport/modem_atcmd.py index 742ae8d..ccf608c 100644 --- a/pySim/transport/modem_atcmd.py +++ b/pySim/transport/modem_atcmd.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python # -*- coding: utf-8 -*- """ pySim: Transport Link for 3GPP TS 27.007 compliant modems diff --git a/pySim/transport/pcsc.py b/pySim/transport/pcsc.py index 7b50869..fadf6f9 100644 --- a/pySim/transport/pcsc.py +++ b/pySim/transport/pcsc.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python # -*- coding: utf-8 -*- """ pySim: PCSC reader transport link diff --git a/pySim/transport/serial.py b/pySim/transport/serial.py index 7785b4a..11104b1 100644 --- a/pySim/transport/serial.py +++ b/pySim/transport/serial.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python # -*- coding: utf-8 -*- """ pySim: Transport Link for serial (RS232) based readers included with simcard diff --git a/pySim/ts_31_102.py b/pySim/ts_31_102.py index 8979d49..e7f27b0 100644 --- a/pySim/ts_31_102.py +++ b/pySim/ts_31_102.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python # -*- coding: utf-8 -*- """ diff --git a/pySim/ts_31_103.py b/pySim/ts_31_103.py index d48ff97..d9b771d 100644 --- a/pySim/ts_31_103.py +++ b/pySim/ts_31_103.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python # -*- coding: utf-8 -*- """ diff --git a/pySim/ts_51_011.py b/pySim/ts_51_011.py index 8b73f02..ef40ba1 100644 --- a/pySim/ts_51_011.py +++ b/pySim/ts_51_011.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python # -*- coding: utf-8 -*- """ Various constants from ETSI TS 151.011 diff --git a/pySim/utils.py b/pySim/utils.py index 67bfa74..1373551 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python # -*- coding: utf-8 -*- """ pySim: various utilities -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23164 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I1d08544c37f50416acf8dc30139c572c029790d0 Gerrit-Change-Number: 23164 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 Mar 1 16:39:00 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 1 Mar 2021 16:39:00 +0000 Subject: Change in pysim[master]: transport/pcsc: work around Python 3.5 bug: do not call disconnect() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17283 ) Change subject: transport/pcsc: work around Python 3.5 bug: do not call disconnect() ...................................................................... Set Ready For Review -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17283 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I9c644bc5fe9791b141a30bfc13647d77937a82ee Gerrit-Change-Number: 17283 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 01 Mar 2021 16:39: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 Mon Mar 1 16:42:01 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 1 Mar 2021 16:42:01 +0000 Subject: Change in osmo-trx[master]: Threads.cpp: Fix missing extern C around libosmocore include In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/23163 ) Change subject: Threads.cpp: Fix missing extern C around libosmocore include ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/23163 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I76975ed71382ff2afa8cfaff2950e23ff750201e Gerrit-Change-Number: 23163 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 01 Mar 2021 16:42: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 Mar 1 16:42:55 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 1 Mar 2021 16:42:55 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCUIF: Fix naming of counters in InfoInd References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23165 ) Change subject: PCUIF: Fix naming of counters in InfoInd ...................................................................... PCUIF: Fix naming of counters in InfoInd Change-Id: Ieb26020e0f18169f19322963e23358b6ca254545 --- M library/PCUIF_Types.ttcn M pcu/PCU_Tests.ttcn 2 files changed, 9 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/65/23165/1 diff --git a/library/PCUIF_Types.ttcn b/library/PCUIF_Types.ttcn index 31721c8..ef27b11 100644 --- a/library/PCUIF_Types.ttcn +++ b/library/PCUIF_Types.ttcn @@ -203,9 +203,9 @@ uint8_t t3191, uint8_t t3193_10ms, uint8_t t3195, - uint8_t t3101, - uint8_t t3103, - uint8_t t3105, + uint8_t n3101, + uint8_t n3103, + uint8_t n3105, uint8_t cv_countdown, uint16_t dl_tbf_ext, uint16_t ul_tbf_ext, @@ -905,9 +905,9 @@ t3191 := ?, t3193_10ms := ?, t3195 := ?, - t3101 := ?, - t3103 := ?, - t3105 := ?, + n3101 := ?, + n3103 := ?, + n3105 := ?, cv_countdown := ?, dl_tbf_ext := ?, ul_tbf_ext := ?, diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 1d35a55..61048b0 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -98,9 +98,9 @@ t3191 := 5, t3193_10ms := 160, t3195 := 5, - t3101 := 10, - t3103 := 4, - t3105 := 8, + n3101 := 10, + n3103 := 4, + n3105 := 8, cv_countdown := 15, dl_tbf_ext := 250 * 10, /* ms */ ul_tbf_ext := 250 * 10, /* ms */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23165 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ieb26020e0f18169f19322963e23358b6ca254545 Gerrit-Change-Number: 23165 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 Mar 1 16:43:08 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 1 Mar 2021 16:43:08 +0000 Subject: Change in osmo-trx[master]: Drop logging pthread ID In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/23160 ) Change subject: Drop logging pthread ID ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/23160 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ie98a21246230c946afc47f4f5b9c6618eefde494 Gerrit-Change-Number: 23160 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 01 Mar 2021 16: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 Mon Mar 1 16:43:51 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 1 Mar 2021 16:43:51 +0000 Subject: Change in osmo-trx[master]: Threads: Avoid printing pthread_self() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/23161 ) Change subject: Threads: Avoid printing pthread_self() ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/23161 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Iaa4d0eaf52b901fff06cc67f8dd8b61ac6084911 Gerrit-Change-Number: 23161 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 01 Mar 2021 16:43: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 Mar 1 16:44:38 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 1 Mar 2021 16:44:38 +0000 Subject: Change in osmo-trx[master]: ipc: Makefile.am: Clean LDADD variable In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/23162 ) Change subject: ipc: Makefile.am: Clean LDADD variable ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/23162 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I26c942496ab12883a4a1e0d549cb462642570636 Gerrit-Change-Number: 23162 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 01 Mar 2021 16:44:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 1 16:45:25 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 1 Mar 2021 16:45:25 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCUIF: Fix naming of counters in InfoInd In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23165 ) Change subject: PCUIF: Fix naming of counters in InfoInd ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23165 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ieb26020e0f18169f19322963e23358b6ca254545 Gerrit-Change-Number: 23165 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 01 Mar 2021 16:45:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 1 16:57:21 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 1 Mar 2021 16:57:21 +0000 Subject: Change in osmo-ttcn3-hacks[master]: PCUIF: Fix naming of counters in InfoInd In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23165 ) Change subject: PCUIF: Fix naming of counters in InfoInd ...................................................................... PCUIF: Fix naming of counters in InfoInd Change-Id: Ieb26020e0f18169f19322963e23358b6ca254545 --- M library/PCUIF_Types.ttcn M pcu/PCU_Tests.ttcn 2 files changed, 9 insertions(+), 9 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/library/PCUIF_Types.ttcn b/library/PCUIF_Types.ttcn index 31721c8..ef27b11 100644 --- a/library/PCUIF_Types.ttcn +++ b/library/PCUIF_Types.ttcn @@ -203,9 +203,9 @@ uint8_t t3191, uint8_t t3193_10ms, uint8_t t3195, - uint8_t t3101, - uint8_t t3103, - uint8_t t3105, + uint8_t n3101, + uint8_t n3103, + uint8_t n3105, uint8_t cv_countdown, uint16_t dl_tbf_ext, uint16_t ul_tbf_ext, @@ -905,9 +905,9 @@ t3191 := ?, t3193_10ms := ?, t3195 := ?, - t3101 := ?, - t3103 := ?, - t3105 := ?, + n3101 := ?, + n3103 := ?, + n3105 := ?, cv_countdown := ?, dl_tbf_ext := ?, ul_tbf_ext := ?, diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 1d35a55..61048b0 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -98,9 +98,9 @@ t3191 := 5, t3193_10ms := 160, t3195 := 5, - t3101 := 10, - t3103 := 4, - t3105 := 8, + n3101 := 10, + n3103 := 4, + n3105 := 8, cv_countdown := 15, dl_tbf_ext := 250 * 10, /* ms */ ul_tbf_ext := 250 * 10, /* ms */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23165 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ieb26020e0f18169f19322963e23358b6ca254545 Gerrit-Change-Number: 23165 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 1 17:35:41 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 1 Mar 2021 17:35:41 +0000 Subject: Change in pysim[master]: Python2 is deprecated, switch to Python3 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/15504 ) Change subject: Python2 is deprecated, switch to Python3 ...................................................................... Patch Set 18: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15504 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I430d173535e0cd5bb895b9dfc9070cbc40cfc8ff Gerrit-Change-Number: 15504 Gerrit-PatchSet: 18 Gerrit-Owner: gnutoo Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 01 Mar 2021 17:35:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 1 17:36:08 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 1 Mar 2021 17:36:08 +0000 Subject: Change in pysim[master]: Remove Python shebang from files where it's not needed In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23164 ) Change subject: Remove Python shebang from files where it's not needed ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23164 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I1d08544c37f50416acf8dc30139c572c029790d0 Gerrit-Change-Number: 23164 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 01 Mar 2021 17:36: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 Mar 1 17:37:17 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 1 Mar 2021 17:37:17 +0000 Subject: Change in pysim[master]: transport/pcsc: work around Python 3.5 bug: do not call disconnect() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17283 ) Change subject: transport/pcsc: work around Python 3.5 bug: do not call disconnect() ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/pysim/+/17283/3/pySim/transport/pcsc.py File pySim/transport/pcsc.py: https://gerrit.osmocom.org/c/pysim/+/17283/3/pySim/transport/pcsc.py at 43 PS3, Line 43: # self._con.disconnect() What about simply except: here? And probably "pass" on the except if python version is <=3.5.3 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17283 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I9c644bc5fe9791b141a30bfc13647d77937a82ee Gerrit-Change-Number: 17283 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 01 Mar 2021 17:37: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 Mon Mar 1 17:42:03 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 1 Mar 2021 17:42:03 +0000 Subject: Change in pysim[master]: transport/pcsc: work around Python 3.5 bug: do not call disconnect() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17283 ) Change subject: transport/pcsc: work around Python 3.5 bug: do not call disconnect() ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/pysim/+/17283/3/pySim/transport/pcsc.py File pySim/transport/pcsc.py: https://gerrit.osmocom.org/c/pysim/+/17283/3/pySim/transport/pcsc.py at 43 PS3, Line 43: # self._con.disconnect() > What about simply except: here? And probably "pass" on the except if python version is <=3.5. [?] This sounds like a good option. I am wondering, do we really need this destructor? I guess self._con has its own destructor, and it would do the cleanup anyway... -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17283 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I9c644bc5fe9791b141a30bfc13647d77937a82ee Gerrit-Change-Number: 17283 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 01 Mar 2021 17:42: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 Mon Mar 1 18:32:10 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 1 Mar 2021 18:32:10 +0000 Subject: Change in osmo-bts[master]: l1sap: do not change MS power if MS wants a retransmission References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/23166 ) Change subject: l1sap: do not change MS power if MS wants a retransmission ...................................................................... l1sap: do not change MS power if MS wants a retransmission Change-Id: If4a842e1bc592951df418ec9ff06d676474a5954 Related: SYS#5114 --- M src/common/l1sap.c 1 file changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/66/23166/1 diff --git a/src/common/l1sap.c b/src/common/l1sap.c index 0a46b23..f0a029f 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -1566,6 +1566,9 @@ lchan->meas.l1_info.ta = l1_hdr->ta; lchan->meas.flags |= LC_UL_M_F_L1_VALID; + /* Do not change MS power if MS wants a retransmission */ + if (l1_hdr->srr_sro == 0) + lchan->ms_power_ctrl.skip_block_num++; lchan_ms_pwr_ctrl(lchan, data[0] & 0x1f, data_ind->rssi); if (trx->bts->c0 != trx) /* BS Power Control shall not be used on C0 */ lchan_bs_pwr_ctrl(lchan, (const struct gsm48_hdr *) &data[5]); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/23166 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: If4a842e1bc592951df418ec9ff06d676474a5954 Gerrit-Change-Number: 23166 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 Mar 1 19:36:28 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 1 Mar 2021 19:36:28 +0000 Subject: Change in pysim[master]: Remove Python shebang from files where it's not needed In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23164 ) Change subject: Remove Python shebang from files where it's not needed ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23164 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I1d08544c37f50416acf8dc30139c572c029790d0 Gerrit-Change-Number: 23164 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 01 Mar 2021 19:36:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 1 19:36:40 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 1 Mar 2021 19:36:40 +0000 Subject: Change in pysim[master]: Remove Python shebang from files where it's not needed In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/23164 ) Change subject: Remove Python shebang from files where it's not needed ...................................................................... Remove Python shebang from files where it's not needed Change-Id: I1d08544c37f50416acf8dc30139c572c029790d0 --- M pySim/card_handler.py M pySim/cards.py M pySim/commands.py M pySim/exceptions.py M pySim/transport/__init__.py M pySim/transport/calypso.py M pySim/transport/modem_atcmd.py M pySim/transport/pcsc.py M pySim/transport/serial.py M pySim/ts_31_102.py M pySim/ts_31_103.py M pySim/ts_51_011.py M pySim/utils.py 13 files changed, 0 insertions(+), 13 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/pySim/card_handler.py b/pySim/card_handler.py index eaa838b..9beab51 100644 --- a/pySim/card_handler.py +++ b/pySim/card_handler.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ pySim: card handler utilities diff --git a/pySim/cards.py b/pySim/cards.py index 850d084..41dd179 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python # -*- coding: utf-8 -*- """ pySim: Card programmation logic diff --git a/pySim/commands.py b/pySim/commands.py index 7b8ebec..327de57 100644 --- a/pySim/commands.py +++ b/pySim/commands.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python # -*- coding: utf-8 -*- """ pySim: SIM Card commands according to ISO 7816-4 and TS 11.11 diff --git a/pySim/exceptions.py b/pySim/exceptions.py index 68303e1..c0cf1e7 100644 --- a/pySim/exceptions.py +++ b/pySim/exceptions.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python # -*- coding: utf-8 -*- """ pySim: Exceptions diff --git a/pySim/transport/__init__.py b/pySim/transport/__init__.py index 69e2fe9..8e009ee 100644 --- a/pySim/transport/__init__.py +++ b/pySim/transport/__init__.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python # -*- coding: utf-8 -*- """ pySim: PCSC reader transport link base diff --git a/pySim/transport/calypso.py b/pySim/transport/calypso.py index fd501b5..fd2e110 100644 --- a/pySim/transport/calypso.py +++ b/pySim/transport/calypso.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python # -*- coding: utf-8 -*- """ pySim: Transport Link for Calypso bases phones diff --git a/pySim/transport/modem_atcmd.py b/pySim/transport/modem_atcmd.py index 742ae8d..ccf608c 100644 --- a/pySim/transport/modem_atcmd.py +++ b/pySim/transport/modem_atcmd.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python # -*- coding: utf-8 -*- """ pySim: Transport Link for 3GPP TS 27.007 compliant modems diff --git a/pySim/transport/pcsc.py b/pySim/transport/pcsc.py index 7b50869..fadf6f9 100644 --- a/pySim/transport/pcsc.py +++ b/pySim/transport/pcsc.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python # -*- coding: utf-8 -*- """ pySim: PCSC reader transport link diff --git a/pySim/transport/serial.py b/pySim/transport/serial.py index 7785b4a..11104b1 100644 --- a/pySim/transport/serial.py +++ b/pySim/transport/serial.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python # -*- coding: utf-8 -*- """ pySim: Transport Link for serial (RS232) based readers included with simcard diff --git a/pySim/ts_31_102.py b/pySim/ts_31_102.py index 8979d49..e7f27b0 100644 --- a/pySim/ts_31_102.py +++ b/pySim/ts_31_102.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python # -*- coding: utf-8 -*- """ diff --git a/pySim/ts_31_103.py b/pySim/ts_31_103.py index d48ff97..d9b771d 100644 --- a/pySim/ts_31_103.py +++ b/pySim/ts_31_103.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python # -*- coding: utf-8 -*- """ diff --git a/pySim/ts_51_011.py b/pySim/ts_51_011.py index 8b73f02..ef40ba1 100644 --- a/pySim/ts_51_011.py +++ b/pySim/ts_51_011.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python # -*- coding: utf-8 -*- """ Various constants from ETSI TS 151.011 diff --git a/pySim/utils.py b/pySim/utils.py index 67bfa74..1373551 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -1,4 +1,3 @@ -#!/usr/bin/env python # -*- coding: utf-8 -*- """ pySim: various utilities -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23164 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I1d08544c37f50416acf8dc30139c572c029790d0 Gerrit-Change-Number: 23164 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 Mon Mar 1 19:37:06 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 1 Mar 2021 19:37:06 +0000 Subject: Change in osmo-trx[master]: Threads.cpp: Fix missing extern C around libosmocore include In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/23163 ) Change subject: Threads.cpp: Fix missing extern C around libosmocore include ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/23163 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I76975ed71382ff2afa8cfaff2950e23ff750201e Gerrit-Change-Number: 23163 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 01 Mar 2021 19:37:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 1 19:37:26 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 1 Mar 2021 19:37:26 +0000 Subject: Change in osmo-trx[master]: Drop logging pthread ID In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/23160 ) Change subject: Drop logging pthread ID ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/23160 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ie98a21246230c946afc47f4f5b9c6618eefde494 Gerrit-Change-Number: 23160 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 01 Mar 2021 19:37: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 Mar 1 19:37:41 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 1 Mar 2021 19:37:41 +0000 Subject: Change in osmo-trx[master]: Threads: Avoid printing pthread_self() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/23161 ) Change subject: Threads: Avoid printing pthread_self() ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/23161 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Iaa4d0eaf52b901fff06cc67f8dd8b61ac6084911 Gerrit-Change-Number: 23161 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 01 Mar 2021 19:37: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 Mar 1 19:38:03 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 1 Mar 2021 19:38:03 +0000 Subject: Change in osmo-trx[master]: ipc: Makefile.am: Clean LDADD variable In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/23162 ) Change subject: ipc: Makefile.am: Clean LDADD variable ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/23162 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I26c942496ab12883a4a1e0d549cb462642570636 Gerrit-Change-Number: 23162 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 01 Mar 2021 19:38: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 Mar 1 19:38:08 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 1 Mar 2021 19:38:08 +0000 Subject: Change in osmo-trx[master]: Threads.cpp: Fix missing extern C around libosmocore include In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/23163 ) Change subject: Threads.cpp: Fix missing extern C around libosmocore include ...................................................................... Threads.cpp: Fix missing extern C around libosmocore include Change-Id: I76975ed71382ff2afa8cfaff2950e23ff750201e --- M CommonLibs/Threads.cpp 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/CommonLibs/Threads.cpp b/CommonLibs/Threads.cpp index b3ff52f..a98183a 100644 --- a/CommonLibs/Threads.cpp +++ b/CommonLibs/Threads.cpp @@ -32,7 +32,9 @@ #include "Timeval.h" #include "Logger.h" +extern "C" { #include +} using namespace std; -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/23163 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I76975ed71382ff2afa8cfaff2950e23ff750201e Gerrit-Change-Number: 23163 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 1 19:38:08 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 1 Mar 2021 19:38:08 +0000 Subject: Change in osmo-trx[master]: Drop logging pthread ID In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/23160 ) Change subject: Drop logging pthread ID ...................................................................... Drop logging pthread ID new libosmocore osmo-trx already depends on does support printing thread ID as prefix to all messages (confgiurable through VTY), so there's no use in printing it in osmo-trx unconditionally. Moreover, The type used to represent a thread ID is implementation specific, and may be an opaqe structure, making it unsuitable to be printed by standard means, so in any case we should be better printing system's TID instead. Related: OS#5032 Change-Id: Ie98a21246230c946afc47f4f5b9c6618eefde494 --- M CommonLibs/Logger.h M CommonLibs/debug.h 2 files changed, 6 insertions(+), 11 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/CommonLibs/Logger.h b/CommonLibs/Logger.h index b752e51..6452e25 100644 --- a/CommonLibs/Logger.h +++ b/CommonLibs/Logger.h @@ -50,19 +50,19 @@ #endif #define LOG(level) \ - Log(DMAIN, LOGL_##level, __BASE_FILE__, __LINE__).get() << "[tid=" << pthread_self() << "] " + Log(DMAIN, LOGL_##level, __BASE_FILE__, __LINE__).get() #define LOGC(category, level) \ - Log(category, LOGL_##level, __BASE_FILE__, __LINE__).get() << "[tid=" << pthread_self() << "] " + Log(category, LOGL_##level, __BASE_FILE__, __LINE__).get() #define LOGLV(category, level) \ - Log(category, level, __BASE_FILE__, __LINE__).get() << "[tid=" << pthread_self() << "] " + Log(category, level, __BASE_FILE__, __LINE__).get() #define LOGSRC(category, level, file, line) \ - Log(category, level, file, line).get() << "[tid=" << pthread_self() << "] " + Log(category, level, file, line).get() #define LOGCHAN(chan, category, level) \ - Log(category, LOGL_##level, __BASE_FILE__, __LINE__).get() << "[tid=" << pthread_self() << "][chan=" << chan << "] " + Log(category, LOGL_##level, __BASE_FILE__, __LINE__).get() << "[chan=" << chan << "] " /** A C++ stream-based thread-safe logger. diff --git a/CommonLibs/debug.h b/CommonLibs/debug.h index ddb5c75..71f344e 100644 --- a/CommonLibs/debug.h +++ b/CommonLibs/debug.h @@ -3,7 +3,6 @@ #include #include -#include extern const struct log_info log_info; @@ -19,10 +18,6 @@ DCTR, }; -#define CLOGC(category, level, fmt, args...) do { \ - LOGP(category, level, "[tid=%ld] " fmt, (long int) osmo_gettid(), ##args); \ -} while(0) - #define CLOGCHAN(chan, category, level, fmt, args...) do { \ - LOGP(category, level, "[tid=%ld][chan=%zu] " fmt, (long int) osmo_gettid(), chan, ##args); \ + LOGP(category, level, "[chan=%zu] " fmt, chan, ##args); \ } while(0) -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/23160 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Ie98a21246230c946afc47f4f5b9c6618eefde494 Gerrit-Change-Number: 23160 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 1 19:38:08 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 1 Mar 2021 19:38:08 +0000 Subject: Change in osmo-trx[master]: Threads: Avoid printing pthread_self() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/23161 ) Change subject: Threads: Avoid printing pthread_self() ...................................................................... Threads: Avoid printing pthread_self() The type used to represent a thread ID is implementation specific, and may be an opaqe structure, making it unsuitable to be printed by standard means. Let's use osmo_gettid() instead. Change-Id: Iaa4d0eaf52b901fff06cc67f8dd8b61ac6084911 Related: OS#5032 --- M CommonLibs/Threads.cpp 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/CommonLibs/Threads.cpp b/CommonLibs/Threads.cpp index a98183a..b6750ab 100644 --- a/CommonLibs/Threads.cpp +++ b/CommonLibs/Threads.cpp @@ -49,7 +49,7 @@ { gStreamLock.lock(); Timeval entryTime; - cout << entryTime << " " << pthread_self() << ": "; + cout << entryTime << " " << osmo_gettid() << ": "; } @@ -64,7 +64,7 @@ { gStreamLock.lock(); Timeval entryTime; - cerr << entryTime << " " << pthread_self() << ": "; + cerr << entryTime << " " << osmo_gettid() << ": "; } void unlockCerr() -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/23161 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: Iaa4d0eaf52b901fff06cc67f8dd8b61ac6084911 Gerrit-Change-Number: 23161 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 1 19:38:09 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 1 Mar 2021 19:38:09 +0000 Subject: Change in osmo-trx[master]: ipc: Makefile.am: Clean LDADD variable In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/23162 ) Change subject: ipc: Makefile.am: Clean LDADD variable ...................................................................... ipc: Makefile.am: Clean LDADD variable Change-Id: I26c942496ab12883a4a1e0d549cb462642570636 --- M Transceiver52M/device/ipc/Makefile.am 1 file changed, 2 insertions(+), 1 deletion(-) Approvals: fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/Transceiver52M/device/ipc/Makefile.am b/Transceiver52M/device/ipc/Makefile.am index 1c75088..7d8dd43 100644 --- a/Transceiver52M/device/ipc/Makefile.am +++ b/Transceiver52M/device/ipc/Makefile.am @@ -32,11 +32,12 @@ ipc_driver_test_SOURCES = ipc-driver-test.c uhdwrap.cpp ipc_shm.c ipc_chan.c ipc_sock.c uhddev_ipc.cpp ipc_driver_test_LDADD = \ shm.lo \ + $(top_builddir)/Transceiver52M/device/common/libdevice_common.la \ + $(COMMON_LA) $(LIBOSMOCORE_LIBS) \ $(NULL) ipc_driver_test_CXXFLAGS = $(AM_CXXFLAGS) $(UHD_CFLAGS) ipc_driver_test_CPPFLAGS = $(AM_CPPFLAGS) $(UHD_CFLAGS) ipc_driver_test_CFLAGS = $(AM_CFLAGS) $(UHD_CFLAGS) ipc_driver_test_LDFLAGS = $(AM_LDFLAGS) $(UHD_LIBS) -ipc_driver_test_LDADD += $(top_builddir)/Transceiver52M/device/common/libdevice_common.la $(top_builddir)/CommonLibs/libcommon.la endif -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/23162 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I26c942496ab12883a4a1e0d549cb462642570636 Gerrit-Change-Number: 23162 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 1 19:39:12 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 1 Mar 2021 19:39:12 +0000 Subject: Change in osmo-ggsn[master]: doc/examples/Makefile.am: add sgsnemu.conf In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/23157 ) Change subject: doc/examples/Makefile.am: add sgsnemu.conf ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/23157 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Icd6f3efcf5a9ef50237a3d0a76d4cce55051f447 Gerrit-Change-Number: 23157 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 01 Mar 2021 19:39:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 1 19:39:45 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 1 Mar 2021 19:39:45 +0000 Subject: Change in osmo-ggsn[master]: doc/examples/osmo-ggsn-kernel-gtp.cfg: new file In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/23158 ) Change subject: doc/examples/osmo-ggsn-kernel-gtp.cfg: new file ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/23158 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I6fbe8a8e55bad41532e9aed3cf71ebebffdcee52 Gerrit-Change-Number: 23158 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 01 Mar 2021 19:39: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 Mar 1 19:41:47 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 1 Mar 2021 19:41:47 +0000 Subject: Change in osmo-ggsn[master]: doc/manuals: describe GTP-U kernel module In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/23159 ) Change subject: doc/manuals: describe GTP-U kernel module ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-ggsn/+/23159/1/doc/manuals/chapters/running.adoc File doc/manuals/chapters/running.adoc: https://gerrit.osmocom.org/c/osmo-ggsn/+/23159/1/doc/manuals/chapters/running.adoc at 87 PS1, Line 87: data/user plane while still implementing the control plane (GTP-C) in userspace > user only? IETF mostly uses data/control while 3GPP mostly uses user/signaling plane as terminlogy. -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/23159 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ib45cbfe03077960f216a83cf500ab3203d02cb3b Gerrit-Change-Number: 23159 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 01 Mar 2021 19:41:47 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 1 19:42:22 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 1 Mar 2021 19:42:22 +0000 Subject: Change in osmo-ggsn[master]: doc/manuals: describe GTP-U kernel module In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/23159 ) Change subject: doc/manuals: describe GTP-U kernel module ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-ggsn/+/23159/1/doc/manuals/chapters/running.adoc File doc/manuals/chapters/running.adoc: https://gerrit.osmocom.org/c/osmo-ggsn/+/23159/1/doc/manuals/chapters/running.adoc at 86 PS1, Line 86: OsmoGGSN has support to use the Linux kernel GTP-U code to accelerate the > s/code/stack/ stack is an overstatement s/code/tunnel driver/ or s/code/module/ -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/23159 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ib45cbfe03077960f216a83cf500ab3203d02cb3b Gerrit-Change-Number: 23159 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 01 Mar 2021 19:42:22 +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 Mar 1 19:43:44 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 1 Mar 2021 19:43:44 +0000 Subject: Change in libosmocore[master]: gprs_bssgp: add support for SGSN oriented RESET In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/22945 ) Change subject: gprs_bssgp: add support for SGSN oriented RESET ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/22945 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibcbaffa94cbdc4296a8a7c372304ac11d50d9559 Gerrit-Change-Number: 22945 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 01 Mar 2021 19:43: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 Mar 1 19:43:59 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 1 Mar 2021 19:43:59 +0000 Subject: Change in libosmocore[master]: gprs_bssgp: use BVCI_SIGNALLING/BVCI_PTM instead of 0/1 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23013 ) Change subject: gprs_bssgp: use BVCI_SIGNALLING/BVCI_PTM instead of 0/1 ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23013 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I9d0545fac0af0dcc1783040a376a9b8e65a92699 Gerrit-Change-Number: 23013 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 01 Mar 2021 19:43:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 1 19:44:02 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 1 Mar 2021 19:44:02 +0000 Subject: Change in libosmocore[master]: gprs_bssgp: add support for SGSN oriented RESET In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/22945 ) Change subject: gprs_bssgp: add support for SGSN oriented RESET ...................................................................... gprs_bssgp: add support for SGSN oriented RESET To support SGSN oriented RESET introduce a role flag to track what's running the gprs_bssgp (local side). Related: OS#3879 Change-Id: Ibcbaffa94cbdc4296a8a7c372304ac11d50d9559 --- M include/osmocom/gprs/gprs_bssgp.h M src/gb/gprs_bssgp.c 2 files changed, 59 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/osmocom/gprs/gprs_bssgp.h b/include/osmocom/gprs/gprs_bssgp.h index e55fa52..09f640d 100644 --- a/include/osmocom/gprs/gprs_bssgp.h +++ b/include/osmocom/gprs/gprs_bssgp.h @@ -125,6 +125,8 @@ /*! default bucket leak rate of per-MS bucket in octests/s */ uint32_t r_default_ms; + /*! BSS or SGSN. This defines the local state. */ + bool is_sgsn; /* we might want to add this as a shortcut later, avoiding the NSVC * lookup for every packet, similar to a routing cache */ //struct gprs_nsvc *nsvc; diff --git a/src/gb/gprs_bssgp.c b/src/gb/gprs_bssgp.c index 926b0ef..c91abd6 100644 --- a/src/gb/gprs_bssgp.c +++ b/src/gb/gprs_bssgp.c @@ -93,28 +93,40 @@ return NULL; } -/*! Transmit a BVC-RESET message with a given nsei and bvci (Chapter 10.4.12) +/* Transmit a BVC-RESET or BVC-RESET-ACK with a given nsei and bvci (Chapter 10.4.12) + * \param[in] pdu Either BSSGP_PDUT_BVC_RESET or BSSGP_PDUT_BVC_RESET_ACK * \param[in] nsei The NSEI to transmit over * \param[in] bvci BVCI of the BVC to reset - * \param[in] cause The cause of the reset + * \param[in] cause The cause of the reset only valid for BSSGP_PDUT_BVC_RESET. * \param[in] ra_id Pointer to the ra_id to include. If NULL no cell information will be included * \param[in] cell_id The cell_id to include (if ra_id is not NULL) + * returns >= 0 on success, on error < 0. */ -int bssgp_tx_bvc_reset_nsei_bvci(uint16_t nsei, uint16_t bvci, enum gprs_bssgp_cause cause, const struct gprs_ra_id *ra_id, uint16_t cell_id) +static int tx_bvc_reset_nsei_bvci(enum bssgp_pdu_type pdu, uint16_t nsei, uint16_t bvci, + enum gprs_bssgp_cause cause, const struct gprs_ra_id *ra_id, uint16_t cell_id) { struct msgb *msg = bssgp_msgb_alloc(); struct bssgp_normal_hdr *bgph = (struct bssgp_normal_hdr *) msgb_put(msg, sizeof(*bgph)); uint16_t _bvci = osmo_htons(bvci); + OSMO_ASSERT(pdu == BSSGP_PDUT_BVC_RESET || pdu == BSSGP_PDUT_BVC_RESET_ACK); + msgb_nsei(msg) = nsei; msgb_bvci(msg) = 0; /* Signalling */ - bgph->pdu_type = BSSGP_PDUT_BVC_RESET; - LOGP(DLBSSGP, LOGL_NOTICE, "BSSGP (BVCI=%u) Tx BVC-RESET " - "CAUSE=%s\n", bvci, bssgp_cause_str(cause)); + bgph->pdu_type = pdu; + msgb_tvlv_put(msg, BSSGP_IE_BVCI, 2, (uint8_t *) &_bvci); - msgb_tvlv_put(msg, BSSGP_IE_CAUSE, 1, (uint8_t *) &cause); + + if (pdu == BSSGP_PDUT_BVC_RESET) { + msgb_tvlv_put(msg, BSSGP_IE_CAUSE, 1, (uint8_t *) &cause); + LOGP(DLBSSGP, LOGL_NOTICE, "BSSGP (BVCI=%u) Tx BVC-RESET " + "CAUSE=%s\n", bvci, bssgp_cause_str(cause)); + } else { + LOGP(DLBSSGP, LOGL_NOTICE, "BSSGP (BVCI=%u) Tx BVC-RESET-ACK\n", bvci); + } + if (ra_id) { uint8_t bssgp_cid[8]; bssgp_create_cell_id(bssgp_cid, ra_id, cell_id); @@ -126,6 +138,31 @@ return bssgp_ns_send(bssgp_ns_send_data, msg); } +/*! Transmit a BVC-RESET message with a given nsei and bvci (Chapter 10.4.12) + * \param[in] nsei The NSEI to transmit over + * \param[in] bvci BVCI of the BVC to reset + * \param[in] cause The cause of the reset + * \param[in] ra_id Pointer to the ra_id to include. If NULL no cell information will be included + * \param[in] cell_id The cell_id to include (if ra_id is not NULL) + * returns >= 0 on success, on error < 0. + */ +int bssgp_tx_bvc_reset_nsei_bvci(uint16_t nsei, uint16_t bvci, enum gprs_bssgp_cause cause, const struct gprs_ra_id *ra_id, uint16_t cell_id) +{ + return tx_bvc_reset_nsei_bvci(BSSGP_PDUT_BVC_RESET, nsei, bvci, cause, ra_id, cell_id); +} + +/*! Transmit a BVC-RESET-ACK message with a given nsei and bvci (Chapter 10.4.12) + * \param[in] nsei The NSEI to transmit over + * \param[in] bvci BVCI of the BVC to reset + * \param[in] ra_id Pointer to the ra_id to include. If NULL no cell information will be included + * \param[in] cell_id The cell_id to include (if ra_id is not NULL) + * returns >= 0 on success, on error < 0. + */ +int bssgp_tx_bvc_reset_ack_nsei_bvci(uint16_t nsei, uint16_t bvci, const struct gprs_ra_id *ra_id, uint16_t cell_id) +{ + return tx_bvc_reset_nsei_bvci(BSSGP_PDUT_BVC_RESET_ACK, nsei, bvci, 0, ra_id, cell_id); +} + /*! Initiate reset procedure for all PTP BVC on a given NSEI. * * This function initiates reset procedure for all PTP BVC with a given cause. @@ -178,6 +215,7 @@ return NULL; ctx->bvci = bvci; ctx->nsei = nsei; + ctx->is_sgsn = true; /* FIXME: BVCI is not unique, only BVCI+NSEI ?!? */ ctx->ctrg = rate_ctr_group_alloc(ctx, &bssgp_ctrg_desc, bvci); if (!ctx->ctrg) @@ -350,7 +388,7 @@ /* When we receive a BVC-RESET PDU (at least of a PTP BVCI), the BSS * informs us about its RAC + Cell ID, so we can create a mapping */ - if (bvci != 0 && bvci != 1) { + if (bctx->is_sgsn && bvci != 0 && bvci != 1) { if (!TLVP_PRES_LEN(tp, BSSGP_IE_CELL_ID, 8)) { LOGP(DLBSSGP, LOGL_ERROR, "BSSGP BVCI=%u Rx RESET " "missing mandatory IE\n", bvci); @@ -363,6 +401,13 @@ osmo_rai_name(&bctx->ra_id), bctx->cell_id, bvci); } + /* Acknowledge the RESET to the BTS */ + if (bvci == 0 || bvci == 1 || bctx->is_sgsn) + bssgp_tx_simple_bvci(BSSGP_PDUT_BVC_RESET_ACK, + nsei, bvci, ns_bvci); + else + bssgp_tx_bvc_reset_ack_nsei_bvci(nsei, bvci, &bctx->ra_id, bctx->cell_id); + /* Send NM_BVC_RESET.ind to NM */ memset(&nmp, 0, sizeof(nmp)); nmp.nsei = nsei; @@ -372,10 +417,6 @@ osmo_prim_init(&nmp.oph, SAP_BSSGP_NM, PRIM_NM_BVC_RESET, PRIM_OP_INDICATION, msg); bssgp_prim_cb(&nmp.oph, NULL); - - /* Acknowledge the RESET to the BTS */ - bssgp_tx_simple_bvci(BSSGP_PDUT_BVC_RESET_ACK, - nsei, bvci, ns_bvci); return 0; } @@ -972,6 +1013,9 @@ case BSSGP_PDUT_STATUS: /* This is already handled in bssgp_rcvmsg() */ break; + case BSSGP_PDUT_BVC_RESET: + rc = bssgp_rx_bvc_reset(msg, tp, bctx->bvci); + break; case BSSGP_PDUT_DOWNLOAD_BSS_PFC: case BSSGP_PDUT_CREATE_BSS_PFC_ACK: case BSSGP_PDUT_CREATE_BSS_PFC_NACK: @@ -1060,7 +1104,7 @@ LOGP(DLBSSGP, LOGL_ERROR, "BSSGP BVCI=%u Rx BVC-RESET-ACK\n", bvci); break; case BSSGP_PDUT_BVC_RESET: - /* BSS tells us that BVC init is required */ + /* SGSN or BSS tells us that BVC init is required */ if (!TLVP_PRES_LEN(tp, BSSGP_IE_BVCI, 2) || !TLVP_PRES_LEN(tp, BSSGP_IE_CAUSE, 1)) { LOGP(DLBSSGP, LOGL_ERROR, "BSSGP Rx BVC-RESET " -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/22945 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibcbaffa94cbdc4296a8a7c372304ac11d50d9559 Gerrit-Change-Number: 22945 Gerrit-PatchSet: 5 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 1 19:44:03 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 1 Mar 2021 19:44:03 +0000 Subject: Change in libosmocore[master]: gprs_bssgp: use BVCI_SIGNALLING/BVCI_PTM instead of 0/1 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23013 ) Change subject: gprs_bssgp: use BVCI_SIGNALLING/BVCI_PTM instead of 0/1 ...................................................................... gprs_bssgp: use BVCI_SIGNALLING/BVCI_PTM instead of 0/1 Makes more understandable and clear what's meant in the code. Related: OS#3879 Change-Id: I9d0545fac0af0dcc1783040a376a9b8e65a92699 --- M src/gb/gprs_bssgp.c 1 file changed, 3 insertions(+), 4 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/gb/gprs_bssgp.c b/src/gb/gprs_bssgp.c index c91abd6..207c9a8 100644 --- a/src/gb/gprs_bssgp.c +++ b/src/gb/gprs_bssgp.c @@ -113,10 +113,9 @@ OSMO_ASSERT(pdu == BSSGP_PDUT_BVC_RESET || pdu == BSSGP_PDUT_BVC_RESET_ACK); msgb_nsei(msg) = nsei; - msgb_bvci(msg) = 0; /* Signalling */ + msgb_bvci(msg) = BVCI_SIGNALLING; bgph->pdu_type = pdu; - msgb_tvlv_put(msg, BSSGP_IE_BVCI, 2, (uint8_t *) &_bvci); if (pdu == BSSGP_PDUT_BVC_RESET) { @@ -388,7 +387,7 @@ /* When we receive a BVC-RESET PDU (at least of a PTP BVCI), the BSS * informs us about its RAC + Cell ID, so we can create a mapping */ - if (bctx->is_sgsn && bvci != 0 && bvci != 1) { + if (bctx->is_sgsn && bvci != BVCI_SIGNALLING && bvci != BVCI_PTM) { if (!TLVP_PRES_LEN(tp, BSSGP_IE_CELL_ID, 8)) { LOGP(DLBSSGP, LOGL_ERROR, "BSSGP BVCI=%u Rx RESET " "missing mandatory IE\n", bvci); @@ -402,7 +401,7 @@ } /* Acknowledge the RESET to the BTS */ - if (bvci == 0 || bvci == 1 || bctx->is_sgsn) + if (bvci == BVCI_SIGNALLING || bvci == BVCI_PTM || bctx->is_sgsn) bssgp_tx_simple_bvci(BSSGP_PDUT_BVC_RESET_ACK, nsei, bvci, ns_bvci); else -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23013 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I9d0545fac0af0dcc1783040a376a9b8e65a92699 Gerrit-Change-Number: 23013 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 1 19:46:11 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 1 Mar 2021 19:46:11 +0000 Subject: Change in osmo-pcu[master]: gprs_bssgp_pcu: rework BSSGP Reset messages to support SGSN originate... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/22946 ) Change subject: gprs_bssgp_pcu: rework BSSGP Reset messages to support SGSN originated BSSGP-RESET ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/22946 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I3afaf826798e362270ffa622c24bfd124ef25cd1 Gerrit-Change-Number: 22946 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 01 Mar 2021 19:46: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 Mar 1 19:46:53 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 1 Mar 2021 19:46:53 +0000 Subject: Change in osmo-pcu[master]: gprs_bssgp_pcu: ensure only known BVCI can be resetted by the SGSN In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23014 ) Change subject: gprs_bssgp_pcu: ensure only known BVCI can be resetted by the SGSN ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23014 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I04e36ce4a29e51d85e67a0d3a81aa0e1eb9e9c08 Gerrit-Change-Number: 23014 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 01 Mar 2021 19:46:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 1 19:47:36 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 1 Mar 2021 19:47:36 +0000 Subject: Change in osmo-bts[master]: l1sap: Store status of SRR in an lchan struct memeber In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/22928 ) Change subject: l1sap: Store status of SRR in an lchan struct memeber ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/22928 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ieddd45d7890343d64db14b9c726f6fa2f25714f6 Gerrit-Change-Number: 22928 Gerrit-PatchSet: 5 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 01 Mar 2021 19:47: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 Mar 1 19:47:53 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 1 Mar 2021 19:47:53 +0000 Subject: Change in osmo-bts[master]: l1sap: add logging and VTY introspection for ACCH repetition In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/22888 ) Change subject: l1sap: add logging and VTY introspection for ACCH repetition ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/22888 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I59d11fd03be3d29fb8a4279d9945b03006764c0e Gerrit-Change-Number: 22888 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 01 Mar 2021 19:47:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 1 19:47:56 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 1 Mar 2021 19:47:56 +0000 Subject: Change in osmo-bts[master]: l1sap: Store status of SRR in an lchan struct memeber In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/22928 ) Change subject: l1sap: Store status of SRR in an lchan struct memeber ...................................................................... l1sap: Store status of SRR in an lchan struct memeber The MS sets the SRR bit in the L1 SACCH header to request DL-SACCH repetition from the BTS. At the moment we access the l1_info stored in tle lchan struct each time we want to check the status of the SRR bit. However, it is more convinient to do this once at reception and store the status of the status of the flag in a separate struct member. Change-Id: Ieddd45d7890343d64db14b9c726f6fa2f25714f6 Related: SYS#5114 --- M include/osmo-bts/gsm_data.h M src/common/l1sap.c 2 files changed, 9 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmo-bts/gsm_data.h b/include/osmo-bts/gsm_data.h index 6caad14..ff0c89c 100644 --- a/include/osmo-bts/gsm_data.h +++ b/include/osmo-bts/gsm_data.h @@ -406,6 +406,7 @@ struct abis_rsl_osmo_rep_acch_cap repeated_acch_capability; bool repeated_dl_facch_active; bool repeated_ul_sacch_active; + bool repeated_dl_sacch_active; /* Message buffer to store DL-SACCH repeation candidate */ struct msgb *rep_sacch; diff --git a/src/common/l1sap.c b/src/common/l1sap.c index 0a46b23..1d80a84 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -1138,10 +1138,16 @@ p[0] |= 0x40; /* See also: 3GPP TS 44.004, section 7.1 */ p[1] = lchan->rqd_ta; le = &lchan->lapdm_ch.lapdm_acch; - if (lchan->repeated_acch_capability.dl_sacch) + if (lchan->repeated_acch_capability.dl_sacch) { + /* Check if MS requests SACCH repetition and update state accordingly */ + if (lchan->meas.l1_info.srr_sro) + lchan->repeated_dl_sacch_active = true; + else + lchan->repeated_dl_sacch_active = false; pp_msg = lapdm_phsap_dequeue_msg_sacch(lchan, le); - else + } else { pp_msg = lapdm_phsap_dequeue_msg(le); + } } else { if (lchan->ts->trx->bts->dtxd) dtxd_facch = true; -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/22928 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ieddd45d7890343d64db14b9c726f6fa2f25714f6 Gerrit-Change-Number: 22928 Gerrit-PatchSet: 6 Gerrit-Owner: dexter 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 Mar 1 19:47:56 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 1 Mar 2021 19:47:56 +0000 Subject: Change in osmo-bts[master]: l1sap: add logging and VTY introspection for ACCH repetition In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/22888 ) Change subject: l1sap: add logging and VTY introspection for ACCH repetition ...................................................................... l1sap: add logging and VTY introspection for ACCH repetition At the moment osmo-bts is not looging much ACCH repetition related information. This makes testing ACCH repetition difficult. Lets add some debug output that informs the user when ACCH repetition is turned on or off. Lets also add an ACCH repetition status display to the show lchan VTY command. Change-Id: I59d11fd03be3d29fb8a4279d9945b03006764c0e Related: SYS#5114 --- M src/common/l1sap.c M src/common/vty.c 2 files changed, 90 insertions(+), 10 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/common/l1sap.c b/src/common/l1sap.c index 1d80a84..0600658 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -960,6 +960,7 @@ uint8_t upper; uint8_t lower; uint8_t rxqual; + bool prev_repeated_dl_facch_active = lchan->repeated_dl_facch_active; /* This is an optimization so that we exit as quickly as possible if * there are no FACCH repetition capabilities present. However If the @@ -968,13 +969,13 @@ if (!lchan->repeated_acch_capability.dl_facch_cmd && !lchan->repeated_acch_capability.dl_facch_all) { lchan->repeated_dl_facch_active = false; - return; + goto out; } /* Threshold disabled (always on) */ if (lchan->repeated_acch_capability.rxqual == 0) { lchan->repeated_dl_facch_active = true; - return; + goto out; } /* When the MS sets the SRR bit in the UL-SACCH L1 header @@ -982,16 +983,16 @@ * FACCH repetition too. */ if (lchan->meas.l1_info.srr_sro) { lchan->repeated_dl_facch_active = true; - return; + goto out; } /* Parse MS measurement results */ if (l3_len <= sizeof(struct gsm48_meas_res *) + 2) - return; + goto out; if (l3[0] != GSM48_PDISC_RR) - return; + goto out; if (l3[1] != GSM48_MT_RR_MEAS_REP) - return; + goto out; l3 += 2; meas_res = (struct gsm48_meas_res *)l3; @@ -1015,6 +1016,13 @@ else if (rxqual <= lower) lchan->repeated_dl_facch_active = false; +out: + if (lchan->repeated_dl_facch_active == prev_repeated_dl_facch_active) + return; + if (lchan->repeated_dl_facch_active) + LOGPLCHAN(lchan, DL1P, LOGL_DEBUG, "DL-FACCH repetition: inactive => active\n"); + else + LOGPLCHAN(lchan, DL1P, LOGL_DEBUG, "DL-FACCH repetition: active => inactive\n"); } /* Special dequeueing function with SACCH repetition (3GPP TS 44.006, section 11) */ @@ -1140,10 +1148,15 @@ le = &lchan->lapdm_ch.lapdm_acch; if (lchan->repeated_acch_capability.dl_sacch) { /* Check if MS requests SACCH repetition and update state accordingly */ - if (lchan->meas.l1_info.srr_sro) + if (lchan->meas.l1_info.srr_sro) { + if (lchan->repeated_dl_sacch_active == false) + LOGPLCHAN(lchan, DL1P, LOGL_DEBUG, "DL-SACCH repetition: inactive => active\n"); lchan->repeated_dl_sacch_active = true; - else + } else { + if (lchan->repeated_dl_sacch_active == true) + LOGPLCHAN(lchan, DL1P, LOGL_DEBUG, "DL-SACCH repetition: active => inactive\n"); lchan->repeated_dl_sacch_active = false; + } pp_msg = lapdm_phsap_dequeue_msg_sacch(lchan, le); } else { pp_msg = lapdm_phsap_dequeue_msg(le); @@ -1413,6 +1426,7 @@ { uint16_t upper = 0; uint16_t lower = 0; + bool prev_repeated_ul_sacch_active = lchan->repeated_ul_sacch_active; /* This is an optimization so that we exit as quickly as possible if * there are no uplink SACCH repetition capabilities present. @@ -1420,13 +1434,13 @@ * reason, we must be sure that UL-SACCH repetition is disabled. */ if (!lchan->repeated_acch_capability.ul_sacch) { lchan->repeated_ul_sacch_active = false; - return; + goto out; } /* Threshold disabled (repetition is always on) */ if (lchan->repeated_acch_capability.rxqual == 0) { lchan->repeated_ul_sacch_active = true; - return; + goto out; } /* convert from RXQUAL value to ber10k value. @@ -1447,6 +1461,14 @@ lchan->repeated_ul_sacch_active = true; else if (ber10k <= lower) lchan->repeated_ul_sacch_active = false; + +out: + if (lchan->repeated_ul_sacch_active == prev_repeated_ul_sacch_active) + return; + if (lchan->repeated_ul_sacch_active) + LOGPLCHAN(lchan, DL1P, LOGL_DEBUG, "UL-SACCH repetition: inactive => active\n"); + else + LOGPLCHAN(lchan, DL1P, LOGL_DEBUG, "UL-SACCH repetition: active => inactive\n"); } /* DATA received from bts model */ diff --git a/src/common/vty.c b/src/common/vty.c index bbd33f8..45ee32c 100644 --- a/src/common/vty.c +++ b/src/common/vty.c @@ -1564,6 +1564,63 @@ dump_dpc_params(vty, indent + 2, st->dpc_params); } +static void lchan_acch_rep_state_dump(struct vty *vty, unsigned int indent, + const struct gsm_lchan *lchan) +{ + cfg_out(vty, "ACCH repetition:%s", VTY_NEWLINE); + indent += 2; + if (lchan->repeated_acch_capability.rxqual) + cfg_out(vty, "Enable RXQUAL threshold: %u%s", + lchan->repeated_acch_capability.rxqual, VTY_NEWLINE); + else + cfg_out(vty, "Enable RXQUAL threshold: (none, alway on)%s", + VTY_NEWLINE); + + cfg_out(vty, "DL-FACCH:%s", VTY_NEWLINE); + indent += 2; + if (lchan->repeated_acch_capability.dl_facch_all) + cfg_out(vty, "retramsit all LAPDM block types%s", VTY_NEWLINE); + else if (lchan->repeated_acch_capability.dl_facch_cmd) + cfg_out(vty, "retramsit only LAPDM command blocks%s", + VTY_NEWLINE); + else + cfg_out(vty, "no retransmission (disabled)%s", VTY_NEWLINE); + if (lchan->repeated_dl_facch_active) + cfg_out(vty, "retransmission currently active%s", VTY_NEWLINE); + else + cfg_out(vty, "retransmission currently inactive%s", + VTY_NEWLINE); + indent -= 2; + + cfg_out(vty, "DL-SACCH:%s", VTY_NEWLINE); + indent += 2; + if (lchan->repeated_acch_capability.ul_sacch) + cfg_out(vty, "retramsit all SACCH blocks for SAPI=0%s", + VTY_NEWLINE); + else + cfg_out(vty, "no retransmission (disabled)%s", VTY_NEWLINE); + if (lchan->repeated_dl_sacch_active) + cfg_out(vty, "retransmission currently active%s", VTY_NEWLINE); + else + cfg_out(vty, "retransmission currently inactive%s", + VTY_NEWLINE); + indent -= 2; + + cfg_out(vty, "UL-SACCH:%s", VTY_NEWLINE); + indent += 2; + if (lchan->repeated_acch_capability.dl_sacch) + cfg_out(vty, "retramsit all SACCH blocks for SAPI=0%s", + VTY_NEWLINE); + else + cfg_out(vty, "no retransmission (disabled)%s", VTY_NEWLINE); + if (lchan->repeated_ul_sacch_active) + cfg_out(vty, "retransmission currently active%s", VTY_NEWLINE); + else + cfg_out(vty, "retransmission currently inactive%s", + VTY_NEWLINE); + indent -= 2; +} + static void lchan_dump_full_vty(struct vty *vty, const struct gsm_lchan *lchan) { struct in_addr ia; @@ -1637,6 +1694,7 @@ /* BS/MS Power Control state and parameters */ lchan_bs_power_ctrl_state_dump(vty, 2, lchan); lchan_ms_power_ctrl_state_dump(vty, 2, lchan); + lchan_acch_rep_state_dump(vty, 2, lchan); } static void lchan_dump_short_vty(struct vty *vty, const struct gsm_lchan *lchan) -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/22888 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I59d11fd03be3d29fb8a4279d9945b03006764c0e Gerrit-Change-Number: 22888 Gerrit-PatchSet: 7 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 1 19:50:59 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 1 Mar 2021 19:50:59 +0000 Subject: Change in osmo-bts[master]: sched_lchan_tchh: fix frame number and fill FACCH gap In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/21329 ) Change subject: sched_lchan_tchh: fix frame number and fill FACCH gap ...................................................................... Patch Set 3: > Patch Set 3: > > Let's keep it WIP for now, I will work on this patch once I have time. The patch is not WIP, at least not in the sense of the gerrit status. AFAICT, the patch claims to fix a real problem, and while you may have some valid criticism, we cannot ignore bugfixes for more amount of time until "you have time". Please let me know if you think your concerns warrant keeping this out of mainline any longer. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/21329 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1ad9fa3815feb2b4da608ab7df716a87ba1f2f91 Gerrit-Change-Number: 21329 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 01 Mar 2021 19:50:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 1 19:51:50 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 1 Mar 2021 19:51:50 +0000 Subject: Change in docker-playground[master]: add osmo-smlc-latest container In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23080 ) Change subject: add osmo-smlc-latest container ...................................................................... Patch Set 1: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23080 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I714758ddd832e77b592dec5d17ef3568420d11ff Gerrit-Change-Number: 23080 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Comment-Date: Mon, 01 Mar 2021 19:51: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 Mon Mar 1 19:52:04 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 1 Mar 2021 19:52:04 +0000 Subject: Change in osmo-ci[master]: osmocom-latet-packages: Package osmo-smlc In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23074 ) Change subject: osmocom-latet-packages: Package osmo-smlc ...................................................................... Patch Set 2: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23074 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I0e6756f94027ad1ffd88109b2977cb33ee891a21 Gerrit-Change-Number: 23074 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Comment-Date: Mon, 01 Mar 2021 19:52:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 1 19:54:58 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 1 Mar 2021 19:54:58 +0000 Subject: Change in osmo-ci[master]: osmocom-latet-packages: Package osmo-smlc In-Reply-To: References: Message-ID: laforge has uploaded a new patch set (#3). ( https://gerrit.osmocom.org/c/osmo-ci/+/23074 ) Change subject: osmocom-latet-packages: Package osmo-smlc ...................................................................... osmocom-latet-packages: Package osmo-smlc osmo-smlc now has a tag that builds against a tagged libosmocore Change-Id: I0e6756f94027ad1ffd88109b2977cb33ee891a21 --- M scripts/osmocom-latest-packages.sh 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/74/23074/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23074 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I0e6756f94027ad1ffd88109b2977cb33ee891a21 Gerrit-Change-Number: 23074 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 1 20:28:27 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 1 Mar 2021 20:28:27 +0000 Subject: Change in osmo-bts[master]: sched_lchan_tchh: fix frame number and fill FACCH gap In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/21329 ) Change subject: sched_lchan_tchh: fix frame number and fill FACCH gap ...................................................................... Patch Set 3: > Patch Set 3: > > > Patch Set 3: > > > > Let's keep it WIP for now, I will work on this patch once I have time. > > The patch is not WIP, at least not in the sense of the gerrit status. I cannot make it WIP because I am not the author. > AFAICT, the patch claims to fix a real problem, and while you may have some valid criticism, we cannot ignore bugfixes for more amount of time until "you have time". Please let me know if you think your concerns warrant keeping this out of mainline any longer. I cannot commit any deadline as I am currently busy working on a big customer's task, and there is still a lot to be done. My criticism still applies and I am against merging it as-is. But if you find the current approach acceptable and it solves the problem, then do not wait for me. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/21329 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1ad9fa3815feb2b4da608ab7df716a87ba1f2f91 Gerrit-Change-Number: 21329 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 01 Mar 2021 20:28:27 +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 Mar 1 21:19:51 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Mon, 1 Mar 2021 21:19:51 +0000 Subject: Change in libosmocore[master]: stats: Ensure that each osmo_stat_item only reports once per interval References: Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/23167 ) Change subject: stats: Ensure that each osmo_stat_item only reports once per interval ...................................................................... stats: Ensure that each osmo_stat_item only reports once per interval We should never report multiple values for a metric. It is confusing for the log reporter and wrong for statsd. Statsd will record only one value, but will it be the first, last, ...? This can happen if an osmo_stat_item changes more than once within the same reporting interval. With this patch only one aggregate value is sent to the log reporters. The value reported is the maximum during this interval. Other aggregations could be possible (min, last), but reporting a (useful) average is not because the values don't include a timestamp and most osmo_stat_items change at unregular intervals. Change-Id: I366ab1c66f4ae6363111ea4e41b66b7d5bcade9c Related: SYS#4877 --- M src/stats.c M tests/stats/stats_test.c M tests/stats/stats_test.ok 3 files changed, 43 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/67/23167/1 diff --git a/src/stats.c b/src/stats.c index a0834d2..6af77f9 100644 --- a/src/stats.c +++ b/src/stats.c @@ -699,31 +699,36 @@ int have_value; have_value = osmo_stat_item_get_next(item, &idx, &value) > 0; - if (!have_value) + if (!have_value) { /* Send the last value in case a flush is requested */ value = osmo_stat_item_get_last(item); + } else { + int32_t next_val; + int got_next = 0; + // If we have multiple values only send the max + do { + got_next = osmo_stat_item_get_next(item, &idx, &next_val) > 0; + if (got_next) { + value = OSMO_MAX(value, next_val); + } + } while (got_next); + } - do { - llist_for_each_entry(srep, &osmo_stats_reporter_list, list) { - if (!srep->running) - continue; + llist_for_each_entry(srep, &osmo_stats_reporter_list, list) { + if (!srep->running) + continue; - if (!have_value && !srep->force_single_flush) - continue; + if (!have_value && !srep->force_single_flush) + continue; - if (!osmo_stats_reporter_check_config(srep, - statg->idx, statg->desc->class_id)) - continue; + if (!osmo_stats_reporter_check_config(srep, + statg->idx, statg->desc->class_id)) + continue; - osmo_stats_reporter_send_item(srep, statg, - item->desc, value); - } + osmo_stats_reporter_send_item(srep, statg, + item->desc, value); - if (!have_value) - break; - - have_value = osmo_stat_item_get_next(item, &idx, &value) > 0; - } while (have_value); + } return 0; } diff --git a/tests/stats/stats_test.c b/tests/stats/stats_test.c index 71f710a..05caf98 100644 --- a/tests/stats/stats_test.c +++ b/tests/stats/stats_test.c @@ -440,6 +440,20 @@ osmo_stats_report(); OSMO_ASSERT(send_count == 2); + printf("report (group 1, item 1 update twice):\n"); + osmo_stat_item_set(statg1->items[TEST_A_ITEM], 10); + osmo_stat_item_set(statg1->items[TEST_A_ITEM], 10); + send_count = 0; + osmo_stats_report(); + OSMO_ASSERT(send_count == 2); + + printf("report (group 1, item 1 update twice, check max):\n"); + osmo_stat_item_set(statg1->items[TEST_A_ITEM], 20); + osmo_stat_item_set(statg1->items[TEST_A_ITEM], 10); + send_count = 0; + osmo_stats_report(); + OSMO_ASSERT(send_count == 2); + printf("report (remove statg1, ctrg1):\n"); /* force single flush */ srep1->force_single_flush = 1; diff --git a/tests/stats/stats_test.ok b/tests/stats/stats_test.ok index 8628adb..26d9e38 100644 --- a/tests/stats/stats_test.ok +++ b/tests/stats/stats_test.ok @@ -100,6 +100,12 @@ report (group 1, item 1 update): test2: item p= g=test.one i=1 n=item.a v=10 u=ma test1: item p= g=test.one i=1 n=item.a v=10 u=ma +report (group 1, item 1 update twice): + test2: item p= g=test.one i=1 n=item.a v=10 u=ma + test1: item p= g=test.one i=1 n=item.a v=10 u=ma +report (group 1, item 1 update twice, check max): + test2: item p= g=test.one i=1 n=item.a v=20 u=ma + test1: item p= g=test.one i=1 n=item.a v=20 u=ma report (remove statg1, ctrg1): test2: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 test1: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23167 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I366ab1c66f4ae6363111ea4e41b66b7d5bcade9c Gerrit-Change-Number: 23167 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Tue Mar 2 01:37:00 2021 From: admin at opensuse.org (OBS Notification) Date: Tue, 02 Mar 2021 01:37:00 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.10/x86_64 In-Reply-To: References: Message-ID: <603d96da89f78_6772ac5bdd365f0144461d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_20.10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_20.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 156s] [COMPILING apps/dfu/main.c] [ 156s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 157s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 157s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 157s] Memory region Used Size Region Size %age Used [ 157s] rom: 16580 B 16 KB 101.20% [ 157s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 157s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 157s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 157s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 157s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 157s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 157s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 196 bytes [ 157s] collect2: error: ld returned 1 exit status [ 157s] % [ 157s] make[2]: *** [Makefile:234: flash] Error 1 [ 157s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 157s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 157s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 157s] dh_auto_build: error: make -j1 returned exit code 2 [ 157s] make: *** [debian/rules:16: build] Error 25 [ 157s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 157s] ### VM INTERACTION START ### [ 160s] [ 138.360404] sysrq: Power Off [ 160s] [ 138.381241] reboot: Power down [ 160s] ### VM INTERACTION END ### [ 160s] [ 160s] cloud111 failed "build simtrace2_0.7.0.70.657c.dsc" at Tue Mar 2 01:36:42 UTC 2021. [ 160s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Mar 2 01:37:34 2021 From: admin at opensuse.org (OBS Notification) Date: Tue, 02 Mar 2021 01:37:34 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <603d96ffb1e1_6772ac5bdd365f01444876@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_20.04/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_20.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 113s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 113s] [COMPILING libboard/qmod/source/card_pres.c] [ 113s] [COMPILING libboard/qmod/source/wwan_led.c] [ 113s] [COMPILING libboard/qmod/source/i2c.c] [ 113s] [COMPILING libboard/qmod/source/board_qmod.c] [ 113s] [COMPILING apps/dfu/main.c] [ 114s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 114s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 114s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 114s] Memory region Used Size Region Size %age Used [ 114s] rom: 16588 B 16 KB 101.25% [ 114s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 114s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 204 bytes [ 114s] collect2: error: ld returned 1 exit status [ 114s] % [ 114s] make[2]: *** [Makefile:234: flash] Error 1 [ 114s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 114s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 114s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 114s] dh_auto_build: error: make -j1 returned exit code 2 [ 114s] make: *** [debian/rules:16: build] Error 25 [ 114s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 114s] ### VM INTERACTION START ### [ 117s] [ 107.829805] sysrq: Power Off [ 117s] [ 107.834073] reboot: Power down [ 117s] ### VM INTERACTION END ### [ 117s] [ 117s] sheep86 failed "build simtrace2_0.7.0.70.657c.dsc" at Tue Mar 2 01:37:30 UTC 2021. [ 117s] -- 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 Mar 2 06:36:03 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 2 Mar 2021 06:36:03 +0000 Subject: Change in pysim[master]: cards.py: SJS1 + SJA2: Implement + Expose verify_adm() method References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/23168 ) Change subject: cards.py: SJS1 + SJA2: Implement + Expose verify_adm() method ...................................................................... cards.py: SJS1 + SJA2: Implement + Expose verify_adm() method SJS1 and SJA2 card types don't use the generic verify_adm() method of the Card base class, so they must override it with their own methods. Only this way application code can call card.verify_adm() irrespective of the card type. Change-Id: I05f7f3280873f006310266867f04a9ce1b0a63af --- M pySim/cards.py 1 file changed, 18 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/68/23168/1 diff --git a/pySim/cards.py b/pySim/cards.py index 41dd179..2d93713 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -849,12 +849,17 @@ return None return None - def program(self, p): - + def verify_adm(self, key): # authenticate as ADM using default key (written on the card..) - if not p['pin_adm']: + if not key: raise ValueError("Please provide a PIN-ADM as there is no default one") - self._scc.verify_chv(0x0A, h2b(p['pin_adm'])) + (res, sw) = self._scc.verify_chv(0x0A, key) + if sw != '9000': + raise RuntimeError('Failed to authenticate with ADM key %s'%(key)) + return sw + + def program(self, p): + self.verify_adm(h2b(p['pin_adm'])) # select MF r = self._scc.select_file(['3f00']) @@ -1244,11 +1249,17 @@ return None return None - def program(self, p): + def verify_adm(self, key): # authenticate as ADM using default key (written on the card..) - if not p['pin_adm']: + if not key: raise ValueError("Please provide a PIN-ADM as there is no default one") - self._scc.verify_chv(0x0A, h2b(p['pin_adm'])) + (res, sw) = self._scc.verify_chv(0x0A, key) + if sw != '9000': + raise RuntimeError('Failed to authenticate with ADM key %s'%(key)) + return sw + + def program(self, p): + self._scc.verify_adm(h2b(p['pin_adm'])) # This type of card does not allow to reprogram the ICCID. # Reprogramming the ICCID would mess up the card os software -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23168 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I05f7f3280873f006310266867f04a9ce1b0a63af Gerrit-Change-Number: 23168 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 Mar 2 06:36:03 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 2 Mar 2021 06:36:03 +0000 Subject: Change in pysim[master]: utils.py: de-couple sanitize_pin_adm from argparse 'opts' References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/23169 ) Change subject: utils.py: de-couple sanitize_pin_adm from argparse 'opts' ...................................................................... utils.py: de-couple sanitize_pin_adm from argparse 'opts' This allows the function to be re-used in other contexts Change-Id: I116e85acca3aeb0a0c24f74653c500ac2dc1d844 --- M pySim-prog.py M pySim/utils.py 2 files changed, 8 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/69/23169/1 diff --git a/pySim-prog.py b/pySim-prog.py index fbf2b73..4f54963 100755 --- a/pySim-prog.py +++ b/pySim-prog.py @@ -446,7 +446,7 @@ else: opc = ''.join(['%02x' % random.randrange(0,256) for i in range(16)]) - pin_adm = sanitize_pin_adm(opts) + pin_adm = sanitize_pin_adm(opts.pin_adm, opts.pin_adm_hex) # ePDG Selection Information if opts.epdgSelection: diff --git a/pySim/utils.py b/pySim/utils.py index 1373551..a733d87 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -571,7 +571,7 @@ return s -def sanitize_pin_adm(opts): +def sanitize_pin_adm(pin_adm, pin_adm_hex = None): """ The ADM pin can be supplied either in its hexadecimal form or as ascii string. This function checks the supplied opts parameter and @@ -579,19 +579,17 @@ it was originally supplied by the user """ - pin_adm = None - - if opts.pin_adm is not None: - if len(opts.pin_adm) <= 8: - pin_adm = ''.join(['%02x'%(ord(x)) for x in opts.pin_adm]) + if pin_adm is not None: + if len(pin_adm) <= 8: + pin_adm = ''.join(['%02x'%(ord(x)) for x in pin_adm]) pin_adm = rpad(pin_adm, 16) else: raise ValueError("PIN-ADM needs to be <=8 digits (ascii)") - if opts.pin_adm_hex is not None: - if len(opts.pin_adm_hex) == 16: - pin_adm = opts.pin_adm_hex + if pin_adm_hex is not None: + if len(pin_adm_hex) == 16: + pin_adm = pin_adm_hex # Ensure that it's hex-encoded try: try_encode = h2b(pin_adm) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23169 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I116e85acca3aeb0a0c24f74653c500ac2dc1d844 Gerrit-Change-Number: 23169 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 Mar 2 06:36:04 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 2 Mar 2021 06:36:04 +0000 Subject: Change in pysim[master]: introduce SwMatchError exception References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/23170 ) Change subject: introduce SwMatchError exception ...................................................................... introduce SwMatchError exception This allows callers further up the stack to catch the exception and interpret it in some way (like decoding the number of remaining tries in case of authentication errors) Change-Id: Ia59962978745aef7038f750fa23f8dfc820645f4 --- M pySim/exceptions.py M pySim/transport/__init__.py 2 files changed, 13 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/70/23170/1 diff --git a/pySim/exceptions.py b/pySim/exceptions.py index c0cf1e7..fdf07aa 100644 --- a/pySim/exceptions.py +++ b/pySim/exceptions.py @@ -5,6 +5,7 @@ # # Copyright (C) 2009-2010 Sylvain Munaut +# Copyright (C) 2021 Harald Welte # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -36,3 +37,12 @@ class ReaderError(Exception): pass + +class SwMatchError(Exception): + """Raised when an operation specifies an expected SW but the actual SW from + the card doesn't match.""" + def __init__(self, sw_actual, sw_expected): + self.sw_actual = sw_actual + self.sw_expected = sw_expected + def __str__(self): + return "Received %s but expected %s from card" % (self.sw_actual, self.sw_expected) diff --git a/pySim/transport/__init__.py b/pySim/transport/__init__.py index 8e009ee..27901d7 100644 --- a/pySim/transport/__init__.py +++ b/pySim/transport/__init__.py @@ -3,6 +3,8 @@ """ pySim: PCSC reader transport link base """ +from pySim.exceptions import * + # # Copyright (C) 2009-2010 Sylvain Munaut # @@ -100,5 +102,5 @@ sw_masked = sw_masked + rv[1][i].lower() if sw.lower() != sw_masked: - raise RuntimeError("SW match failed! Expected %s and got %s." % (sw.lower(), rv[1])) + raise SwMatchError(sw.lower(), rv[1]) return rv -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23170 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ia59962978745aef7038f750fa23f8dfc820645f4 Gerrit-Change-Number: 23170 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 Mar 2 06:36:05 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 2 Mar 2021 06:36:05 +0000 Subject: Change in pysim[master]: move SW matching to a generic utility function References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/23171 ) Change subject: move SW matching to a generic utility function ...................................................................... move SW matching to a generic utility function This will allow using it outside the transport/__init__.py Change-Id: Id26dfefa85d91e3b3a23e0049f3b833e29cb1cef --- M pySim/transport/__init__.py M pySim/utils.py 2 files changed, 17 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/71/23171/1 diff --git a/pySim/transport/__init__.py b/pySim/transport/__init__.py index 27901d7..8ccb41b 100644 --- a/pySim/transport/__init__.py +++ b/pySim/transport/__init__.py @@ -4,6 +4,7 @@ """ from pySim.exceptions import * +from pySim.utils import sw_match # # Copyright (C) 2009-2010 Sylvain Munaut @@ -93,14 +94,6 @@ """ rv = self.send_apdu(pdu) - # Create a masked version of the returned status word - sw_masked = "" - for i in range(0, 4): - if sw.lower()[i] == '?': - sw_masked = sw_masked + '?' - else: - sw_masked = sw_masked + rv[1][i].lower() - - if sw.lower() != sw_masked: - raise SwMatchError(sw.lower(), rv[1]) + if not sw_match(rv[1], pattern=sw): + raise SwMatchError(rv[1], sw.lower()) return rv diff --git a/pySim/utils.py b/pySim/utils.py index a733d87..915562f 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -759,3 +759,17 @@ return 0x00 return None + +def sw_match(sw, pattern): + """Match given SW against given pattern.""" + # Create a masked version of the returned status word + sw_lower = sw.lower() + sw_masked = "" + for i in range(0, 4): + if sw_lower[i] == '?': + sw_masked = sw_masked + '?' + elif sw_lower[i] == 'x': + sw_masked = sw_masked + 'x' + else: + sw_masked = sw_masked + sw_lower[i] + return sw == pattern -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23171 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id26dfefa85d91e3b3a23e0049f3b833e29cb1cef Gerrit-Change-Number: 23171 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 Mar 2 06:36:06 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 2 Mar 2021 06:36:06 +0000 Subject: Change in pysim[master]: commands.py: rename select_file() to select_path() References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/23172 ) Change subject: commands.py: rename select_file() to select_path() ...................................................................... commands.py: rename select_file() to select_path() In reality, the function is not a simple avstraction around the SELECT command, but it iterates over a list/path and selects at each element. Change-Id: I63e01155de4ae47aeed8500708c0eb6580c7b8d1 --- M pySim/cards.py M pySim/commands.py 2 files changed, 37 insertions(+), 37 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/72/23172/1 diff --git a/pySim/cards.py b/pySim/cards.py index 2d93713..36bd91e 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -44,7 +44,7 @@ return def file_exists(self, fid): - res_arr = self._scc.try_select_file(fid) + res_arr = self._scc.try_select_path(fid) for res in res_arr: if res[1] != '9000': return False @@ -477,7 +477,7 @@ """ f = self._files['name'] - r = self._scc.select_file(['3f00', '7f4d', f[0]]) + r = self._scc.select_path(['3f00', '7f4d', f[0]]) rec_len = int(r[-1][28:30], 16) tlen = int(r[-1][4:8],16) rec_cnt = (tlen / rec_len) - 1 @@ -489,7 +489,7 @@ def program(self, p): # Go to dir - self._scc.select_file(['3f00', '7f4d']) + self._scc.select_path(['3f00', '7f4d']) # Home PLMN in PLMN_Sel format hplmn = enc_plmn(p['mcc'], p['mnc']) @@ -533,7 +533,7 @@ # FIXME # Write PLMN_Sel forcefully as well - r = self._scc.select_file(['3f00', '7f20', '6f30']) + r = self._scc.select_path(['3f00', '7f20', '6f30']) tl = int(r[-1][4:8], 16) hplmn = enc_plmn(p['mcc'], p['mnc']) @@ -607,7 +607,7 @@ and entry size """ - r = self._scc.select_file(['3f00', '000c']) + r = self._scc.select_path(['3f00', '000c']) rec_len = int(r[-1][28:30], 16) tlen = int(r[-1][4:8],16) rec_cnt = (tlen / rec_len) - 1 @@ -619,7 +619,7 @@ def program(self, p): # Home PLMN - r = self._scc.select_file(['3f00', '7f20', '6f30']) + r = self._scc.select_path(['3f00', '7f20', '6f30']) tl = int(r[-1][4:8], 16) hplmn = enc_plmn(p['mcc'], p['mnc']) @@ -674,11 +674,11 @@ self._scc.verify_chv(5, pin) # EF.ICCID - r = self._scc.select_file(['3f00', '2fe2']) + r = self._scc.select_path(['3f00', '2fe2']) data, sw = self._scc.update_binary('2fe2', enc_iccid(p['iccid'])) # EF.IMSI - r = self._scc.select_file(['3f00', '7f20', '6f07']) + r = self._scc.select_path(['3f00', '7f20', '6f07']) data, sw = self._scc.update_binary('6f07', enc_imsi(p['imsi'])) # EF.ACC @@ -687,7 +687,7 @@ # EF.SMSP if p.get('smsp'): - r = self._scc.select_file(['3f00', '7f10', '6f42']) + r = self._scc.select_path(['3f00', '7f10', '6f42']) data, sw = self._scc.update_record('6f42', 1, lpad(p['smsp'], 80)) # Set the Ki using proprietary command @@ -695,13 +695,13 @@ data, sw = self._scc._tp.send_apdu(pdu) # EF.HPLMN - r = self._scc.select_file(['3f00', '7f20', '6f30']) + r = self._scc.select_path(['3f00', '7f20', '6f30']) size = int(r[-1][4:8], 16) hplmn = enc_plmn(p['mcc'], p['mnc']) self._scc.update_binary('6f30', hplmn + 'ff' * (size-3)) # EF.SPN (Service Provider Name) - r = self._scc.select_file(['3f00', '7f20', '6f30']) + r = self._scc.select_path(['3f00', '7f20', '6f30']) size = int(r[-1][4:8], 16) # FIXME @@ -772,7 +772,7 @@ def program(self, p): # select MF - r = self._scc.select_file(['3f00']) + r = self._scc.select_path(['3f00']) # authenticate as SUPER ADM using default key self._scc.verify_chv(0x0b, h2b("3838383838383838")) @@ -798,7 +798,7 @@ data, sw = self._scc.update_binary('2fe2', enc_iccid(p['iccid'])) # select DF_GSM - r = self._scc.select_file(['7f20']) + r = self._scc.select_path(['7f20']) # write EF.IMSI data, sw = self._scc.update_binary('6f07', enc_imsi(p['imsi'])) @@ -808,7 +808,7 @@ data, sw = self._scc.update_binary('6f78', lpad(p['acc'], 4)) # get size and write EF.HPLMN - r = self._scc.select_file(['6f30']) + r = self._scc.select_path(['6f30']) size = int(r[-1][4:8], 16) hplmn = enc_plmn(p['mcc'], p['mnc']) self._scc.update_binary('6f30', hplmn + 'ff' * (size-3)) @@ -820,7 +820,7 @@ data, sw = self._scc.update_binary('0001', p['ki'], 3) # select DF_TELECOM - r = self._scc.select_file(['3f00', '7f10']) + r = self._scc.select_path(['3f00', '7f10']) # write EF.SMSP if p.get('smsp'): @@ -862,13 +862,13 @@ self.verify_adm(h2b(p['pin_adm'])) # select MF - r = self._scc.select_file(['3f00']) + r = self._scc.select_path(['3f00']) # write EF.ICCID data, sw = self._scc.update_binary('2fe2', enc_iccid(p['iccid'])) # select DF_GSM - r = self._scc.select_file(['7f20']) + r = self._scc.select_path(['7f20']) # set Ki in proprietary file data, sw = self._scc.update_binary('00FF', p['ki']) @@ -921,7 +921,7 @@ # EF.SMSP if p.get('smsp'): - r = self._scc.select_file(['3f00', '7f10']) + r = self._scc.select_path(['3f00', '7f10']) data, sw = self._scc.update_record('6f42', 1, lpad(p['smsp'], 104), force_len=True) # EF.MSISDN @@ -932,7 +932,7 @@ msisdn = enc_msisdn(p['msisdn']) data = 'ff' * 20 + msisdn + 'ff' * 2 - r = self._scc.select_file(['3f00', '7f10']) + r = self._scc.select_path(['3f00', '7f10']) data, sw = self._scc.update_record('6F40', 1, data, force_len=True) @@ -1106,12 +1106,12 @@ self._scc.verify_chv(0x0A, h2b(p['pin_adm'])) # select MF - r = self._scc.select_file(['3f00']) + r = self._scc.select_path(['3f00']) # write EF.ICCID data, sw = self._scc.update_binary('2fe2', enc_iccid(p['iccid'])) - r = self._scc.select_file(['7ff0']) + r = self._scc.select_path(['7ff0']) # set Ki in proprietary file data, sw = self._scc.update_binary('FF02', p['ki']) @@ -1120,7 +1120,7 @@ data, sw = self._scc.update_binary('FF01', p['opc']) # select DF_GSM - r = self._scc.select_file(['7f20']) + r = self._scc.select_path(['7f20']) # write EF.IMSI data, sw = self._scc.update_binary('6f07', enc_imsi(p['imsi'])) @@ -1269,7 +1269,7 @@ print("Warning: Programming of the ICCID is not implemented for this type of card.") # select DF_GSM - self._scc.select_file(['7f20']) + self._scc.select_path(['7f20']) # write EF.IMSI if p.get('imsi'): @@ -1307,7 +1307,7 @@ # EF.SMSP if p.get('smsp'): - r = self._scc.select_file(['3f00', '7f10']) + r = self._scc.select_path(['3f00', '7f10']) data, sw = self._scc.update_record('6f42', 1, lpad(p['smsp'], 104), force_len=True) # EF.MSISDN @@ -1318,7 +1318,7 @@ msisdn = enc_msisdn(p['msisdn']) content = 'ff' * 20 + msisdn + 'ff' * 2 - r = self._scc.select_file(['3f00', '7f10']) + r = self._scc.select_path(['3f00', '7f10']) data, sw = self._scc.update_record('6F40', 1, content, force_len=True) # EF.ACC @@ -1332,8 +1332,8 @@ # update EF-SIM_AUTH_KEY (and EF-USIM_AUTH_KEY_2G, which is # hard linked to EF-USIM_AUTH_KEY) - self._scc.select_file(['3f00']) - self._scc.select_file(['a515']) + self._scc.select_path(['3f00']) + self._scc.select_path(['a515']) if p.get('ki'): self._scc.update_binary('6f20', p['ki'], 1) if p.get('opc'): diff --git a/pySim/commands.py b/pySim/commands.py index 327de57..d6159ea 100644 --- a/pySim/commands.py +++ b/pySim/commands.py @@ -99,7 +99,7 @@ def sel_ctrl(self, value): self._sel_ctrl = value - def try_select_file(self, dir_list): + def try_select_path(self, dir_list): rv = [] if type(dir_list) is not list: dir_list = [dir_list] @@ -110,7 +110,7 @@ return rv return rv - def select_file(self, dir_list): + def select_path(self, dir_list): rv = [] if type(dir_list) is not list: dir_list = [dir_list] @@ -124,7 +124,7 @@ return self._tp.send_apdu_checksw(self.cla_byte + "a4" + "0404" + aidlen + aid) def read_binary(self, ef, length=None, offset=0): - r = self.select_file(ef) + r = self.select_path(ef) if len(r[-1]) == 0: return (None, None) if length is None: @@ -142,7 +142,7 @@ return total_data, sw def update_binary(self, ef, data, offset=0, verify=False): - self.select_file(ef) + self.select_path(ef) pdu = self.cla_byte + 'd6%04x%02x' % (offset, len(data) // 2) + data res = self._tp.send_apdu_checksw(pdu) if verify: @@ -155,13 +155,13 @@ raise ValueError('Binary verification failed (expected %s, got %s)' % (data.lower(), res[0].lower())) def read_record(self, ef, rec_no): - r = self.select_file(ef) + r = self.select_path(ef) rec_length = self.__record_len(r) pdu = self.cla_byte + 'b2%02x04%02x' % (rec_no, rec_length) return self._tp.send_apdu(pdu) def update_record(self, ef, rec_no, data, force_len=False, verify=False): - r = self.select_file(ef) + r = self.select_path(ef) if not force_len: rec_length = self.__record_len(r) if (len(data) // 2 != rec_length): @@ -180,21 +180,21 @@ raise ValueError('Record verification failed (expected %s, got %s)' % (data.lower(), res[0].lower())) def record_size(self, ef): - r = self.select_file(ef) + r = self.select_path(ef) return self.__record_len(r) def record_count(self, ef): - r = self.select_file(ef) + r = self.select_path(ef) return self.__len(r) // self.__record_len(r) def binary_size(self, ef): - r = self.select_file(ef) + r = self.select_path(ef) return self.__len(r) def run_gsm(self, rand): if len(rand) != 32: raise ValueError('Invalid rand') - self.select_file(['3f00', '7f20']) + self.select_path(['3f00', '7f20']) return self._tp.send_apdu(self.cla_byte + '88000010' + rand) def reset_card(self): -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23172 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I63e01155de4ae47aeed8500708c0eb6580c7b8d1 Gerrit-Change-Number: 23172 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 Mar 2 06:36:07 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 2 Mar 2021 06:36:07 +0000 Subject: Change in pysim[master]: commands.py: Introduce a real select_file() method References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/23173 ) Change subject: commands.py: Introduce a real select_file() method ...................................................................... commands.py: Introduce a real select_file() method This method, like select_adf(), only selects a single file ID and unlike select_path() returns the actual status words returned by the card. Change-Id: I8bc86654c6d79f2428e196cc8a401e12d93a676b --- M pySim/commands.py 1 file changed, 4 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/73/23173/1 diff --git a/pySim/commands.py b/pySim/commands.py index d6159ea..2fb1041 100644 --- a/pySim/commands.py +++ b/pySim/commands.py @@ -115,10 +115,13 @@ if type(dir_list) is not list: dir_list = [dir_list] for i in dir_list: - data, sw = self._tp.send_apdu_checksw(self.cla_byte + "a4" + self.sel_ctrl + "02" + i) + data, sw = self.select_file(i) rv.append(data) return rv + def select_file(self, fid): + return self._tp.send_apdu_checksw(self.cla_byte + "a4" + self.sel_ctrl + "02" + fid) + def select_adf(self, aid): aidlen = ("0" + format(len(aid) // 2, 'x'))[-2:] return self._tp.send_apdu_checksw(self.cla_byte + "a4" + "0404" + aidlen + aid) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23173 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I8bc86654c6d79f2428e196cc8a401e12d93a676b Gerrit-Change-Number: 23173 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 Mar 2 06:36:08 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 2 Mar 2021 06:36:08 +0000 Subject: Change in pysim[master]: start using python3 bytearray for our b2h/h2b types References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/23174 ) Change subject: start using python3 bytearray for our b2h/h2b types ...................................................................... start using python3 bytearray for our b2h/h2b types The code was written long ago, when the python3 bytearray type probably didn't exist yet, or was at least not known. Let's stop using string types with binary bytes inside, and instead standardize on two types: * bytearray for binary data * string for hexadecimal nibbles representing that binary data Change-Id: I8aca84b6280f9702b0e2aba2c9759b4f312ab6a9 --- M pySim/utils.py 1 file changed, 8 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/74/23174/1 diff --git a/pySim/utils.py b/pySim/utils.py index 915562f..52d2259 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -22,10 +22,12 @@ def h2b(s): - return ''.join([chr((int(x,16)<<4)+int(y,16)) for x,y in zip(s[0::2], s[1::2])]) + """convert from a string of hex nibbles to a sequence of bytes""" + return bytearray.fromhex(s) -def b2h(s): - return ''.join(['%02x'%ord(x) for x in s]) +def b2h(b): + """convert from a sequence of bytes to a string of hex nibbles""" + return b.hex() def h2i(s): return [(int(x,16)<<4)+int(y,16) for x,y in zip(s[0::2], s[1::2])] @@ -334,7 +336,7 @@ msisdn_lhv = ef_msisdn[xlen:] # Parse the length (in bytes) of the BCD encoded number - bcd_len = ord(msisdn_lhv[0]) + bcd_len = msisdn_lhv[0] # BCD length = length of dial num (max. 10 bytes) + 1 byte ToN and NPI if bcd_len == 0xff: return None @@ -342,8 +344,8 @@ raise ValueError("Length of MSISDN (%d bytes) is out of range" % bcd_len) # Parse ToN / NPI - ton = (ord(msisdn_lhv[1]) >> 4) & 0x07 - npi = ord(msisdn_lhv[1]) & 0x0f + ton = (msisdn_lhv[1] >> 4) & 0x07 + npi = msisdn_lhv[1] & 0x0f bcd_len -= 1 # No MSISDN? -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23174 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I8aca84b6280f9702b0e2aba2c9759b4f312ab6a9 Gerrit-Change-Number: 23174 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 Mar 2 06:43:14 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 2 Mar 2021 06:43:14 +0000 Subject: Change in pysim[master]: Add a new pySim-shell program References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/23175 ) Change subject: Add a new pySim-shell program ...................................................................... Add a new pySim-shell program pySim-prog was nice when there were only 5 parameters on a SIM that we could program, and where the use case was pretty limited. Today, we have SIM/USIM/ISIM cards with hundreds of files and even more parameters to program. We cannot add a command line argument for each file to pySim-prog. Instead, this introduces an interactive command-line shell / REPL, in which one can navigate the file system of the card, read and update files both in raw format and in decoded/parsed format. The idea is primarily inspired by Henryk Ploatz' venerable cyberflex-shell, but implemented on a more modern basis using the cmd2 python module. Most code by Harald Welte. Some bug fixes by Philipp Maier have been squashed. Change-Id: Iad117596e922223bdc1e5b956f84844b7c577e02 Related: OS#4963 --- A pySim-shell.py M pySim/exceptions.py A pySim/filesystem.py A pySim/ts_102_221.py M pySim/ts_31_102.py M pySim/ts_31_103.py M pySim/ts_51_011.py 7 files changed, 1,799 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/75/23175/1 diff --git a/pySim-shell.py b/pySim-shell.py new file mode 100755 index 0000000..ce9630a --- /dev/null +++ b/pySim-shell.py @@ -0,0 +1,213 @@ +#!/usr/bin/env python3 + +# Interactive shell for working with SIM / UICC / USIM / ISIM cards +# +# (C) 2021 by Harald Welte +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +from typing import List + +import json + +import cmd2 +from cmd2 import style, fg, bg +from cmd2 import CommandSet, with_default_category, with_argparser +import argparse + +import os +import sys +from optparse import OptionParser + +from pySim.ts_51_011 import EF, DF, EF_SST_map, EF_AD_mode_map +from pySim.ts_31_102 import EF_UST_map, EF_USIM_ADF_map +from pySim.ts_31_103 import EF_IST_map, EF_ISIM_ADF_map + +from pySim.exceptions import * +from pySim.commands import SimCardCommands +from pySim.cards import card_detect, Card +from pySim.utils import h2b, swap_nibbles, rpad, h2s +from pySim.utils import dec_st, init_reader, sanitize_pin_adm +from pySim.card_handler import card_handler + +from pySim.filesystem import CardMF, RuntimeState +from pySim.ts_51_011 import CardProfileSIM, DF_TELECOM, DF_GSM +from pySim.ts_102_221 import CardProfileUICC +from pySim.ts_31_102 import ADF_USIM +from pySim.ts_31_103 import ADF_ISIM + +class PysimApp(cmd2.Cmd): + CUSTOM_CATEGORY = 'pySim Commands' + def __init__(self, card, rs): + basic_commands = [Iso7816Commands(), UsimCommands()] + super().__init__(persistent_history_file='~/.pysim_shell_history', allow_cli_args=False, + use_ipython=True, auto_load_commands=False, command_sets=basic_commands) + self.intro = style('Welcome to pySim-shell!', fg=fg.red) + self.default_category = 'pySim-shell built-in commands' + self.card = card + self.rs = rs + self.py_locals = { 'card': self.card, 'rs' : self.rs } + self.card.read_aids() + self.poutput('AIDs on card: %s' % (self.card._aids)) + self.numeric_path = False + self.add_settable(cmd2.Settable('numeric_path', bool, 'Print File IDs instead of names', + onchange_cb=self._onchange_numeric_path)) + self.update_prompt() + + def _onchange_numeric_path(self, param_name, old, new): + self.update_prompt() + + def update_prompt(self): + path_list = self.rs.selected_file.fully_qualified_path(not self.numeric_path) + self.prompt = 'pySIM-shell (%s)> ' % ('/'.join(path_list)) + + @cmd2.with_category(CUSTOM_CATEGORY) + def do_intro(self, _): + """Display the intro banner""" + self.poutput(self.intro) + + @cmd2.with_category(CUSTOM_CATEGORY) + def do_verify_adm(self, arg): + """VERIFY the ADM1 PIN""" + pin_adm = sanitize_pin_adm(arg) + self.card.verify_adm(h2b(pin_adm)) + + + + at with_default_category('ISO7816 Commands') +class Iso7816Commands(CommandSet): + def __init__(self): + super().__init__() + + def do_select(self, opts): + """SELECT a File (ADF/DF/EF)""" + path = opts.arg_list[0] + fcp_dec = self._cmd.rs.select(path, self._cmd) + self._cmd.update_prompt() + self._cmd.poutput(json.dumps(fcp_dec, indent=4)) + + def complete_select(self, text, line, begidx, endidx) -> List[str]: + """Command Line tab completion for SELECT""" + index_dict = { 1: self._cmd.rs.selected_file.get_selectable_names() } + return self._cmd.index_based_complete(text, line, begidx, endidx, index_dict=index_dict) + + verify_chv_parser = argparse.ArgumentParser() + verify_chv_parser.add_argument('--chv-nr', type=int, default=1, help='CHV Number') + verify_chv_parser.add_argument('code', help='CODE/PIN/PUK') + + @cmd2.with_argparser(verify_chv_parser) + def do_verify_chv(self, opts): + """Verify (authenticate) using specified CHV (PIN)""" + (data, sw) = self._cmd.card._scc.verify_chv(opts.chv_nr, opts.code) + self._cmd.poutput(data) + + + + + at with_default_category('USIM Commands') +class UsimCommands(CommandSet): + def __init__(self): + super().__init__() + + def do_read_ust(self, _): + """Read + Display the EF.UST""" + self._cmd.card.select_adf_by_aid(adf="usim") + (res, sw) = self._cmd.card.read_ust() + self._cmd.poutput(res[0]) + self._cmd.poutput(res[1]) + + def do_read_ehplmn(self, _): + """Read EF.EHPLMN""" + self._cmd.card.select_adf_by_aid(adf="usim") + (res, sw) = self._cmd.card.read_ehplmn() + self._cmd.poutput(res) + +def parse_options(): + + parser = OptionParser(usage="usage: %prog [options]") + + parser.add_option("-d", "--device", dest="device", metavar="DEV", + help="Serial Device for SIM access [default: %default]", + default="/dev/ttyUSB0", + ) + parser.add_option("-b", "--baud", dest="baudrate", type="int", metavar="BAUD", + help="Baudrate used for SIM access [default: %default]", + default=9600, + ) + parser.add_option("-p", "--pcsc-device", dest="pcsc_dev", type='int', metavar="PCSC", + help="Which PC/SC reader number for SIM access", + default=None, + ) + parser.add_option("--modem-device", dest="modem_dev", metavar="DEV", + help="Serial port of modem for Generic SIM Access (3GPP TS 27.007)", + default=None, + ) + parser.add_option("--modem-baud", dest="modem_baud", type="int", metavar="BAUD", + help="Baudrate used for modem's port [default: %default]", + default=115200, + ) + parser.add_option("--osmocon", dest="osmocon_sock", metavar="PATH", + help="Socket path for Calypso (e.g. Motorola C1XX) based reader (via OsmocomBB)", + default=None, + ) + + parser.add_option("-a", "--pin-adm", dest="pin_adm", + help="ADM PIN used for provisioning (overwrites default)", + ) + parser.add_option("-A", "--pin-adm-hex", dest="pin_adm_hex", + help="ADM PIN used for provisioning, as hex string (16 characters long", + ) + + (options, args) = parser.parse_args() + + if args: + parser.error("Extraneous arguments") + + return options + + + +if __name__ == '__main__': + + # Parse options + opts = parse_options() + + # Init card reader driver + sl = init_reader(opts) + if (sl == None): + exit(1) + + # Create command layer + scc = SimCardCommands(transport=sl) + + sl.wait_for_card(); + + card_handler = card_handler(sl) + + card = card_detect("auto", scc) + if card is None: + print("No card detected!") + sys.exit(2) + + profile = CardProfileUICC() + rs = RuntimeState(card, profile) + + # FIXME: do this dynamically + rs.mf.add_file(DF_TELECOM()) + rs.mf.add_file(DF_GSM()) + rs.mf.add_application(ADF_USIM()) + rs.mf.add_application(ADF_ISIM()) + + app = PysimApp(card, rs) + app.cmdloop() diff --git a/pySim/exceptions.py b/pySim/exceptions.py index fdf07aa..a450d79 100644 --- a/pySim/exceptions.py +++ b/pySim/exceptions.py @@ -41,8 +41,13 @@ class SwMatchError(Exception): """Raised when an operation specifies an expected SW but the actual SW from the card doesn't match.""" - def __init__(self, sw_actual, sw_expected): + def __init__(self, sw_actual, sw_expected, rs=None): self.sw_actual = sw_actual self.sw_expected = sw_expected + self.rs = rs def __str__(self): + if self.rs: + r = self.rs.interpret_sw(sw_actual) + if r: + return "SW %s: %s - %s" % (self.sw_actual, r[0], r[1]) return "Received %s but expected %s from card" % (self.sw_actual, self.sw_expected) diff --git a/pySim/filesystem.py b/pySim/filesystem.py new file mode 100644 index 0000000..2bcbe10 --- /dev/null +++ b/pySim/filesystem.py @@ -0,0 +1,715 @@ +# coding=utf-8 +"""Representation of the ISO7816-4 filesystem model. + +The File (and its derived classes) represent the structure / hierarchy +of the ISO7816-4 smart card file system with the MF, DF, EF and ADF +entries, further sub-divided into the EF sub-types Transparent, Linear Fixed, etc. + +The classes are intended to represent the *specification* of the filesystem, +not the actual contents / runtime state of interacting with a given smart card. + +(C) 2021 by Harald Welte + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +""" + +import code +import json + +import cmd2 +from cmd2 import CommandSet, with_default_category, with_argparser +import argparse + +from pySim.utils import sw_match, h2b, b2h +from pySim.exceptions import * + +class CardFile(object): + """Base class for all objects in the smart card filesystem. + Serve as a common ancestor to all other file types; rarely used directly. + """ + RESERVED_NAMES = ['..', '.', '/', 'MF'] + RESERVED_FIDS = ['3f00'] + + def __init__(self, fid=None, sfid=None, name=None, desc=None, parent=None): + if not isinstance(self, CardADF) and fid == None: + raise ValueError("fid is mandatory") + if fid: + fid = fid.lower() + self.fid = fid # file identifier + self.sfid = sfid # short file identifier + self.name = name # human readable name + self.desc = desc # human readable description + self.parent = parent + if self.parent and self.parent != self and self.fid: + self.parent.add_file(self) + self.shell_commands = [] + + def __str__(self): + if self.name: + return self.name + else: + return self.fid + + def _path_element(self, prefer_name): + if prefer_name and self.name: + return self.name + else: + return self.fid + + def fully_qualified_path(self, prefer_name=True): + """Return fully qualified path to file as list of FID or name strings.""" + if self.parent != self: + ret = self.parent.fully_qualified_path(prefer_name) + else: + ret = [] + ret.append(self._path_element(prefer_name)) + return ret + + def get_mf(self): + """Return the MF (root) of the file system.""" + if self.parent == None: + return None + # iterate towards the top. MF has parent == self + node = self + while node.parent != node: + node = node.parent + return node + + def _get_self_selectables(self, alias=None): + """Return a dict of {'identifier': self} tuples""" + sels = {} + if alias: + sels.update({alias: self}) + if self.fid: + sels.update({self.fid: self}) + if self.name: + sels.update({self.name: self}) + return sels + + def get_selectables(self): + """Return a dict of {'identifier': File} that is selectable from the current file.""" + # we can always select ourself + sels = self._get_self_selectables('.') + # we can always select our parent + sels = self.parent._get_self_selectables('..') + # if we have a MF, we can always select its applications + mf = self.get_mf() + if mf: + sels.update(mf._get_self_selectables()) + sels.update(mf.get_app_selectables()) + return sels + + def get_selectable_names(self): + """Return a list of strings for all identifiers that are selectable from the current file.""" + sels = self.get_selectables() + return sels.keys() + + def decode_select_response(self, data_hex): + """Decode the response to a SELECT command.""" + return self.parent.decode_select_response(data_hex) + + +class CardDF(CardFile): + """DF (Dedicated File) in the smart card filesystem. Those are basically sub-directories.""" + def __init__(self, **kwargs): + if not isinstance(self, CardADF): + if not 'fid' in kwargs: + raise TypeError('fid is mandatory for all DF') + super().__init__(**kwargs) + self.children = dict() + + def __str__(self): + return "DF(%s)" % (super().__str__()) + + def add_file(self, child, ignore_existing=False): + """Add a child (DF/EF) to this DF""" + if not isinstance(child, CardFile): + raise TypeError("Expected a File instance") + if child.name in CardFile.RESERVED_NAMES: + raise ValueError("File name %s is a reserved name" % (child.name)) + if child.fid in CardFile.RESERVED_FIDS: + raise ValueError("File fid %s is a reserved name" % (child.fid)) + if child.fid in self.children: + if ignore_existing: + return + raise ValueError("File with given fid %s already exists" % (child.fid)) + if self.lookup_file_by_sfid(child.sfid): + raise ValueError("File with given sfid %s already exists" % (child.sfid)) + if self.lookup_file_by_name(child.name): + if ignore_existing: + return + raise ValueError("File with given name %s already exists" % (child.name)) + self.children[child.fid] = child + child.parent = self + + def add_files(self, children, ignore_existing=False): + """Add a list of child (DF/EF) to this DF""" + for child in children: + self.add_file(child, ignore_existing) + + def get_selectables(self): + """Get selectable (DF/EF names) from current DF""" + # global selectables + our children + sels = super().get_selectables() + sels.update({x.fid: x for x in self.children.values() if x.fid}) + sels.update({x.name: x for x in self.children.values() if x.name}) + return sels + + def lookup_file_by_name(self, name): + if name == None: + return None + for i in self.children.values(): + if i.name and i.name == name: + return i + return None + + def lookup_file_by_sfid(self, sfid): + if sfid == None: + return None + for i in self.children.values(): + if i.sfid == int(sfid): + return i + return None + + def lookup_file_by_fid(self, fid): + if fid in self.children: + return self.children[fid] + return None + + +class CardMF(CardDF): + """MF (Master File) in the smart card filesystem""" + def __init__(self, **kwargs): + # can be overridden; use setdefault + kwargs.setdefault('fid', '3f00') + kwargs.setdefault('name', 'MF') + kwargs.setdefault('desc', 'Master File (directory root)') + # cannot be overridden; use assignment + kwargs['parent'] = self + super().__init__(**kwargs) + self.applications = dict() + + def __str__(self): + return "MF(%s)" % (self.fid) + + def add_application(self, app): + """Add an ADF (Application Dedicated File) to the MF""" + if not isinstance(app, CardADF): + raise TypeError("Expected an ADF instance") + if app.aid in self.applications: + raise ValueError("AID %s already exists" % (app.aid)) + self.applications[app.aid] = app + app.parent=self + + def get_app_names(self): + """Get list of completions (AID names)""" + return [x.name for x in self.applications] + + def get_selectables(self): + """Get list of completions (DF/EF/ADF names) from current DF""" + sels = super().get_selectables() + sels.update(self.get_app_selectables()) + return sels + + def get_app_selectables(self): + # applications by AID + name + sels = {x.aid: x for x in self.applications.values()} + sels.update({x.name: x for x in self.applications.values() if x.name}) + return sels + + def decode_select_response(self, data_hex): + """Decode the response to a SELECT command.""" + return data_hex + + + +class CardADF(CardDF): + """ADF (Application Dedicated File) in the smart card filesystem""" + def __init__(self, aid, **kwargs): + super().__init__(**kwargs) + self.aid = aid # Application Identifier + if self.parent: + self.parent.add_application(self) + + def __str__(self): + return "ADF(%s)" % (self.aid) + + def _path_element(self, prefer_name): + if self.name and prefer_name: + return self.name + else: + return self.aid + + +class CardEF(CardFile): + """EF (Entry File) in the smart card filesystem""" + def __init__(self, *, fid, **kwargs): + kwargs['fid'] = fid + super().__init__(**kwargs) + + def __str__(self): + return "EF(%s)" % (super().__str__()) + + def get_selectables(self): + """Get list of completions (EF names) from current DF""" + #global selectable names + those of the parent DF + sels = super().get_selectables() + sels.update({x.name:x for x in self.parent.children.values() if x != self}) + return sels + + +class TransparentEF(CardEF): + """Transparent EF (Entry File) in the smart card filesystem""" + + @with_default_category('Transparent EF Commands') + class ShellCommands(CommandSet): + def __init__(self): + super().__init__() + + read_bin_parser = argparse.ArgumentParser() + read_bin_parser.add_argument('--offset', type=int, default=0, help='Byte offset for start of read') + read_bin_parser.add_argument('--length', type=int, help='Number of bytes to read') + @cmd2.with_argparser(read_bin_parser) + def do_read_binary(self, opts): + """Read binary data from a transparent EF""" + (data, sw) = self._cmd.rs.read_binary(opts.length, opts.offset) + self._cmd.poutput(data) + + def do_read_binary_decoded(self, opts): + """Read + decode data from a transparent EF""" + (data, sw) = self._cmd.rs.read_binary_dec() + self._cmd.poutput(json.dumps(data, indent=4)) + + upd_bin_parser = argparse.ArgumentParser() + upd_bin_parser.add_argument('--offset', type=int, default=0, help='Byte offset for start of read') + upd_bin_parser.add_argument('data', help='Data bytes (hex format) to write') + @cmd2.with_argparser(upd_bin_parser) + def do_update_binary(self, opts): + """Update (Write) data of a transparent EF""" + (data, sw) = self._cmd.rs.update_binary(opts.data, opts.offset) + self._cmd.poutput(data) + + upd_bin_dec_parser = argparse.ArgumentParser() + upd_bin_dec_parser.add_argument('data', help='Abstract data (JSON format) to write') + @cmd2.with_argparser(upd_bin_dec_parser) + def do_update_binary_decoded(self, opts): + """Encode + Update (Write) data of a transparent EF""" + data_json = json.loads(opts.data) + (data, sw) = self._cmd.rs.update_binary_dec(data_json) + self._cmd.poutput(json.dumps(data, indent=4)) + + def __init__(self, fid, sfid=None, name=None, desc=None, parent=None, size={1,None}): + super().__init__(fid=fid, sfid=sfid, name=name, desc=desc, parent=parent) + self.size = size + self.shell_commands = [self.ShellCommands()] + + def decode_bin(self, raw_bin_data): + """Decode raw (binary) data into abstract representation. Overloaded by specific classes.""" + method = getattr(self, '_decode_bin', None) + if callable(method): + return method(raw_bin_data) + method = getattr(self, '_decode_hex', None) + if callable(method): + return method(b2h(raw_bin_data)) + return {'raw': raw_bin_data.hex()} + + def decode_hex(self, raw_hex_data): + """Decode raw (hex string) data into abstract representation. Overloaded by specific classes.""" + method = getattr(self, '_decode_hex', None) + if callable(method): + return method(raw_hex_data) + raw_bin_data = h2b(raw_hex_data) + method = getattr(self, '_decode_bin', None) + if callable(method): + return method(raw_bin_data) + return {'raw': raw_bin_data.hex()} + + def encode_bin(self, abstract_data): + """Encode abstract representation into raw (binary) data. Overloaded by specific classes.""" + method = getattr(self, '_encode_bin', None) + if callable(method): + return method(abstract_data) + method = getattr(self, '_encode_hex', None) + if callable(method): + return h2b(method(abstract_data)) + raise NotImplementedError + + def encode_hex(self, abstract_data): + """Encode abstract representation into raw (hex string) data. Overloaded by specific classes.""" + method = getattr(self, '_encode_hex', None) + if callable(method): + return method(abstract_data) + method = getattr(self, '_encode_bin', None) + if callable(method): + raw_bin_data = method(abstract_data) + return b2h(raw_bin_data) + raise NotImplementedError + + +class LinFixedEF(CardEF): + """Linear Fixed EF (Entry File) in the smart card filesystem""" + + @with_default_category('Linear Fixed EF Commands') + class ShellCommands(CommandSet): + def __init__(self): + super().__init__() + + read_rec_parser = argparse.ArgumentParser() + read_rec_parser.add_argument('record_nr', type=int, help='Number of record to be read') + @cmd2.with_argparser(read_rec_parser) + def do_read_record(self, opts): + """Read a record from a record-oriented EF""" + (data, sw) = self._cmd.rs.read_record(opts.record_nr) + self._cmd.poutput(data) + + read_rec_dec_parser = argparse.ArgumentParser() + read_rec_dec_parser.add_argument('record_nr', type=int, help='Number of record to be read') + @cmd2.with_argparser(read_rec_dec_parser) + def do_read_record_decoded(self, opts): + """Read + decode a record from a record-oriented EF""" + (data, sw) = self._cmd.rs.read_record_dec(opts.record_nr) + self._cmd.poutput(json.dumps(data, indent=4)) + + upd_rec_parser = argparse.ArgumentParser() + upd_rec_parser.add_argument('record_nr', type=int, help='Number of record to be read') + upd_rec_parser.add_argument('data', help='Data bytes (hex format) to write') + @cmd2.with_argparser(upd_rec_parser) + def do_update_record(self, opts): + """Update (write) data to a record-oriented EF""" + (data, sw) = self._cmd.rs.update_record(opts.record_nr, opts.data) + self._cmd.poutput(data) + + upd_rec_dec_parser = argparse.ArgumentParser() + upd_rec_dec_parser.add_argument('record_nr', type=int, help='Number of record to be read') + upd_rec_dec_parser.add_argument('data', help='Data bytes (hex format) to write') + @cmd2.with_argparser(upd_rec_dec_parser) + def do_update_record_decoded(self, opts): + """Encode + Update (write) data to a record-oriented EF""" + (data, sw) = self._cmd.rs.update_record_dec(opts.record_nr, opts.data) + self._cmd.poutput(data) + + def __init__(self, fid, sfid=None, name=None, desc=None, parent=None, rec_len={1,None}): + super().__init__(fid=fid, sfid=sfid, name=name, desc=desc, parent=parent) + self.rec_len = rec_len + self.shell_commands = [self.ShellCommands()] + + def decode_record_hex(self, raw_hex_data): + """Decode raw (hex string) data into abstract representation. Overloaded by specific classes.""" + method = getattr(self, '_decode_record_hex', None) + if callable(method): + return method(raw_hex_data) + raw_bin_data = h2b(raw_hex_data) + method = getattr(self, '_decode_record_bin', None) + if callable(method): + return method(raw_bin_data) + return {'raw': raw_bin_data.hex()} + + def decode_record_bin(self, raw_bin_data): + """Decode raw (binary) data into abstract representation. Overloaded by specific classes.""" + method = getattr(self, '_decode_record_bin', None) + if callable(method): + return method(raw_bin_data) + raw_hex_data = b2h(raw_bin_data) + method = getattr(self, '_decode_record_hex', None) + if callable(method): + return method(raw_hex_data) + return {'raw': raw_hex_data} + + def encode_record_hex(self, abstract_data): + """Encode abstract representation into raw (hex string) data. Overloaded by specific classes.""" + method = getattr(self, '_encode_record_hex', None) + if callable(method): + return method(abstract_data) + method = getattr(self, '_encode_record_bin', None) + if callable(method): + raw_bin_data = method(abstract_data) + return b2h(raww_bin_data) + raise NotImplementedError + + def encode_record_bin(self, abstract_data): + """Encode abstract representation into raw (binary) data. Overloaded by specific classes.""" + method = getattr(self, '_encode_record_bin', None) + if callable(method): + return method(abstract_data) + method = getattr(self, '_encode_record_hex', None) + if callable(method): + return b2h(method(abstract_data)) + raise NotImplementedError + +class CyclicEF(LinFixedEF): + """Cyclic EF (Entry File) in the smart card filesystem""" + # we don't really have any special support for those; just recycling LinFixedEF here + def __init__(self, fid, sfid=None, name=None, desc=None, parent=None, rec_len={1,None}): + super().__init__(fid=fid, sfid=sfid, name=name, desc=desc, parent=parent, rec_len=rec_len) + +class TransRecEF(TransparentEF): + """Transparent EF (Entry File) containing fixed-size records. + These are the real odd-balls and mostly look like mistakes in the specification: + Specified as 'transparent' EF, but actually containing several fixed-length records + inside. + We add a special class for those, so the user only has to provide encoder/decoder functions + for a record, while this class takes care of split / merge of records. + """ + def __init__(self, fid, sfid=None, name=None, desc=None, parent=None, rec_len=None, size={1,None}): + super().__init__(fid=fid, sfid=sfid, name=name, desc=desc, parent=parent, size=size) + self.rec_len = rec_len + + def decode_record_hex(self, raw_hex_data): + """Decode raw (hex string) data into abstract representation. Overloaded by specific classes.""" + method = getattr(self, '_decode_record_hex', None) + if callable(method): + return method(raw_hex_data) + method = getattr(self, '_decode_record_bin', None) + if callable(method): + raw_bin_data = h2b(raw_hex_data) + return method(raw_bin_data) + return {'raw': raw_hex_data} + + def decode_record_bin(self, raw_bin_data): + """Decode raw (hex string) data into abstract representation. Overloaded by specific classes.""" + method = getattr(self, '_decode_record_bin', None) + if callable(method): + return method(raw_bin_data) + raw_hex_data = b2h(raw_bin_data) + method = getattr(self, '_decode_record_hex', None) + if callable(method): + return method(raw_hex_data) + return {'raw': raw_hex_data} + + def encode_record_hex(self, abstract_data): + """Encode abstract representation into raw (hex string) data. Overloaded by specific classes.""" + method = getattr(self, '_encode_record_hex', None) + if callable(method): + return method(abstract_data) + method = getattr(self, '_encode_record_bin', None) + if callable(method): + return h2b(method(abstract_data)) + raise NotImplementedError + + def encode_record_bin(self, abstract_data): + """Encode abstract representation into raw (binary) data. Overloaded by specific classes.""" + method = getattr(self, '_encode_record_bin', None) + if callable(method): + return method(abstract_data) + method = getattr(self, '_encode_record_hex', None) + if callable(method): + return h2b(method(abstract_data)) + raise NotImplementedError + + def _decode_bin(self, raw_bin_data): + chunks = [raw_bin_data[i:i+self.rec_len] for i in range(0, len(raw_bin_data), self.rec_len)] + return [self.decode_record_bin(x) for x in chunks] + + def _encode_bin(self, abstract_data): + chunks = [self.encode_record_bin(x) for x in abstract_data] + # FIXME: pad to file size + return b''.join(chunks) + + + + + +class RuntimeState(object): + """Represent the runtime state of a session with a card.""" + def __init__(self, card, profile): + self.mf = CardMF() + self.card = card + self.selected_file = self.mf + self.profile = profile + # add applications + MF-files from profile + for a in self.profile.applications: + self.mf.add_application(a) + for f in self.profile.files_in_mf: + self.mf.add_file(f) + + def get_cwd(self): + """Obtain the current working directory.""" + if isinstance(self.selected_file, CardDF): + return self.selected_file + else: + return self.selected_file.parent + + def get_application(self): + """Obtain the currently selected application (if any).""" + # iterate upwards from selected file; check if any is an ADF + node = self.selected_file + while node.parent != node: + if isinstance(node, CardADF): + return node + node = node.parent + return None + + def interpret_sw(self, sw): + """Interpret the given SW relative to the currently selected Application + or the underlying profile.""" + app = self.get_application() + if app: + # The application either comes with its own interpret_sw + # method or we will use the interpret_sw method from the + # card profile. + if hasattr(app, "interpret_sw"): + return app.interpret_sw(sw) + else: + return self.profile.interpret_sw(sw) + return app.interpret_sw(sw) + else: + return self.profile.interpret_sw(sw) + + def select(self, name, cmd_app=None): + """Change current directory""" + sels = self.selected_file.get_selectables() + if name in sels: + f = sels[name] + # unregister commands of old file + if cmd_app and self.selected_file.shell_commands: + for c in self.selected_file.shell_commands: + cmd_app.unregister_command_set(c) + try: + if isinstance(f, CardADF): + (data, sw) = self.card._scc.select_adf(f.aid) + else: + (data, sw) = self.card._scc.select_file(f.fid) + self.selected_file = f + except SwMatchError as swm: + k = self.interpret_sw(swm.sw_actual) + if not k: + raise(swm) + raise RuntimeError("%s: %s - %s" % (swm.sw_actual, k[0], k[1])) + # register commands of new file + if cmd_app and self.selected_file.shell_commands: + for c in self.selected_file.shell_commands: + cmd_app.register_command_set(c) + return f.decode_select_response(data) + #elif looks_like_fid(name): + else: + raise ValueError("Cannot select unknown %s" % (name)) + + def read_binary(self, length=None, offset=0): + if not isinstance(self.selected_file, TransparentEF): + raise TypeError("Only works with TransparentEF") + return self.card._scc.read_binary(self.selected_file.fid, length, offset) + + def read_binary_dec(self): + (data, sw) = self.read_binary() + dec_data = self.selected_file.decode_hex(data) + print("%s: %s -> %s" % (sw, data, dec_data)) + return (dec_data, sw) + + def update_binary(self, data_hex, offset=0): + if not isinstance(self.selected_file, TransparentEF): + raise TypeError("Only works with TransparentEF") + return self.card._scc.update_binary(self.selected_file.fid, data_hex, offset) + + def update_binary_dec(self, data): + data_hex = self.selected_file.encode_hex(data) + print("%s -> %s" % (data, data_hex)) + return self.update_binary(data_hex) + + def read_record(self, rec_nr=0): + if not isinstance(self.selected_file, LinFixedEF): + raise TypeError("Only works with Linear Fixed EF") + # returns a string of hex nibbles + return self.card._scc.read_record(self.selected_file.fid, rec_nr) + + def read_record_dec(self, rec_nr=0): + (data, sw) = self.read_record(rec_nr) + return (self.selected_file.decode_record_hex(data), sw) + + def update_record(self, rec_nr, data_hex): + if not isinstance(self.selected_file, LinFixedEF): + raise TypeError("Only works with Linear Fixed EF") + return self.card._scc.update_record(self.selected_file.fid, rec_nr, data_hex) + + def update_record_dec(self, rec_nr, data): + hex_data = self.selected_file.encode_record_hex(data) + return self.update_record(self, rec_nr, data_hex) + + + +class FileData(object): + """Represent the runtime, on-card data.""" + def __init__(self, fdesc): + self.desc = fdesc + self.fcp = None + + +def interpret_sw(sw_data, sw): + """Interpret a given status word within the profile. Returns tuple of + two strings""" + for class_str, swdict in sw_data.items(): + # first try direct match + if sw in swdict: + return (class_str, swdict[sw]) + # next try wildcard matches + for pattern, descr in swdict.items(): + if sw_match(sw, pattern): + return (class_str, descr) + return None + +class CardApplication(object): + """A card application is represented by an ADF (with contained hierarchy) and optionally + some SW definitions.""" + def __init__(self, name, adf=None, sw={}): + self.name = name + self.adf = adf + self.sw = sw + + def __str__(self): + return "APP(%s)" % (self.name) + + def interpret_sw(self, sw): + """Interpret a given status word within the application. Returns tuple of + two strings""" + return interpret_sw(self.sw, sw) + +class CardProfile(object): + """A Card Profile describes a card, it's filessystem hierarchy, an [initial] list of + applications as well as profile-specific SW and shell commands. Every card has + one card profile, but there may be multiple applications within that profile.""" + def __init__(self, name, desc=None, files_in_mf=[], sw=[], applications=[], shell_cmdsets=[]): + self.name = name + self.desc = desc + self.files_in_mf = files_in_mf + self.sw = sw + self.applications = applications + self.shell_cmdsets = shell_cmdsets + + def __str__(self): + return self.name + + def add_application(self, app): + self.applications.add(app) + + def interpret_sw(self, sw): + """Interpret a given status word within the profile. Returns tuple of + two strings""" + return interpret_sw(self.sw, sw) + + +###################################################################### + +if __name__ == '__main__': + mf = CardMF() + + adf_usim = ADF('a0000000871002', name='ADF_USIM') + mf.add_application(adf_usim) + df_pb = CardDF('5f3a', name='DF.PHONEBOOK') + adf_usim.add_file(df_pb) + adf_usim.add_file(TransparentEF('6f05', name='EF.LI', size={2,16})) + adf_usim.add_file(TransparentEF('6f07', name='EF.IMSI', size={9,9})) + + rss = RuntimeState(mf, None) + + interp = code.InteractiveConsole(locals={'mf':mf, 'rss':rss}) + interp.interact() diff --git a/pySim/ts_102_221.py b/pySim/ts_102_221.py new file mode 100644 index 0000000..256a697 --- /dev/null +++ b/pySim/ts_102_221.py @@ -0,0 +1,297 @@ +# coding=utf-8 +"""Utilities / Functions related to ETSI TS 102 221, the core UICC spec. + +(C) 2021 by Harald Welte + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +""" + +from pytlv.TLV import * +from struct import pack, unpack +from pySim.utils import * +from pySim.filesystem import * + + +FCP_TLV_MAP = { + '82': 'file_descriptor', + '83': 'file_identifier', + '84': 'df_name', + 'A5': 'proprietary_info', + '8A': 'life_cycle_status_int', + '8B': 'security_attrib_ref_expanded', + '8C': 'security_attrib_compact', + 'AB': 'security_attrib_espanded', + 'C6': 'pin_status_template_do', + '80': 'file_size', + '81': 'total_file_size', + '88': 'short_file_id', + } + +# ETSI TS 102 221 11.1.1.4.6 +FCP_Proprietary_TLV_MAP = { + '80': 'uicc_characteristics', + '81': 'application_power_consumption', + '82': 'minimum_app_clock_freq', + '83': 'available_memory', + '84': 'file_details', + '85': 'reserved_file_size', + '86': 'maximum_file_size', + '87': 'suported_system_commands', + '88': 'specific_uicc_env_cond', + '89': 'p2p_cat_secured_apdu', + # Additional private TLV objects (bits b7 and b8 of the first byte of the tag set to '1') + } + +# ETSI TS 102 221 11.1.1.4.3 +def interpret_file_descriptor(in_hex): + in_bin = h2b(in_hex) + out = {} + ft_dict = { + 0: 'working_ef', + 1: 'internal_ef', + 7: 'df' + } + fs_dict = { + 0: 'no_info_given', + 1: 'transparent', + 2: 'linear_fixed', + 6: 'cyclic', + } + fdb = in_bin[0] + ftype = (fdb >> 3) & 7 + fstruct = fdb & 7 + out['shareable'] = True if fdb & 0x40 else False + out['file_type'] = ft_dict[ftype] if ftype in ft_dict else ftype + out['structure'] = fs_dict[fstruct] if fstruct in fs_dict else fstruct + if len(in_bin) >= 5: + out['record_len'] = int.from_bytes(in_bin[2:4], 'big') + out['num_of_rec'] = int.from_bytes(in_bin[4:5], 'big') + return out + +# ETSI TS 102 221 11.1.1.4.9 +def interpret_life_cycle_sts_int(in_hex): + lcsi = int(in_hex, 16) + if lcsi == 0x00: + return 'no_information' + elif lcsi == 0x01: + return 'creation' + elif lcsi == 0x03: + return 'initialization' + elif lcsi & 0x05 == 0x05: + return 'operational_activated' + elif lcsi & 0x05 == 0x04: + return 'operational_deactivated' + elif lcsi & 0xc0 == 0xc0: + return 'termination' + else: + return in_hex + +# ETSI TS 102 221 11.1.1.4.10 +FCP_Pin_Status_TLV_MAP = { + '90': 'ps_do', + '95': 'usage_qualifier', + '83': 'key_reference', + } + +def interpret_ps_templ_do(in_hex): + # cannot use the 'TLV' parser due to repeating tags + #psdo_tlv = TLV(FCP_Pin_Status_TLV_MAP) + #return psdo_tlv.parse(in_hex) + return in_hex + +# 'interpreter' functions for each tag +FCP_interpreter_map = { + '80': lambda x: int(x, 16), + '82': interpret_file_descriptor, + '8A': interpret_life_cycle_sts_int, + 'C6': interpret_ps_templ_do, + } + +FCP_prorietary_interpreter_map = { + '83': lambda x: int(x, 16), + } + +# pytlv unfortunately doesn't have a setting using which we can make it +# accept unknown tags. It also doesn't raise a specific exception type but +# just the generic ValueError, so we cannot ignore those either. Instead, +# we insert a dict entry for every possible proprietary tag permitted +def fixup_fcp_proprietary_tlv_map(tlv_map): + if 'D0' in tlv_map: + return + for i in range(0xd0, 0xff): + i_hex = i2h([i]).upper() + tlv_map[i_hex] = 'proprietary_' + i_hex + + +def tlv_key_replace(inmap, indata): + def newkey(inmap, key): + if key in inmap: + return inmap[key] + else: + return key + return {newkey(inmap, d[0]): d[1] for d in indata.items()} + +def tlv_val_interpret(inmap, indata): + def newval(inmap, key, val): + if key in inmap: + return inmap[key](val) + else: + return val + return {d[0]: newval(inmap, d[0], d[1]) for d in indata.items()} + + +# ETSI TS 102 221 Section 11.1.1.3 +def decode_select_response(resp_hex): + fixup_fcp_proprietary_tlv_map(FCP_Proprietary_TLV_MAP) + resp_hex = resp_hex.upper() + # outer layer + fcp_base_tlv = TLV(['62']) + fcp_base = fcp_base_tlv.parse(resp_hex) + # actual FCP + fcp_tlv = TLV(FCP_TLV_MAP) + fcp = fcp_tlv.parse(fcp_base['62']) + # further decode the proprietary information + if fcp['A5']: + prop_tlv = TLV(FCP_Proprietary_TLV_MAP) + prop = prop_tlv.parse(fcp['A5']) + fcp['A5'] = tlv_val_interpret(FCP_prorietary_interpreter_map, prop) + fcp['A5'] = tlv_key_replace(FCP_Proprietary_TLV_MAP, fcp['A5']) + # finally make sure we get human-readable keys in the output dict + r = tlv_val_interpret(FCP_interpreter_map, fcp) + return tlv_key_replace(FCP_TLV_MAP, r) + + +# TS 102 221 Section 13.1 +class EF_DIR(LinFixedEF): + def __init__(self, fid='2f00', sfid=0x1e, name='EF.DIR', desc='Application Directory'): + super().__init__(fid, sfid=sfid, name=name, desc=desc, rec_len={5,54}) + + def _decode_record_hex(self, raw_hex_data): + raw_hex_data = raw_hex_data.upper() + atempl_base_tlv = TLV(['61']) + atempl_base = atempl_base_tlv.parse(raw_hex_data) + atempl_TLV_MAP = {'4F': 'aid_value', 50:'label'} + atempl_tlv = TLV(atempl_TLV_MAP) + atempl = atempl_tlv.parse(atempl_base['61']) + # FIXME: "All other Dos are according to ISO/IEC 7816-4" + return tlv_key_replace(atempl_TLV_MAP, atempl) + +# TS 102 221 Section 13.2 +class EF_ICCID(TransparentEF): + def __init__(self, fid='2fe2', sfid=0x02, name='EF.ICCID', desc='ICC Identification'): + super().__init__(fid, sfid=sfid, name=name, desc=desc, size={10,10}) + + def _decode_hex(self, raw_hex): + return {'iccid': dec_iccid(raw_hex)} + + def _encode_hex(self, abstract): + return enc_iccid(abstract['iccid']) + +# TS 102 221 Section 13.3 +class EF_PL(TransRecEF): + def __init__(self, fid='2f05', sfid=0x05, name='EF.PL', desc='Preferred Languages'): + super().__init__(fid, sfid=sfid, name=name, desc=desc, rec_len=2, size={2,None}) + +# TS 102 221 Section 13.4 +class EF_ARR(LinFixedEF): + def __init__(self, fid='2f06', sfid=0x06, name='EF.ARR', desc='Access Rule Reference'): + super().__init__(fid, sfid=sfid, name=name, desc=desc) + +# TS 102 221 Section 13.6 +class EF_UMPC(TransparentEF): + def __init__(self, fid='2f08', sfid=0x08, name='EF.UMPC', desc='UICC Maximum Power Consumption'): + super().__init__(fid, sfid=sfid, name=name, desc=desc, size={5,5}) + + + +class CardProfileUICC(CardProfile): + def __init__(self): + files = [ + EF_DIR(), + EF_ICCID(), + EF_PL(), + EF_ARR(), + # FIXME: DF.CD + EF_UMPC(), + ] + sw = { + 'Normal': { + '9000': 'Normal ending of the command', + '91xx': 'Normal ending of the command, with extra information from the proactive UICC containing a command for the terminal', + '92xx': 'Normal ending of the command, with extra information concerning an ongoing data transfer session', + }, + 'Postponed processing': { + '9300': 'SIM Application Toolkit is busy. Command cannot be executed at present, further normal commands are allowed', + }, + 'Warnings': { + '6200': 'No information given, state of non-volatile memory unchanged', + '6281': 'Part of returned data may be corrupted', + '6282': 'End of file/record reached before reading Le bytes or unsuccessful search', + '6283': 'Selected file invalidated', + '6284': 'Selected file in termination state', + '62f1': 'More data available', + '62f2': 'More data available and proactive command pending', + '62f3': 'Response data available', + '63f1': 'More data expected', + '63f2': 'More data expected and proactive command pending', + '63cx': 'Command successful but after using an internal update retry routine X times', + }, + 'Execution errors': { + '6400': 'No information given, state of non-volatile memory unchanged', + '6500': 'No information given, state of non-volatile memory changed', + '6581': 'Memory problem', + }, + 'Checking errors': { + '6700': 'Wrong length', + '67xx': 'The interpretation of this status word is command dependent', + '6b00': 'Wrong parameter(s) P1-P2', + '6d00': 'Instruction code not supported or invalid', + '6e00': 'Class not supported', + '6f00': 'Technical problem, no precise diagnosis', + '6fxx': 'The interpretation of this status word is command dependent', + }, + 'Functions in CLA not supported': { + '6800': 'No information given', + '6881': 'Logical channel not supported', + '6882': 'Secure messaging not supported', + }, + 'Command not allowed': { + '6900': 'No information given', + '6981': 'Command incompatible with file structure', + '6982': 'Security status not satisfied', + '6983': 'Authentication/PIN method blocked', + '6984': 'Referenced data invalidated', + '6985': 'Conditions of use not satisfied', + '6986': 'Command not allowed (no EF selected)', + '6989': 'Command not allowed - secure channel - security not satisfied', + }, + 'Wrong parameters': { + '6a80': 'Incorrect parameters in the data field', + '6a81': 'Function not supported', + '6a82': 'File not found', + '6a83': 'Record not found', + '6a84': 'Not enough memory space', + '6a86': 'Incorrect parameters P1 to P2', + '6a87': 'Lc inconsistent with P1 to P2', + '6a88': 'Referenced data not found', + }, + 'Application errors': { + '9850': 'INCREASE cannot be performed, max value reached', + '9862': 'Authentication error, application specific', + '9863': 'Security session or association expired', + '9864': 'Minimum UICC suspension time is too long', + }, + } + + super().__init__('UICC', 'ETSI TS 102 221', files, sw) diff --git a/pySim/ts_31_102.py b/pySim/ts_31_102.py index e7f27b0..02b0aea 100644 --- a/pySim/ts_31_102.py +++ b/pySim/ts_31_102.py @@ -263,3 +263,134 @@ 'ePDGIdEm': '6FF5', 'ePDGSelectionEm': '6FF6', } + +###################################################################### +# ADF.USIM +###################################################################### + +from pySim.filesystem import * +from pySim.ts_51_011 import EF_IMSI, EF_xPLMNwAcT, EF_SPN, EF_CBMI, EF_ACC, EF_PLMNsel, EF_AD +from pySim.ts_51_011 import EF_CBMID, EF_ECC, EF_CBMIR + +import pySim.ts_102_221 + +class EF_LI(TransRecEF): + def __init__(self, fid='6f05', sfid=None, name='EF.LI', size={2,None}, rec_len=2, + desc='Language Indication'): + super().__init__(fid, sfid=sfid, name=name, desc=desc, size=size, rec_len=rec_len) + def _decode_record_bin(self, in_bin): + if in_bin == b'\xff\xff': + return None + else: + # officially this is 7-bit GSM alphabet with one padding bit in each byte + return in_bin.decode('ascii') + def _encode_record_bin(self, in_json): + if in_json == None: + return b'\xff\xff' + else: + # officially this is 7-bit GSM alphabet with one padding bit in each byte + return in_json.encode('ascii') + +class EF_Keys(TransparentEF): + def __init__(self, fid='6f08', sfid=0x08, name='EF.Keys', size={33,33}, + desc='Ciphering and Integrity Keys'): + super().__init__(fid, sfid=sfid, name=name, desc=desc, size=size) + def _decode_bin(self, in_bin): + return {'ksi': in_bin[0], + 'ck': b2h(in_bin[1:17]), + 'ik': b2h(in_bin[17:33])} + def _encode_bin(self, in_json): + return h2b(in_json['ksi']) + h2b(in_json['ck']) + h2b(in_json['ik']) + +# TS 31.103 Section 4.2.7 +class EF_UST(TransparentEF): + def __init__(self, fid='6f38', sfid=0x04, name='EF.UST', desc='USIM Service Table'): + super().__init__(fid=fid, sfid=sfid, name=name, desc=desc, size={1,17}) + # add those commands to the general commands of a TransparentEF + self.shell_commands += [self.AddlShellCommands()] + def _decode_bin(self, in_bin): + ret = [] + for i in range (0, len(in_bin)): + byte = in_bin[i] + for bitno in range(0,7): + if byte & (1 << bitno): + ret.append(i * 8 + bitno + 1) + return ret + def _encode_bin(self, in_json): + # FIXME: size this to length of file + ret = bytearray(20) + for srv in in_json: + print("srv=%d"%srv) + srv = srv-1 + byte_nr = srv // 8 + # FIXME: detect if service out of range was selected + bit_nr = srv % 8 + ret[byte_nr] |= (1 << bit_nr) + return ret + @with_default_category('File-Specific Commands') + class AddlShellCommands(CommandSet): + def __init__(self): + super().__init__() + + def do_ust_service_activate(self, arg): + """Activate a service within EF.UST""" + self._cmd.card.update_ust(int(arg), 1) + + def do_ust_service_deactivate(self, arg): + """Deactivate a service within EF.UST""" + self._cmd.card.update_ust(int(arg), 0) + + +class ADF_USIM(CardADF): + def __init__(self, aid='a0000000871002', name='ADF.USIM', fid=None, sfid=None, + desc='USIM Application'): + super().__init__(aid=aid, fid=fid, sfid=sfid, name=name, desc=desc) + self.shell_commands = [self.ShellCommands()] + + files = [ + EF_LI(sfid=0x02), + EF_IMSI(sfid=0x07), + EF_Keys(), + EF_Keys('6f09', 0x09, 'EF.KeysPS', desc='Ciphering and Integrity Keys for PS domain'), + EF_xPLMNwAcT('6f60', 0x0a, 'EF.PLMNwAcT', + 'User controlled PLMN Selector with Access Technology'), + TransparentEF('6f31', 0x12, 'EF.HPPLMN', 'Higher Priority PLMN search period'), + # EF.ACMmax + EF_UST(), + CyclicEF('6f39', None, 'EF.ACM', 'Accumulated call meter', rec_len={3,3}), + TransparentEF('6f3e', None, 'EF.GID1', 'Group Identifier Level 1'), + TransparentEF('6f3f', None, 'EF.GID2', 'Group Identifier Level 2'), + EF_SPN(), + TransparentEF('6f41', None, 'EF.PUCT', 'Price per unit and currency table', size={5,5}), + EF_CBMI(), + EF_ACC(sfid=0x06), + EF_PLMNsel('6f7b', 0x0d, 'EF.FPLMN', 'Forbidden PLMNs', size={12,None}), + TransparentEF('6f7e', 0x0b, 'EF.LOCI', 'Locationn information', size={11,11}), + EF_AD(sfid=0x03), + EF_CBMID(sfid=0x0e), + EF_ECC(sfid=0x01), + EF_CBMIR(), + ] + self.add_files(files) + + def decode_select_response(self, data_hex): + return pySim.ts_102_221.decode_select_response(data_hex) + + @with_default_category('File-Specific Commands') + class ShellCommands(CommandSet): + def __init__(self): + super().__init__() + + +# TS 31.102 Section 7.3 +sw_usim = { + 'Security management': { + '9862': 'Authentication error, incorrect MAC', + '9864': 'Authentication error, security context not supported', + '9865': 'Key freshness failure', + '9866': 'Authentication error, no memory space available', + '9867': 'Authentication error, no memory space available in EF MUK', + } +} + +CardApplicationUSIM = CardApplication('USIM', adf=ADF_USIM(), sw=sw_usim) diff --git a/pySim/ts_31_103.py b/pySim/ts_31_103.py index d9b771d..0b0a4f1 100644 --- a/pySim/ts_31_103.py +++ b/pySim/ts_31_103.py @@ -6,6 +6,7 @@ # # Copyright (C) 2020 Supreeth Herle +# Copyright (C) 2021 Harald Welte # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -21,6 +22,11 @@ # along with this program. If not, see . # +from pySim.filesystem import * +from pySim.utils import * +from pySim.ts_51_011 import EF_AD +import pySim.ts_102_221 + # Mapping between ISIM Service Number and its description EF_IST_map = { 1: 'P-CSCF address', @@ -66,3 +72,130 @@ 'XCAPConfigData': '6FFC', 'WebRTCURI': '6FFA' } + +# TS 31.103 Section 4.2.2 +class EF_IMPI(TransparentEF): + def __init__(self, fid='6f02', sfid=0x02, name='EF.IMPI', desc='IMS private user identity'): + super().__init__(fid=fid, sfid=sfid, name=name, desc=desc) + +# TS 31.103 Section 4.2.3 +class EF_DOMAIN(TransparentEF): + def __init__(self, fid='6f05', sfid=0x05, name='EF.DOMAIN', desc='Home Network Domain Name'): + super().__init__(fid=fid, sfid=sfid, name=name, desc=desc) + +# TS 31.103 Section 4.2.4 +class EF_IMPU(LinFixedEF): + def __init__(self, fid='6f04', sfid=0x04, name='EF.IMPU', desc='IMS public user identity'): + super().__init__(fid=fid, sfid=sfid, name=name, desc=desc) + +# TS 31.103 Section 4.2.6 +class EF_ARR(LinFixedEF): + def __init__(self, fid='6f06', sfid=0x06, name='EF.ARR', desc='Access Rule Reference'): + super().__init__(fid=fid, sfid=sfid, name=name, desc=desc) + +# TS 31.103 Section 4.2.7 +class EF_IST(TransparentEF): + def __init__(self, fid='6f07', sfid=0x07, name='EF.IST', desc='ISIM Service Table'): + super().__init__(fid=fid, sfid=sfid, name=name, desc=desc, size={1,4}) + # add those commands to the general commands of a TransparentEF + self.shell_commands += [self.AddlShellCommands()] + + @with_default_category('File-Specific Commands') + class AddlShellCommands(CommandSet): + def __init__(self): + super().__init__() + + def do_ist_service_activate(self, arg): + """Activate a service within EF.IST""" + self._cmd.card.update_ist(int(arg), 1) + + def do_ist_service_deactivate(self, arg): + """Deactivate a service within EF.IST""" + self._cmd.card.update_ist(int(arg), 0) + +# TS 31.103 Section 4.2.8 +class EF_PCSCF(LinFixedEF): + def __init__(self, fid='6f09', sfid=None, name='EF.P-CSCF', desc='P-CSCF Address'): + super().__init__(fid=fid, sfid=sfid, name=name, desc=desc) + def _decode_record_hex(self, raw_hex): + # FIXME: this doesn't do JSON output + return dec_addr_tlv(raw_hex) + def _encode_record_hex(self, json_in): + return enc_addr_tlv(json_in) + +# TS 31.103 Section 4.2.9 +class EF_GBABP(LinFixedEF): + def __init__(self, fid='6fd5', sfid=None, name='EF.GBABP', desc='GBA Bootstrappng'): + super().__init__(fid=fid, sfid=sfid, name=name, desc=desc) + +# TS 31.103 Section 4.2.10 +class EF_GBANL(LinFixedEF): + def __init__(self, fid='6fd7', sfid=None, name='EF.GBANL', desc='GBA NAF List'): + super().__init__(fid=fid, sfid=sfid, name=name, desc=desc) + +# TS 31.103 Section 4.2.11 +class EF_NAFKCA(LinFixedEF): + def __init__(self, fid='6fdd', sfid=None, name='EF.NAFKCA', desc='NAF Key Centre Address'): + super().__init__(fid=fid, sfid=sfid, name=name, desc=desc) + +# TS 31.103 Section 4.2.16 +class EF_UICCIARI(LinFixedEF): + def __init__(self, fid='6fe7', sfid=None, name='EF.UICCIARI', desc='UICC IARI'): + super().__init__(fid=fid, sfid=sfid, name=name, desc=desc) + +# TS 31.103 Section 4.2.18 +class EF_IMSConfigData(TransparentEF): + def __init__(self, fid='6ff8', sfid=None, name='EF.IMSConfigData', desc='IMS Configuration Data'): + super().__init__(fid=fid, sfid=sfid, name=name, desc=desc) + +# TS 31.103 Section 4.2.19 +class EF_XCAPConfigData(TransparentEF): + def __init__(self, fid='6ffc', sfid=None, name='EF.XCAPConfigData', desc='XCAP Configuration Data'): + super().__init__(fid=fid, sfid=sfid, name=name, desc=desc) + +# TS 31.103 Section 4.2.20 +class EF_WebRTCURI(TransparentEF): + def __init__(self, fid='6ffa', sfid=None, name='EF.WebRTCURI', desc='WebRTC URI'): + super().__init__(fid=fid, sfid=sfid, name=name, desc=desc) + + +class ADF_ISIM(CardADF): + def __init__(self, aid='a0000000871004', name='ADF.ISIM', fid=None, sfid=None, + desc='ISIM Application'): + super().__init__(aid=aid, fid=fid, sfid=sfid, name=name, desc=desc) + + files = [ + EF_IMPI(), + EF_DOMAIN(), + EF_IMPU(), + EF_AD(), + EF_ARR(), + EF_IST(), + EF_PCSCF(), + EF_GBABP(), + EF_GBANL(), + EF_NAFKCA(), + # SMS + # SMSS + # SMSR + #EF_SMSP(), + EF_UICCIARI(), + # FromPreferred + EF_IMSConfigData(), + EF_XCAPConfigData(), + EF_WebRTCURI(), + ] + self.add_files(files) + + def decode_select_response(self, data_hex): + return pySim.ts_102_221.decode_select_response(data_hex) + +# TS 31.103 Section 7.1 +sw_isim = { + 'Security management': { + '9862': 'Authentication error, incorrect MAC', + '9864': 'Authentication error, security context not supported', + } +} + +CardApplicationISIM = CardApplication('ISIM', adf=ADF_ISIM(), sw=sw_isim) diff --git a/pySim/ts_51_011.py b/pySim/ts_51_011.py index ef40ba1..03d74ad 100644 --- a/pySim/ts_51_011.py +++ b/pySim/ts_51_011.py @@ -1,10 +1,15 @@ # -*- coding: utf-8 -*- -""" Various constants from ETSI TS 151.011 +""" Various constants from ETSI TS 151.011 + +Representation of the GSM SIM/USIM/ISIM filesystem hierarchy. + +The File (and its derived classes) uses the classes of pySim.filesystem in +order to describe the files specified in the relevant ETSI + 3GPP specifications. """ # # Copyright (C) 2017 Alexander.Chemeris +# Copyright (C) 2021 Harald Welte # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -323,3 +328,301 @@ '02' : 'maintenance (off line)', '04' : 'cell test operation', } + + +from pySim.utils import * +from struct import pack, unpack + +from pySim.filesystem import * +import pySim.ts_102_221 + +###################################################################### +# DF.TELECOM +###################################################################### + +# TS 51.011 Section 10.5.1 +class EF_ADN(LinFixedEF): + def __init__(self, fid='6f3a', sfid=None, name='EF.ADN', desc='Abbreviated Dialing Numbers'): + super().__init__(fid, sfid=sfid, name=name, desc=desc, rec_len={14, 30}) + def _decode_record_bin(self, raw_bin_data): + alpha_id_len = len(raw_bin_data) - 14 + alpha_id = raw_bin_data[:alpha_id_len] + u = unpack('!BB10sBB', raw_bin_data[-14:]) + return {'alpha_id': alpha_id, 'len_of_bcd': u[0], 'ton_npi': u[1], + 'dialing_nr': u[2], 'cap_conf_id': u[3], 'ext1_record_id': u[4]} + +# TS 51.011 Section 10.5.5 +class EF_MSISDN(LinFixedEF): + def __init__(self, fid='6f4f', sfid=None, name='EF.MSISDN', desc='MSISDN'): + super().__init__(fid, sfid=sfid, name=name, desc=desc, rec_len={15, None}) + def _decode_record_hex(self, raw_hex_data): + return {'msisdn': dec_msisdn(raw_hex_data)} + def _encode_record_hex(self, abstract): + return enc_msisdn(abstract['msisdn']) + +# TS 51.011 Section 10.5.6 +class EF_SMSP(LinFixedEF): + def __init__(self, fid='6f42', sfid=None, name='EF.SMSP', desc='Short message service parameters'): + super().__init__(fid, sfid=sfid, name=name, desc=desc, rec_len={28, None}) + +class DF_TELECOM(CardDF): + def __init__(self, fid='7f10', name='DF.TELECOM', desc=None): + super().__init__(fid=fid, name=name, desc=desc) + files = [ + EF_ADN(), + # FDN, SMS, CCP, ECCP + EF_MSISDN(), + EF_SMSP(), + # SMSS, LND, SDN, EXT1, EXT2, EXT3, BDN, EXT4, SMSR, CMI + ] + self.add_files(files) + + def decode_select_response(self, data_hex): + return decode_select_response(data_hex) + +###################################################################### +# DF.GSM +###################################################################### + +# TS 51.011 Section 10.3.1 +class EF_LP(TransRecEF): + def __init__(self, fid='6f05', sfid=None, name='EF.LP', size={1,None}, rec_len=1, + desc='Language Preference'): + super().__init__(fid, sfid=sfid, name=name, desc=desc, size=size, rec_len=rec_len) + def _decode_record_bin(self, in_bin): + return b2h(in_bin) + def _encode_record_bin(self, in_json): + return h2b(in_json) + +# TS 51.011 Section 10.3.2 +class EF_IMSI(TransparentEF): + def __init__(self, fid='6f07', sfid=None, name='EF.IMSI', desc='IMSI', size={9,9}): + super().__init__(fid, sfid=sfid, name=name, desc=desc, size=size) + def _decode_hex(self, raw_hex): + return {'imsi': dec_imsi(raw_hex)} + def _encode_hex(self, abstract): + return enc_imsi(abstract['imsi']) + +# TS 51.011 Section 10.3.4 +class EF_PLMNsel(TransRecEF): + def __init__(self, fid='6f30', sfid=None, name='EF.PLMNsel', desc='PLMN selector', + size={24,None}, rec_len=3): + super().__init__(fid, name=name, sfid=sfid, desc=desc, size=size, rec_len=rec_len) + def _decode_record_hex(self, in_hex): + if in_hex[:6] == "ffffff": + return None + else: + return dec_plmn(in_hex) + def _encode_record_hex(self, in_json): + if in_json == None: + return "ffffff" + else: + return enc_plmn(in_json['mcc'], in_json['mnc']) + +# TS 51.011 Section 10.3.7 +class EF_ServiceTable(TransparentEF): + def __init__(self, fid, sfid, name, desc, size, table): + super().__init__(fid, sfid=sfid, name=name, desc=desc, size=size) + self.table = table + def _decode_bin(self, raw_bin): + ret = {} + for i in range(0, len(raw_bin)*4): + service_nr = i+1 + byte = int(raw_bin[i//4]) + bit_offset = (i % 4) * 2 + bits = (byte >> bit_offset) & 3 + ret[service_nr] = { + 'description': self.table[service_nr] or None, + 'allocated': True if bits & 1 else False, + 'activated': True if bits & 2 else False, + } + return ret + # TODO: encoder + +# TS 51.011 Section 10.3.11 +class EF_SPN(TransparentEF): + def __init__(self, fid='6f46', sfid=None, name='EF.SPN', desc='Service Provider Name', size={17,17}): + super().__init__(fid, sfid=sfid, name=name, desc=desc, size=size) + def _decode_hex(self, raw_hex): + return {'spn': dec_spn(raw_hex)} + def _encode_hex(self, abstract): + return enc_spn(abstract['spn']) + +# TS 51.011 Section 10.3.13 +class EF_CBMI(TransRecEF): + def __init__(self, fid='6f45', sfid=None, name='EF.CBMI', size={2,None}, rec_len=2, + desc='Cell Broadcast message identifier selection'): + super().__init__(fid, sfid=sfid, name=name, desc=desc, size=size, rec_len=rec_len) + +# TS 51.011 Section 10.3.15 +class EF_ACC(TransparentEF): + def __init__(self, fid='6f78', sfid=None, name='EF.ACC', desc='Access Control Class', size={2,2}): + super().__init__(fid, sfid=sfid, name=name, desc=desc, size=size) + def _decode_bin(self, raw_bin): + return {'acc': unpack('!H', raw_bin)[0]} + def _encode_bin(self, abstract): + return pack('!H', abstract['acc']) + +# TS 51.011 Section 10.3.18 +class EF_AD(TransparentEF): + OP_MODE = { + 0x00: 'normal operation', + 0x80: 'type approval operations', + 0x01: 'normal operation + specific facilities', + 0x81: 'type approval + specific facilities', + 0x02: 'maintenance (off line)', + 0x04: 'cell test operation', + } + def __init__(self, fid='6fad', sfid=None, name='EF.AD', desc='Administrative Data', size={3,4}): + super().__init__(fid, sfid=sfid, name=name, desc=desc, size=size) + def _decode_bin(self, raw_bin): + u = unpack('!BH', raw_bin[:3]) + +# TS 51.011 Section 10.3.13 +class EF_CBMID(EF_CBMI): + def __init__(self, fid='6f48', sfid=None, name='EF.CBMID', size={2,None}, rec_len=2, + desc='Cell Broadcast Message Identifier for Data Download'): + super().__init__(fid, sfid=sfid, name=name, desc=desc, size=size, rec_len=rec_len) + +# TS 51.011 Section 10.3.26 +class EF_ECC(LinFixedEF): + def __init__(self, fid='6fb7', sfid=None, name='EF.ECC', desc='Emergency Call Codes'): + super().__init__(fid, sfid=sfid, name=name, desc=desc, rec_len={4, 20}) + +# TS 51.011 Section 10.3.28 +class EF_CBMIR(TransRecEF): + def __init__(self, fid='6f50', sfid=None, name='EF.CBMIR', size={4,None}, rec_len=4, + desc='Cell Broadcast message identifier range selection'): + super().__init__(fid, sfid=sfid, name=name, desc=desc, size=size, rec_len=rec_len) + + +# TS 51.011 Section 10.3.35..37 +class EF_xPLMNwAcT(TransRecEF): + def __init__(self, fid, sfid=None, name=None, desc=None, size={40,None}, rec_len=5): + super().__init__(fid, sfid=sfid, name=name, desc=desc, size=size, rec_len=rec_len) + def _decode_record_hex(self, in_hex): + if in_hex[:6] == "ffffff": + return None + else: + return dec_xplmn_w_act(in_hex) + def _encode_record_hex(self, in_json): + if in_json == None: + return "ffffff0000" + else: + hplmn = enc_plmn(in_json['mcc'], in_json['mnc']) + act = self.enc_act(in_json['act']) + return hplmn + act + @staticmethod + def enc_act(in_list): + u16 = 0 + # first the simple ones + if 'UTRAN' in in_list: + u16 |= 0x8000 + if 'NG-RAN' in in_list: + u16 |= 0x0800 + if 'GSM COMPACT' in in_list: + u16 |= 0x0040 + if 'cdma2000 HRPD' in in_list: + u16 |= 0x0020 + if 'cdma2000 1xRTT' in in_list: + u16 |= 0x0010 + # E-UTRAN + if 'E-UTRAN WB-S1' and 'E-UTRAN NB-S1' in in_list: + u16 |= 0x7000 # WB-S1 and NB-S1 + elif 'E-UTRAN NB-S1' in in_list: + u16 |= 0x6000 # only WB-S1 + elif 'E-UTRAN NB-S1' in in_list: + u16 |= 0x5000 # only NB-S1 + # GSM mess + if 'GSM' in in_list and 'EC-GSM-IoT' in in_list: + u16 |= 0x008C + elif 'GSM' in in_list: + u16 |= 0x0084 + elif 'EC-GSM-IuT' in in_list: + u16 |= 0x0088 + return '%04X'%(u16) + + +class DF_GSM(CardDF): + def __init__(self, fid='7f20', name='DF.GSM', desc='GSM Network related files'): + super().__init__(fid=fid, name=name, desc=desc) + files = [ + EF_LP(), + EF_IMSI(), + TransparentEF('5f20', None, 'EF.Kc', 'Ciphering key Kc'), + EF_PLMNsel(), + TransparentEF('6f31', None, 'EF.HPPLMN', 'Higher Priority PLMN search period'), + # ACMmax + EF_ServiceTable('6f37', None, 'EF.SST', 'SIM service table', table=EF_SST_map, size={2,16}), + CyclicEF('6f39', None, 'EF.ACM', 'Accumulated call meter', rec_len={4,3}), + TransparentEF('6f3e', None, 'EF.GID1', 'Group Identifier Level 1'), + TransparentEF('6f3f', None, 'EF.GID2', 'Group Identifier Level 2'), + EF_SPN(), + TransparentEF('6f41', None, 'EF.PUCT', 'Price per unit and currency table', size={5,5}), + EF_CBMI(), + TransparentEF('6f7f', None, 'EF.BCCH', 'Broadcast control channels', size={16,16}), + EF_ACC(), + EF_PLMNsel('6f7b', None, 'EF.FPLMN', 'Forbidden PLMNs', size={12,12}), + TransparentEF('6f7e', None, 'EF.LOCI', 'Locationn information', size={11,11}), + EF_AD(), + TransparentEF('6fa3', None, 'EF.Phase', 'Phase identification', size={1,1}), + # TODO EF.VGCS VGCSS, VBS, VBSS, eMLPP, AAeM + EF_CBMID(), + EF_ECC(), + EF_CBMIR(), + # DCK, CNL, NIA, KcGRS, LOCIGPRS, SUME + EF_xPLMNwAcT('6f60', None, 'EF.PLMNwAcT', + 'User controlled PLMN Selector with Access Technology'), + EF_xPLMNwAcT('6f61', None, 'EF.OPLMNwAcT', + 'Operator controlled PLMN Selector with Access Technology'), + EF_xPLMNwAcT('6f62', None, 'EF.HPLMNwAcT', 'HPLMN Selector with Access Technology'), + # CPBCCH, InvScan, PNN, OPL, MBDN, MBI, MWIS, CFIS, EXT5, EXT6, EXT7, SPDI, MMSN, EXT8 + # MMSICP, MMSUP, MMSUCP + ] + self.add_files(files) + + def decode_select_response(self, data_hex): + return decode_select_response(data_hex) + +def decode_select_response(resp_hex): + resp_bin = h2b(resp_hex) + if resp_bin[0] == 0x62: + return pySim.ts_102_221.decode_select_response(resp_hex) + struct_of_file_map = { + 0: 'transparent', + 1: 'linear_fixed', + 3: 'cyclic' + } + type_of_file_map = { + 1: 'mf', + 2: 'df', + 4: 'working_ef' + } + ret = { + 'file_descriptor': {}, + 'proprietary_info': {}, + } + ret['file_id'] = b2h(resp_bin[4:6]) + ret['proprietary_info']['available_memory'] = int.from_bytes(resp_bin[2:4], 'big') + file_type = type_of_file_map[resp_bin[6]] if resp_bin[6] in type_of_file_map else resp_bin[6] + ret['file_descriptor']['file_type'] = file_type + if file_type in ['mf', 'df']: + ret['file_characteristics'] = b2h(resp_bin[13]) + ret['num_direct_child_df'] = int(resp_bin[14], 16) + ret['num_direct_child_ef'] = int(resp_bin[15], 16) + ret['num_chv_unbkock_adm_codes'] = int(resp_bin[16]) + # CHV / UNBLOCK CHV stats + elif file_type in ['working_ef']: + file_struct = struct_of_file_map[resp_bin[13]] if resp_bin[13] in struct_of_file_map else resp_bin[13] + ret['file_descriptor']['structure'] = file_struct + ret['access_conditions'] = b2h(resp_bin[8:10]) + if resp_bin[11] & 0x01 == 0: + ret['life_cycle_status_int'] = 'operational_activated' + elif resp_bin[11] & 0x04: + ret['life_cycle_status_int'] = 'operational_deactivated' + else: + ret['life_cycle_status_int'] = 'terminated' + + return ret + +CardProfileSIM = CardProfile('SIM', desc='GSM SIM Card', files_in_mf=[DF_TELECOM(), DF_GSM()]) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23175 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Iad117596e922223bdc1e5b956f84844b7c577e02 Gerrit-Change-Number: 23175 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 Mar 2 06:48:32 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 2 Mar 2021 06:48:32 +0000 Subject: Change in pysim[master]: cards.py: SJS1 + SJA2: Implement + Expose verify_adm() method 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/+/23168 to look at the new patch set (#2). Change subject: cards.py: SJS1 + SJA2: Implement + Expose verify_adm() method ...................................................................... cards.py: SJS1 + SJA2: Implement + Expose verify_adm() method SJS1 and SJA2 card types don't use the generic verify_adm() method of the Card base class, so they must override it with their own methods. Only this way application code can call card.verify_adm() irrespective of the card type. Change-Id: I05f7f3280873f006310266867f04a9ce1b0a63af --- M pySim/cards.py 1 file changed, 18 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/68/23168/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23168 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I05f7f3280873f006310266867f04a9ce1b0a63af Gerrit-Change-Number: 23168 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 2 06:54:50 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 2 Mar 2021 06:54:50 +0000 Subject: Change in pysim[master]: introduce SwMatchError exception 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/+/23170 to look at the new patch set (#3). Change subject: introduce SwMatchError exception ...................................................................... introduce SwMatchError exception This allows callers further up the stack to catch the exception and interpret it in some way (like decoding the number of remaining tries in case of authentication errors) Change-Id: Ia59962978745aef7038f750fa23f8dfc820645f4 --- M pySim/exceptions.py M pySim/transport/__init__.py 2 files changed, 13 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/70/23170/3 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23170 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ia59962978745aef7038f750fa23f8dfc820645f4 Gerrit-Change-Number: 23170 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 Tue Mar 2 06:59:16 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 2 Mar 2021 06:59:16 +0000 Subject: Change in pysim[master]: introduce SwMatchError exception 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/+/23170 to look at the new patch set (#4). Change subject: introduce SwMatchError exception ...................................................................... introduce SwMatchError exception This allows callers further up the stack to catch the exception and interpret it in some way (like decoding the number of remaining tries in case of authentication errors) Change-Id: Ia59962978745aef7038f750fa23f8dfc820645f4 --- M pySim/exceptions.py M pySim/transport/__init__.py 2 files changed, 13 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/70/23170/4 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23170 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ia59962978745aef7038f750fa23f8dfc820645f4 Gerrit-Change-Number: 23170 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 2 06:59:16 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 2 Mar 2021 06:59:16 +0000 Subject: Change in pysim[master]: Add a new pySim-shell program 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/+/23175 to look at the new patch set (#3). Change subject: Add a new pySim-shell program ...................................................................... Add a new pySim-shell program pySim-prog was nice when there were only 5 parameters on a SIM that we could program, and where the use case was pretty limited. Today, we have SIM/USIM/ISIM cards with hundreds of files and even more parameters to program. We cannot add a command line argument for each file to pySim-prog. Instead, this introduces an interactive command-line shell / REPL, in which one can navigate the file system of the card, read and update files both in raw format and in decoded/parsed format. The idea is primarily inspired by Henryk Ploatz' venerable cyberflex-shell, but implemented on a more modern basis using the cmd2 python module. Most code by Harald Welte. Some bug fixes by Philipp Maier have been squashed. Change-Id: Iad117596e922223bdc1e5b956f84844b7c577e02 Related: OS#4963 --- A pySim-shell.py M pySim/exceptions.py A pySim/filesystem.py A pySim/ts_102_221.py M pySim/ts_31_102.py M pySim/ts_31_103.py M pySim/ts_51_011.py 7 files changed, 1,799 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/75/23175/3 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23175 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Iad117596e922223bdc1e5b956f84844b7c577e02 Gerrit-Change-Number: 23175 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 Tue Mar 2 07:02:15 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 2 Mar 2021 07:02:15 +0000 Subject: Change in pysim[master]: introduce SwMatchError exception 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/+/23170 to look at the new patch set (#5). Change subject: introduce SwMatchError exception ...................................................................... introduce SwMatchError exception This allows callers further up the stack to catch the exception and interpret it in some way (like decoding the number of remaining tries in case of authentication errors) Change-Id: Ia59962978745aef7038f750fa23f8dfc820645f4 --- M pySim/exceptions.py M pySim/transport/__init__.py 2 files changed, 13 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/70/23170/5 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23170 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ia59962978745aef7038f750fa23f8dfc820645f4 Gerrit-Change-Number: 23170 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 2 07:07:39 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 2 Mar 2021 07:07:39 +0000 Subject: Change in pysim[master]: introduce SwMatchError exception 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/+/23170 to look at the new patch set (#6). Change subject: introduce SwMatchError exception ...................................................................... introduce SwMatchError exception This allows callers further up the stack to catch the exception and interpret it in some way (like decoding the number of remaining tries in case of authentication errors) Change-Id: Ia59962978745aef7038f750fa23f8dfc820645f4 --- M pySim/exceptions.py M pySim/transport/__init__.py 2 files changed, 13 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/70/23170/6 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23170 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ia59962978745aef7038f750fa23f8dfc820645f4 Gerrit-Change-Number: 23170 Gerrit-PatchSet: 6 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 2 07:09:33 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 2 Mar 2021 07:09:33 +0000 Subject: Change in pysim[master]: move SW matching to a generic utility function In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/23171 to look at the new patch set (#5). Change subject: move SW matching to a generic utility function ...................................................................... move SW matching to a generic utility function This will allow using it outside the transport/__init__.py Change-Id: Id26dfefa85d91e3b3a23e0049f3b833e29cb1cef --- M pySim/transport/__init__.py M pySim/utils.py 2 files changed, 15 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/71/23171/5 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23171 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id26dfefa85d91e3b3a23e0049f3b833e29cb1cef Gerrit-Change-Number: 23171 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 2 07:09:33 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 2 Mar 2021 07:09:33 +0000 Subject: Change in pysim[master]: Add a new pySim-shell program 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/+/23175 to look at the new patch set (#4). Change subject: Add a new pySim-shell program ...................................................................... Add a new pySim-shell program pySim-prog was nice when there were only 5 parameters on a SIM that we could program, and where the use case was pretty limited. Today, we have SIM/USIM/ISIM cards with hundreds of files and even more parameters to program. We cannot add a command line argument for each file to pySim-prog. Instead, this introduces an interactive command-line shell / REPL, in which one can navigate the file system of the card, read and update files both in raw format and in decoded/parsed format. The idea is primarily inspired by Henryk Ploatz' venerable cyberflex-shell, but implemented on a more modern basis using the cmd2 python module. Most code by Harald Welte. Some bug fixes by Philipp Maier have been squashed. Change-Id: Iad117596e922223bdc1e5b956f84844b7c577e02 Related: OS#4963 --- A pySim-shell.py M pySim/exceptions.py A pySim/filesystem.py A pySim/ts_102_221.py M pySim/ts_31_102.py M pySim/ts_31_103.py M pySim/ts_51_011.py 7 files changed, 1,799 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/75/23175/4 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23175 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Iad117596e922223bdc1e5b956f84844b7c577e02 Gerrit-Change-Number: 23175 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 2 07:17:03 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 2 Mar 2021 07:17:03 +0000 Subject: Change in pysim[master]: move SW matching to a generic utility function In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23171 ) Change subject: move SW matching to a generic utility function ...................................................................... Patch Set 5: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/pysim/+/23171/5/pySim/transport/__init__.py File pySim/transport/__init__.py: https://gerrit.osmocom.org/c/pysim/+/23171/5/pySim/transport/__init__.py at 7 PS5, Line 7: from pySim.utils import sw_match this is missing the actuall call site. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23171 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id26dfefa85d91e3b3a23e0049f3b833e29cb1cef Gerrit-Change-Number: 23171 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 02 Mar 2021 07:17:03 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 2 07:56:13 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 2 Mar 2021 07:56:13 +0000 Subject: Change in osmo-pcu[master]: gprs_bssgp_pcu: ensure only known BVCI can be resetted by the SGSN In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23014 ) Change subject: gprs_bssgp_pcu: ensure only known BVCI can be resetted by the SGSN ...................................................................... Patch Set 4: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/23014/4/src/gprs_bssgp_pcu.c File src/gprs_bssgp_pcu.c: https://gerrit.osmocom.org/c/osmo-pcu/+/23014/4/src/gprs_bssgp_pcu.c at 461 PS4, Line 461: an > super unimportatn: I'd remove the "an" here to make it more in line with the other message below, wh [?] It's also called BVC-RESET, not BSSGP-RESET -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23014 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I04e36ce4a29e51d85e67a0d3a81aa0e1eb9e9c08 Gerrit-Change-Number: 23014 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 02 Mar 2021 07:56:13 +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 Tue Mar 2 08:04:07 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 2 Mar 2021 08:04:07 +0000 Subject: Change in osmo-ggsn[master]: doc/manuals: describe GTP-U kernel module 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/+/23159 to look at the new patch set (#2). Change subject: doc/manuals: describe GTP-U kernel module ...................................................................... doc/manuals: describe GTP-U kernel module Related: OS#3209 Change-Id: Ib45cbfe03077960f216a83cf500ab3203d02cb3b --- M doc/manuals/chapters/running.adoc 1 file changed, 44 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/59/23159/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/23159 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ib45cbfe03077960f216a83cf500ab3203d02cb3b Gerrit-Change-Number: 23159 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 2 08:04:08 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 2 Mar 2021 08:04:08 +0000 Subject: Change in osmo-ggsn[master]: gitignore: add ggsn_vty_reference.xml References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/23176 ) Change subject: gitignore: add ggsn_vty_reference.xml ...................................................................... gitignore: add ggsn_vty_reference.xml Change-Id: I39bd36e4bde457b7c7a62ca6aa6d5dadea4051fc --- M .gitignore 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/76/23176/1 diff --git a/.gitignore b/.gitignore index 80e4837..507ee62 100644 --- a/.gitignore +++ b/.gitignore @@ -79,5 +79,6 @@ doc/manuals/osmomsc-usermanual.xml doc/manuals/common doc/manuals/build +doc/manuals/vty/ggsn_vty_reference.xml contrib/osmo-ggsn.spec -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/23176 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I39bd36e4bde457b7c7a62ca6aa6d5dadea4051fc Gerrit-Change-Number: 23176 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 2 08:04:46 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 2 Mar 2021 08:04:46 +0000 Subject: Change in osmo-ggsn[master]: doc/examples/Makefile.am: add sgsnemu.conf In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/23157 ) Change subject: doc/examples/Makefile.am: add sgsnemu.conf ...................................................................... doc/examples/Makefile.am: add sgsnemu.conf Related: OS#3209 Change-Id: Icd6f3efcf5a9ef50237a3d0a76d4cce55051f447 --- M contrib/osmo-ggsn.spec.in M doc/examples/Makefile.am 2 files changed, 9 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/contrib/osmo-ggsn.spec.in b/contrib/osmo-ggsn.spec.in index dcf0e7c..0a568ef 100644 --- a/contrib/osmo-ggsn.spec.in +++ b/contrib/osmo-ggsn.spec.in @@ -109,6 +109,7 @@ %{_unitdir}/%{name}.service %dir %{_docdir}/%{name}/examples %{_docdir}/%{name}/examples/osmo-ggsn.cfg +%{_docdir}/%{name}/examples/sgsnemu.conf %dir %{_sysconfdir}/osmocom %config(noreplace) %{_sysconfdir}/osmocom/osmo-ggsn.cfg diff --git a/doc/examples/Makefile.am b/doc/examples/Makefile.am index d0b677c..f80ce0d 100644 --- a/doc/examples/Makefile.am +++ b/doc/examples/Makefile.am @@ -1,9 +1,14 @@ +OSMOCONF_FILES = \ + osmo-ggsn.cfg \ + sgsnemu.conf \ + $(NULL) + osmoconfdir = $(sysconfdir)/osmocom -osmoconf_DATA = osmo-ggsn.cfg +osmoconf_DATA = $(OSMOCONF_FILES) -EXTRA_DIST = osmo-ggsn.cfg +EXTRA_DIST = $(OSMOCONF_FILES) -CFG_FILES = find $(srcdir) -name '*.cfg*' | sed -e 's,^$(srcdir),,' +CFG_FILES = find $(srcdir) -name '*.cfg' -o -name '*.conf' | sed -e 's,^$(srcdir),,' dist-hook: for f in $$($(CFG_FILES)); do \ -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/23157 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Icd6f3efcf5a9ef50237a3d0a76d4cce55051f447 Gerrit-Change-Number: 23157 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 2 08:05:27 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 2 Mar 2021 08:05:27 +0000 Subject: Change in osmo-ggsn[master]: doc/examples/osmo-ggsn-kernel-gtp.cfg: new file In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/23158 ) Change subject: doc/examples/osmo-ggsn-kernel-gtp.cfg: new file ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-ggsn/+/23158/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-ggsn/+/23158/1//COMMIT_MSG at 10 PS1, Line 10: inet6 and inet46 removed (as the kernel module only supports ipv4). > kernel module only supports ipv4: This is an important limitation which I think makes sense describi [?] Good point, added to the other patch. -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/23158 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I6fbe8a8e55bad41532e9aed3cf71ebebffdcee52 Gerrit-Change-Number: 23158 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 02 Mar 2021 08:05:27 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 2 08:05:30 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 2 Mar 2021 08:05:30 +0000 Subject: Change in osmo-ggsn[master]: doc/examples/osmo-ggsn-kernel-gtp.cfg: new file In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/23158 ) Change subject: doc/examples/osmo-ggsn-kernel-gtp.cfg: new file ...................................................................... doc/examples/osmo-ggsn-kernel-gtp.cfg: new file Add a copy of osmo-ggsn.cfg, with gtpu-mode set to kernel-gtp and apn inet6 and inet46 removed (as the kernel module only supports ipv4). Related: OS#3209 Change-Id: I6fbe8a8e55bad41532e9aed3cf71ebebffdcee52 --- M contrib/osmo-ggsn.spec.in M debian/osmo-ggsn.examples M doc/examples/Makefile.am A doc/examples/osmo-ggsn-kernel-gtp.cfg 4 files changed, 54 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/contrib/osmo-ggsn.spec.in b/contrib/osmo-ggsn.spec.in index 0a568ef..6d55af8 100644 --- a/contrib/osmo-ggsn.spec.in +++ b/contrib/osmo-ggsn.spec.in @@ -108,6 +108,7 @@ %{_mandir}/man8/sgsnemu.8%{?ext_man} %{_unitdir}/%{name}.service %dir %{_docdir}/%{name}/examples +%{_docdir}/%{name}/examples/osmo-ggsn-kernel-gtp.cfg %{_docdir}/%{name}/examples/osmo-ggsn.cfg %{_docdir}/%{name}/examples/sgsnemu.conf %dir %{_sysconfdir}/osmocom diff --git a/debian/osmo-ggsn.examples b/debian/osmo-ggsn.examples index fe0136c..f9e13b1 100644 --- a/debian/osmo-ggsn.examples +++ b/debian/osmo-ggsn.examples @@ -1,2 +1,3 @@ doc/examples/osmo-ggsn.cfg +doc/examples/osmo-ggsn-kernel-gtp.cfg doc/examples/sgsnemu.conf diff --git a/doc/examples/Makefile.am b/doc/examples/Makefile.am index f80ce0d..64c513a 100644 --- a/doc/examples/Makefile.am +++ b/doc/examples/Makefile.am @@ -1,4 +1,5 @@ OSMOCONF_FILES = \ + osmo-ggsn-kernel-gtp.cfg \ osmo-ggsn.cfg \ sgsnemu.conf \ $(NULL) diff --git a/doc/examples/osmo-ggsn-kernel-gtp.cfg b/doc/examples/osmo-ggsn-kernel-gtp.cfg new file mode 100644 index 0000000..28eb207 --- /dev/null +++ b/doc/examples/osmo-ggsn-kernel-gtp.cfg @@ -0,0 +1,51 @@ +! +! OpenGGSN (0.94.1-adac) configuration saved from vty +!! +! +log stderr + logging filter all 1 + logging color 1 + logging print category 0 + logging timestamp 0 + logging level ip info + logging level tun info + logging level ggsn info + logging level sgsn notice + logging level icmp6 notice + logging level lglobal notice + logging level llapd notice + logging level linp notice + logging level lmux notice + logging level lmi notice + logging level lmib notice + logging level lsms notice + logging level lctrl notice + logging level lgtp info + logging level lstats notice + logging level lgsup notice + logging level loap notice + logging level lss7 notice + logging level lsccp notice + logging level lsua notice + logging level lm3ua notice + logging level lmgcp notice +! +stats interval 5 +! +line vty + no login +! +ggsn ggsn0 + gtp state-dir /tmp + gtp bind-ip 127.0.0.2 + apn internet + gtpu-mode kernel-gtp + tun-device tun4 + type-support v4 + ip prefix dynamic 172.16.222.0/24 + ip dns 0 8.8.8.8 + ip dns 1 8.8.4.4 + ip ifconfig 172.16.222.0/24 + no shutdown + default-apn internet + no shutdown ggsn -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/23158 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I6fbe8a8e55bad41532e9aed3cf71ebebffdcee52 Gerrit-Change-Number: 23158 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 2 08:06:18 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 2 Mar 2021 08:06:18 +0000 Subject: Change in osmo-ggsn[master]: doc/manuals: describe GTP-U kernel module In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/23159 ) Change subject: doc/manuals: describe GTP-U kernel module ...................................................................... Patch Set 2: Updated. The "WARNING:" line makes it use the warning template. -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/23159 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ib45cbfe03077960f216a83cf500ab3203d02cb3b Gerrit-Change-Number: 23159 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 02 Mar 2021 08:06: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 Mar 2 08:39:53 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 2 Mar 2021 08:39:53 +0000 Subject: Change in osmo-ci[master]: [DEBUG] home:osmith42:latest References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/23177 ) Change subject: [DEBUG] home:osmith42:latest ...................................................................... [DEBUG] home:osmith42:latest Change-Id: I7336f62b270b7475ac903bcecfd9c6b761647ef0 --- M scripts/osmocom-latest-packages.sh 1 file changed, 2 insertions(+), 61 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/77/23177/1 diff --git a/scripts/osmocom-latest-packages.sh b/scripts/osmocom-latest-packages.sh index b6a3d16..eb7f96d 100755 --- a/scripts/osmocom-latest-packages.sh +++ b/scripts/osmocom-latest-packages.sh @@ -7,9 +7,9 @@ set -x # OBS project name -PROJ=network:osmocom:latest +PROJ=home:osmith42:latest -DT=$(date +%Y%m%d%H%M) +DT=202103020000 TOP=$(pwd) DEBSRCDIR="$TOP/debsrc" @@ -122,75 +122,16 @@ prepare # NOTE: when adding a repository that is not in gerrit, adjust osmo_git_clone_url() - checkout limesuite https://github.com/myriadrf/LimeSuite checkout osmo-gsm-manuals checkout libosmocore - checkout libosmo-sccp - checkout libosmo-abis - checkout libosmo-netif - checkout libsmpp34 - checkout libasn1c - checkout libgtpnl - checkout libusrp - checkout osmo-iuh - checkout osmo-ggsn - checkout osmo-sgsn - checkout osmo-pcap - checkout osmo-trx - checkout osmo-sip-connector - checkout osmo-bts - checkout osmo-pcu - checkout osmo-hlr - checkout osmo-mgw - checkout osmo-msc - checkout osmo-bsc - checkout simtrace2 - checkout libosmo-dsp - checkout osmo-sysmon - checkout osmo-remsim - checkout open5gs https://github.com/open5gs/open5gs - checkout neocon https://github.com/laf0rge/neocon - checkout osmo-uecups - checkout osmo-e1d - checkout osmo-cbc checkout osmo-gbproxy cd "$TOP" osmo_obs_checkout_copy debian8 osmo-gsm-manuals build osmocom-latest - build limesuite --git-upstream-tree="$(get_last_tag limesuite)" build osmo-gsm-manuals - build osmo-gsm-manuals-debian8 build libosmocore - build libosmo-sccp - build libosmo-abis - build libosmo-netif - build libsmpp34 - build libasn1c - build libgtpnl - build libusrp - build osmo-iuh - build osmo-ggsn - build osmo-sgsn - build osmo-pcap - build osmo-trx - build osmo-sip-connector - build osmo-bts - build osmo-pcu - build osmo-hlr - build osmo-mgw - build osmo-msc - build osmo-bsc - build simtrace2 - build libosmo-dsp - build osmo-sysmon - build osmo-remsim - build open5gs - build neocon - build osmo-uecups - build osmo-e1d - build osmo-cbc build osmo-gbproxy cd "$TOP/$PROJ" -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23177 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I7336f62b270b7475ac903bcecfd9c6b761647ef0 Gerrit-Change-Number: 23177 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 2 08:39:54 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 2 Mar 2021 08:39:54 +0000 Subject: Change in osmo-ci[master]: OBS: latest: fix code path to add new package References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/23178 ) Change subject: OBS: latest: fix code path to add new package ...................................................................... OBS: latest: fix code path to add new package Fix osmo_obs_add_rpm_spec() to not assume to be in the $oscdir. This caused the following error when being called from osmocom-latest-packages.sh in the code path for adding a new package: ls: cannot access 'osmo-gbproxy_*.tar.*': No such file or directory Related: OS#5051 Change-Id: I467e332b69accfabba53332fdb9cd785991855fc --- M scripts/common-obs.sh 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/78/23178/1 diff --git a/scripts/common-obs.sh b/scripts/common-obs.sh index b6be98c..38719c8 100644 --- a/scripts/common-obs.sh +++ b/scripts/common-obs.sh @@ -139,7 +139,7 @@ fi # Set source file - tarball="$(ls -1 "${name}_"*".tar."*)" + tarball="$(cd "$oscdir" && ls -1 "${name}_"*".tar."*)" sed -i "s/^Source:.*/Source: $tarball/g" "$spec" osc add "$spec" -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23178 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I467e332b69accfabba53332fdb9cd785991855fc Gerrit-Change-Number: 23178 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 2 08:40:15 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 2 Mar 2021 08:40:15 +0000 Subject: Change in osmo-ci[master]: [DEBUG] home:osmith42:latest In-Reply-To: References: Message-ID: osmith has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23177 ) Change subject: [DEBUG] home:osmith42:latest ...................................................................... Abandoned uh, let's not put that into master -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23177 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I7336f62b270b7475ac903bcecfd9c6b761647ef0 Gerrit-Change-Number: 23177 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 2 08:43:37 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 2 Mar 2021 08:43:37 +0000 Subject: Change in pysim[master]: utils.py: de-couple sanitize_pin_adm from argparse 'opts' In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23169 ) Change subject: utils.py: de-couple sanitize_pin_adm from argparse 'opts' ...................................................................... Patch Set 2: Verified+1 Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23169 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I116e85acca3aeb0a0c24f74653c500ac2dc1d844 Gerrit-Change-Number: 23169 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 02 Mar 2021 08:43: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 Mar 2 08:44:30 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 2 Mar 2021 08:44:30 +0000 Subject: Change in pysim[master]: introduce SwMatchError exception In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23170 ) Change subject: introduce SwMatchError exception ...................................................................... Patch Set 6: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23170 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ia59962978745aef7038f750fa23f8dfc820645f4 Gerrit-Change-Number: 23170 Gerrit-PatchSet: 6 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 02 Mar 2021 08:44: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 Mar 2 08:45:44 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 2 Mar 2021 08:45:44 +0000 Subject: Change in pysim[master]: commands.py: rename select_file() to select_path() In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23172 ) Change subject: commands.py: rename select_file() to select_path() ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23172 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I63e01155de4ae47aeed8500708c0eb6580c7b8d1 Gerrit-Change-Number: 23172 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 02 Mar 2021 08:45: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 Mar 2 08:46:54 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 2 Mar 2021 08:46:54 +0000 Subject: Change in pysim[master]: commands.py: Introduce a real select_file() method In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23173 ) Change subject: commands.py: Introduce a real select_file() method ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23173 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I8bc86654c6d79f2428e196cc8a401e12d93a676b Gerrit-Change-Number: 23173 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 02 Mar 2021 08: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 Mar 2 08:49:41 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 2 Mar 2021 08:49:41 +0000 Subject: Change in osmo-ci[master]: OBS: latest: fix code path to add new package In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23178 ) Change subject: OBS: latest: fix code path to add new package ...................................................................... Patch Set 2: Verified+1 Verified in own OBS namespace and here: https://jenkins.osmocom.org/jenkins/job/Osmocom_OBS_latest/1271 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23178 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I467e332b69accfabba53332fdb9cd785991855fc Gerrit-Change-Number: 23178 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 02 Mar 2021 08:49:41 +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 Mar 2 09:04:51 2021 From: admin at opensuse.org (OBS Notification) Date: Tue, 02 Mar 2021 09:04:51 +0000 Subject: Build failure of network:osmocom:latest/openbsc in Debian_8.0/x86_64 In-Reply-To: References: Message-ID: <603dffbdc746e_6772ac5bdd365f0148805c@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/openbsc/Debian_8.0/x86_64 Package network:osmocom:latest/openbsc failed to build in Debian_8.0/x86_64 Check out the package for editing: osc checkout network:osmocom:latest openbsc Last lines of build log: [ 128s] | #define HAVE_STRING_H 1 [ 128s] | #define HAVE_MEMORY_H 1 [ 128s] | #define HAVE_STRINGS_H 1 [ 128s] | #define HAVE_INTTYPES_H 1 [ 128s] | #define HAVE_STDINT_H 1 [ 128s] | #define HAVE_UNISTD_H 1 [ 128s] | #define HAVE_DLFCN_H 1 [ 128s] | #define LT_OBJDIR ".libs/" [ 128s] | #define BUILD_SMPP 1 [ 128s] | #define STDC_HEADERS 1 [ 128s] | #define HAVE_DBI_DBD_H 1 [ 128s] | #define HAVE_PCAP_PCAP_H 1 [ 128s] | #define HAVE_TM_GMTOFF_IN_TM 1 [ 128s] | [ 128s] | configure: exit 0 [ 128s] [ 128s] debian/rules:30: recipe for target 'override_dh_auto_test' failed [ 128s] make[1]: *** [override_dh_auto_test] Error 1 [ 128s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 128s] debian/rules:13: 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 ### [ 129s] Powering off. [ 129s] [ 121.136219] reboot: Power down [ 129s] ### VM INTERACTION END ### [ 129s] [ 129s] lamb25 failed "build openbsc_1.3.2.dsc" at Tue Mar 2 09:04:38 UTC 2021. [ 129s] -- 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 Mar 2 09:08:20 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 2 Mar 2021 09:08:20 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ns: SNS: ensure all current testcase are only executed with IPACCESS ... References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23179 ) Change subject: ns: SNS: ensure all current testcase are only executed with IPACCESS or RESET_BLOCK dialect ...................................................................... ns: SNS: ensure all current testcase are only executed with IPACCESS or RESET_BLOCK dialect All current test cases are for those 2 dialect. In preparation of SNS test cases ensure those testcase have the correct dependency. Change-Id: Ifda066553eabb0ace4aca12e60797c4950fcc498 --- M ns/NS_Tests.ttcn 1 file changed, 28 insertions(+), 28 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/79/23179/1 diff --git a/ns/NS_Tests.ttcn b/ns/NS_Tests.ttcn index 59ab765..77b96cd 100644 --- a/ns/NS_Tests.ttcn +++ b/ns/NS_Tests.ttcn @@ -456,24 +456,23 @@ } control { - execute( TC_tx_reset() ); + if (mp_dialect == NS2_DIALECT_STATIC_RESETBLOCK or mp_dialect == NS2_DIALECT_IPACCESS) { + execute( TC_tx_reset() ); - /* 48.016 7.2 Block procedure */ - execute( TC_tx_block() ); - execute( TC_tx_block_by_vty() ); - execute( TC_tx_block_by_vty_reset() ); - // execute( TC_block_other_nsvc() ); // reset, unblock, sleep(1), block over another nsvci - /* 48.016 7.2 Unblock procedure */ - execute( TC_tx_unblock() ); - execute( TC_tx_unblock_retries() ); - // execute( TC_rx_unblock_tx_unblock() ); // wait for an rx unblock pdu, send an unblock pdu, expect unblock ack pdu - // execute( TC_unblockable() ); // block a NS-VCI via vty, try block procedure + /* 48.016 7.2 Block procedure */ + execute( TC_tx_block() ); + execute( TC_tx_block_by_vty() ); + execute( TC_tx_block_by_vty_reset() ); + // execute( TC_block_other_nsvc() ); // reset, unblock, sleep(1), block over another nsvci + /* 48.016 7.2 Unblock procedure */ + execute( TC_tx_unblock() ); + execute( TC_tx_unblock_retries() ); + // execute( TC_rx_unblock_tx_unblock() ); // wait for an rx unblock pdu, send an unblock pdu, expect unblock ack pdu + // execute( TC_unblockable() ); // block a NS-VCI via vty, try block procedure - /* 48.016 7.2.1 Block Abnormal Condition */ - /* 48.016 7.2.1 Unblock Abnormal Condition */ - - /* 48.016 7.3.1 Abnormal Condition */ - if (mp_dialect == NS2_DIALECT_STATIC_RESETBLOCK) { + /* 48.016 7.2.1 Block Abnormal Condition */ + /* 48.016 7.2.1 Unblock Abnormal Condition */ + /* 48.016 7.3.1 Abnormal Condition */ execute( TC_reset_wrong_nsei() ); execute( TC_reset_wrong_nsvci() ); execute( TC_reset_wrong_nsei_nsvci() ); @@ -482,21 +481,22 @@ execute( TC_reset_ack_wrong_nsei_nsvci() ); execute( TC_reset_retries() ); execute( TC_reset_on_block_reset() ); - } - execute( TC_ignore_reset_ack() ); + execute( TC_ignore_reset_ack() ); - /* 48.016 7.4 Test procedure on frame relay */ - execute( TC_tx_reset_tx_alive() ); - execute( TC_tx_reset_rx_alive() ); + /* 48.016 7.4 Test procedure on frame relay */ + execute( TC_tx_reset_tx_alive() ); + execute( TC_tx_reset_rx_alive() ); - /* 48.016 7.4.1 Abnormal Condition */ - if (mp_dialect == NS2_DIALECT_STATIC_RESETBLOCK) { - // execute( TC_alive_retries_multi() ); // check if alive retries works and block over an alive nsvc - execute( TC_alive_retries_single_reset() ); - } else if (mp_dialect == NS2_DIALECT_IPACCESS) { - execute( TC_alive_retries_single_no_resp() ); + /* 48.016 7.4.1 Abnormal Condition */ + if (mp_dialect == NS2_DIALECT_STATIC_RESETBLOCK) { + // execute( TC_alive_retries_multi() ); // check if alive retries works and block over an alive nsvc + execute( TC_alive_retries_single_reset() ); + } else if (mp_dialect == NS2_DIALECT_IPACCESS) { + execute( TC_alive_retries_single_no_resp() ); + } + + execute( TC_no_reset_alive_ack() ); } - execute( TC_no_reset_alive_ack() ); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23179 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ifda066553eabb0ace4aca12e60797c4950fcc498 Gerrit-Change-Number: 23179 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 2 09:08:21 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 2 Mar 2021 09:08:21 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ns: SNS: add first SNS test case References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23180 ) Change subject: ns: SNS: add first SNS test case ...................................................................... ns: SNS: add first SNS test case Do a successful IP-SNS configuration. Change-Id: I822e3a440db492c91caa3a79acbfd4661852d021 --- M ns/NS_Tests.ttcn A ns/osmo-ns.sns.cfg 2 files changed, 112 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/80/23180/1 diff --git a/ns/NS_Tests.ttcn b/ns/NS_Tests.ttcn index 77b96cd..e2ff114 100644 --- a/ns/NS_Tests.ttcn +++ b/ns/NS_Tests.ttcn @@ -455,6 +455,19 @@ f_alive_retries_single(reset := false); } +/* 48.016 SNS test cases */ + +/* do a succesful SNS configuration */ +testcase TC_sns_config_success() runs on RAW_Test_CT { + f_init_vty(); + f_init_ns_codec(mp_nsconfig); + f_incoming_sns_size(); + f_incoming_sns_config(); + f_outgoing_sns_config(); + setverdict(pass); + f_clean_ns_codec(); +} + control { if (mp_dialect == NS2_DIALECT_STATIC_RESETBLOCK or mp_dialect == NS2_DIALECT_IPACCESS) { execute( TC_tx_reset() ); @@ -497,6 +510,10 @@ execute( TC_no_reset_alive_ack() ); } + + if (mp_dialect == NS2_DIALECT_SNS) { + execute( TC_sns_config_success() ); + } } } diff --git a/ns/osmo-ns.sns.cfg b/ns/osmo-ns.sns.cfg new file mode 100644 index 0000000..ad69f35 --- /dev/null +++ b/ns/osmo-ns.sns.cfg @@ -0,0 +1,95 @@ +! +! OsmoNSdummy (1.4.0.326-f57c-dirty) configuration saved from vty +!! +! +log stderr + logging filter all 1 + logging color 0 + logging print category-hex 0 + logging print category 1 + logging print extended-timestamp 1 + logging print level 1 + logging print file basename + logging level force-all info + logging level lglobal debug + logging level llapd debug + logging level linp debug + logging level lmux debug + logging level lmi debug + logging level lmib debug + logging level lsms debug + logging level lctrl debug + logging level lgtp debug + logging level lstats debug + logging level lgsup debug + logging level loap debug + logging level lss7 debug + logging level lsccp debug + logging level lsua debug + logging level lm3ua debug + logging level lmgcp debug + logging level ljibuf debug + logging level lrspro debug + logging level lns debug + logging level lbssgp debug +log gsmtap 127.0.0.1 + logging filter all 0 + logging color 1 + logging print category-hex 1 + logging print category 0 + logging timestamp 0 + logging print file 1 + logging level lglobal debug + logging level llapd debug + logging level linp debug + logging level lmux debug + logging level lmi debug + logging level lmib debug + logging level lsms debug + logging level lctrl debug + logging level lgtp debug + logging level lstats debug + logging level lgsup debug + logging level loap debug + logging level lss7 debug + logging level lsccp debug + logging level lsua debug + logging level lm3ua debug + logging level lmgcp debug + logging level ljibuf debug + logging level lrspro debug + logging level lns debug + logging level lbssgp debug +! +stats reporter statsd + disable + remote-ip 127.0.0.1 + remote-port 8125 + mtu 1024 + level subscriber + prefix TTCN3 + flush-period 1 + enable +stats interval 0 +! +line vty + no login +! +ns + timer tns-block 3 + timer tns-block-retries 3 + timer tns-reset 3 + timer tns-reset-retries 3 + timer tns-test 12 + timer tns-alive 3 + timer tns-alive-retries 3 + timer tsns-prov 3 + timer tsns-size-retries 3 + timer tsns-config-retries 3 + bind udp local + listen 127.0.0.1 23000 + ip-sns signalling-weight 2 data-weight 2 + accept-ipaccess + nse 1234 + ip-sns-remote 127.0.0.1 22000 + ip-sns-bind local -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23180 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I822e3a440db492c91caa3a79acbfd4661852d021 Gerrit-Change-Number: 23180 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 2 09:08:21 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 2 Mar 2021 09:08:21 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ns: SNS: add bss change weight testcase References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23181 ) Change subject: ns: SNS: add bss change weight testcase ...................................................................... ns: SNS: add bss change weight testcase Do a normal SNS configuration. Afterwards the BSS will change the weights of the endpoints Change-Id: I691b9d26bf3eb8fa65aa02eba3efd0fd3869fc2a --- M library/RAW_NS.ttcnpp M ns/NS_Tests.ttcn 2 files changed, 36 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/81/23181/1 diff --git a/library/RAW_NS.ttcnpp b/library/RAW_NS.ttcnpp index 298ef1e..c5b0d50 100644 --- a/library/RAW_NS.ttcnpp +++ b/library/RAW_NS.ttcnpp @@ -390,6 +390,26 @@ rx := f_ns_exp(tr_SNS_CONFIG_ACK(g_nsconfig.nsei, cause), idx); } +/* perform inbound SNS-CHANGE-WEIGHT procedure */ +function f_incoming_sns_chg_weight(template (omit) NsCause cause := omit, integer idx := 0) +runs on RAW_NS_CT { + log("f_incoming_sns_chg_weight(idx=", idx, ")"); + var PDU_NS rx; + var NSVCConfiguration nsvc_cfg := g_nsconfig.nsvc[idx]; + + if (nsvc_cfg.provider.ip.address_family == AF_INET) { + var template IP4_Elements v4_elem := { tr_SNS_IPv4(nsvc_cfg.provider.ip.remote_ip, + nsvc_cfg.provider.ip.remote_udp_port) }; + rx := f_ns_exp(tr_SNS_CHG_WEIGHT(g_nsconfig.nsei, ?, v4 := v4_elem), idx); + } else { + var template IP6_Elements v6_elem := { tr_SNS_IPv6(nsvc_cfg.provider.ip.remote_ip, + nsvc_cfg.provider.ip.remote_udp_port) }; + rx := f_ns_exp(tr_SNS_CHG_WEIGHT(g_nsconfig.nsei, ?, v4 := omit, v6 := v6_elem), idx); + } + NSCP[idx].send(ts_SNS_ACK(g_nsconfig.nsei, rx.pDU_SNS_ChangeWeight.transactionID)); +} + + function f_outgoing_sns_add(integer idx_add, uint8_t w_sig := 1, uint8_t w_user := 1, integer idx := 0, template (omit) NsCause cause := omit) runs on RAW_NS_CT { log("f_outgoing_sns_add(idx_add=", idx_add, ")"); diff --git a/ns/NS_Tests.ttcn b/ns/NS_Tests.ttcn index e2ff114..89a7cd6 100644 --- a/ns/NS_Tests.ttcn +++ b/ns/NS_Tests.ttcn @@ -468,6 +468,21 @@ f_clean_ns_codec(); } +testcase TC_sns_bss_change_weight() runs on RAW_Test_CT { + f_init_vty(); + f_init_ns_codec(mp_nsconfig); + f_incoming_sns_size(); + f_incoming_sns_config(); + f_outgoing_sns_config(); + f_sleep(1.0); + activate(as_rx_alive_tx_ack()); + f_sleep(1.0); + f_vty_config2(NSVTY, {"ns", "bind udp local"}, "ip-sns signalling-weight 99 data-weight 99"); + f_incoming_sns_chg_weight(); + setverdict(pass); + f_clean_ns_codec(); +} + control { if (mp_dialect == NS2_DIALECT_STATIC_RESETBLOCK or mp_dialect == NS2_DIALECT_IPACCESS) { execute( TC_tx_reset() ); @@ -513,6 +528,7 @@ if (mp_dialect == NS2_DIALECT_SNS) { execute( TC_sns_config_success() ); + execute( TC_sns_bss_change_weight() ); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23181 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I691b9d26bf3eb8fa65aa02eba3efd0fd3869fc2a Gerrit-Change-Number: 23181 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 2 09:08:21 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 2 Mar 2021 09:08:21 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ns: SNS: add testcase to test change_weight retries References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23182 ) Change subject: ns: SNS: add testcase to test change_weight retries ...................................................................... ns: SNS: add testcase to test change_weight retries Change-Id: Ie8d976a81abe0bcff53bb74991d428dbf1fe314b --- M ns/NS_Tests.ttcn 1 file changed, 45 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/82/23182/1 diff --git a/ns/NS_Tests.ttcn b/ns/NS_Tests.ttcn index 89a7cd6..cd138be 100644 --- a/ns/NS_Tests.ttcn +++ b/ns/NS_Tests.ttcn @@ -483,6 +483,50 @@ f_clean_ns_codec(); } +/* receive 3x SNS_CHG_WEIGHT but never answer on it */ +testcase TC_sns_bss_change_weight_timeout() runs on RAW_Test_CT { + var integer i := 0; + var template PDU_NS rx; + var NSVCConfiguration nsvc_cfg; + + f_init_vty(); + f_init_ns_codec(mp_nsconfig); + f_incoming_sns_size(); + f_incoming_sns_config(); + f_outgoing_sns_config(); + f_sleep(1.0); + activate(as_rx_alive_tx_ack()); + f_sleep(1.0); + f_vty_config2(NSVTY, {"ns", "bind udp local"}, "ip-sns signalling-weight 99 data-weight 99"); + + nsvc_cfg := g_nsconfig.nsvc[0]; + if (nsvc_cfg.provider.ip.address_family == AF_INET) { + var template IP4_Elements v4_elem := { tr_SNS_IPv4(nsvc_cfg.provider.ip.remote_ip, + nsvc_cfg.provider.ip.remote_udp_port) }; + + rx := tr_SNS_CHG_WEIGHT(g_nsconfig.nsei, ?, v4 := v4_elem); + } else { + var template IP6_Elements v6_elem := { tr_SNS_IPv6(nsvc_cfg.provider.ip.remote_ip, + nsvc_cfg.provider.ip.remote_udp_port) }; + rx := tr_SNS_CHG_WEIGHT(g_nsconfig.nsei, ?, v4 := omit, v6 := v6_elem); + } + + alt { + [] NSCP[0].receive(rx) { + i := i + 1; + if (i < 3) { + repeat; + } + } + [] as_rx_alive_tx_ack(); + } + + f_ns_exp(tr_SNS_SIZE(g_nsconfig.nsei, rst_flag := true, max_nsvcs := 8, + num_v4 := 4, num_v6 := omit), 0); + setverdict(pass); + f_clean_ns_codec(); +} + control { if (mp_dialect == NS2_DIALECT_STATIC_RESETBLOCK or mp_dialect == NS2_DIALECT_IPACCESS) { execute( TC_tx_reset() ); @@ -529,6 +573,7 @@ if (mp_dialect == NS2_DIALECT_SNS) { execute( TC_sns_config_success() ); execute( TC_sns_bss_change_weight() ); + execute( TC_sns_bss_change_weight_timeout() ); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23182 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie8d976a81abe0bcff53bb74991d428dbf1fe314b Gerrit-Change-Number: 23182 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 2 09:15:15 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 2 Mar 2021 09:15:15 +0000 Subject: Change in libosmocore[master]: gprs_ns2: replace OSMO_ASSERT() References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/23183 ) Change subject: gprs_ns2: replace OSMO_ASSERT() ...................................................................... gprs_ns2: replace OSMO_ASSERT() When freeing the nsvc there are cases when the NSE is still alive. Change-Id: I4f32dee705c9886717339fe7cce5b4cd8d2c18f7 --- M src/gb/gprs_ns2.c 1 file changed, 3 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/83/23183/1 diff --git a/src/gb/gprs_ns2.c b/src/gb/gprs_ns2.c index a79dd05..c56b0b5 100644 --- a/src/gb/gprs_ns2.c +++ b/src/gb/gprs_ns2.c @@ -1455,8 +1455,9 @@ if (ns2_vc_is_unblocked(nsvc)) active_nsvcs++; } - /* an alive nse should always have active_nsvcs */ - OSMO_ASSERT(active_nsvcs); + + if (!active_nsvcs) + return 0; active_binds = talloc_zero_array(nse, struct gprs_ns2_vc_bind*, active_nsvcs); if (!active_binds) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23183 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4f32dee705c9886717339fe7cce5b4cd8d2c18f7 Gerrit-Change-Number: 23183 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 2 09:15:16 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 2 Mar 2021 09:15:16 +0000 Subject: Change in libosmocore[master]: gprs_ns2: add vty `nse <0-65535> restart sns` References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/23184 ) Change subject: gprs_ns2: add vty `nse <0-65535> restart sns` ...................................................................... gprs_ns2: add vty `nse <0-65535> restart sns` Allow to restart SNS procedure and initiate a SNS-SIZE procedure with Reset. Change-Id: Icb55d8449908d348ab10572eebcf971737fba00d --- M src/gb/gprs_ns2_vty.c 1 file changed, 27 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/84/23184/1 diff --git a/src/gb/gprs_ns2_vty.c b/src/gb/gprs_ns2_vty.c index 6214907..f4c4c68 100644 --- a/src/gb/gprs_ns2_vty.c +++ b/src/gb/gprs_ns2_vty.c @@ -1895,6 +1895,32 @@ return CMD_SUCCESS; } +DEFUN(nse_restart_sns, nse_restart_sns_cmd, + "nse <0-65535> restart sns", + "NS Entity ID (NSEI)\n" + "NS Entity ID (NSEI)\n" + "Restart SNS procedure\n" + "Restart SNS procedure\n") +{ + struct gprs_ns2_inst *nsi = vty_nsi; + struct gprs_ns2_nse *nse; + + uint16_t id = atoi(argv[0]); + nse = gprs_ns2_nse_by_nsei(nsi, id); + if (!nse) { + vty_out(vty, "Could not find NSE for NSEI %u%s", id, VTY_NEWLINE); + return CMD_WARNING; + } + + if (nse->dialect != GPRS_NS2_DIALECT_SNS) { + vty_out(vty, "Given NSEI %u doesn't use IP-SNS%s", id, VTY_NEWLINE); + return CMD_WARNING; + } + + gprs_ns2_free_nsvcs(nse); + return CMD_SUCCESS; +} + DEFUN(nsvc_block, nsvc_block_cmd, "nsvc <0-65535> (block|unblock)", "NS Virtual Connection\n" @@ -2034,6 +2060,7 @@ install_lib_element(ENABLE_NODE, &nsvc_force_unconf_cmd); install_lib_element(ENABLE_NODE, &nsvc_block_cmd); + install_lib_element(ENABLE_NODE, &nse_restart_sns_cmd); install_lib_element(CFG_LOG_NODE, &logging_fltr_nse_cmd); install_lib_element(CFG_LOG_NODE, &logging_fltr_nsvc_cmd); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23184 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Icb55d8449908d348ab10572eebcf971737fba00d Gerrit-Change-Number: 23184 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 2 09:15:16 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 2 Mar 2021 09:15:16 +0000 Subject: Change in libosmocore[master]: gprs_ns2: sns: move alive timeout into own variable References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/23185 ) Change subject: gprs_ns2: sns: move alive timeout into own variable ...................................................................... gprs_ns2: sns: move alive timeout into own variable It allows to span the timeout across fsm states. In prepration to add a new state for local procedures. Change-Id: I4b223118c7f250dbc8161cbf29cbd994c26c362f --- M src/gb/gprs_ns2_sns.c 1 file changed, 17 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/85/23185/1 diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index a82da95..86b4fdf 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -137,6 +137,8 @@ int N; /* true if at least one nsvc is alive */ bool alive; + /* alive timeout, to ensure at least one NSVC comes after X online */ + struct osmo_timer_list alive_timeout; /* local configuration to send to the remote end */ struct gprs_ns_ie_ip4_elem *ip4_local; @@ -959,7 +961,8 @@ ns2_tx_sns_config_ack(gss->sns_nsvc, NULL); /* start the test procedure on ALL NSVCs! */ gprs_ns2_start_alive_all_nsvcs(nse); - osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_CONFIGURED, ns_sns_configured_timeout(fi), 4); + osmo_timer_schedule(&gss->alive_timeout, ns_sns_configured_timeout(fi), 0); + osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_CONFIGURED, 0, 4); } else { /* just send CONFIG-ACK */ ns2_tx_sns_config_ack(gss->sns_nsvc, NULL); @@ -1312,7 +1315,7 @@ ns2_sns_st_configured_change(fi, gss, tp); break; case GPRS_SNS_EV_REQ_NSVC_ALIVE: - osmo_timer_del(&fi->timer); + osmo_timer_del(&gss->alive_timeout); break; } } @@ -1373,6 +1376,17 @@ }, }; +/* timer to ensure the SNS doesn't configure NSVC, but then no NSVC come alive afterwards */ +static void ns2_sns_timeout_alive_cb(void *data) +{ + struct osmo_fsm_inst *fi = data; + struct gprs_ns2_nse *nse = nse_inst_from_fi(fi); + + LOGPFSML(fi, LOGL_ERROR, "NSE %d: Config succeeded but no NS-VC came online. Selecting next IP-SNS endpoint.\n", nse->nsei); + osmo_fsm_inst_dispatch(fi, GPRS_SNS_EV_REQ_SELECT_ENDPOINT, NULL); +} + + static int ns2_sns_fsm_bss_timer_cb(struct osmo_fsm_inst *fi) { struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; @@ -1405,10 +1419,6 @@ osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_CONFIG_SGSN, nsi->timeout[NS_TOUT_TSNS_PROV], 3); } break; - case 4: - LOGPFSML(fi, LOGL_ERROR, "NSE %d: Config succeeded but no NS-VC came online. Selecting next IP-SNS endpoint.\n", nse->nsei); - osmo_fsm_inst_dispatch(fi, GPRS_SNS_EV_REQ_SELECT_ENDPOINT, NULL); - break; } return 0; } @@ -1542,6 +1552,7 @@ gss->nse = nse; INIT_LLIST_HEAD(&gss->sns_endpoints); INIT_LLIST_HEAD(&gss->binds); + osmo_timer_setup(&gss->alive_timeout, ns2_sns_timeout_alive_cb, fi); return fi; err: -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23185 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4b223118c7f250dbc8161cbf29cbd994c26c362f Gerrit-Change-Number: 23185 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 2 09:15:17 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 2 Mar 2021 09:15:17 +0000 Subject: Change in libosmocore[master]: gprs_ns2: add functions for SNS add/del/change-weight messages References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/23186 ) Change subject: gprs_ns2: add functions for SNS add/del/change-weight messages ...................................................................... gprs_ns2: add functions for SNS add/del/change-weight messages Change-Id: Ib9492e213e82c18c7dcce6ba7d64e897b4c74796 --- M src/gb/gprs_ns2_internal.h M src/gb/gprs_ns2_message.c 2 files changed, 135 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/86/23186/1 diff --git a/src/gb/gprs_ns2_internal.h b/src/gb/gprs_ns2_internal.h index 7e235be..1bef753 100644 --- a/src/gb/gprs_ns2_internal.h +++ b/src/gb/gprs_ns2_internal.h @@ -329,6 +329,25 @@ int ip4_ep_nr, int ip6_ep_nr); int ns2_tx_sns_size_ack(struct gprs_ns2_vc *nsvc, uint8_t *cause); +int ns2_tx_sns_add(struct gprs_ns2_vc *nsvc, + uint8_t trans_id, + const struct gprs_ns_ie_ip4_elem *ip4_elems, + unsigned int num_ip4_elems, + const struct gprs_ns_ie_ip6_elem *ip6_elems, + unsigned int num_ip6_elems); +int ns2_tx_sns_change_weight(struct gprs_ns2_vc *nsvc, + uint8_t trans_id, + const struct gprs_ns_ie_ip4_elem *ip4_elems, + unsigned int num_ip4_elems, + const struct gprs_ns_ie_ip6_elem *ip6_elems, + unsigned int num_ip6_elems); +int ns2_tx_sns_del(struct gprs_ns2_vc *nsvc, + uint8_t trans_id, + const struct gprs_ns_ie_ip4_elem *ip4_elems, + unsigned int num_ip4_elems, + const struct gprs_ns_ie_ip6_elem *ip6_elems, + unsigned int num_ip6_elems); + /* transmit message over a VC */ int ns2_tx_block(struct gprs_ns2_vc *nsvc, uint8_t cause); int ns2_tx_block_ack(struct gprs_ns2_vc *nsvc); diff --git a/src/gb/gprs_ns2_message.c b/src/gb/gprs_ns2_message.c index ddf7285..ca764a4 100644 --- a/src/gb/gprs_ns2_message.c +++ b/src/gb/gprs_ns2_message.c @@ -481,6 +481,122 @@ return ns_vc_tx(nsvc, msg); } +/*! Encode + Transmit a SNS-ADD/SNS-CHANGE-WEIGHT as per Section 9.3.2/9.3.3. + * \param[in] nsvc NS-VC through which to transmit the SNS-CONFIG + * \param[in] pdu The PDU type to send out + * \param[in] trans_id The transaction id + * \param[in] ip4_elems Array of IPv4 Elements + * \param[in] num_ip4_elems number of ip4_elems + * \param[in] ip6_elems Array of IPv6 Elements + * \param[in] num_ip6_elems number of ip6_elems + * \returns 0 on success; negative in case of error */ +static int ns2_tx_sns_procedure(struct gprs_ns2_vc *nsvc, + enum ns_pdu_type pdu, + uint8_t trans_id, + const struct gprs_ns_ie_ip4_elem *ip4_elems, + unsigned int num_ip4_elems, + const struct gprs_ns_ie_ip6_elem *ip6_elems, + unsigned int num_ip6_elems) +{ + struct msgb *msg; + struct gprs_ns_hdr *nsh; + uint16_t nsei; + + if (!nsvc) + return -EINVAL; + + if (!ip4_elems && !ip6_elems) + return -EINVAL; + + msg = ns2_msgb_alloc(); + + log_set_context(LOG_CTX_GB_NSE, nsvc->nse); + log_set_context(LOG_CTX_GB_NSVC, nsvc); + if (!msg) + return -ENOMEM; + + if (!nsvc->nse->bss_sns_fi) { + LOGNSVC(nsvc, LOGL_ERROR, "Cannot transmit SNS on NSVC without SNS active\n"); + msgb_free(msg); + return -EIO; + } + + nsei = osmo_htons(nsvc->nse->nsei); + + msg->l2h = msgb_put(msg, sizeof(*nsh)); + nsh = (struct gprs_ns_hdr *) msg->l2h; + nsh->pdu_type = pdu; + msgb_tvlv_put(msg, NS_IE_NSEI, 2, (uint8_t *)&nsei); + msgb_v_put(msg, trans_id); + + /* List of IP4 Elements 10.3.2c */ + if (ip4_elems) { + msgb_tvlv_put(msg, NS_IE_IPv4_LIST, num_ip4_elems*sizeof(struct gprs_ns_ie_ip4_elem), + (const uint8_t *)ip4_elems); + } else if (ip6_elems) { + /* List of IP6 elements 10.3.2d */ + msgb_tvlv_put(msg, NS_IE_IPv6_LIST, num_ip6_elems*sizeof(struct gprs_ns_ie_ip6_elem), + (const uint8_t *)ip6_elems); + } + + return ns_vc_tx(nsvc, msg); +} + +/*! Encode + Transmit a SNS-ADD as per Section 9.3.2. + * \param[in] nsvc NS-VC through which to transmit the SNS-CONFIG + * \param[in] trans_id The transaction id + * \param[in] ip4_elems Array of IPv4 Elements + * \param[in] num_ip4_elems number of ip4_elems + * \param[in] ip6_elems Array of IPv6 Elements + * \param[in] num_ip6_elems number of ip6_elems + * \returns 0 on success; negative in case of error */ +int ns2_tx_sns_add(struct gprs_ns2_vc *nsvc, + uint8_t trans_id, + const struct gprs_ns_ie_ip4_elem *ip4_elems, + unsigned int num_ip4_elems, + const struct gprs_ns_ie_ip6_elem *ip6_elems, + unsigned int num_ip6_elems) +{ + return ns2_tx_sns_procedure(nsvc, SNS_PDUT_ADD, trans_id, ip4_elems, num_ip4_elems, ip6_elems, num_ip6_elems); +} + +/*! Encode + Transmit a SNS-CHANGE-WEIGHT as per Section 9.3.3. + * \param[in] nsvc NS-VC through which to transmit the SNS-CONFIG + * \param[in] trans_id The transaction id + * \param[in] ip4_elems Array of IPv4 Elements + * \param[in] num_ip4_elems number of ip4_elems + * \param[in] ip6_elems Array of IPv6 Elements + * \param[in] num_ip6_elems number of ip6_elems + * \returns 0 on success; negative in case of error */ +int ns2_tx_sns_change_weight(struct gprs_ns2_vc *nsvc, + uint8_t trans_id, + const struct gprs_ns_ie_ip4_elem *ip4_elems, + unsigned int num_ip4_elems, + const struct gprs_ns_ie_ip6_elem *ip6_elems, + unsigned int num_ip6_elems) +{ + return ns2_tx_sns_procedure(nsvc, SNS_PDUT_CHANGE_WEIGHT, trans_id, ip4_elems, num_ip4_elems, ip6_elems, num_ip6_elems); +} + +/*! Encode + Transmit a SNS-DEL as per Section 9.3.6. + * \param[in] nsvc NS-VC through which to transmit the SNS-CONFIG + * \param[in] trans_id The transaction id + * \param[in] ip4_elems Array of IPv4 Elements + * \param[in] num_ip4_elems number of ip4_elems + * \param[in] ip6_elems Array of IPv6 Elements + * \param[in] num_ip6_elems number of ip6_elems + * \returns 0 on success; negative in case of error */ +int ns2_tx_sns_del(struct gprs_ns2_vc *nsvc, + uint8_t trans_id, + const struct gprs_ns_ie_ip4_elem *ip4_elems, + unsigned int num_ip4_elems, + const struct gprs_ns_ie_ip6_elem *ip6_elems, + unsigned int num_ip6_elems) +{ + /* TODO: IP Address field */ + return ns2_tx_sns_procedure(nsvc, SNS_PDUT_DELETE, trans_id, ip4_elems, num_ip4_elems, ip6_elems, num_ip6_elems); +} + /*! Encode + Transmit a SNS-ACK as per Section 9.3.1. * \param[in] nsvc NS-VC through which to transmit the ACK -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23186 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib9492e213e82c18c7dcce6ba7d64e897b4c74796 Gerrit-Change-Number: 23186 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 2 09:15:18 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 2 Mar 2021 09:15:18 +0000 Subject: Change in libosmocore[master]: WIP: gprs_ns2: sns: implement local procedure change weight References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/23187 ) Change subject: WIP: gprs_ns2: sns: implement local procedure change weight ...................................................................... WIP: gprs_ns2: sns: implement local procedure change weight Change-Id: Icec4dabb46bc198f68f91bfe09ba279fbe68d454 --- M src/gb/gprs_ns2.c M src/gb/gprs_ns2_internal.h M src/gb/gprs_ns2_sns.c 3 files changed, 422 insertions(+), 19 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/87/23187/1 diff --git a/src/gb/gprs_ns2.c b/src/gb/gprs_ns2.c index c56b0b5..e3d3298 100644 --- a/src/gb/gprs_ns2.c +++ b/src/gb/gprs_ns2.c @@ -1289,6 +1289,7 @@ nsi->timeout[NS_TOUT_TSNS_PROV] = 3; /* 1..10 */ nsi->timeout[NS_TOUT_TSNS_SIZE_RETRIES] = 3; nsi->timeout[NS_TOUT_TSNS_CONFIG_RETRIES] = 3; + nsi->timeout[NS_TOUT_TSNS_PROCEDURES_RETRIES] = 3; return nsi; } diff --git a/src/gb/gprs_ns2_internal.h b/src/gb/gprs_ns2_internal.h index 1bef753..35933aa 100644 --- a/src/gb/gprs_ns2_internal.h +++ b/src/gb/gprs_ns2_internal.h @@ -33,8 +33,8 @@ struct gprs_ns2_vc_driver; struct gprs_ns2_vc_bind; -#define NS_TIMERS_COUNT 10 -#define NS_TIMERS "(tns-block|tns-block-retries|tns-reset|tns-reset-retries|tns-test|tns-alive|tns-alive-retries|tsns-prov|tsns-size-retries|tsns-config-retries)" +#define NS_TIMERS_COUNT 11 +#define NS_TIMERS "(tns-block|tns-block-retries|tns-reset|tns-reset-retries|tns-test|tns-alive|tns-alive-retries|tsns-prov|tsns-size-retries|tsns-config-retries|tsns-procedures-retries)" #define NS_TIMERS_HELP \ "(un)blocking Timer (Tns-block) timeout\n" \ "(un)blocking Timer (Tns-block) number of retries\n" \ @@ -46,6 +46,7 @@ "SNS Provision Timer (Tsns-prov) timeout\n" \ "SNS Size number of retries\n" \ "SNS Config number of retries\n" \ + "SNS Procedures number of retries\n" \ /* Educated guess - LLC user payload is 1500 bytes plus possible headers */ #define NS_ALLOC_SIZE 3072 @@ -62,6 +63,7 @@ NS_TOUT_TSNS_PROV, NS_TOUT_TSNS_SIZE_RETRIES, NS_TOUT_TSNS_CONFIG_RETRIES, + NS_TOUT_TSNS_PROCEDURES_RETRIES, }; enum nsvc_timer_mode { diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index 86b4fdf..3517378 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -35,6 +35,8 @@ * - No concurrent dual stack. It supports either IPv4 or IPv6, but not both at the same time. * - SNS Add/Change/Delete: Doesn't answer on the same NSVC as received SNS ADD/CHANGE/DELETE PDUs. * - SNS Add/Change/Delete: Doesn't communicated the failed IPv4/IPv6 entries on the SNS_ACK. + * + * - */ #include @@ -67,6 +69,7 @@ GPRS_SNS_ST_CONFIG_BSS, /*!< SNS-CONFIG procedure (BSS->SGSN) ongoing */ GPRS_SNS_ST_CONFIG_SGSN, /*!< SNS-CONFIG procedure (SGSN->BSS) ongoing */ GPRS_SNS_ST_CONFIGURED, + GPRS_SNS_ST_LOCAL_PROCEDURE, /*!< in process of a ADD/DEL/UPDATE procedure towards SGSN (BSS->SGSN) */ }; enum gprs_sns_event { @@ -79,10 +82,12 @@ GPRS_SNS_EV_RX_ADD, GPRS_SNS_EV_RX_DELETE, GPRS_SNS_EV_RX_CHANGE_WEIGHT, + GPRS_SNS_EV_RX_ACK, GPRS_SNS_EV_REQ_NO_NSVC, GPRS_SNS_EV_REQ_NSVC_ALIVE, /*!< a NS-VC became alive */ GPRS_SNS_EV_REQ_ADD_BIND, GPRS_SNS_EV_REQ_DELETE_BIND, + GPRS_SNS_EV_REQ_CHANGE_WEIGHT, /*!< a bind changed its weight */ }; static const struct value_string gprs_sns_event_names[] = { @@ -95,13 +100,21 @@ { GPRS_SNS_EV_RX_ADD, "RX_ADD" }, { GPRS_SNS_EV_RX_DELETE, "RX_DELETE" }, { GPRS_SNS_EV_RX_CHANGE_WEIGHT, "RX_CHANGE_WEIGHT" }, + { GPRS_SNS_EV_RX_ACK, "RX_ACK" }, { GPRS_SNS_EV_REQ_NO_NSVC, "REQ_NO_NSVC" }, { GPRS_SNS_EV_REQ_NSVC_ALIVE, "REQ_NSVC_ALIVE"}, { GPRS_SNS_EV_REQ_ADD_BIND, "REQ_ADD_BIND"}, { GPRS_SNS_EV_REQ_DELETE_BIND, "REQ_DELETE_BIND"}, + { GPRS_SNS_EV_REQ_CHANGE_WEIGHT, "REQ_UPDATE_WEIGHT"}, { 0, NULL } }; +enum sns_procedure { + SNS_ADD, + SNS_DEL, + SNS_CHANGE_WEIGHT, +}; + struct sns_endpoint { struct llist_head list; struct osmo_sockaddr saddr; @@ -112,6 +125,13 @@ struct gprs_ns2_vc_bind *bind; }; +struct ns2_sns_procedure { + struct llist_head list; + struct gprs_ns2_vc_bind *bind; + void *endpoint; + enum sns_procedure procedure; +}; + struct ns2_sns_state { struct gprs_ns2_nse *nse; @@ -133,12 +153,20 @@ struct sns_endpoint *initial; /* all SNS PDU will be sent over this nsvc */ struct gprs_ns2_vc *sns_nsvc; + + /* all pending local procedures*/ + struct llist_head procedures; + /* all current procedure */ + struct ns2_sns_procedure *current; + /* timer N */ int N; /* true if at least one nsvc is alive */ bool alive; /* alive timeout, to ensure at least one NSVC comes after X online */ struct osmo_timer_list alive_timeout; + /* valid transaction id to use for our procedures */ + uint8_t trans_id; /* local configuration to send to the remote end */ struct gprs_ns_ie_ip4_elem *ip4_local; @@ -163,12 +191,42 @@ unsigned int num_ip6_remote; }; +static void add_local_procedure(struct ns2_sns_state *gss, enum sns_procedure procedure, void *endpoint); + static inline struct gprs_ns2_nse *nse_inst_from_fi(struct osmo_fsm_inst *fi) { struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; return gss->nse; } +static struct gprs_ns_ie_ip4_elem *ip4_elem_by_saddr(struct gprs_ns_ie_ip4_elem *ip4, size_t num, const struct osmo_sockaddr *saddr) +{ + if (saddr->u.sa.sa_family != AF_INET) + return NULL; + + for (size_t i = 0; i < num; i++) { + if (ip4[i].ip_addr == saddr->u.sin.sin_addr.s_addr && + ip4->udp_port == saddr->u.sin.sin_port) + return &ip4[i]; + } + + return NULL; +} + +static struct gprs_ns_ie_ip6_elem *ip6_elem_by_saddr(struct gprs_ns_ie_ip6_elem *ip6, size_t num, const struct osmo_sockaddr *saddr) +{ + if (saddr->u.sa.sa_family != AF_INET6) + return NULL; + + for (size_t i = 0; i < num; i++) { + if (memcmp(&ip6[i].ip_addr, &saddr->u.sin6.sin6_addr, sizeof(struct in6_addr)) == 0 && + ip6->udp_port == saddr->u.sin6.sin6_port) + return &ip6[i]; + } + + return NULL; +} + /* helper function to compute the sum of all (data or signaling) weights */ static int ip4_weight_sum(const struct gprs_ns_ie_ip4_elem *ip4, unsigned int num, bool data_weight) @@ -283,6 +341,8 @@ static void ns2_clear_ipv46_entries(struct ns2_sns_state *gss) { + struct ns2_sns_procedure *procedure, *tmp; + TALLOC_FREE(gss->ip4_local); TALLOC_FREE(gss->ip4_remote); TALLOC_FREE(gss->ip6_local); @@ -292,6 +352,15 @@ gss->num_ip4_remote = 0; gss->num_ip6_local = 0; gss->num_ip6_remote = 0; + + if (gss->current) + talloc_free(gss->current); + gss->current = NULL; + + llist_for_each_entry_safe(procedure, tmp, &gss->procedures, list) { + llist_del(&procedure->list); + talloc_free(&procedure); + } } static void ns2_vc_create_ip(struct osmo_fsm_inst *fi, struct gprs_ns2_nse *nse, const struct osmo_sockaddr *remote, @@ -433,6 +502,47 @@ return 0; } +/* Add a given local IPv4 element to gprs_sns_state */ +static int add_local_ip4_elem(struct ns2_sns_state *gss, uint32_t ip_addr, uint16_t port) +{ + unsigned int i; + + if (gss->num_ip4_local + gss->num_ip4_remote >= gss->num_max_nsvcs) + return -NS_CAUSE_INVAL_NR_NS_VC; + + /* check for duplicates */ + for (i = 0; i < gss->num_ip4_local; i++) { + if (memcmp(&gss->ip4_local[i], ip4, sizeof(*ip4))) + continue; + /* TODO: log message duplicate */ + /* TODO: check if this is the correct cause code */ + return -NS_CAUSE_PROTO_ERR_UNSPEC; + } + + gss->ip4_local = talloc_realloc(gss, gss->ip4_local, struct gprs_ns_ie_ip4_elem, + gss->num_ip4_local+1); + gss->ip4_local[gss->num_ip4_local] = *ip4; + gss->num_ip4_local += 1; + return 0; +} + +/* Remove a given local IPv4 element from gprs_sns_state */ +static int remove_local_ip4_elem(struct ns2_sns_state *gss, const struct gprs_ns_ie_ip4_elem *ip4) +{ + unsigned int i; + + for (i = 0; i < gss->num_ip4_local; i++) { + if (memcmp(&gss->ip4_local[i], ip4, sizeof(*ip4))) + continue; + /* all array elements < i remain as they are; all > i are shifted left by one */ + memmove(&gss->ip4_local[i], &gss->ip4_local[i+1], gss->num_ip4_local-i-1); + gss->num_ip4_local -= 1; + return 0; + } + return -1; +} + + /* Add a given remote IPv4 element to gprs_sns_state */ static int add_remote_ip4_elem(struct ns2_sns_state *gss, const struct gprs_ns_ie_ip4_elem *ip4) { @@ -743,7 +853,7 @@ if (old_state != GPRS_SNS_ST_SIZE) gss->N = 0; - + gss->trans_id = 0; gss->alive = false; ns2_clear_ipv46_entries(gss); @@ -1149,19 +1259,19 @@ if (TLVP_PRESENT(tp, NS_IE_IPv4_LIST)) { v4_list = (const struct gprs_ns_ie_ip4_elem *) TLVP_VAL(tp, NS_IE_IPv4_LIST); num_v4 = TLVP_LEN(tp, NS_IE_IPv4_LIST) / sizeof(*v4_list); - for ( i = 0; i < num_v4; i++) { + for (i = 0; i < num_v4; i++) { rc = do_sns_delete(fi, &v4_list[i], NULL); if (rc < 0) { cause = -rc; /* continue to delete others */ } } + if (cause != 0xff) { /* TODO: create list of not-deleted and return it */ ns2_tx_sns_ack(gss->sns_nsvc, trans_id, &cause, NULL, 0, NULL, 0); return; } - } else if (TLVP_PRESENT(tp, NS_IE_IP_ADDR) && TLVP_LEN(tp, NS_IE_IP_ADDR) == 5) { /* delete all NS-VCs for given IPv4 address */ const uint8_t *ie = TLVP_VAL(tp, NS_IE_IP_ADDR); @@ -1302,6 +1412,7 @@ static void ns2_sns_st_configured(struct osmo_fsm_inst *fi, uint32_t event, void *data) { struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; + struct gprs_ns2_inst *nsi = nse_inst_from_fi(fi)->nsi; struct tlv_parsed *tp = data; switch (event) { @@ -1317,13 +1428,103 @@ case GPRS_SNS_EV_REQ_NSVC_ALIVE: osmo_timer_del(&gss->alive_timeout); break; + case GPRS_SNS_EV_REQ_CHANGE_WEIGHT: + osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_LOCAL_PROCEDURE, nsi->timeout[NS_TOUT_TSNS_PROV], GPRS_SNS_ST_LOCAL_PROCEDURE); + break; } } static void ns2_sns_st_configured_onenter(struct osmo_fsm_inst *fi, uint32_t old_state) { struct gprs_ns2_nse *nse = nse_inst_from_fi(fi); - ns2_prim_status_ind(nse, NULL, 0, GPRS_NS2_AFF_CAUSE_SNS_CONFIGURED); + if (old_state != GPRS_SNS_ST_LOCAL_PROCEDURE) + ns2_prim_status_ind(nse, NULL, 0, GPRS_NS2_AFF_CAUSE_SNS_CONFIGURED); +} + +static void ns2_sns_st_local_procedure_onenter(struct osmo_fsm_inst *fi, uint32_t old_state) +{ + struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; + struct ns2_sns_procedure *current; + + if (!gss->current) { + gss->current = llist_first_entry_or_null(&gss->procedures, struct ns2_sns_procedure, list); + if (!gss->current) { + osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_CONFIGURED, 0, 0); + return; + } + llist_del(&gss->current->list); + } + + current = gss->current; + switch (current->procedure) { + case SNS_ADD: + if (gss->ip == IPv4) + ns2_tx_sns_add(gss->sns_nsvc, gss->trans_id, current->endpoint, 1, NULL, 0); + else + ns2_tx_sns_add(gss->sns_nsvc, gss->trans_id, NULL, 0, current->endpoint, 1); + break; + case SNS_CHANGE_WEIGHT: + if (gss->ip == IPv4) + ns2_tx_sns_change_weight(gss->sns_nsvc, gss->trans_id, current->endpoint, 1, NULL, 0); + else + ns2_tx_sns_change_weight(gss->sns_nsvc, gss->trans_id, NULL, 0, current->endpoint, 1); + break; + case SNS_DEL: + if (gss->ip == IPv4) + ns2_tx_sns_del(gss->sns_nsvc, gss->trans_id, current->endpoint, 1, NULL, 0); + else + ns2_tx_sns_del(gss->sns_nsvc, gss->trans_id, NULL, 0, current->endpoint, 1); + break; + } +} + +static void ns2_sns_st_local_procedure(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; + struct gprs_ns2_nse *nse = nse_inst_from_fi(fi); + struct gprs_ns2_inst *nsi = nse->nsi; + struct tlv_parsed *tp = data; + uint8_t trans_id; + + switch (event) { + case GPRS_SNS_EV_RX_ADD: + ns2_sns_st_configured_add(fi, gss, tp); + break; + case GPRS_SNS_EV_RX_DELETE: + ns2_sns_st_configured_delete(fi, gss, tp); + break; + case GPRS_SNS_EV_RX_CHANGE_WEIGHT: + ns2_sns_st_configured_change(fi, gss, tp); + break; + case GPRS_SNS_EV_REQ_NSVC_ALIVE: + osmo_timer_del(&gss->alive_timeout); + break; + case GPRS_SNS_EV_RX_ACK: + /* the transaction id has been already checked */ + trans_id = tlvp_val8(tp, NS_IE_TRANS_ID, 0); + if (trans_id != gss->trans_id) { + LOGPFSML(fi, LOGL_DEBUG, "NSEI=%u Rx SNS ACK with invalid transaction id %d. Valid %d\n", + nse->nsei, trans_id, gss->trans_id); + break; + } + + if (!TLVP_PRESENT(tp, NS_IE_CAUSE)) { + /* everything ok */ + talloc_free(gss->current); + gss->current = NULL; + gss->trans_id++; + if (llist_empty(&gss->procedures)) { + osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_CONFIGURED, 0, 0); + } else { + osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_LOCAL_PROCEDURE, + nsi->timeout[NS_TOUT_TSNS_PROV], GPRS_SNS_ST_LOCAL_PROCEDURE); + } + return; + } + + /* what happened, when rejected? remove the bind? */ + break; + } } static const struct osmo_fsm_state ns2_sns_bss_states[] = { @@ -1356,9 +1557,10 @@ .in_event_mask = S(GPRS_SNS_EV_RX_CONFIG) | S(GPRS_SNS_EV_RX_CONFIG_END), .out_state_mask = S(GPRS_SNS_ST_UNCONFIGURED) | + S(GPRS_SNS_ST_SIZE) | S(GPRS_SNS_ST_CONFIG_SGSN) | S(GPRS_SNS_ST_CONFIGURED) | - S(GPRS_SNS_ST_SIZE), + S(GPRS_SNS_ST_LOCAL_PROCEDURE), .name = "CONFIG_SGSN", .action = ns2_sns_st_config_sgsn, .onenter = ns2_sns_st_config_sgsn_onenter, @@ -1367,13 +1569,30 @@ .in_event_mask = S(GPRS_SNS_EV_RX_ADD) | S(GPRS_SNS_EV_RX_DELETE) | S(GPRS_SNS_EV_RX_CHANGE_WEIGHT) | + S(GPRS_SNS_EV_REQ_CHANGE_WEIGHT) | S(GPRS_SNS_EV_REQ_NSVC_ALIVE), .out_state_mask = S(GPRS_SNS_ST_UNCONFIGURED) | - S(GPRS_SNS_ST_SIZE), + S(GPRS_SNS_ST_SIZE) | + S(GPRS_SNS_ST_LOCAL_PROCEDURE), .name = "CONFIGURED", .action = ns2_sns_st_configured, .onenter = ns2_sns_st_configured_onenter, }, + [GPRS_SNS_ST_LOCAL_PROCEDURE] = { + .in_event_mask = S(GPRS_SNS_EV_RX_ADD) | + S(GPRS_SNS_EV_RX_DELETE) | + S(GPRS_SNS_EV_RX_CHANGE_WEIGHT) | + S(GPRS_SNS_EV_RX_ACK) | + S(GPRS_SNS_EV_REQ_CHANGE_WEIGHT) | + S(GPRS_SNS_EV_REQ_NSVC_ALIVE), + .out_state_mask = S(GPRS_SNS_ST_UNCONFIGURED) | + S(GPRS_SNS_ST_SIZE) | + S(GPRS_SNS_ST_CONFIGURED) | + S(GPRS_SNS_ST_LOCAL_PROCEDURE), + .name = "LOCAL_PROCEDURE", + .action = ns2_sns_st_local_procedure, + .onenter = ns2_sns_st_local_procedure_onenter, + }, }; /* timer to ensure the SNS doesn't configure NSVC, but then no NSVC come alive afterwards */ @@ -1419,16 +1638,93 @@ osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_CONFIG_SGSN, nsi->timeout[NS_TOUT_TSNS_PROV], 3); } break; + case GPRS_SNS_ST_LOCAL_PROCEDURE: + if (gss->N >= nsi->timeout[NS_TOUT_TSNS_PROCEDURES_RETRIES]) { + LOGPFSML(fi, LOGL_ERROR, "NSE %d: SNS Procedure retries failed. Selecting next IP-SNS endpoint.\n", nse->nsei); + osmo_fsm_inst_dispatch(fi, GPRS_SNS_EV_REQ_SELECT_ENDPOINT, NULL); + } else { + osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_LOCAL_PROCEDURE, nsi->timeout[NS_TOUT_TSNS_PROV], + fi->T); + } } return 0; } +/* create a local endpoint from sns_bind */ +static void *ns2_create_local_endpoint(struct ns2_sns_state *gss, struct ns2_sns_bind *sns_bind) +{ + struct osmo_sockaddr *local = NULL, *remote = NULL; + const struct osmo_sockaddr *sa; + struct gprs_ns_ie_ip4_elem *ip4; + struct gprs_ns_ie_ip6_elem *ip6; + + sa = gprs_ns2_ip_bind_sockaddr(sns_bind->bind); + if (!sa) + return NULL; + + switch (sa->u.sa.sa_family) { + case AF_INET: + if (sa->u.sin.sin_addr.s_addr == 0) { + if (osmo_sockaddr_local_ip(local, &gss->initial->saddr)) + return NULL; + sa = local; + } + + ip4 = ip4_elem_by_saddr(gss->ip4_local, gss->num_ip4_local, sa); + if (ip4) { + return NULL; + } else { + // TODO: use memmov/realloc + add_local_ip4_elem() + ip4 = talloc_zero(gss, struct gprs_ns_ie_ip4_elem); + if (!ip4) + return NULL; + } + + ip4->ip_addr = sa->u.sin.sin_addr.s_addr; + ip4->udp_port = sa->u.sin.sin_port; + ip4->data_weight = sns_bind->bind->sns_data_weight; + ip4->sig_weight = sns_bind->bind->sns_sig_weight; + // TODO: add to local endpoints + return ip4; + case AF_INET6: + if (IN6_IS_ADDR_UNSPECIFIED(&sa->u.sin6.sin6_addr)) { + if (osmo_sockaddr_local_ip(local, remote)) + return NULL; + sa = local; + } + + ip6 = ip6_elem_by_saddr(gss->ip6_local, gss->num_ip6_local, sa); + if (ip6) { + return NULL; + } else { + ip6 = talloc_zero(gss, struct gprs_ns_ie_ip6_elem); + if (!ip6) + return NULL; + } + + memcpy(&ip6->ip_addr, &sa->u.sin6.sin6_addr, sizeof(struct in6_addr)); + ip6->udp_port = sa->u.sin6.sin6_port; + ip6->data_weight = sns_bind->bind->sns_data_weight; + ip6->sig_weight = sns_bind->bind->sns_sig_weight; + // TODO: add to local endpoints + return ip6; + default: + OSMO_ASSERT(false); + break; + } + + return NULL; +} + static void ns2_sns_st_all_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) { struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; struct gprs_ns2_nse *nse = nse_inst_from_fi(fi); struct ns2_sns_bind *sbind; struct gprs_ns2_vc *nsvc, *nsvc2; + const struct osmo_sockaddr *sa; + void *endpoint = NULL; /* reset when receiving GPRS_SNS_EV_REQ_NO_NSVC */ switch (event) { @@ -1468,17 +1764,30 @@ break; case GPRS_SNS_EV_REQ_ADD_BIND: sbind = data; + // free sbind or llist_add_tail(&tmp->list, &gss->binds); + // bind to remote switch (fi->state) { case GPRS_SNS_ST_UNCONFIGURED: + llist_add_tail(&sbind->list, &gss->binds); osmo_fsm_inst_dispatch(nse->bss_sns_fi, GPRS_SNS_EV_REQ_SELECT_ENDPOINT, NULL); break; case GPRS_SNS_ST_SIZE: - /* TODO: add the ip4 element to the list */ + endpoint = ns2_create_local_endpoint(gss, sbind); + if (!endpoint) { + talloc_free(sbind); + return; + } + // TODO add to endpoints break; case GPRS_SNS_ST_CONFIG_BSS: case GPRS_SNS_ST_CONFIG_SGSN: case GPRS_SNS_ST_CONFIGURED: - /* TODO: add to SNS-IP procedure queue & add nsvc() */ + endpoint = ns2_create_local_endpoint(gss, sbind); + if (!endpoint) { + talloc_free(sbind); + return; + } + add_local_procedure(gss, SNS_ADD, endpoint); break; } break; @@ -1552,6 +1861,7 @@ gss->nse = nse; INIT_LLIST_HEAD(&gss->sns_endpoints); INIT_LLIST_HEAD(&gss->binds); + INIT_LLIST_HEAD(&gss->procedures); osmo_timer_setup(&gss->alive_timeout, ns2_sns_timeout_alive_cb, fi); return fi; @@ -1610,8 +1920,7 @@ osmo_fsm_inst_dispatch(fi, GPRS_SNS_EV_RX_CHANGE_WEIGHT, tp); break; case SNS_PDUT_ACK: - LOGPFSML(fi, LOGL_NOTICE, "NSEI=%u Rx unsupported SNS PDU type %s\n", nsei, - get_value_string(gprs_ns_pdu_strings, nsh->pdu_type)); + osmo_fsm_inst_dispatch(fi, GPRS_SNS_EV_RX_ACK, tp); break; default: LOGPFSML(fi, LOGL_ERROR, "NSEI=%u Rx unknown SNS PDU type %s\n", nsei, @@ -1844,7 +2153,7 @@ return; gss = nse->bss_sns_fi->priv; - if(nse->bss_sns_fi->state != GPRS_SNS_ST_CONFIGURED) + if(nse->bss_sns_fi->state != GPRS_SNS_ST_CONFIGURED && nse->bss_sns_fi->state != GPRS_SNS_ST_LOCAL_PROCEDURE) return; if (alive == gss->alive) @@ -1875,6 +2184,28 @@ } } +static void add_local_procedure(struct ns2_sns_state *gss, enum sns_procedure procedure, void *endpoint) +{ + struct ns2_sns_procedure *sns_proc; + + switch (gss->nse->bss_sns_fi->state) { + case GPRS_SNS_ST_UNCONFIGURED: + case GPRS_SNS_ST_SIZE: + /* we can ignore the procedure as nothing yet configured */ + return; + default: + break; + } + + sns_proc = talloc_zero(gss, struct ns2_sns_procedure); + if (!sns_proc) + return; + + sns_proc->endpoint = endpoint; + sns_proc->procedure = procedure; + llist_add(&sns_proc->list, &gss->procedures); +} + int gprs_ns2_sns_add_bind(struct gprs_ns2_nse *nse, struct gprs_ns2_vc_bind *bind) { @@ -1899,15 +2230,13 @@ if (!tmp) return -ENOMEM; tmp->bind = bind; - llist_add_tail(&tmp->list, &gss->binds); - osmo_fsm_inst_dispatch(nse->bss_sns_fi, GPRS_SNS_EV_REQ_ADD_BIND, tmp); return 0; } /* Remove a bind from the SNS. All assosiated NSVC must be removed. */ int gprs_ns2_sns_del_bind(struct gprs_ns2_nse *nse, - struct gprs_ns2_vc_bind *bind) + struct gprs_ns2_vc_bind *bind) { struct ns2_sns_state *gss; struct ns2_sns_bind *tmp, *tmp2; @@ -1938,12 +2267,83 @@ return 0; } -/* Update SNS weights - * \param[in] nsvc the NSVC which should be updated + +/* Update SNS weights for a bind (local endpoint). */ +static void _ns2_sns_update_weights(struct ns2_sns_state *gss, struct ns2_sns_bind *sns_bind) { + // find the ip_local entry by using the initial connection for 0.0.0.0 + struct osmo_sockaddr *local = NULL, *remote = NULL; + const struct osmo_sockaddr *sa; + struct gprs_ns_ie_ip4_elem *ip4; + struct gprs_ns_ie_ip6_elem *ip6; + + sa = gprs_ns2_ip_bind_sockaddr(sns_bind->bind); + if (!sa) + return; + + switch (sa->u.sa.sa_family) { + case AF_INET: + if (sa->u.sin.sin_addr.s_addr == 0) { + if (osmo_sockaddr_local_ip(local, &gss->initial->saddr)) + return; + ip4 = ip4_elem_by_saddr(gss->ip4_local, gss->num_ip4_local, local); + } else { + ip4 = ip4_elem_by_saddr(gss->ip4_local, gss->num_ip4_local, sa); + } + + /* TODO: check if this bind is about to be added */ + if (!ip4) + return; + + ip4->data_weight = sns_bind->bind->sns_data_weight; + ip4->sig_weight = sns_bind->bind->sns_sig_weight; + add_local_procedure(gss, SNS_CHANGE_WEIGHT, ip4); + osmo_fsm_inst_dispatch(gss->nse->bss_sns_fi, GPRS_SNS_EV_REQ_CHANGE_WEIGHT, ip4); + break; + case AF_INET6: + // in6addr_any + if (memcmp(&sa->u.sin6.sin6_addr, &in6addr_any, sizeof(struct in6_addr))) { + if (osmo_sockaddr_local_ip(local, remote)) + return; + ip6 = ip6_elem_by_saddr(gss->ip6_local, gss->num_ip6_local, local); + } else { + ip6 = ip6_elem_by_saddr(gss->ip6_local, gss->num_ip6_local, sa); + } + + /* TODO: check if this bind is about to be added */ + if (!ip6) + return; + + ip6->data_weight = sns_bind->bind->sns_data_weight; + ip6->sig_weight = sns_bind->bind->sns_sig_weight; + add_local_procedure(gss, SNS_CHANGE_WEIGHT, ip6); + osmo_fsm_inst_dispatch(gss->nse->bss_sns_fi, GPRS_SNS_EV_REQ_CHANGE_WEIGHT, ip6); + break; + default: + OSMO_ASSERT(false); + break; + } +} + +/* Update SNS weights for a bind (local endpoint). + * \param[in] bind the bind which has been updated */ void ns2_sns_update_weights(struct gprs_ns2_vc_bind *bind) { - /* TODO: implement weights after binds per sns implemented */ + struct ns2_sns_bind *sns_bind; + struct gprs_ns2_nse *nse; + struct ns2_sns_state *gss; + llist_for_each_entry(nse, &bind->nsi->nse, list) { + if (!nse->bss_sns_fi) + continue; + + gss = nse->bss_sns_fi->priv; + llist_for_each_entry(sns_bind, &gss->binds, list) { + if (sns_bind->bind == bind) { + _ns2_sns_update_weights(gss, sns_bind); + break; + } + } + } } /* initialize osmo_ctx on main tread */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23187 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Icec4dabb46bc198f68f91bfe09ba279fbe68d454 Gerrit-Change-Number: 23187 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 2 09:21:24 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 2 Mar 2021 09:21:24 +0000 Subject: Change in pysim[master]: utils.py: de-couple sanitize_pin_adm from argparse 'opts' In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23169 ) Change subject: utils.py: de-couple sanitize_pin_adm from argparse 'opts' ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23169 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I116e85acca3aeb0a0c24f74653c500ac2dc1d844 Gerrit-Change-Number: 23169 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 02 Mar 2021 09:21: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 Mar 2 09:21:30 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 2 Mar 2021 09:21:30 +0000 Subject: Change in pysim[master]: cards.py: SJS1 + SJA2: Implement + Expose verify_adm() method In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23168 ) Change subject: cards.py: SJS1 + SJA2: Implement + Expose verify_adm() method ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23168 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I05f7f3280873f006310266867f04a9ce1b0a63af Gerrit-Change-Number: 23168 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 02 Mar 2021 09: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 Mar 2 09:21:34 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 2 Mar 2021 09:21:34 +0000 Subject: Change in pysim[master]: introduce SwMatchError exception In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23170 ) Change subject: introduce SwMatchError exception ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23170 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ia59962978745aef7038f750fa23f8dfc820645f4 Gerrit-Change-Number: 23170 Gerrit-PatchSet: 6 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 02 Mar 2021 09:21: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 Mar 2 09:21:36 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 2 Mar 2021 09:21:36 +0000 Subject: Change in pysim[master]: cards.py: SJS1 + SJA2: Implement + Expose verify_adm() method In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/23168 ) Change subject: cards.py: SJS1 + SJA2: Implement + Expose verify_adm() method ...................................................................... cards.py: SJS1 + SJA2: Implement + Expose verify_adm() method SJS1 and SJA2 card types don't use the generic verify_adm() method of the Card base class, so they must override it with their own methods. Only this way application code can call card.verify_adm() irrespective of the card type. Change-Id: I05f7f3280873f006310266867f04a9ce1b0a63af --- M pySim/cards.py 1 file changed, 18 insertions(+), 7 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim/cards.py b/pySim/cards.py index 41dd179..dd8fe8b 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -849,12 +849,17 @@ return None return None - def program(self, p): - + def verify_adm(self, key): # authenticate as ADM using default key (written on the card..) - if not p['pin_adm']: + if not key: raise ValueError("Please provide a PIN-ADM as there is no default one") - self._scc.verify_chv(0x0A, h2b(p['pin_adm'])) + (res, sw) = self._scc.verify_chv(0x0A, key) + if sw != '9000': + raise RuntimeError('Failed to authenticate with ADM key %s'%(key)) + return sw + + def program(self, p): + self.verify_adm(h2b(p['pin_adm'])) # select MF r = self._scc.select_file(['3f00']) @@ -1244,11 +1249,17 @@ return None return None - def program(self, p): + def verify_adm(self, key): # authenticate as ADM using default key (written on the card..) - if not p['pin_adm']: + if not key: raise ValueError("Please provide a PIN-ADM as there is no default one") - self._scc.verify_chv(0x0A, h2b(p['pin_adm'])) + (res, sw) = self._scc.verify_chv(0x0A, key) + if sw != '9000': + raise RuntimeError('Failed to authenticate with ADM key %s'%(key)) + return sw + + def program(self, p): + self.verify_adm(h2b(p['pin_adm'])) # This type of card does not allow to reprogram the ICCID. # Reprogramming the ICCID would mess up the card os software -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23168 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I05f7f3280873f006310266867f04a9ce1b0a63af Gerrit-Change-Number: 23168 Gerrit-PatchSet: 2 Gerrit-Owner: laforge 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 Mar 2 09:21:37 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 2 Mar 2021 09:21:37 +0000 Subject: Change in pysim[master]: utils.py: de-couple sanitize_pin_adm from argparse 'opts' In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/23169 ) Change subject: utils.py: de-couple sanitize_pin_adm from argparse 'opts' ...................................................................... utils.py: de-couple sanitize_pin_adm from argparse 'opts' This allows the function to be re-used in other contexts Change-Id: I116e85acca3aeb0a0c24f74653c500ac2dc1d844 --- M pySim-prog.py M pySim/utils.py 2 files changed, 8 insertions(+), 10 deletions(-) Approvals: Jenkins Builder: Verified dexter: Looks good to me, but someone else must approve; Verified laforge: Looks good to me, approved diff --git a/pySim-prog.py b/pySim-prog.py index fbf2b73..4f54963 100755 --- a/pySim-prog.py +++ b/pySim-prog.py @@ -446,7 +446,7 @@ else: opc = ''.join(['%02x' % random.randrange(0,256) for i in range(16)]) - pin_adm = sanitize_pin_adm(opts) + pin_adm = sanitize_pin_adm(opts.pin_adm, opts.pin_adm_hex) # ePDG Selection Information if opts.epdgSelection: diff --git a/pySim/utils.py b/pySim/utils.py index 1373551..a733d87 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -571,7 +571,7 @@ return s -def sanitize_pin_adm(opts): +def sanitize_pin_adm(pin_adm, pin_adm_hex = None): """ The ADM pin can be supplied either in its hexadecimal form or as ascii string. This function checks the supplied opts parameter and @@ -579,19 +579,17 @@ it was originally supplied by the user """ - pin_adm = None - - if opts.pin_adm is not None: - if len(opts.pin_adm) <= 8: - pin_adm = ''.join(['%02x'%(ord(x)) for x in opts.pin_adm]) + if pin_adm is not None: + if len(pin_adm) <= 8: + pin_adm = ''.join(['%02x'%(ord(x)) for x in pin_adm]) pin_adm = rpad(pin_adm, 16) else: raise ValueError("PIN-ADM needs to be <=8 digits (ascii)") - if opts.pin_adm_hex is not None: - if len(opts.pin_adm_hex) == 16: - pin_adm = opts.pin_adm_hex + if pin_adm_hex is not None: + if len(pin_adm_hex) == 16: + pin_adm = pin_adm_hex # Ensure that it's hex-encoded try: try_encode = h2b(pin_adm) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23169 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I116e85acca3aeb0a0c24f74653c500ac2dc1d844 Gerrit-Change-Number: 23169 Gerrit-PatchSet: 2 Gerrit-Owner: laforge 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 Mar 2 09:21:38 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 2 Mar 2021 09:21:38 +0000 Subject: Change in pysim[master]: introduce SwMatchError exception In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/23170 ) Change subject: introduce SwMatchError exception ...................................................................... introduce SwMatchError exception This allows callers further up the stack to catch the exception and interpret it in some way (like decoding the number of remaining tries in case of authentication errors) Change-Id: Ia59962978745aef7038f750fa23f8dfc820645f4 --- M pySim/exceptions.py M pySim/transport/__init__.py 2 files changed, 13 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified dexter: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/pySim/exceptions.py b/pySim/exceptions.py index c0cf1e7..5d30f76 100644 --- a/pySim/exceptions.py +++ b/pySim/exceptions.py @@ -5,6 +5,7 @@ # # Copyright (C) 2009-2010 Sylvain Munaut +# Copyright (C) 2021 Harald Welte # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -36,3 +37,12 @@ class ReaderError(Exception): pass + +class SwMatchError(Exception): + """Raised when an operation specifies an expected SW but the actual SW from + the card doesn't match.""" + def __init__(self, sw_actual, sw_expected): + self.sw_actual = sw_actual + self.sw_expected = sw_expected + def __str__(self): + return "SW match failed! Expected %s and got %s." % (self.sw_expected, self.sw_actual) diff --git a/pySim/transport/__init__.py b/pySim/transport/__init__.py index 8e009ee..00c7bd9 100644 --- a/pySim/transport/__init__.py +++ b/pySim/transport/__init__.py @@ -3,6 +3,8 @@ """ pySim: PCSC reader transport link base """ +from pySim.exceptions import * + # # Copyright (C) 2009-2010 Sylvain Munaut # @@ -100,5 +102,5 @@ sw_masked = sw_masked + rv[1][i].lower() if sw.lower() != sw_masked: - raise RuntimeError("SW match failed! Expected %s and got %s." % (sw.lower(), rv[1])) + raise SwMatchError(rv[1], sw.lower()) return rv -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23170 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ia59962978745aef7038f750fa23f8dfc820645f4 Gerrit-Change-Number: 23170 Gerrit-PatchSet: 6 Gerrit-Owner: laforge 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 Mar 2 10:05:51 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 2 Mar 2021 10:05:51 +0000 Subject: Change in osmo-ci[master]: OBS: latest: fix code path to add new package In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23178 ) Change subject: OBS: latest: fix code path to add new package ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23178 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I467e332b69accfabba53332fdb9cd785991855fc Gerrit-Change-Number: 23178 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 02 Mar 2021 10:05:51 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 2 10:06:57 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 2 Mar 2021 10:06:57 +0000 Subject: Change in docker-playground[master]: add osmo-smlc-latest container In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23080 ) Change subject: add osmo-smlc-latest container ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23080 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I714758ddd832e77b592dec5d17ef3568420d11ff Gerrit-Change-Number: 23080 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 02 Mar 2021 10:06:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 2 10:07:17 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 2 Mar 2021 10:07:17 +0000 Subject: Change in osmo-ci[master]: osmocom-latet-packages: Package osmo-smlc In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23074 ) Change subject: osmocom-latet-packages: Package osmo-smlc ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23074 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I0e6756f94027ad1ffd88109b2977cb33ee891a21 Gerrit-Change-Number: 23074 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 02 Mar 2021 10:07:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 2 10:12:19 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 2 Mar 2021 10:12:19 +0000 Subject: Change in libosmocore[master]: stats: Ensure that each osmo_stat_item only reports once per interval In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23167 ) Change subject: stats: Ensure that each osmo_stat_item only reports once per interval ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23167 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I366ab1c66f4ae6363111ea4e41b66b7d5bcade9c Gerrit-Change-Number: 23167 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 02 Mar 2021 10:12:19 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 2 10:12:33 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 2 Mar 2021 10:12:33 +0000 Subject: Change in osmo-ggsn[master]: gitignore: add ggsn_vty_reference.xml In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/23176 ) Change subject: gitignore: add ggsn_vty_reference.xml ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/23176 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I39bd36e4bde457b7c7a62ca6aa6d5dadea4051fc Gerrit-Change-Number: 23176 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 02 Mar 2021 10:12:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 2 10:14:02 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 2 Mar 2021 10:14:02 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ns: SNS: ensure all current testcase are only executed with IPACCESS ... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23179 ) Change subject: ns: SNS: ensure all current testcase are only executed with IPACCESS or RESET_BLOCK dialect ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23179 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ifda066553eabb0ace4aca12e60797c4950fcc498 Gerrit-Change-Number: 23179 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 02 Mar 2021 10:14:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 2 10:14:35 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 2 Mar 2021 10:14:35 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ns: SNS: add first SNS test case In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23180 ) Change subject: ns: SNS: add first SNS test case ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23180 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I822e3a440db492c91caa3a79acbfd4661852d021 Gerrit-Change-Number: 23180 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 02 Mar 2021 10:14:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 2 10:16:17 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 2 Mar 2021 10:16:17 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ns: SNS: add bss change weight testcase In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23181 ) Change subject: ns: SNS: add bss change weight testcase ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23181/1/ns/NS_Tests.ttcn File ns/NS_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23181/1/ns/NS_Tests.ttcn at 479 PS1, Line 479: f_sleep(1.0); why are these sleeps needed? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23181 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I691b9d26bf3eb8fa65aa02eba3efd0fd3869fc2a Gerrit-Change-Number: 23181 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 02 Mar 2021 10:16: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 Mar 2 10:17:38 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 2 Mar 2021 10:17:38 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ns: SNS: add testcase to test change_weight retries In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23182 ) Change subject: ns: SNS: add testcase to test change_weight retries ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23182 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie8d976a81abe0bcff53bb74991d428dbf1fe314b Gerrit-Change-Number: 23182 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 02 Mar 2021 10:17: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 Mar 2 10:18:49 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 2 Mar 2021 10:18:49 +0000 Subject: Change in libosmocore[master]: gprs_ns2: replace OSMO_ASSERT() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23183 ) Change subject: gprs_ns2: replace OSMO_ASSERT() ...................................................................... Patch Set 1: I don't get the relation between the commit description and the code change. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23183 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4f32dee705c9886717339fe7cce5b4cd8d2c18f7 Gerrit-Change-Number: 23183 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 02 Mar 2021 10:18:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 2 10:20:00 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 2 Mar 2021 10:20:00 +0000 Subject: Change in libosmocore[master]: gprs_ns2: add vty `nse <0-65535> restart sns` In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23184 ) Change subject: gprs_ns2: add vty `nse <0-65535> restart sns` ...................................................................... Patch Set 1: Is this to be used on operations? or only by tests? in that case, mark it as attr HIDDEN or alike. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23184 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Icb55d8449908d348ab10572eebcf971737fba00d Gerrit-Change-Number: 23184 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 02 Mar 2021 10:20: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 Tue Mar 2 10:21:48 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 2 Mar 2021 10:21:48 +0000 Subject: Change in libosmocore[master]: gprs_ns2: sns: move alive timeout into own variable In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23185 ) Change subject: gprs_ns2: sns: move alive timeout into own variable ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/23185/1/src/gb/gprs_ns2_sns.c File src/gb/gprs_ns2_sns.c: https://gerrit.osmocom.org/c/libosmocore/+/23185/1/src/gb/gprs_ns2_sns.c at 964 PS1, Line 964: osmo_timer_schedule(&gss->alive_timeout, ns_sns_configured_timeout(fi), 0); may it make more sense to put it on on_enter() of st configured? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23185 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4b223118c7f250dbc8161cbf29cbd994c26c362f Gerrit-Change-Number: 23185 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 02 Mar 2021 10:21:48 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 2 10:23:31 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 2 Mar 2021 10:23:31 +0000 Subject: Change in libosmocore[master]: gprs_ns2: add functions for SNS add/del/change-weight messages In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23186 ) Change subject: gprs_ns2: add functions for SNS add/del/change-weight messages ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/23186/1/src/gb/gprs_ns2_message.c File src/gb/gprs_ns2_message.c: https://gerrit.osmocom.org/c/libosmocore/+/23186/1/src/gb/gprs_ns2_message.c at 596 PS1, Line 596: /* TODO: IP Address field */ is this TODO affecting the API? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23186 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib9492e213e82c18c7dcce6ba7d64e897b4c74796 Gerrit-Change-Number: 23186 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 02 Mar 2021 10:23:31 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 2 10:44:41 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 2 Mar 2021 10:44:41 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3: disable failing jobs References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/23188 ) Change subject: jobs/ttcn3: disable failing jobs ...................................................................... jobs/ttcn3: disable failing jobs As decided in the meeting, disable jobs in the config instead of manually disabling them in the web UI. Change-Id: I11e9504cace39d7377e993537c6746fe154b3f12 --- M jobs/ttcn3-testsuites.yml 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/88/23188/1 diff --git a/jobs/ttcn3-testsuites.yml b/jobs/ttcn3-testsuites.yml index 621915b..87d9609 100644 --- a/jobs/ttcn3-testsuites.yml +++ b/jobs/ttcn3-testsuites.yml @@ -64,6 +64,7 @@ - ttcn3-bscnat-test: blocking: "^(ttcn3|TTCN3-.*)-bscnat-test.*" timer: 00 08 * * * + disabled: true - ttcn3-bsc-test-sccplite: blocking: "^(ttcn3|TTCN3-.*)-bsc-test.*" timer: 30 08 * * * @@ -130,6 +131,7 @@ - ttcn3-bscnat-test-latest: blocking: "^(ttcn3|TTCN3-.*)-bscnat-test.*" timer: 00 08 * * * + disabled: true - ttcn3-bsc-test-sccplite-latest: blocking: "^(ttcn3|TTCN3-.*)-bsc-test.*" timer: 30 08 * * * -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23188 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I11e9504cace39d7377e993537c6746fe154b3f12 Gerrit-Change-Number: 23188 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 2 10:45:16 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 2 Mar 2021 10:45:16 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3: disable failing jobs In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23188 ) Change subject: jobs/ttcn3: disable failing jobs ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23188 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I11e9504cace39d7377e993537c6746fe154b3f12 Gerrit-Change-Number: 23188 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 02 Mar 2021 10:45: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 Mar 2 10:57:38 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 2 Mar 2021 10:57:38 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3: describe ttcn3-ggsn-test-kernel-* References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/23189 ) Change subject: jobs/ttcn3: describe ttcn3-ggsn-test-kernel-* ...................................................................... jobs/ttcn3: describe ttcn3-ggsn-test-kernel-* Related: OS#1943 Change-Id: If9975e8df46d51ef66c7a9faaf11fc0449f32f34 --- M jobs/ttcn3-testsuites.yml 1 file changed, 16 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/89/23189/1 diff --git a/jobs/ttcn3-testsuites.yml b/jobs/ttcn3-testsuites.yml index 87d9609..09adefa 100644 --- a/jobs/ttcn3-testsuites.yml +++ b/jobs/ttcn3-testsuites.yml @@ -3,6 +3,14 @@ name: 'ttcn3-testsuites' concurrent: false disabled: false + description: | + Run the a testsuite from + + docker-playground.git.
+ If this job ends in -latest, the job runs the latest + stable versions of the Osmocom stack. Otherwise the nightly builds.
+ See + TTCN3 Testsuite for more information. timer: "@midnight" node: ttcn3 # Block *-latest for all master jobs (without suffix) @@ -25,14 +33,21 @@ - ttcn3-ggsn-test-kernel: blocking: "^(ttcn3|TTCN3-.*)-ggsn-test.*" timer: 10 04 * * * + description: | + Test osmo-ggsn master with the Debian kernel. - ttcn3-ggsn-test-kernel-latest: blocking: "^(ttcn3|TTCN3-.*)-ggsn-test.*" timer: 20 04 * * * + description: | + Test osmo-ggsn latest with the Debian kernel. - ttcn3-ggsn-test-kernel-git: blocking: "^(ttcn3|TTCN3-.*)-ggsn-test.*" timer: 30 04 * * * # Cache the linux source tree in the workspace of one node node: ttcn3-ggsn-test-kernel-git + description: | + Test osmo-ggsn master with a kernel built from source (see build + parameters, by default: net-next.git from kernel.org). wipe_workspace: false - ttcn3-msc-test: blocking: "^(ttcn3|TTCN3-.*)-msc-test.*" @@ -215,15 +230,7 @@ project-type: freestyle disabled: '{obj:disabled}' defaults: global - description: | - Run the {job-name} testsuite from - docker-playground.git.
- If this job ends in -latest, the job runs the latest stable versions of the Osmocom stack. - Otherwise the nightly builds.
- Generated with the jenkins-job-builder config introduced in - OS#3268.
- See - TTCN3 Testsuite for more information. + description: '{obj:description}' node: '{obj:node}' parameters: - string: -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23189 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: If9975e8df46d51ef66c7a9faaf11fc0449f32f34 Gerrit-Change-Number: 23189 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 2 11:10:36 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 2 Mar 2021 11:10:36 +0000 Subject: Change in osmo-gbproxy[master]: osmo-gbproxy.spec.in: Sync libosmo* version requirements with configu... References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/23190 ) Change subject: osmo-gbproxy.spec.in: Sync libosmo* version requirements with configure.ac ...................................................................... osmo-gbproxy.spec.in: Sync libosmo* version requirements with configure.ac Change-Id: I919cbf965a7cbee481af4c2aac71ad5f6a0e5056 --- M contrib/osmo-gbproxy.spec.in 1 file changed, 5 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gbproxy refs/changes/90/23190/1 diff --git a/contrib/osmo-gbproxy.spec.in b/contrib/osmo-gbproxy.spec.in index f7e7377..493ab8a 100644 --- a/contrib/osmo-gbproxy.spec.in +++ b/contrib/osmo-gbproxy.spec.in @@ -33,11 +33,11 @@ BuildRequires: systemd-rpm-macros %endif BuildRequires: pkgconfig(libcrypto) >= 0.9.5 -BuildRequires: pkgconfig(libosmocore) >= 1.2.0 -BuildRequires: pkgconfig(libosmoctrl) >= 1.2.0 -BuildRequires: pkgconfig(libosmogb) >= 1.2.0 -BuildRequires: pkgconfig(libosmogsm) >= 1.2.0 -BuildRequires: pkgconfig(libosmovty) >= 1.2.0 +BuildRequires: pkgconfig(libosmocore) >= 1.4.0 +BuildRequires: pkgconfig(libosmoctrl) >= 1.4.0 +BuildRequires: pkgconfig(libosmogb) >= 1.4.0 +BuildRequires: pkgconfig(libosmogsm) >= 1.4.0 +BuildRequires: pkgconfig(libosmovty) >= 1.4.0 %{?systemd_requires} %description -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/23190 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I919cbf965a7cbee481af4c2aac71ad5f6a0e5056 Gerrit-Change-Number: 23190 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 Mar 2 11:11:50 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 2 Mar 2021 11:11:50 +0000 Subject: Change in osmo-gbproxy[master]: osmo-gbproxy.spec.in: Sync libosmo* version requirements with configu... In-Reply-To: References: Message-ID: laforge has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/23190 ) Change subject: osmo-gbproxy.spec.in: Sync libosmo* version requirements with configure.ac ...................................................................... Abandoned I was working on an outdated branch. -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/23190 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I919cbf965a7cbee481af4c2aac71ad5f6a0e5056 Gerrit-Change-Number: 23190 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-CC: Jenkins Builder Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 2 11:17:02 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 2 Mar 2021 11:17:02 +0000 Subject: Change in docker-playground[master]: add osmo-smlc-latest container In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23080 ) Change subject: add osmo-smlc-latest container ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23080 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I714758ddd832e77b592dec5d17ef3568420d11ff Gerrit-Change-Number: 23080 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 02 Mar 2021 11: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 Tue Mar 2 11:17:05 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 2 Mar 2021 11:17:05 +0000 Subject: Change in docker-playground[master]: add osmo-smlc-latest container In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23080 ) Change subject: add osmo-smlc-latest container ...................................................................... add osmo-smlc-latest container Change-Id: I714758ddd832e77b592dec5d17ef3568420d11ff --- A osmo-smlc-latest/Dockerfile A osmo-smlc-latest/Makefile A osmo-smlc-latest/Release.key A osmo-smlc-latest/osmo-smlc.cfg 4 files changed, 63 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved; Verified pespin: Looks good to me, but someone else must approve diff --git a/osmo-smlc-latest/Dockerfile b/osmo-smlc-latest/Dockerfile new file mode 100644 index 0000000..d367ee4 --- /dev/null +++ b/osmo-smlc-latest/Dockerfile @@ -0,0 +1,33 @@ +ARG REGISTRY=docker.io +ARG UPSTREAM_DISTRO=debian:stretch +FROM ${REGISTRY}/${UPSTREAM_DISTRO} +# Arguments used after FROM must be specified again +ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" + +MAINTAINER Harald Welte + +ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/latest/Debian_9.0/" + +COPY Release.key /tmp/Release.key + +RUN apt-get update && \ + apt-get install -y --no-install-recommends \ + gnupg + +RUN apt-key add /tmp/Release.key && \ + rm /tmp/Release.key && \ + echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-latest.list + +ADD $OSMOCOM_REPO/Release /tmp/Release +RUN apt-get update && \ + apt-get install -y --no-install-recommends \ + osmo-smlc \ + telnet && \ + apt-get clean + +WORKDIR /data + +VOLUME /data +COPY osmo-smlc.cfg /data/ + +CMD ["/bin/sh", "-c", "/usr/bin/osmo-smlc -c /data/osmo-smlc.cfg >/data/osmo-smlc.log 2>&1"] diff --git a/osmo-smlc-latest/Makefile b/osmo-smlc-latest/Makefile new file mode 100644 index 0000000..8d0e10b --- /dev/null +++ b/osmo-smlc-latest/Makefile @@ -0,0 +1 @@ +include ../make/Makefile diff --git a/osmo-smlc-latest/Release.key b/osmo-smlc-latest/Release.key new file mode 100644 index 0000000..a737316 --- /dev/null +++ b/osmo-smlc-latest/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-smlc-latest/osmo-smlc.cfg b/osmo-smlc-latest/osmo-smlc.cfg new file mode 100644 index 0000000..4ca7b40 --- /dev/null +++ b/osmo-smlc-latest/osmo-smlc.cfg @@ -0,0 +1,9 @@ +log stderr + logging filter all 1 + logging color 1 + logging print category 0 + logging timestamp 0 + logging level set-all notice +line vty + no login + bind 0.0.0.0 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23080 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I714758ddd832e77b592dec5d17ef3568420d11ff Gerrit-Change-Number: 23080 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 2 11:17:21 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 2 Mar 2021 11:17:21 +0000 Subject: Change in osmo-ci[master]: osmocom-latest-packages: Package osmo-smlc In-Reply-To: References: Message-ID: Hello pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ci/+/23074 to look at the new patch set (#4). Change subject: osmocom-latest-packages: Package osmo-smlc ...................................................................... osmocom-latest-packages: Package osmo-smlc osmo-smlc now has a tag that builds against a tagged libosmocore Change-Id: I0e6756f94027ad1ffd88109b2977cb33ee891a21 --- M scripts/osmocom-latest-packages.sh 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/74/23074/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23074 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I0e6756f94027ad1ffd88109b2977cb33ee891a21 Gerrit-Change-Number: 23074 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 2 11:17:30 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 2 Mar 2021 11:17:30 +0000 Subject: Change in osmo-ci[master]: osmocom-latest-packages: Package osmo-smlc In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23074 ) Change subject: osmocom-latest-packages: Package osmo-smlc ...................................................................... Patch Set 4: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23074 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I0e6756f94027ad1ffd88109b2977cb33ee891a21 Gerrit-Change-Number: 23074 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 02 Mar 2021 11:17: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 Mar 2 11:17:33 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 2 Mar 2021 11:17:33 +0000 Subject: Change in osmo-ci[master]: osmocom-latest-packages: Package osmo-smlc In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23074 ) Change subject: osmocom-latest-packages: Package osmo-smlc ...................................................................... osmocom-latest-packages: Package osmo-smlc osmo-smlc now has a tag that builds against a tagged libosmocore Change-Id: I0e6756f94027ad1ffd88109b2977cb33ee891a21 --- M scripts/osmocom-latest-packages.sh 1 file 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 b6a3d16..8eef259 100755 --- a/scripts/osmocom-latest-packages.sh +++ b/scripts/osmocom-latest-packages.sh @@ -152,6 +152,7 @@ checkout neocon https://github.com/laf0rge/neocon checkout osmo-uecups checkout osmo-e1d + checkout osmo-smlc checkout osmo-cbc checkout osmo-gbproxy @@ -190,6 +191,7 @@ build neocon build osmo-uecups build osmo-e1d + build osmo-smlc build osmo-cbc build osmo-gbproxy -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23074 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I0e6756f94027ad1ffd88109b2977cb33ee891a21 Gerrit-Change-Number: 23074 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 2 11:18:07 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 2 Mar 2021 11:18:07 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3: disable failing jobs In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23188 ) Change subject: jobs/ttcn3: disable failing jobs ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23188 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I11e9504cace39d7377e993537c6746fe154b3f12 Gerrit-Change-Number: 23188 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 02 Mar 2021 11: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 Tue Mar 2 11:18:10 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 2 Mar 2021 11:18:10 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3: disable failing jobs In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23188 ) Change subject: jobs/ttcn3: disable failing jobs ...................................................................... jobs/ttcn3: disable failing jobs As decided in the meeting, disable jobs in the config instead of manually disabling them in the web UI. Change-Id: I11e9504cace39d7377e993537c6746fe154b3f12 --- M jobs/ttcn3-testsuites.yml 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved; Verified pespin: Looks good to me, but someone else must approve diff --git a/jobs/ttcn3-testsuites.yml b/jobs/ttcn3-testsuites.yml index 621915b..87d9609 100644 --- a/jobs/ttcn3-testsuites.yml +++ b/jobs/ttcn3-testsuites.yml @@ -64,6 +64,7 @@ - ttcn3-bscnat-test: blocking: "^(ttcn3|TTCN3-.*)-bscnat-test.*" timer: 00 08 * * * + disabled: true - ttcn3-bsc-test-sccplite: blocking: "^(ttcn3|TTCN3-.*)-bsc-test.*" timer: 30 08 * * * @@ -130,6 +131,7 @@ - ttcn3-bscnat-test-latest: blocking: "^(ttcn3|TTCN3-.*)-bscnat-test.*" timer: 00 08 * * * + disabled: true - ttcn3-bsc-test-sccplite-latest: blocking: "^(ttcn3|TTCN3-.*)-bsc-test.*" timer: 30 08 * * * -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23188 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I11e9504cace39d7377e993537c6746fe154b3f12 Gerrit-Change-Number: 23188 Gerrit-PatchSet: 2 Gerrit-Owner: osmith 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 Mar 2 11:18:41 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 2 Mar 2021 11:18:41 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3: describe ttcn3-ggsn-test-kernel-* In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23189 ) Change subject: jobs/ttcn3: describe ttcn3-ggsn-test-kernel-* ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23189 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: If9975e8df46d51ef66c7a9faaf11fc0449f32f34 Gerrit-Change-Number: 23189 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 02 Mar 2021 11:18: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 Mar 2 11:18:44 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 2 Mar 2021 11:18:44 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3: describe ttcn3-ggsn-test-kernel-* In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23189 ) Change subject: jobs/ttcn3: describe ttcn3-ggsn-test-kernel-* ...................................................................... jobs/ttcn3: describe ttcn3-ggsn-test-kernel-* Related: OS#1943 Change-Id: If9975e8df46d51ef66c7a9faaf11fc0449f32f34 --- M jobs/ttcn3-testsuites.yml 1 file changed, 16 insertions(+), 9 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/jobs/ttcn3-testsuites.yml b/jobs/ttcn3-testsuites.yml index 87d9609..09adefa 100644 --- a/jobs/ttcn3-testsuites.yml +++ b/jobs/ttcn3-testsuites.yml @@ -3,6 +3,14 @@ name: 'ttcn3-testsuites' concurrent: false disabled: false + description: | + Run the a testsuite from + + docker-playground.git.
+ If this job ends in -latest, the job runs the latest + stable versions of the Osmocom stack. Otherwise the nightly builds.
+ See + TTCN3 Testsuite for more information. timer: "@midnight" node: ttcn3 # Block *-latest for all master jobs (without suffix) @@ -25,14 +33,21 @@ - ttcn3-ggsn-test-kernel: blocking: "^(ttcn3|TTCN3-.*)-ggsn-test.*" timer: 10 04 * * * + description: | + Test osmo-ggsn master with the Debian kernel. - ttcn3-ggsn-test-kernel-latest: blocking: "^(ttcn3|TTCN3-.*)-ggsn-test.*" timer: 20 04 * * * + description: | + Test osmo-ggsn latest with the Debian kernel. - ttcn3-ggsn-test-kernel-git: blocking: "^(ttcn3|TTCN3-.*)-ggsn-test.*" timer: 30 04 * * * # Cache the linux source tree in the workspace of one node node: ttcn3-ggsn-test-kernel-git + description: | + Test osmo-ggsn master with a kernel built from source (see build + parameters, by default: net-next.git from kernel.org). wipe_workspace: false - ttcn3-msc-test: blocking: "^(ttcn3|TTCN3-.*)-msc-test.*" @@ -215,15 +230,7 @@ project-type: freestyle disabled: '{obj:disabled}' defaults: global - description: | - Run the {job-name} testsuite from - docker-playground.git.
- If this job ends in -latest, the job runs the latest stable versions of the Osmocom stack. - Otherwise the nightly builds.
- Generated with the jenkins-job-builder config introduced in - OS#3268.
- See - TTCN3 Testsuite for more information. + description: '{obj:description}' node: '{obj:node}' parameters: - string: -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23189 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: If9975e8df46d51ef66c7a9faaf11fc0449f32f34 Gerrit-Change-Number: 23189 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 2 11:19:36 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 2 Mar 2021 11:19:36 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ns: SNS: ensure all current testcase are only executed with IPACCESS ... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23179 ) Change subject: ns: SNS: ensure all current testcase are only executed with IPACCESS or RESET_BLOCK dialect ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23179 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ifda066553eabb0ace4aca12e60797c4950fcc498 Gerrit-Change-Number: 23179 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 02 Mar 2021 11:19: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 Mar 2 11:19:51 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 2 Mar 2021 11:19:51 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ns: SNS: add first SNS test case In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23180 ) Change subject: ns: SNS: add first SNS test case ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23180 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I822e3a440db492c91caa3a79acbfd4661852d021 Gerrit-Change-Number: 23180 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 02 Mar 2021 11:19: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 Mar 2 11:20:09 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 2 Mar 2021 11:20:09 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ns: SNS: ensure all current testcase are only executed with IPACCESS ... In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23179 ) Change subject: ns: SNS: ensure all current testcase are only executed with IPACCESS or RESET_BLOCK dialect ...................................................................... ns: SNS: ensure all current testcase are only executed with IPACCESS or RESET_BLOCK dialect All current test cases are for those 2 dialect. In preparation of SNS test cases ensure those testcase have the correct dependency. Change-Id: Ifda066553eabb0ace4aca12e60797c4950fcc498 --- M ns/NS_Tests.ttcn 1 file changed, 28 insertions(+), 28 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/ns/NS_Tests.ttcn b/ns/NS_Tests.ttcn index 59ab765..77b96cd 100644 --- a/ns/NS_Tests.ttcn +++ b/ns/NS_Tests.ttcn @@ -456,24 +456,23 @@ } control { - execute( TC_tx_reset() ); + if (mp_dialect == NS2_DIALECT_STATIC_RESETBLOCK or mp_dialect == NS2_DIALECT_IPACCESS) { + execute( TC_tx_reset() ); - /* 48.016 7.2 Block procedure */ - execute( TC_tx_block() ); - execute( TC_tx_block_by_vty() ); - execute( TC_tx_block_by_vty_reset() ); - // execute( TC_block_other_nsvc() ); // reset, unblock, sleep(1), block over another nsvci - /* 48.016 7.2 Unblock procedure */ - execute( TC_tx_unblock() ); - execute( TC_tx_unblock_retries() ); - // execute( TC_rx_unblock_tx_unblock() ); // wait for an rx unblock pdu, send an unblock pdu, expect unblock ack pdu - // execute( TC_unblockable() ); // block a NS-VCI via vty, try block procedure + /* 48.016 7.2 Block procedure */ + execute( TC_tx_block() ); + execute( TC_tx_block_by_vty() ); + execute( TC_tx_block_by_vty_reset() ); + // execute( TC_block_other_nsvc() ); // reset, unblock, sleep(1), block over another nsvci + /* 48.016 7.2 Unblock procedure */ + execute( TC_tx_unblock() ); + execute( TC_tx_unblock_retries() ); + // execute( TC_rx_unblock_tx_unblock() ); // wait for an rx unblock pdu, send an unblock pdu, expect unblock ack pdu + // execute( TC_unblockable() ); // block a NS-VCI via vty, try block procedure - /* 48.016 7.2.1 Block Abnormal Condition */ - /* 48.016 7.2.1 Unblock Abnormal Condition */ - - /* 48.016 7.3.1 Abnormal Condition */ - if (mp_dialect == NS2_DIALECT_STATIC_RESETBLOCK) { + /* 48.016 7.2.1 Block Abnormal Condition */ + /* 48.016 7.2.1 Unblock Abnormal Condition */ + /* 48.016 7.3.1 Abnormal Condition */ execute( TC_reset_wrong_nsei() ); execute( TC_reset_wrong_nsvci() ); execute( TC_reset_wrong_nsei_nsvci() ); @@ -482,21 +481,22 @@ execute( TC_reset_ack_wrong_nsei_nsvci() ); execute( TC_reset_retries() ); execute( TC_reset_on_block_reset() ); - } - execute( TC_ignore_reset_ack() ); + execute( TC_ignore_reset_ack() ); - /* 48.016 7.4 Test procedure on frame relay */ - execute( TC_tx_reset_tx_alive() ); - execute( TC_tx_reset_rx_alive() ); + /* 48.016 7.4 Test procedure on frame relay */ + execute( TC_tx_reset_tx_alive() ); + execute( TC_tx_reset_rx_alive() ); - /* 48.016 7.4.1 Abnormal Condition */ - if (mp_dialect == NS2_DIALECT_STATIC_RESETBLOCK) { - // execute( TC_alive_retries_multi() ); // check if alive retries works and block over an alive nsvc - execute( TC_alive_retries_single_reset() ); - } else if (mp_dialect == NS2_DIALECT_IPACCESS) { - execute( TC_alive_retries_single_no_resp() ); + /* 48.016 7.4.1 Abnormal Condition */ + if (mp_dialect == NS2_DIALECT_STATIC_RESETBLOCK) { + // execute( TC_alive_retries_multi() ); // check if alive retries works and block over an alive nsvc + execute( TC_alive_retries_single_reset() ); + } else if (mp_dialect == NS2_DIALECT_IPACCESS) { + execute( TC_alive_retries_single_no_resp() ); + } + + execute( TC_no_reset_alive_ack() ); } - execute( TC_no_reset_alive_ack() ); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23179 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ifda066553eabb0ace4aca12e60797c4950fcc498 Gerrit-Change-Number: 23179 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus 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 Mar 2 11:20:09 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 2 Mar 2021 11:20:09 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ns: SNS: add first SNS test case In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23180 ) Change subject: ns: SNS: add first SNS test case ...................................................................... ns: SNS: add first SNS test case Do a successful IP-SNS configuration. Change-Id: I822e3a440db492c91caa3a79acbfd4661852d021 --- M ns/NS_Tests.ttcn A ns/osmo-ns.sns.cfg 2 files changed, 112 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/ns/NS_Tests.ttcn b/ns/NS_Tests.ttcn index 77b96cd..e2ff114 100644 --- a/ns/NS_Tests.ttcn +++ b/ns/NS_Tests.ttcn @@ -455,6 +455,19 @@ f_alive_retries_single(reset := false); } +/* 48.016 SNS test cases */ + +/* do a succesful SNS configuration */ +testcase TC_sns_config_success() runs on RAW_Test_CT { + f_init_vty(); + f_init_ns_codec(mp_nsconfig); + f_incoming_sns_size(); + f_incoming_sns_config(); + f_outgoing_sns_config(); + setverdict(pass); + f_clean_ns_codec(); +} + control { if (mp_dialect == NS2_DIALECT_STATIC_RESETBLOCK or mp_dialect == NS2_DIALECT_IPACCESS) { execute( TC_tx_reset() ); @@ -497,6 +510,10 @@ execute( TC_no_reset_alive_ack() ); } + + if (mp_dialect == NS2_DIALECT_SNS) { + execute( TC_sns_config_success() ); + } } } diff --git a/ns/osmo-ns.sns.cfg b/ns/osmo-ns.sns.cfg new file mode 100644 index 0000000..ad69f35 --- /dev/null +++ b/ns/osmo-ns.sns.cfg @@ -0,0 +1,95 @@ +! +! OsmoNSdummy (1.4.0.326-f57c-dirty) configuration saved from vty +!! +! +log stderr + logging filter all 1 + logging color 0 + logging print category-hex 0 + logging print category 1 + logging print extended-timestamp 1 + logging print level 1 + logging print file basename + logging level force-all info + logging level lglobal debug + logging level llapd debug + logging level linp debug + logging level lmux debug + logging level lmi debug + logging level lmib debug + logging level lsms debug + logging level lctrl debug + logging level lgtp debug + logging level lstats debug + logging level lgsup debug + logging level loap debug + logging level lss7 debug + logging level lsccp debug + logging level lsua debug + logging level lm3ua debug + logging level lmgcp debug + logging level ljibuf debug + logging level lrspro debug + logging level lns debug + logging level lbssgp debug +log gsmtap 127.0.0.1 + logging filter all 0 + logging color 1 + logging print category-hex 1 + logging print category 0 + logging timestamp 0 + logging print file 1 + logging level lglobal debug + logging level llapd debug + logging level linp debug + logging level lmux debug + logging level lmi debug + logging level lmib debug + logging level lsms debug + logging level lctrl debug + logging level lgtp debug + logging level lstats debug + logging level lgsup debug + logging level loap debug + logging level lss7 debug + logging level lsccp debug + logging level lsua debug + logging level lm3ua debug + logging level lmgcp debug + logging level ljibuf debug + logging level lrspro debug + logging level lns debug + logging level lbssgp debug +! +stats reporter statsd + disable + remote-ip 127.0.0.1 + remote-port 8125 + mtu 1024 + level subscriber + prefix TTCN3 + flush-period 1 + enable +stats interval 0 +! +line vty + no login +! +ns + timer tns-block 3 + timer tns-block-retries 3 + timer tns-reset 3 + timer tns-reset-retries 3 + timer tns-test 12 + timer tns-alive 3 + timer tns-alive-retries 3 + timer tsns-prov 3 + timer tsns-size-retries 3 + timer tsns-config-retries 3 + bind udp local + listen 127.0.0.1 23000 + ip-sns signalling-weight 2 data-weight 2 + accept-ipaccess + nse 1234 + ip-sns-remote 127.0.0.1 22000 + ip-sns-bind local -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23180 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I822e3a440db492c91caa3a79acbfd4661852d021 Gerrit-Change-Number: 23180 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus 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 Mar 2 11:20:20 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 2 Mar 2021 11:20:20 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ns: SNS: add testcase to test change_weight retries In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23182 ) Change subject: ns: SNS: add testcase to test change_weight retries ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23182 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie8d976a81abe0bcff53bb74991d428dbf1fe314b Gerrit-Change-Number: 23182 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 02 Mar 2021 11:20: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 Mar 2 11:21:08 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 2 Mar 2021 11:21:08 +0000 Subject: Change in libosmocore[master]: gprs_ns2: replace OSMO_ASSERT() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23183 ) Change subject: gprs_ns2: replace OSMO_ASSERT() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23183 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4f32dee705c9886717339fe7cce5b4cd8d2c18f7 Gerrit-Change-Number: 23183 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 02 Mar 2021 11:21:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 2 11:22:04 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 2 Mar 2021 11:22:04 +0000 Subject: Change in osmo-ggsn[master]: gitignore: add ggsn_vty_reference.xml In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/23176 ) Change subject: gitignore: add ggsn_vty_reference.xml ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/23176 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I39bd36e4bde457b7c7a62ca6aa6d5dadea4051fc Gerrit-Change-Number: 23176 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 02 Mar 2021 11: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 Mar 2 11:22:47 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 2 Mar 2021 11:22:47 +0000 Subject: Change in osmo-ggsn[master]: doc/manuals: describe GTP-U kernel module In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/23159 ) Change subject: doc/manuals: describe GTP-U kernel module ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/23159 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ib45cbfe03077960f216a83cf500ab3203d02cb3b Gerrit-Change-Number: 23159 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 02 Mar 2021 11:22: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 Mar 2 11:22:51 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 2 Mar 2021 11:22:51 +0000 Subject: Change in osmo-ggsn[master]: doc/manuals: describe GTP-U kernel module In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/23159 ) Change subject: doc/manuals: describe GTP-U kernel module ...................................................................... doc/manuals: describe GTP-U kernel module Related: OS#3209 Change-Id: Ib45cbfe03077960f216a83cf500ab3203d02cb3b --- M doc/manuals/chapters/running.adoc 1 file changed, 44 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/doc/manuals/chapters/running.adoc b/doc/manuals/chapters/running.adoc index 51b8ae2..e3f6bbc 100644 --- a/doc/manuals/chapters/running.adoc +++ b/doc/manuals/chapters/running.adoc @@ -80,3 +80,47 @@ ggsn ggsn0 gtp bind-ip 127.0.0.2 ---- + +=== GTP-U kernel module + +WARNING: As of writing, the kernel module does not support IPv6. + +OsmoGGSN has support to use the Linux kernel GTP-U tunnel driver to accelerate +the data/user plane while still implementing the control plane (GTP-C) in +userspace in OsmoGGSN. The kernel module is included in Linux 4.7.0 and higher. +Notably the Debian GNU/Linux distribution has it enabled by default. + +In order to use this feature, make sure that your Linux kernel was configured +to support it (`CONFIG_GTP=m` or `=y`). Furthermore, `osmo-ggsn` must have been +built with `./configure` argument `--enable-gtp-linux` (which requires libgtpnl +to be installed). + +Load the kernel module with: + +---- +$ sudo modprobe gtp +---- + +Then start OsmoGGSN with a configuration file that uses `gtpu-mode kernel-gtp`. + +A full example configuration is in `osmo-ggsn-kernel-gtp.cfg`. + +---- +$ sudo osmo-ggsn -c /usr/share/doc/osmo-ggsn/examples/osmo-ggsn-kernel-gtp.cfg +---- + +.Example: APN with kernel-gtp +---- +ggsn ggsn0 + gtp state-dir /tmp + gtp bind-ip 127.0.0.2 + apn internet + gtpu-mode kernel-gtp + tun-device tun4 + type-support v4 + ip prefix dynamic 172.16.222.0/24 + ip dns 0 8.8.8.8 + ip dns 1 8.8.4.4 + ip ifconfig 172.16.222.0/24 + no shutdown +---- -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/23159 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Ib45cbfe03077960f216a83cf500ab3203d02cb3b Gerrit-Change-Number: 23159 Gerrit-PatchSet: 2 Gerrit-Owner: osmith 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 Tue Mar 2 11:22:52 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 2 Mar 2021 11:22:52 +0000 Subject: Change in osmo-ggsn[master]: gitignore: add ggsn_vty_reference.xml In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/23176 ) Change subject: gitignore: add ggsn_vty_reference.xml ...................................................................... gitignore: add ggsn_vty_reference.xml Change-Id: I39bd36e4bde457b7c7a62ca6aa6d5dadea4051fc --- M .gitignore 1 file changed, 1 insertion(+), 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/.gitignore b/.gitignore index 80e4837..507ee62 100644 --- a/.gitignore +++ b/.gitignore @@ -79,5 +79,6 @@ doc/manuals/osmomsc-usermanual.xml doc/manuals/common doc/manuals/build +doc/manuals/vty/ggsn_vty_reference.xml contrib/osmo-ggsn.spec -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/23176 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I39bd36e4bde457b7c7a62ca6aa6d5dadea4051fc Gerrit-Change-Number: 23176 Gerrit-PatchSet: 1 Gerrit-Owner: osmith 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 Mar 2 11:29:38 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 2 Mar 2021 11:29:38 +0000 Subject: Change in osmo-pcu[master]: llc: use memset to fill llc dummy frame padding References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23191 ) Change subject: llc: use memset to fill llc dummy frame padding ...................................................................... llc: use memset to fill llc dummy frame padding Change-Id: Iaa55549f979ca23dad0bddd308c1144aa4b17255 --- M src/llc.cpp 1 file changed, 4 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/91/23191/1 diff --git a/src/llc.cpp b/src/llc.cpp index 470e154..e508d0b 100644 --- a/src/llc.cpp +++ b/src/llc.cpp @@ -59,8 +59,10 @@ /* Add further stuffing, if the requested length exceeds the minimum * dummy command length */ - while (m_length < req_len) - frame[m_length++] = 0x2b; + if (m_length < req_len) { + memset(&frame[m_length], 0x2b, req_len - m_length); + m_length = req_len; + } } void gprs_llc::put_frame(const uint8_t *data, size_t len) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23191 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iaa55549f979ca23dad0bddd308c1144aa4b17255 Gerrit-Change-Number: 23191 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 Mar 2 11:31:40 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 2 Mar 2021 11:31:40 +0000 Subject: Change in docker-playground[master]: Add osmo-gbproxy-latest container References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/23192 ) Change subject: Add osmo-gbproxy-latest container ...................................................................... Add osmo-gbproxy-latest container Change-Id: I285cb51da03b793eab994ff3c00de16097e3f992 --- A osmo-gbproxy-latest/Dockerfile A osmo-gbproxy-latest/Makefile A osmo-gbproxy-latest/Release.key A osmo-gbproxy-latest/docker-entrypoint.sh A osmo-gbproxy-latest/osmo-gbproxy.cfg A osmo-gbproxy-latest/pipework 6 files changed, 608 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/92/23192/1 diff --git a/osmo-gbproxy-latest/Dockerfile b/osmo-gbproxy-latest/Dockerfile new file mode 100644 index 0000000..f66e2d2 --- /dev/null +++ b/osmo-gbproxy-latest/Dockerfile @@ -0,0 +1,54 @@ +ARG REGISTRY=docker.io +ARG UPSTREAM_DISTRO=debian:stretch +FROM ${REGISTRY}/${UPSTREAM_DISTRO} +# Arguments used after FROM must be specified again +ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" + +MAINTAINER Harald Welte + +ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/latest/Debian_9.0/" + +COPY Release.key /tmp/Release.key + +RUN case "$DISTRO" in \ + debian*) \ + apt-key add /tmp/Release.key && \ + rm /tmp/Release.key && \ + echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-latest.list \ + ;; \ + esac + +# we need to add this to invalidate the cache once the repository is updated. +# unfortunately Dockerfiles don't support a conditional ARG, so we need to add both DPKG + RPM +ADD $OSMOCOM_REPO/Release /tmp/Release +ADD $OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/latest/CentOS_8/repodata/repomd.xml /tmp/repomd.xml +RUN case "$DISTRO" in \ + debian*) \ + apt-get update && \ + apt-get install -y --no-install-recommends \ + osmo-gbproxy \ + telnet \ + && \ + apt-get clean \ + ;; \ + centos*) \ + dnf install -y \ + osmo-gbproxy \ + telnet \ + ;; \ + esac + +WORKDIR /data + +VOLUME /data + +COPY osmo-gbproxy.cfg /data/osmo-gbproxy.cfg + +# work-around for stupid docker not being able to properly deal with host netdevices or start +# containers in pre-existing netns +COPY pipework /usr/bin/pipework +COPY docker-entrypoint.sh /docker-entrypoint.sh + +CMD ["/docker-entrypoint.sh"] + +EXPOSE 23000/udp 4246/tcp 4263/tcp diff --git a/osmo-gbproxy-latest/Makefile b/osmo-gbproxy-latest/Makefile new file mode 100644 index 0000000..9e5fb05 --- /dev/null +++ b/osmo-gbproxy-latest/Makefile @@ -0,0 +1,3 @@ +RUN_ARGS?=--rm --network sigtran --ip 172.18.0.22 -v gbproxy-vol:/data + +include ../make/Makefile diff --git a/osmo-gbproxy-latest/Release.key b/osmo-gbproxy-latest/Release.key new file mode 100644 index 0000000..a737316 --- /dev/null +++ b/osmo-gbproxy-latest/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-gbproxy-latest/docker-entrypoint.sh b/osmo-gbproxy-latest/docker-entrypoint.sh new file mode 100755 index 0000000..72c4e8c --- /dev/null +++ b/osmo-gbproxy-latest/docker-entrypoint.sh @@ -0,0 +1,9 @@ +#!/bin/bash +set -e +set -x + +if [[ -n ${WAIT_FOR_NETDEV:-} ]]; then + /usr/bin/pipework --wait -i ${WAIT_FOR_NETDEV} +fi + +/usr/local/bin/osmo-gbproxy -c /data/osmo-gbproxy.cfg >/data/osmo-gbproxy.log 2>&1 diff --git a/osmo-gbproxy-latest/osmo-gbproxy.cfg b/osmo-gbproxy-latest/osmo-gbproxy.cfg new file mode 100644 index 0000000..dec0608 --- /dev/null +++ b/osmo-gbproxy-latest/osmo-gbproxy.cfg @@ -0,0 +1,33 @@ +! +! Osmocom Gb Proxy (0.9.0.404-6463) configuration saved from vty +!! +! +log stderr + logging filter all 1 + logging color 1 + logging print category 1 + logging print category-hex 0 + logging timestamp 1 + logging print file 1 + logging level lns debug + logging level lbssgp debug + logging level gprs debug +line vty + no login + bind 0.0.0.0 +! +sgsn nsei 101 + name main +ns + bind udp local + listen 0.0.0.0 23000 + accept-ipaccess + nse 101 + nsvc ipa local 172.18.0.21 23000 nsvci 2342 + timer tns-block 3 + timer tns-block-retries 3 + timer tns-reset 3 + timer tns-reset-retries 3 + timer tns-test 30 + timer tns-alive 3 + timer tns-alive-retries 10 diff --git a/osmo-gbproxy-latest/pipework b/osmo-gbproxy-latest/pipework new file mode 100755 index 0000000..97ce66b --- /dev/null +++ b/osmo-gbproxy-latest/pipework @@ -0,0 +1,489 @@ +#!/bin/sh +# This code should (try to) follow Google's Shell Style Guide +# (https://google.github.io/styleguide/shell.xml) +set -e + +case "$1" in + --wait) + WAIT=1 + ;; + --direct-phys) + DIRECT_PHYS=1 + shift + ;; +esac + +IFNAME=$1 + +# default value set further down if not set here +CONTAINER_IFNAME= +if [ "$2" = "-i" ]; then + CONTAINER_IFNAME=$3 + shift 2 +fi + +if [ "$2" = "-l" ]; then + LOCAL_IFNAME=$3 + shift 2 +fi + +#inet or inet6 +FAMILY_FLAG="-4" +if [ "$2" = "-a" ]; then + FAMILY_FLAG="-$3" + shift 2 +fi + +GUESTNAME=$2 +IPADDR=$3 +MACADDR=$4 + +case "$MACADDR" in + *@*) + VLAN="${MACADDR#*@}" + VLAN="${VLAN%%@*}" + MACADDR="${MACADDR%%@*}" + ;; + *) + VLAN= + ;; +esac + +# did they ask to generate a custom MACADDR? +# generate the unique string +case "$MACADDR" in + U:*) + macunique="${MACADDR#*:}" + # now generate a 48-bit hash string from $macunique + MACADDR=$(echo $macunique|md5sum|sed 's/^\(..\)\(..\)\(..\)\(..\)\(..\).*$/02:\1:\2:\3:\4:\5/') + ;; +esac + + +[ "$IPADDR" ] || [ "$WAIT" ] || { + echo "Syntax:" + echo "pipework [-i containerinterface] [-l localinterfacename] [-a addressfamily] /[@default_gateway] [macaddr][@vlan]" + echo "pipework [-i containerinterface] [-l localinterfacename] dhcp [macaddr][@vlan]" + echo "pipework mac: [-i containerinterface] [-l localinterfacename] [-a addressfamily] /[@default_gateway] [macaddr][@vlan]" + echo "pipework mac: [-i containerinterface] [-l localinterfacename] dhcp [macaddr][@vlan]" + echo "pipework route " + echo "pipework rule " + echo "pipework tc " + echo "pipework --wait [-i containerinterface]" + exit 1 +} + +# Succeed if the given utility is installed. Fail otherwise. +# For explanations about `which` vs `type` vs `command`, see: +# http://stackoverflow.com/questions/592620/check-if-a-program-exists-from-a-bash-script/677212#677212 +# (Thanks to @chenhanxiao for pointing this out!) +installed () { + command -v "$1" >/dev/null 2>&1 +} + +# Google Styleguide says error messages should go to standard error. +warn () { + echo "$@" >&2 +} +die () { + status="$1" + shift + warn "$@" + exit "$status" +} + +if echo $IFNAME | grep -q '^mac:'; then + mac_address=$(echo $IFNAME | cut -c5-) + ifmatch= + for iftest in /sys/class/net/*; do + if [ -f $iftest/address ] && [ "$mac_address" = "$(cat $iftest/address)" ]; then + ifmatch="$(basename $iftest)" + break + fi + done + + if [ -z "$ifmatch" ]; then + die 1 "Mac address $mac_address specified for interface but no host interface matched." + else + IFNAME=$ifmatch + fi +fi + +# First step: determine type of first argument (bridge, physical interface...), +# Unless "--wait" is set (then skip the whole section) +if [ -z "$WAIT" ]; then + if [ -d "/sys/class/net/$IFNAME" ] + then + if [ -d "/sys/class/net/$IFNAME/bridge" ]; then + IFTYPE=bridge + BRTYPE=linux + elif installed ovs-vsctl && ovs-vsctl list-br|grep -q "^${IFNAME}$"; then + IFTYPE=bridge + BRTYPE=openvswitch + elif [ "$(cat "/sys/class/net/$IFNAME/type")" -eq 32 ]; then # InfiniBand IPoIB interface type 32 + IFTYPE=ipoib + # The IPoIB kernel module is fussy, set device name to ib0 if not overridden + CONTAINER_IFNAME=${CONTAINER_IFNAME:-ib0} + PKEY=$VLAN + else IFTYPE=phys + fi + else + case "$IFNAME" in + br*) + IFTYPE=bridge + BRTYPE=linux + ;; + ovs*) + if ! installed ovs-vsctl; then + die 1 "Need OVS installed on the system to create an ovs bridge" + fi + IFTYPE=bridge + BRTYPE=openvswitch + ;; + route*) + IFTYPE=route + ;; + rule*) + IFTYPE=rule + ;; + tc*) + IFTYPE=tc + ;; + dummy*) + IFTYPE=dummy + ;; + *) die 1 "I do not know how to setup interface $IFNAME." ;; + esac + fi +fi + +# Set the default container interface name to eth1 if not already set +CONTAINER_IFNAME=${CONTAINER_IFNAME:-eth1} + +[ "$WAIT" ] && { + while true; do + # This first method works even without `ip` or `ifconfig` installed, + # but doesn't work on older kernels (e.g. CentOS 6.X). See #128. + grep -q '^1$' "/sys/class/net/$CONTAINER_IFNAME/carrier" && break + # This method hopefully works on those older kernels. + ip link ls dev "$CONTAINER_IFNAME" && break + sleep 1 + done > /dev/null 2>&1 + exit 0 +} + +[ "$IFTYPE" = bridge ] && [ "$BRTYPE" = linux ] && [ "$VLAN" ] && { + die 1 "VLAN configuration currently unsupported for Linux bridge." +} + +[ "$IFTYPE" = ipoib ] && [ "$MACADDR" ] && { + die 1 "MACADDR configuration unsupported for IPoIB interfaces." +} + +# Second step: find the guest (for now, we only support LXC containers) +while read _ mnt fstype options _; do + [ "$fstype" != "cgroup" ] && continue + echo "$options" | grep -qw devices || continue + CGROUPMNT=$mnt +done < /proc/mounts + +[ "$CGROUPMNT" ] || { + die 1 "Could not locate cgroup mount point." +} + +# Try to find a cgroup matching exactly the provided name. +M=$(find "$CGROUPMNT" -name "$GUESTNAME") +N=$(echo "$M" | wc -l) +if [ -z "$M" ] ; then + N=0 +fi +case "$N" in + 0) + # If we didn't find anything, try to lookup the container with Docker. + if installed docker; then + RETRIES=3 + while [ "$RETRIES" -gt 0 ]; do + DOCKERPID=$(docker inspect --format='{{ .State.Pid }}' "$GUESTNAME") + DOCKERCID=$(docker inspect --format='{{ .ID }}' "$GUESTNAME") + DOCKERCNAME=$(docker inspect --format='{{ .Name }}' "$GUESTNAME") + + [ "$DOCKERPID" != 0 ] && break + sleep 1 + RETRIES=$((RETRIES - 1)) + done + + [ "$DOCKERPID" = 0 ] && { + die 1 "Docker inspect returned invalid PID 0" + } + + [ "$DOCKERPID" = "" ] && { + die 1 "Container $GUESTNAME not found, and unknown to Docker." + } + else + die 1 "Container $GUESTNAME not found, and Docker not installed." + fi + ;; + 1) true ;; + 2) # LXC >=3.1.0 returns two entries from the cgroups mount instead of one. + echo "$M" | grep -q "lxc\.monitor" || die 1 "Found more than one container matching $GUESTNAME." + ;; + *) die 1 "Found more than one container matching $GUESTNAME." ;; +esac + +# only check IPADDR if we are not in a route mode +[ "$IFTYPE" != route ] && [ "$IFTYPE" != rule ] && [ "$IFTYPE" != tc ] && { + case "$IPADDR" in + # Let's check first if the user asked for DHCP allocation. + dhcp|dhcp:*) + # Use Docker-specific strategy to run the DHCP client + # from the busybox image, in the network namespace of + # the container. + if ! [ "$DOCKERPID" ]; then + warn "You asked for a Docker-specific DHCP method." + warn "However, $GUESTNAME doesn't seem to be a Docker container." + warn "Try to replace 'dhcp' with another option?" + die 1 "Aborting." + fi + DHCP_CLIENT=${IPADDR%%:*} + ;; + udhcpc|udhcpc:*|udhcpc-f|udhcpc-f:*|dhcpcd|dhcpcd:*|dhclient|dhclient:*|dhclient-f|dhclient-f:*) + DHCP_CLIENT=${IPADDR%%:*} + # did they ask for the client to remain? + DHCP_FOREGROUND= + [ "${DHCP_CLIENT%-f}" != "${DHCP_CLIENT}" ] && { + DHCP_FOREGROUND=true + } + DHCP_CLIENT=${DHCP_CLIENT%-f} + if ! installed "$DHCP_CLIENT"; then + die 1 "You asked for DHCP client $DHCP_CLIENT, but I can't find it." + fi + ;; + # Alright, no DHCP? Then let's see if we have a subnet *and* gateway. + */*@*) + GATEWAY="${IPADDR#*@}" GATEWAY="${GATEWAY%%@*}" + IPADDR="${IPADDR%%@*}" + ;; + # No gateway? We need at least a subnet, anyway! + */*) : ;; + # ... No? Then stop right here. + *) + warn "The IP address should include a netmask." + die 1 "Maybe you meant $IPADDR/24 ?" + ;; + esac +} + +# If a DHCP method was specified, extract the DHCP options. +if [ "$DHCP_CLIENT" ]; then + case "$IPADDR" in + *:*) DHCP_OPTIONS="${IPADDR#*:}" ;; + esac +fi + +if [ "$DOCKERPID" ]; then + NSPID=$DOCKERPID +else + NSPID=$(head -n 1 "$(find "$CGROUPMNT" -name "$GUESTNAME" | head -n 1)/tasks") + [ "$NSPID" ] || { + # it is an alternative way to get the pid + NSPID=$(lxc-info -n "$GUESTNAME" | grep PID | grep -Eo '[0-9]+') + [ "$NSPID" ] || { + die 1 "Could not find a process inside container $GUESTNAME." + } + } +fi + +# Check if an incompatible VLAN device already exists +[ "$IFTYPE" = phys ] && [ "$VLAN" ] && [ -d "/sys/class/net/$IFNAME.VLAN" ] && { + ip -d link show "$IFNAME.$VLAN" | grep -q "vlan.*id $VLAN" || { + die 1 "$IFNAME.VLAN already exists but is not a VLAN device for tag $VLAN" + } +} + +[ ! -d /var/run/netns ] && mkdir -p /var/run/netns +rm -f "/var/run/netns/$NSPID" +ln -s "/proc/$NSPID/ns/net" "/var/run/netns/$NSPID" + +# Check if we need to create a bridge. +[ "$IFTYPE" = bridge ] && [ ! -d "/sys/class/net/$IFNAME" ] && { + [ "$BRTYPE" = linux ] && { + (ip link add dev "$IFNAME" type bridge > /dev/null 2>&1) || (brctl addbr "$IFNAME") + ip link set "$IFNAME" up + } + [ "$BRTYPE" = openvswitch ] && { + ovs-vsctl add-br "$IFNAME" + } +} + +[ "$IFTYPE" != "route" ] && [ "$IFTYPE" != "dummy" ] && [ "$IFTYPE" != "rule" ] && [ "$IFTYPE" != "tc" ] && MTU=$(ip link show "$IFNAME" | awk '{print $5}') + +# If it's a bridge, we need to create a veth pair +[ "$IFTYPE" = bridge ] && { + if [ -z "$LOCAL_IFNAME" ]; then + LOCAL_IFNAME="v${CONTAINER_IFNAME}pl${NSPID}" + fi + GUEST_IFNAME="v${CONTAINER_IFNAME}pg${NSPID}" + # Does the link already exist? + if ip link show "$LOCAL_IFNAME" >/dev/null 2>&1; then + # link exists, is it in use? + if ip link show "$LOCAL_IFNAME" up | grep -q "UP"; then + echo "Link $LOCAL_IFNAME exists and is up" + exit 1 + fi + # delete the link so we can re-add it afterwards + ip link del "$LOCAL_IFNAME" + fi + ip link add name "$LOCAL_IFNAME" mtu "$MTU" type veth peer name "$GUEST_IFNAME" mtu "$MTU" + case "$BRTYPE" in + linux) + (ip link set "$LOCAL_IFNAME" master "$IFNAME" > /dev/null 2>&1) || (brctl addif "$IFNAME" "$LOCAL_IFNAME") + ;; + openvswitch) + if ! ovs-vsctl list-ports "$IFNAME" | grep -q "^${LOCAL_IFNAME}$"; then + ovs-vsctl add-port "$IFNAME" "$LOCAL_IFNAME" ${VLAN:+tag="$VLAN"} \ + -- set Interface "$LOCAL_IFNAME" \ + external-ids:pipework.interface="$LOCAL_IFNAME" \ + external-ids:pipework.bridge="$IFNAME" \ + ${DOCKERCID:+external-ids:pipework.containerid="$DOCKERCID"} \ + ${DOCKERCNAME:+external-ids:pipework.containername="$DOCKERCNAME"} \ + ${NSPID:+external-ids:pipework.nspid="$NSPID"} \ + ${VLAN:+external-ids:pipework.vlan="$VLAN"} + fi + ;; + esac + ip link set "$LOCAL_IFNAME" up +} + +# If it's a physical interface, create a macvlan subinterface +[ "$IFTYPE" = phys ] && { + [ "$VLAN" ] && { + [ ! -d "/sys/class/net/${IFNAME}.${VLAN}" ] && { + ip link add link "$IFNAME" name "$IFNAME.$VLAN" mtu "$MTU" type vlan id "$VLAN" + } + ip link set "$IFNAME" up + IFNAME=$IFNAME.$VLAN + } + + if [ ! -z "$DIRECT_PHYS" ]; then + GUEST_IFNAME=$IFNAME + else + GUEST_IFNAME=ph$NSPID$CONTAINER_IFNAME + ip link add link "$IFNAME" dev "$GUEST_IFNAME" mtu "$MTU" type macvlan mode bridge + fi + + ip link set "$IFNAME" up +} + +# If it's an IPoIB interface, create a virtual IPoIB interface (the IPoIB +# equivalent of a macvlan device) +# +# Note: no macvlan subinterface nor Ethernet bridge can be created on top of an +# IPoIB interface. InfiniBand is not Ethernet. IPoIB is an IP layer on top of +# InfiniBand, without an intermediate Ethernet layer. +[ "$IFTYPE" = ipoib ] && { + GUEST_IFNAME="${IFNAME}.${NSPID}" + + # If a partition key is provided, use it + [ "$PKEY" ] && { + GUEST_IFNAME="${IFNAME}.${PKEY}.${NSPID}" + PKEY="pkey 0x$PKEY" + } + + ip link add link "$IFNAME" name "$GUEST_IFNAME" type ipoib $PKEY + ip link set "$IFNAME" up +} + +# If its a dummy interface, create a dummy interface. +[ "$IFTYPE" = dummy ] && { + GUEST_IFNAME=du$NSPID$CONTAINER_IFNAME + ip link add dev "$GUEST_IFNAME" type dummy +} + +# If the `route` command was specified ... +if [ "$IFTYPE" = route ]; then + # ... discard the first two arguments and pass the rest to the route command. + shift 2 + ip netns exec "$NSPID" ip route "$@" +elif [ "$IFTYPE" = rule ] ; then + shift 2 + ip netns exec "$NSPID" ip rule "$@" +elif [ "$IFTYPE" = tc ] ; then + shift 2 + ip netns exec "$NSPID" tc "$@" +else + # Otherwise, run normally. + ip link set "$GUEST_IFNAME" netns "$NSPID" + ip netns exec "$NSPID" ip link set "$GUEST_IFNAME" name "$CONTAINER_IFNAME" + [ "$MACADDR" ] && ip netns exec "$NSPID" ip link set dev "$CONTAINER_IFNAME" address "$MACADDR" + + # When using any of the DHCP methods, we start a DHCP client in the + # network namespace of the container. With the 'dhcp' method, the + # client used is taken from the Docker busybox image (therefore + # requiring no specific client installed on the host). Other methods + # use a locally installed client. + case "$DHCP_CLIENT" in + dhcp) + docker run -d --net container:$GUESTNAME --cap-add NET_ADMIN \ + busybox udhcpc -i "$CONTAINER_IFNAME" -x "hostname:$GUESTNAME" \ + $DHCP_OPTIONS \ + >/dev/null + ;; + udhcpc) + DHCP_Q="-q" + [ "$DHCP_FOREGROUND" ] && { + DHCP_OPTIONS="$DHCP_OPTIONS -f" + } + ip netns exec "$NSPID" "$DHCP_CLIENT" -qi "$CONTAINER_IFNAME" \ + -x "hostname:$GUESTNAME" \ + -p "/var/run/udhcpc.$GUESTNAME.pid" \ + $DHCP_OPTIONS + [ ! "$DHCP_FOREGROUND" ] && { + rm "/var/run/udhcpc.$GUESTNAME.pid" + } + ;; + dhclient) + ip netns exec "$NSPID" "$DHCP_CLIENT" "$CONTAINER_IFNAME" \ + -pf "/var/run/dhclient.$GUESTNAME.pid" \ + -lf "/etc/dhclient/dhclient.$GUESTNAME.leases" \ + $DHCP_OPTIONS + # kill dhclient after get ip address to prevent device be used after container close + [ ! "$DHCP_FOREGROUND" ] && { + kill "$(cat "/var/run/dhclient.$GUESTNAME.pid")" + rm "/var/run/dhclient.$GUESTNAME.pid" + } + ;; + dhcpcd) + ip netns exec "$NSPID" "$DHCP_CLIENT" -q "$CONTAINER_IFNAME" -h "$GUESTNAME" + ;; + "") + if installed ipcalc; then + eval $(ipcalc -b $IPADDR) + ip netns exec "$NSPID" ip "$FAMILY_FLAG" addr add "$IPADDR" brd "$BROADCAST" dev "$CONTAINER_IFNAME" + else + ip netns exec "$NSPID" ip "$FAMILY_FLAG" addr add "$IPADDR" dev "$CONTAINER_IFNAME" + fi + + [ "$GATEWAY" ] && { + ip netns exec "$NSPID" ip "$FAMILY_FLAG" route delete default >/dev/null 2>&1 && true + } + ip netns exec "$NSPID" ip "$FAMILY_FLAG" link set "$CONTAINER_IFNAME" up + [ "$GATEWAY" ] && { + ip netns exec "$NSPID" ip "$FAMILY_FLAG" route get "$GATEWAY" >/dev/null 2>&1 || \ + ip netns exec "$NSPID" ip "$FAMILY_FLAG" route add "$GATEWAY/32" dev "$CONTAINER_IFNAME" + ip netns exec "$NSPID" ip "$FAMILY_FLAG" route replace default via "$GATEWAY" dev "$CONTAINER_IFNAME" + } + ;; + esac + + # Give our ARP neighbors a nudge about the new interface + if installed arping; then + IPADDR=$(echo "$IPADDR" | cut -d/ -f1) + ip netns exec "$NSPID" arping -c 1 -A -I "$CONTAINER_IFNAME" "$IPADDR" > /dev/null 2>&1 || true + else + echo "Warning: arping not found; interface may not be immediately reachable" + fi +fi +# Remove NSPID to avoid `ip netns` catch it. +rm -f "/var/run/netns/$NSPID" + +# vim: set tabstop=2 shiftwidth=2 softtabstop=2 expandtab : -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23192 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I285cb51da03b793eab994ff3c00de16097e3f992 Gerrit-Change-Number: 23192 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 Mar 2 11:32:40 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 2 Mar 2021 11:32:40 +0000 Subject: Change in docker-playground[master]: Add osmo-gbproxy-latest container In-Reply-To: References: Message-ID: laforge has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/docker-playground/+/23192 ) Change subject: Add osmo-gbproxy-latest container ...................................................................... Add osmo-gbproxy-latest container Change-Id: I285cb51da03b793eab994ff3c00de16097e3f992 --- A osmo-gbproxy-latest/Dockerfile A osmo-gbproxy-latest/Makefile A osmo-gbproxy-latest/Release.key A osmo-gbproxy-latest/docker-entrypoint.sh A osmo-gbproxy-latest/osmo-gbproxy.cfg A osmo-gbproxy-latest/pipework 6 files changed, 608 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/92/23192/2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23192 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I285cb51da03b793eab994ff3c00de16097e3f992 Gerrit-Change-Number: 23192 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 Tue Mar 2 11:55:07 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 2 Mar 2021 11:55:07 +0000 Subject: Change in docker-playground[master]: Add osmo-gbproxy-latest container In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23192 ) Change subject: Add osmo-gbproxy-latest container ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23192 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I285cb51da03b793eab994ff3c00de16097e3f992 Gerrit-Change-Number: 23192 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 02 Mar 2021 11:55: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 Mar 2 12:06:35 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 2 Mar 2021 12:06:35 +0000 Subject: Change in osmo-pcu[master]: llc: use memset to fill llc dummy frame padding In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23191 ) Change subject: llc: use memset to fill llc dummy frame padding ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/23191/1/src/llc.cpp File src/llc.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/23191/1/src/llc.cpp at 63 PS1, Line 63: 0x2b GSM_MACBLOCK_PADDING -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23191 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iaa55549f979ca23dad0bddd308c1144aa4b17255 Gerrit-Change-Number: 23191 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 02 Mar 2021 12:06:35 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 2 12:15:38 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 2 Mar 2021 12:15:38 +0000 Subject: Change in osmo-pcu[master]: llc: use memset to fill llc dummy frame padding In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23191 ) Change subject: llc: use memset to fill llc dummy frame padding ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/23191/1/src/llc.cpp File src/llc.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/23191/1/src/llc.cpp at 63 PS1, Line 63: 0x2b > GSM_MACBLOCK_PADDING That's definetly a separate commit: $ ag 0x2b | wc -l 49 $ ag GSM_MACBLOCK_PADDING | wc -l 0 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23191 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iaa55549f979ca23dad0bddd308c1144aa4b17255 Gerrit-Change-Number: 23191 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 02 Mar 2021 12:15: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 Tue Mar 2 12:17:06 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 2 Mar 2021 12:17:06 +0000 Subject: Change in docker-playground[master]: Add osmo-gbproxy-latest container In-Reply-To: References: Message-ID: Hello pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/docker-playground/+/23192 to look at the new patch set (#3). Change subject: Add osmo-gbproxy-latest container ...................................................................... Add osmo-gbproxy-latest container Change-Id: I285cb51da03b793eab994ff3c00de16097e3f992 --- A osmo-gbproxy-latest/Dockerfile A osmo-gbproxy-latest/Makefile A osmo-gbproxy-latest/Release.key A osmo-gbproxy-latest/docker-entrypoint.sh A osmo-gbproxy-latest/osmo-gbproxy.cfg A osmo-gbproxy-latest/pipework 6 files changed, 617 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/92/23192/3 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23192 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I285cb51da03b793eab994ff3c00de16097e3f992 Gerrit-Change-Number: 23192 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 2 12:17:29 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 2 Mar 2021 12:17:29 +0000 Subject: Change in docker-playground[master]: Add osmo-gbproxy-latest container In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23192 ) Change subject: Add osmo-gbproxy-latest container ...................................................................... Patch Set 3: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23192 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I285cb51da03b793eab994ff3c00de16097e3f992 Gerrit-Change-Number: 23192 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 02 Mar 2021 12:17: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 Mar 2 12:17:31 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 2 Mar 2021 12:17:31 +0000 Subject: Change in docker-playground[master]: Add osmo-gbproxy-latest container In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23192 ) Change subject: Add osmo-gbproxy-latest container ...................................................................... Add osmo-gbproxy-latest container Change-Id: I285cb51da03b793eab994ff3c00de16097e3f992 --- A osmo-gbproxy-latest/Dockerfile A osmo-gbproxy-latest/Makefile A osmo-gbproxy-latest/Release.key A osmo-gbproxy-latest/docker-entrypoint.sh A osmo-gbproxy-latest/osmo-gbproxy.cfg A osmo-gbproxy-latest/pipework 6 files changed, 617 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/osmo-gbproxy-latest/Dockerfile b/osmo-gbproxy-latest/Dockerfile new file mode 100644 index 0000000..1e53113 --- /dev/null +++ b/osmo-gbproxy-latest/Dockerfile @@ -0,0 +1,63 @@ +ARG REGISTRY=docker.io +ARG UPSTREAM_DISTRO=debian:stretch +FROM ${REGISTRY}/${UPSTREAM_DISTRO} +# Arguments used after FROM must be specified again +ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" +ARG DISTRO + +MAINTAINER Harald Welte + +ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/latest/Debian_9.0/" + +COPY Release.key /tmp/Release.key + +RUN apt-get update && \ + apt-get install -y --no-install-recommends \ + gnupg + +RUN case "$DISTRO" in \ + debian*) \ + apt-key add /tmp/Release.key && \ + rm /tmp/Release.key && \ + echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-latest.list \ + ;; \ + esac + +# we need to add this to invalidate the cache once the repository is updated. +# unfortunately Dockerfiles don't support a conditional ARG, so we need to add both DPKG + RPM +ADD $OSMOCOM_REPO/Release /tmp/Release +ADD $OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/latest/CentOS_8/repodata/repomd.xml /tmp/repomd.xml +RUN case "$DISTRO" in \ + debian*) \ + apt-get update && \ + apt-get install -y --no-install-recommends \ + osmo-gbproxy \ + telnet \ + && \ + apt-get clean \ + ;; \ + centos*) \ + dnf install -y \ + osmo-gbproxy \ + telnet \ + ;; \ + *) \ + echo "Unsupported distribution $DISTRO" \ + exit 23 \ + ;; \ + esac + +WORKDIR /data + +VOLUME /data + +COPY osmo-gbproxy.cfg /data/osmo-gbproxy.cfg + +# work-around for stupid docker not being able to properly deal with host netdevices or start +# containers in pre-existing netns +COPY pipework /usr/bin/pipework +COPY docker-entrypoint.sh /docker-entrypoint.sh + +CMD ["/docker-entrypoint.sh"] + +EXPOSE 23000/udp 4246/tcp 4263/tcp diff --git a/osmo-gbproxy-latest/Makefile b/osmo-gbproxy-latest/Makefile new file mode 100644 index 0000000..9e5fb05 --- /dev/null +++ b/osmo-gbproxy-latest/Makefile @@ -0,0 +1,3 @@ +RUN_ARGS?=--rm --network sigtran --ip 172.18.0.22 -v gbproxy-vol:/data + +include ../make/Makefile diff --git a/osmo-gbproxy-latest/Release.key b/osmo-gbproxy-latest/Release.key new file mode 100644 index 0000000..a737316 --- /dev/null +++ b/osmo-gbproxy-latest/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-gbproxy-latest/docker-entrypoint.sh b/osmo-gbproxy-latest/docker-entrypoint.sh new file mode 100755 index 0000000..d166207 --- /dev/null +++ b/osmo-gbproxy-latest/docker-entrypoint.sh @@ -0,0 +1,9 @@ +#!/bin/bash +set -e +set -x + +if [[ -n ${WAIT_FOR_NETDEV:-} ]]; then + /usr/bin/pipework --wait -i ${WAIT_FOR_NETDEV} +fi + +/usr/bin/osmo-gbproxy -c /data/osmo-gbproxy.cfg >/data/osmo-gbproxy.log 2>&1 diff --git a/osmo-gbproxy-latest/osmo-gbproxy.cfg b/osmo-gbproxy-latest/osmo-gbproxy.cfg new file mode 100644 index 0000000..dec0608 --- /dev/null +++ b/osmo-gbproxy-latest/osmo-gbproxy.cfg @@ -0,0 +1,33 @@ +! +! Osmocom Gb Proxy (0.9.0.404-6463) configuration saved from vty +!! +! +log stderr + logging filter all 1 + logging color 1 + logging print category 1 + logging print category-hex 0 + logging timestamp 1 + logging print file 1 + logging level lns debug + logging level lbssgp debug + logging level gprs debug +line vty + no login + bind 0.0.0.0 +! +sgsn nsei 101 + name main +ns + bind udp local + listen 0.0.0.0 23000 + accept-ipaccess + nse 101 + nsvc ipa local 172.18.0.21 23000 nsvci 2342 + timer tns-block 3 + timer tns-block-retries 3 + timer tns-reset 3 + timer tns-reset-retries 3 + timer tns-test 30 + timer tns-alive 3 + timer tns-alive-retries 10 diff --git a/osmo-gbproxy-latest/pipework b/osmo-gbproxy-latest/pipework new file mode 100755 index 0000000..97ce66b --- /dev/null +++ b/osmo-gbproxy-latest/pipework @@ -0,0 +1,489 @@ +#!/bin/sh +# This code should (try to) follow Google's Shell Style Guide +# (https://google.github.io/styleguide/shell.xml) +set -e + +case "$1" in + --wait) + WAIT=1 + ;; + --direct-phys) + DIRECT_PHYS=1 + shift + ;; +esac + +IFNAME=$1 + +# default value set further down if not set here +CONTAINER_IFNAME= +if [ "$2" = "-i" ]; then + CONTAINER_IFNAME=$3 + shift 2 +fi + +if [ "$2" = "-l" ]; then + LOCAL_IFNAME=$3 + shift 2 +fi + +#inet or inet6 +FAMILY_FLAG="-4" +if [ "$2" = "-a" ]; then + FAMILY_FLAG="-$3" + shift 2 +fi + +GUESTNAME=$2 +IPADDR=$3 +MACADDR=$4 + +case "$MACADDR" in + *@*) + VLAN="${MACADDR#*@}" + VLAN="${VLAN%%@*}" + MACADDR="${MACADDR%%@*}" + ;; + *) + VLAN= + ;; +esac + +# did they ask to generate a custom MACADDR? +# generate the unique string +case "$MACADDR" in + U:*) + macunique="${MACADDR#*:}" + # now generate a 48-bit hash string from $macunique + MACADDR=$(echo $macunique|md5sum|sed 's/^\(..\)\(..\)\(..\)\(..\)\(..\).*$/02:\1:\2:\3:\4:\5/') + ;; +esac + + +[ "$IPADDR" ] || [ "$WAIT" ] || { + echo "Syntax:" + echo "pipework [-i containerinterface] [-l localinterfacename] [-a addressfamily] /[@default_gateway] [macaddr][@vlan]" + echo "pipework [-i containerinterface] [-l localinterfacename] dhcp [macaddr][@vlan]" + echo "pipework mac: [-i containerinterface] [-l localinterfacename] [-a addressfamily] /[@default_gateway] [macaddr][@vlan]" + echo "pipework mac: [-i containerinterface] [-l localinterfacename] dhcp [macaddr][@vlan]" + echo "pipework route " + echo "pipework rule " + echo "pipework tc " + echo "pipework --wait [-i containerinterface]" + exit 1 +} + +# Succeed if the given utility is installed. Fail otherwise. +# For explanations about `which` vs `type` vs `command`, see: +# http://stackoverflow.com/questions/592620/check-if-a-program-exists-from-a-bash-script/677212#677212 +# (Thanks to @chenhanxiao for pointing this out!) +installed () { + command -v "$1" >/dev/null 2>&1 +} + +# Google Styleguide says error messages should go to standard error. +warn () { + echo "$@" >&2 +} +die () { + status="$1" + shift + warn "$@" + exit "$status" +} + +if echo $IFNAME | grep -q '^mac:'; then + mac_address=$(echo $IFNAME | cut -c5-) + ifmatch= + for iftest in /sys/class/net/*; do + if [ -f $iftest/address ] && [ "$mac_address" = "$(cat $iftest/address)" ]; then + ifmatch="$(basename $iftest)" + break + fi + done + + if [ -z "$ifmatch" ]; then + die 1 "Mac address $mac_address specified for interface but no host interface matched." + else + IFNAME=$ifmatch + fi +fi + +# First step: determine type of first argument (bridge, physical interface...), +# Unless "--wait" is set (then skip the whole section) +if [ -z "$WAIT" ]; then + if [ -d "/sys/class/net/$IFNAME" ] + then + if [ -d "/sys/class/net/$IFNAME/bridge" ]; then + IFTYPE=bridge + BRTYPE=linux + elif installed ovs-vsctl && ovs-vsctl list-br|grep -q "^${IFNAME}$"; then + IFTYPE=bridge + BRTYPE=openvswitch + elif [ "$(cat "/sys/class/net/$IFNAME/type")" -eq 32 ]; then # InfiniBand IPoIB interface type 32 + IFTYPE=ipoib + # The IPoIB kernel module is fussy, set device name to ib0 if not overridden + CONTAINER_IFNAME=${CONTAINER_IFNAME:-ib0} + PKEY=$VLAN + else IFTYPE=phys + fi + else + case "$IFNAME" in + br*) + IFTYPE=bridge + BRTYPE=linux + ;; + ovs*) + if ! installed ovs-vsctl; then + die 1 "Need OVS installed on the system to create an ovs bridge" + fi + IFTYPE=bridge + BRTYPE=openvswitch + ;; + route*) + IFTYPE=route + ;; + rule*) + IFTYPE=rule + ;; + tc*) + IFTYPE=tc + ;; + dummy*) + IFTYPE=dummy + ;; + *) die 1 "I do not know how to setup interface $IFNAME." ;; + esac + fi +fi + +# Set the default container interface name to eth1 if not already set +CONTAINER_IFNAME=${CONTAINER_IFNAME:-eth1} + +[ "$WAIT" ] && { + while true; do + # This first method works even without `ip` or `ifconfig` installed, + # but doesn't work on older kernels (e.g. CentOS 6.X). See #128. + grep -q '^1$' "/sys/class/net/$CONTAINER_IFNAME/carrier" && break + # This method hopefully works on those older kernels. + ip link ls dev "$CONTAINER_IFNAME" && break + sleep 1 + done > /dev/null 2>&1 + exit 0 +} + +[ "$IFTYPE" = bridge ] && [ "$BRTYPE" = linux ] && [ "$VLAN" ] && { + die 1 "VLAN configuration currently unsupported for Linux bridge." +} + +[ "$IFTYPE" = ipoib ] && [ "$MACADDR" ] && { + die 1 "MACADDR configuration unsupported for IPoIB interfaces." +} + +# Second step: find the guest (for now, we only support LXC containers) +while read _ mnt fstype options _; do + [ "$fstype" != "cgroup" ] && continue + echo "$options" | grep -qw devices || continue + CGROUPMNT=$mnt +done < /proc/mounts + +[ "$CGROUPMNT" ] || { + die 1 "Could not locate cgroup mount point." +} + +# Try to find a cgroup matching exactly the provided name. +M=$(find "$CGROUPMNT" -name "$GUESTNAME") +N=$(echo "$M" | wc -l) +if [ -z "$M" ] ; then + N=0 +fi +case "$N" in + 0) + # If we didn't find anything, try to lookup the container with Docker. + if installed docker; then + RETRIES=3 + while [ "$RETRIES" -gt 0 ]; do + DOCKERPID=$(docker inspect --format='{{ .State.Pid }}' "$GUESTNAME") + DOCKERCID=$(docker inspect --format='{{ .ID }}' "$GUESTNAME") + DOCKERCNAME=$(docker inspect --format='{{ .Name }}' "$GUESTNAME") + + [ "$DOCKERPID" != 0 ] && break + sleep 1 + RETRIES=$((RETRIES - 1)) + done + + [ "$DOCKERPID" = 0 ] && { + die 1 "Docker inspect returned invalid PID 0" + } + + [ "$DOCKERPID" = "" ] && { + die 1 "Container $GUESTNAME not found, and unknown to Docker." + } + else + die 1 "Container $GUESTNAME not found, and Docker not installed." + fi + ;; + 1) true ;; + 2) # LXC >=3.1.0 returns two entries from the cgroups mount instead of one. + echo "$M" | grep -q "lxc\.monitor" || die 1 "Found more than one container matching $GUESTNAME." + ;; + *) die 1 "Found more than one container matching $GUESTNAME." ;; +esac + +# only check IPADDR if we are not in a route mode +[ "$IFTYPE" != route ] && [ "$IFTYPE" != rule ] && [ "$IFTYPE" != tc ] && { + case "$IPADDR" in + # Let's check first if the user asked for DHCP allocation. + dhcp|dhcp:*) + # Use Docker-specific strategy to run the DHCP client + # from the busybox image, in the network namespace of + # the container. + if ! [ "$DOCKERPID" ]; then + warn "You asked for a Docker-specific DHCP method." + warn "However, $GUESTNAME doesn't seem to be a Docker container." + warn "Try to replace 'dhcp' with another option?" + die 1 "Aborting." + fi + DHCP_CLIENT=${IPADDR%%:*} + ;; + udhcpc|udhcpc:*|udhcpc-f|udhcpc-f:*|dhcpcd|dhcpcd:*|dhclient|dhclient:*|dhclient-f|dhclient-f:*) + DHCP_CLIENT=${IPADDR%%:*} + # did they ask for the client to remain? + DHCP_FOREGROUND= + [ "${DHCP_CLIENT%-f}" != "${DHCP_CLIENT}" ] && { + DHCP_FOREGROUND=true + } + DHCP_CLIENT=${DHCP_CLIENT%-f} + if ! installed "$DHCP_CLIENT"; then + die 1 "You asked for DHCP client $DHCP_CLIENT, but I can't find it." + fi + ;; + # Alright, no DHCP? Then let's see if we have a subnet *and* gateway. + */*@*) + GATEWAY="${IPADDR#*@}" GATEWAY="${GATEWAY%%@*}" + IPADDR="${IPADDR%%@*}" + ;; + # No gateway? We need at least a subnet, anyway! + */*) : ;; + # ... No? Then stop right here. + *) + warn "The IP address should include a netmask." + die 1 "Maybe you meant $IPADDR/24 ?" + ;; + esac +} + +# If a DHCP method was specified, extract the DHCP options. +if [ "$DHCP_CLIENT" ]; then + case "$IPADDR" in + *:*) DHCP_OPTIONS="${IPADDR#*:}" ;; + esac +fi + +if [ "$DOCKERPID" ]; then + NSPID=$DOCKERPID +else + NSPID=$(head -n 1 "$(find "$CGROUPMNT" -name "$GUESTNAME" | head -n 1)/tasks") + [ "$NSPID" ] || { + # it is an alternative way to get the pid + NSPID=$(lxc-info -n "$GUESTNAME" | grep PID | grep -Eo '[0-9]+') + [ "$NSPID" ] || { + die 1 "Could not find a process inside container $GUESTNAME." + } + } +fi + +# Check if an incompatible VLAN device already exists +[ "$IFTYPE" = phys ] && [ "$VLAN" ] && [ -d "/sys/class/net/$IFNAME.VLAN" ] && { + ip -d link show "$IFNAME.$VLAN" | grep -q "vlan.*id $VLAN" || { + die 1 "$IFNAME.VLAN already exists but is not a VLAN device for tag $VLAN" + } +} + +[ ! -d /var/run/netns ] && mkdir -p /var/run/netns +rm -f "/var/run/netns/$NSPID" +ln -s "/proc/$NSPID/ns/net" "/var/run/netns/$NSPID" + +# Check if we need to create a bridge. +[ "$IFTYPE" = bridge ] && [ ! -d "/sys/class/net/$IFNAME" ] && { + [ "$BRTYPE" = linux ] && { + (ip link add dev "$IFNAME" type bridge > /dev/null 2>&1) || (brctl addbr "$IFNAME") + ip link set "$IFNAME" up + } + [ "$BRTYPE" = openvswitch ] && { + ovs-vsctl add-br "$IFNAME" + } +} + +[ "$IFTYPE" != "route" ] && [ "$IFTYPE" != "dummy" ] && [ "$IFTYPE" != "rule" ] && [ "$IFTYPE" != "tc" ] && MTU=$(ip link show "$IFNAME" | awk '{print $5}') + +# If it's a bridge, we need to create a veth pair +[ "$IFTYPE" = bridge ] && { + if [ -z "$LOCAL_IFNAME" ]; then + LOCAL_IFNAME="v${CONTAINER_IFNAME}pl${NSPID}" + fi + GUEST_IFNAME="v${CONTAINER_IFNAME}pg${NSPID}" + # Does the link already exist? + if ip link show "$LOCAL_IFNAME" >/dev/null 2>&1; then + # link exists, is it in use? + if ip link show "$LOCAL_IFNAME" up | grep -q "UP"; then + echo "Link $LOCAL_IFNAME exists and is up" + exit 1 + fi + # delete the link so we can re-add it afterwards + ip link del "$LOCAL_IFNAME" + fi + ip link add name "$LOCAL_IFNAME" mtu "$MTU" type veth peer name "$GUEST_IFNAME" mtu "$MTU" + case "$BRTYPE" in + linux) + (ip link set "$LOCAL_IFNAME" master "$IFNAME" > /dev/null 2>&1) || (brctl addif "$IFNAME" "$LOCAL_IFNAME") + ;; + openvswitch) + if ! ovs-vsctl list-ports "$IFNAME" | grep -q "^${LOCAL_IFNAME}$"; then + ovs-vsctl add-port "$IFNAME" "$LOCAL_IFNAME" ${VLAN:+tag="$VLAN"} \ + -- set Interface "$LOCAL_IFNAME" \ + external-ids:pipework.interface="$LOCAL_IFNAME" \ + external-ids:pipework.bridge="$IFNAME" \ + ${DOCKERCID:+external-ids:pipework.containerid="$DOCKERCID"} \ + ${DOCKERCNAME:+external-ids:pipework.containername="$DOCKERCNAME"} \ + ${NSPID:+external-ids:pipework.nspid="$NSPID"} \ + ${VLAN:+external-ids:pipework.vlan="$VLAN"} + fi + ;; + esac + ip link set "$LOCAL_IFNAME" up +} + +# If it's a physical interface, create a macvlan subinterface +[ "$IFTYPE" = phys ] && { + [ "$VLAN" ] && { + [ ! -d "/sys/class/net/${IFNAME}.${VLAN}" ] && { + ip link add link "$IFNAME" name "$IFNAME.$VLAN" mtu "$MTU" type vlan id "$VLAN" + } + ip link set "$IFNAME" up + IFNAME=$IFNAME.$VLAN + } + + if [ ! -z "$DIRECT_PHYS" ]; then + GUEST_IFNAME=$IFNAME + else + GUEST_IFNAME=ph$NSPID$CONTAINER_IFNAME + ip link add link "$IFNAME" dev "$GUEST_IFNAME" mtu "$MTU" type macvlan mode bridge + fi + + ip link set "$IFNAME" up +} + +# If it's an IPoIB interface, create a virtual IPoIB interface (the IPoIB +# equivalent of a macvlan device) +# +# Note: no macvlan subinterface nor Ethernet bridge can be created on top of an +# IPoIB interface. InfiniBand is not Ethernet. IPoIB is an IP layer on top of +# InfiniBand, without an intermediate Ethernet layer. +[ "$IFTYPE" = ipoib ] && { + GUEST_IFNAME="${IFNAME}.${NSPID}" + + # If a partition key is provided, use it + [ "$PKEY" ] && { + GUEST_IFNAME="${IFNAME}.${PKEY}.${NSPID}" + PKEY="pkey 0x$PKEY" + } + + ip link add link "$IFNAME" name "$GUEST_IFNAME" type ipoib $PKEY + ip link set "$IFNAME" up +} + +# If its a dummy interface, create a dummy interface. +[ "$IFTYPE" = dummy ] && { + GUEST_IFNAME=du$NSPID$CONTAINER_IFNAME + ip link add dev "$GUEST_IFNAME" type dummy +} + +# If the `route` command was specified ... +if [ "$IFTYPE" = route ]; then + # ... discard the first two arguments and pass the rest to the route command. + shift 2 + ip netns exec "$NSPID" ip route "$@" +elif [ "$IFTYPE" = rule ] ; then + shift 2 + ip netns exec "$NSPID" ip rule "$@" +elif [ "$IFTYPE" = tc ] ; then + shift 2 + ip netns exec "$NSPID" tc "$@" +else + # Otherwise, run normally. + ip link set "$GUEST_IFNAME" netns "$NSPID" + ip netns exec "$NSPID" ip link set "$GUEST_IFNAME" name "$CONTAINER_IFNAME" + [ "$MACADDR" ] && ip netns exec "$NSPID" ip link set dev "$CONTAINER_IFNAME" address "$MACADDR" + + # When using any of the DHCP methods, we start a DHCP client in the + # network namespace of the container. With the 'dhcp' method, the + # client used is taken from the Docker busybox image (therefore + # requiring no specific client installed on the host). Other methods + # use a locally installed client. + case "$DHCP_CLIENT" in + dhcp) + docker run -d --net container:$GUESTNAME --cap-add NET_ADMIN \ + busybox udhcpc -i "$CONTAINER_IFNAME" -x "hostname:$GUESTNAME" \ + $DHCP_OPTIONS \ + >/dev/null + ;; + udhcpc) + DHCP_Q="-q" + [ "$DHCP_FOREGROUND" ] && { + DHCP_OPTIONS="$DHCP_OPTIONS -f" + } + ip netns exec "$NSPID" "$DHCP_CLIENT" -qi "$CONTAINER_IFNAME" \ + -x "hostname:$GUESTNAME" \ + -p "/var/run/udhcpc.$GUESTNAME.pid" \ + $DHCP_OPTIONS + [ ! "$DHCP_FOREGROUND" ] && { + rm "/var/run/udhcpc.$GUESTNAME.pid" + } + ;; + dhclient) + ip netns exec "$NSPID" "$DHCP_CLIENT" "$CONTAINER_IFNAME" \ + -pf "/var/run/dhclient.$GUESTNAME.pid" \ + -lf "/etc/dhclient/dhclient.$GUESTNAME.leases" \ + $DHCP_OPTIONS + # kill dhclient after get ip address to prevent device be used after container close + [ ! "$DHCP_FOREGROUND" ] && { + kill "$(cat "/var/run/dhclient.$GUESTNAME.pid")" + rm "/var/run/dhclient.$GUESTNAME.pid" + } + ;; + dhcpcd) + ip netns exec "$NSPID" "$DHCP_CLIENT" -q "$CONTAINER_IFNAME" -h "$GUESTNAME" + ;; + "") + if installed ipcalc; then + eval $(ipcalc -b $IPADDR) + ip netns exec "$NSPID" ip "$FAMILY_FLAG" addr add "$IPADDR" brd "$BROADCAST" dev "$CONTAINER_IFNAME" + else + ip netns exec "$NSPID" ip "$FAMILY_FLAG" addr add "$IPADDR" dev "$CONTAINER_IFNAME" + fi + + [ "$GATEWAY" ] && { + ip netns exec "$NSPID" ip "$FAMILY_FLAG" route delete default >/dev/null 2>&1 && true + } + ip netns exec "$NSPID" ip "$FAMILY_FLAG" link set "$CONTAINER_IFNAME" up + [ "$GATEWAY" ] && { + ip netns exec "$NSPID" ip "$FAMILY_FLAG" route get "$GATEWAY" >/dev/null 2>&1 || \ + ip netns exec "$NSPID" ip "$FAMILY_FLAG" route add "$GATEWAY/32" dev "$CONTAINER_IFNAME" + ip netns exec "$NSPID" ip "$FAMILY_FLAG" route replace default via "$GATEWAY" dev "$CONTAINER_IFNAME" + } + ;; + esac + + # Give our ARP neighbors a nudge about the new interface + if installed arping; then + IPADDR=$(echo "$IPADDR" | cut -d/ -f1) + ip netns exec "$NSPID" arping -c 1 -A -I "$CONTAINER_IFNAME" "$IPADDR" > /dev/null 2>&1 || true + else + echo "Warning: arping not found; interface may not be immediately reachable" + fi +fi +# Remove NSPID to avoid `ip netns` catch it. +rm -f "/var/run/netns/$NSPID" + +# vim: set tabstop=2 shiftwidth=2 softtabstop=2 expandtab : -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23192 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I285cb51da03b793eab994ff3c00de16097e3f992 Gerrit-Change-Number: 23192 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 2 12:17:57 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 2 Mar 2021 12:17:57 +0000 Subject: Change in osmo-pcu[master]: llc: use memset to fill llc dummy frame padding In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23191 ) Change subject: llc: use memset to fill llc dummy frame padding ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23191 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iaa55549f979ca23dad0bddd308c1144aa4b17255 Gerrit-Change-Number: 23191 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 02 Mar 2021 12:17: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 Mar 2 12:22:59 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 2 Mar 2021 12:22:59 +0000 Subject: Change in osmo-ci[master]: OBS: latest: fix code path to add new package In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23178 ) Change subject: OBS: latest: fix code path to add new package ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23178 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I467e332b69accfabba53332fdb9cd785991855fc Gerrit-Change-Number: 23178 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 02 Mar 2021 12:22: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 Mar 2 12:23:01 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 2 Mar 2021 12:23:01 +0000 Subject: Change in osmo-ci[master]: OBS: latest: fix code path to add new package In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23178 ) Change subject: OBS: latest: fix code path to add new package ...................................................................... OBS: latest: fix code path to add new package Fix osmo_obs_add_rpm_spec() to not assume to be in the $oscdir. This caused the following error when being called from osmocom-latest-packages.sh in the code path for adding a new package: ls: cannot access 'osmo-gbproxy_*.tar.*': No such file or directory Related: OS#5051 Change-Id: I467e332b69accfabba53332fdb9cd785991855fc --- M scripts/common-obs.sh 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve osmith: Verified diff --git a/scripts/common-obs.sh b/scripts/common-obs.sh index b6be98c..38719c8 100644 --- a/scripts/common-obs.sh +++ b/scripts/common-obs.sh @@ -139,7 +139,7 @@ fi # Set source file - tarball="$(ls -1 "${name}_"*".tar."*)" + tarball="$(cd "$oscdir" && ls -1 "${name}_"*".tar."*)" sed -i "s/^Source:.*/Source: $tarball/g" "$spec" osc add "$spec" -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23178 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I467e332b69accfabba53332fdb9cd785991855fc Gerrit-Change-Number: 23178 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 2 12:24:15 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 2 Mar 2021 12:24:15 +0000 Subject: Change in osmo-pcu[master]: llc: use memset to fill llc dummy frame padding In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23191 ) Change subject: llc: use memset to fill llc dummy frame padding ...................................................................... llc: use memset to fill llc dummy frame padding Change-Id: Iaa55549f979ca23dad0bddd308c1144aa4b17255 --- M src/llc.cpp 1 file changed, 4 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/llc.cpp b/src/llc.cpp index 470e154..e508d0b 100644 --- a/src/llc.cpp +++ b/src/llc.cpp @@ -59,8 +59,10 @@ /* Add further stuffing, if the requested length exceeds the minimum * dummy command length */ - while (m_length < req_len) - frame[m_length++] = 0x2b; + if (m_length < req_len) { + memset(&frame[m_length], 0x2b, req_len - m_length); + m_length = req_len; + } } void gprs_llc::put_frame(const uint8_t *data, size_t len) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23191 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iaa55549f979ca23dad0bddd308c1144aa4b17255 Gerrit-Change-Number: 23191 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 2 12:39:59 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 2 Mar 2021 12:39:59 +0000 Subject: Change in osmo-ci[master]: ttcn3-testsuites: Enable TTCN3 for osmo-smlc-latest References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/23193 ) Change subject: ttcn3-testsuites: Enable TTCN3 for osmo-smlc-latest ...................................................................... ttcn3-testsuites: Enable TTCN3 for osmo-smlc-latest now that osmo-smlc is part of network:osmocom:latest, test it both on debian9 + centos8 Change-Id: I023e47531b24f540645186f3cbf89f5025b7b48b --- M jobs/ttcn3-testsuites.yml 1 file changed, 6 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/93/23193/1 diff --git a/jobs/ttcn3-testsuites.yml b/jobs/ttcn3-testsuites.yml index 09adefa..d681d5b 100644 --- a/jobs/ttcn3-testsuites.yml +++ b/jobs/ttcn3-testsuites.yml @@ -159,9 +159,9 @@ #- ttcn3-sccp-test-latest: # blocking: "^(ttcn3|TTCN3-.*)-sccp-test.*" # timer: 00 10 * * * - #- ttcn3-smlc-test-latest: - # blocking: "^(ttcn3|TTCN3-.*)-smlc-test.*" - # timer: 10 10 * * * + - ttcn3-smlc-test-latest: + blocking: "^(ttcn3|TTCN3-.*)-smlc-test.*" + timer: 10 10 * * * - ttcn3-gbproxy-test-latest: blocking: "^(ttcn3|TTCN3-.*)-gbproxy-test.*" timer: 20 10 * * * @@ -214,9 +214,9 @@ #- TTCN3-sccp-test-latest: # blocking: "^(ttcn3|TTCN3-.*)-sccp-test.*" # timer: 00 10 * * * - #- TTCN3-smlc-test-latest: - # blocking: "^(ttcn3|TTCN3-.*)-smlc-test.*" - # timer: 10 10 * * * + - TTCN3-smlc-test-latest: + blocking: "^(ttcn3|TTCN3-.*)-smlc-test.*" + timer: 10 10 * * * - TTCN3-centos-gbproxy-test: blocking: "^(ttcn3|TTCN3-.*)-gbproxy-test.*" timer: 20 10 * * * -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23193 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I023e47531b24f540645186f3cbf89f5025b7b48b Gerrit-Change-Number: 23193 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 Mar 2 12:41:47 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 2 Mar 2021 12:41:47 +0000 Subject: Change in osmo-ci[master]: ttcn3-testsuites: Enable TTCN3 for osmo-smlc-latest In-Reply-To: References: Message-ID: laforge has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-ci/+/23193 ) Change subject: ttcn3-testsuites: Enable TTCN3 for osmo-smlc-latest ...................................................................... ttcn3-testsuites: Enable TTCN3 for osmo-smlc-latest now that osmo-smlc is part of network:osmocom:latest, test it both on debian9 + centos8 Change-Id: I023e47531b24f540645186f3cbf89f5025b7b48b --- M jobs/ttcn3-testsuites.yml 1 file changed, 6 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/93/23193/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23193 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I023e47531b24f540645186f3cbf89f5025b7b48b Gerrit-Change-Number: 23193 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 Tue Mar 2 12:42:11 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 2 Mar 2021 12:42:11 +0000 Subject: Change in osmo-ci[master]: ttcn3-testsuites: Enable TTCN3 for osmo-smlc-latest In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23193 ) Change subject: ttcn3-testsuites: Enable TTCN3 for osmo-smlc-latest ...................................................................... Patch Set 2: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23193 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I023e47531b24f540645186f3cbf89f5025b7b48b Gerrit-Change-Number: 23193 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 02 Mar 2021 12:42: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 Mar 2 12:42:14 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 2 Mar 2021 12:42:14 +0000 Subject: Change in osmo-ci[master]: ttcn3-testsuites: Enable TTCN3 for osmo-smlc-latest In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23193 ) Change subject: ttcn3-testsuites: Enable TTCN3 for osmo-smlc-latest ...................................................................... ttcn3-testsuites: Enable TTCN3 for osmo-smlc-latest now that osmo-smlc is part of network:osmocom:latest, test it both on debian9 + centos8 Change-Id: I023e47531b24f540645186f3cbf89f5025b7b48b --- M jobs/ttcn3-testsuites.yml 1 file changed, 6 insertions(+), 6 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/jobs/ttcn3-testsuites.yml b/jobs/ttcn3-testsuites.yml index 09adefa..992c75d 100644 --- a/jobs/ttcn3-testsuites.yml +++ b/jobs/ttcn3-testsuites.yml @@ -159,9 +159,9 @@ #- ttcn3-sccp-test-latest: # blocking: "^(ttcn3|TTCN3-.*)-sccp-test.*" # timer: 00 10 * * * - #- ttcn3-smlc-test-latest: - # blocking: "^(ttcn3|TTCN3-.*)-smlc-test.*" - # timer: 10 10 * * * + - ttcn3-smlc-test-latest: + blocking: "^(ttcn3|TTCN3-.*)-smlc-test.*" + timer: 10 10 * * * - ttcn3-gbproxy-test-latest: blocking: "^(ttcn3|TTCN3-.*)-gbproxy-test.*" timer: 20 10 * * * @@ -214,9 +214,9 @@ #- TTCN3-sccp-test-latest: # blocking: "^(ttcn3|TTCN3-.*)-sccp-test.*" # timer: 00 10 * * * - #- TTCN3-smlc-test-latest: - # blocking: "^(ttcn3|TTCN3-.*)-smlc-test.*" - # timer: 10 10 * * * + - TTCN3-centos-smlc-test-latest: + blocking: "^(ttcn3|TTCN3-.*)-smlc-test.*" + timer: 10 10 * * * - TTCN3-centos-gbproxy-test: blocking: "^(ttcn3|TTCN3-.*)-gbproxy-test.*" timer: 20 10 * * * -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23193 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I023e47531b24f540645186f3cbf89f5025b7b48b Gerrit-Change-Number: 23193 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 Mar 2 13:02:10 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 2 Mar 2021 13:02:10 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3: split *-kernel-git to own file References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/23194 ) Change subject: jobs/ttcn3: split *-kernel-git to own file ...................................................................... jobs/ttcn3: split *-kernel-git to own file Move ttcn3-ggsn-test-kernel-git into its own file, so the parameters that are only relevant for cloning a kernel from git, do not show up in all other TTCN-3 jenkins jobs. Related: OS#3208 Change-Id: Iafbe6139db47c2918dc1fd7c3bacf38da326d9c8 --- A jobs/ttcn3-testsuites-kernel-git.yml M jobs/ttcn3-testsuites.yml 2 files changed, 116 insertions(+), 38 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/94/23194/1 diff --git a/jobs/ttcn3-testsuites-kernel-git.yml b/jobs/ttcn3-testsuites-kernel-git.yml new file mode 100644 index 0000000..90cdae2 --- /dev/null +++ b/jobs/ttcn3-testsuites-kernel-git.yml @@ -0,0 +1,116 @@ +# TTCN-3 testsuite jobs with parameters to build a kernel from source (OS#3208) +--- +- project: + name: 'ttcn3-testsuites-kernel-git' + concurrent: false + disabled: false + description: "" + timer: "@midnight" + node: ttcn3 + blocking: "^{job-name}.*" + wipe_workspace: false + jobs: + - "{job-name}" + # Folders from docker-playground.git + job-name: + - ttcn3-ggsn-test-kernel-git: + blocking: "^(ttcn3|TTCN3-.*)-ggsn-test.*" + timer: 30 04 * * * + # Cache the linux source tree in the workspace of one node + node: ttcn3-ggsn-test-kernel-git + description: | + Test osmo-ggsn master with a kernel built from source (see build + parameters, by default: net-next.git from kernel.org). + +- job-template: + name: '{job-name}' + project-type: freestyle + disabled: '{obj:disabled}' + defaults: global + description: '{obj:description}' + node: '{obj:node}' + parameters: + - string: + name: BRANCH + description: | + Branch of docker-playground.git. + Only modify if you are hacking on the docker-playground scripts. + default: '*/master' + - string: + name: KERNEL_URL + description: | + Remote URL of git repository, from which the kernel will be + built. + default: 'https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git' + - string: + name: KERNEL_REMOTE_NAME + description: | + Short name for the remote URL, which will be used to add it to + the local git checkout with git remote add. + default: 'net-next' + - string: + name: KERNEL_BRANCH + description: | + Branch to check out from the remote with + KERNEL_URL and KERNEL_REMOTE_NAME + before building the kernel. + default: 'master' + + builders: + - shell: |- + export REGISTRY_HOST="registry.osmocom.org" + + # Translate job name to docker-playground dir and relevant + # environment variables + case "{job-name}" in + ttcn3-ggsn-test-kernel-git) + DIR="ttcn3-ggsn-test" + export IMAGE_SUFFIX="master" + export KERNEL_TEST=1 + export KERNEL_BUILD=1 + ;; + *) + echo "Can't handle job: {job-name}" + exit 1 + ;; + esac + + cd "$DIR" + ./jenkins.sh + scm: + - git: + branches: + - '$BRANCH' + url: git://git.osmocom.org/docker-playground + git-config-name: 'Jenkins Builder' + git-config-email: 'jenkins at osmocom.org' + wipe-workspace: "{obj:wipe_workspace}" + triggers: + - timed: "{obj:timer}" + publishers: + - junit: + results: '**/junit-xml-*.log' + allow-empty-results: false + - email: + notify-every-unstable-build: true + recipients: laforge at gnumonks.org + send-to-individuals: false + - archive: + allow-empty: false + artifacts: logs/**/* + case-sensitive: true + default-excludes: true + fingerprint: false + only-if-success: false + properties: + - build-blocker: + use-build-blocker: true + blocking-jobs: + - "{obj:blocking}" + - build-discarder: + days-to-keep: 30 + num-to-keep: 120 + artifact-days-to-keep: -1 + artifact-num-to-keep: -1 + +# vim: expandtab tabstop=2 shiftwidth=2 diff --git a/jobs/ttcn3-testsuites.yml b/jobs/ttcn3-testsuites.yml index 09adefa..c74b6e0 100644 --- a/jobs/ttcn3-testsuites.yml +++ b/jobs/ttcn3-testsuites.yml @@ -40,15 +40,6 @@ timer: 20 04 * * * description: | Test osmo-ggsn latest with the Debian kernel. - - ttcn3-ggsn-test-kernel-git: - blocking: "^(ttcn3|TTCN3-.*)-ggsn-test.*" - timer: 30 04 * * * - # Cache the linux source tree in the workspace of one node - node: ttcn3-ggsn-test-kernel-git - description: | - Test osmo-ggsn master with a kernel built from source (see build - parameters, by default: net-next.git from kernel.org). - wipe_workspace: false - ttcn3-msc-test: blocking: "^(ttcn3|TTCN3-.*)-msc-test.*" timer: 40 04 * * * @@ -239,27 +230,6 @@ Branch of docker-playground.git. Only modify if you are hacking on the docker-playground scripts. default: '*/master' - - string: - name: KERNEL_URL - description: | - (*-kernel-git only) remote URL of git repository, - from which the kernel will be built. - default: 'https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git' - - string: - name: KERNEL_REMOTE_NAME - description: | - (*-kernel-git only) short name for the remote URL, - which will be used to add it to the local git checkout with - git remote add. - default: 'net-next' - - string: - name: KERNEL_BRANCH - description: | - (*-kernel-git only) branch to check out from the - remote with KERNEL_URL and - KERNEL_REMOTE_NAME before building the kernel. - default: 'master' - builders: - shell: |- export REGISTRY_HOST="registry.osmocom.org" @@ -278,14 +248,6 @@ export IMAGE_SUFFIX="latest" export KERNEL_TEST=1 ;; - ttcn3-ggsn-test-kernel-git) - DIR="ttcn3-ggsn-test" - export IMAGE_SUFFIX="master" - # Build kernel from source, git repo is defined in the job's - # parameters: KERNEL_URL, KERNEL_REMOTE_NAME, KERNEL_BRANCH - export KERNEL_TEST=1 - export KERNEL_BUILD=1 - ;; TTCN3-centos-*-latest) DIR="$(echo "{job-name}" | sed s/^TTCN3-centos\-/ttcn3-/ | sed s/\-latest$//)" export IMAGE_SUFFIX="latest-centos8" -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23194 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Iafbe6139db47c2918dc1fd7c3bacf38da326d9c8 Gerrit-Change-Number: 23194 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 2 13:06:38 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 2 Mar 2021 13:06:38 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3: split *-kernel-git to own file In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23194 ) Change subject: jobs/ttcn3: split *-kernel-git to own file ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23194 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Iafbe6139db47c2918dc1fd7c3bacf38da326d9c8 Gerrit-Change-Number: 23194 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 02 Mar 2021 13: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 Tue Mar 2 13:21:58 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 2 Mar 2021 13:21:58 +0000 Subject: Change in pysim[master]: move SW matching to a generic utility function In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/23171 to look at the new patch set (#6). Change subject: move SW matching to a generic utility function ...................................................................... move SW matching to a generic utility function This will allow using it outside the transport/__init__.py Change-Id: Id26dfefa85d91e3b3a23e0049f3b833e29cb1cef --- M pySim/transport/__init__.py M pySim/utils.py 2 files changed, 16 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/71/23171/6 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23171 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id26dfefa85d91e3b3a23e0049f3b833e29cb1cef Gerrit-Change-Number: 23171 Gerrit-PatchSet: 6 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 2 13:22:38 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 2 Mar 2021 13:22:38 +0000 Subject: Change in pysim[master]: move SW matching to a generic utility function In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23171 ) Change subject: move SW matching to a generic utility function ...................................................................... Patch Set 6: (1 comment) https://gerrit.osmocom.org/c/pysim/+/23171/5/pySim/transport/__init__.py File pySim/transport/__init__.py: https://gerrit.osmocom.org/c/pysim/+/23171/5/pySim/transport/__init__.py at 7 PS5, Line 7: from pySim.utils import sw_match > this is missing the actuall call site. Done -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23171 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id26dfefa85d91e3b3a23e0049f3b833e29cb1cef Gerrit-Change-Number: 23171 Gerrit-PatchSet: 6 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 02 Mar 2021 13:22:38 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 2 13:24:22 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 2 Mar 2021 13:24:22 +0000 Subject: Change in pysim[master]: move SW matching to a generic utility function In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/23171 to look at the new patch set (#7). Change subject: move SW matching to a generic utility function ...................................................................... move SW matching to a generic utility function This will allow using it outside the transport/__init__.py Change-Id: Id26dfefa85d91e3b3a23e0049f3b833e29cb1cef --- M pySim/transport/__init__.py M pySim/utils.py 2 files changed, 16 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/71/23171/7 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23171 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id26dfefa85d91e3b3a23e0049f3b833e29cb1cef Gerrit-Change-Number: 23171 Gerrit-PatchSet: 7 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 2 13:25:01 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 2 Mar 2021 13:25:01 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3: split *-kernel-git to own file In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23194 ) Change subject: jobs/ttcn3: split *-kernel-git to own file ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23194 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Iafbe6139db47c2918dc1fd7c3bacf38da326d9c8 Gerrit-Change-Number: 23194 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 02 Mar 2021 13:25: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 Mar 2 13:26:05 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 2 Mar 2021 13:26:05 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3: split *-kernel-git to own file In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23194 ) Change subject: jobs/ttcn3: split *-kernel-git to own file ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23194 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Iafbe6139db47c2918dc1fd7c3bacf38da326d9c8 Gerrit-Change-Number: 23194 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 02 Mar 2021 13:26: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 Mar 2 13:26:15 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 2 Mar 2021 13:26:15 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3: split *-kernel-git to own file In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23194 ) Change subject: jobs/ttcn3: split *-kernel-git to own file ...................................................................... jobs/ttcn3: split *-kernel-git to own file Move ttcn3-ggsn-test-kernel-git into its own file, so the parameters that are only relevant for cloning a kernel from git, do not show up in all other TTCN-3 jenkins jobs. Related: OS#3208 Change-Id: Iafbe6139db47c2918dc1fd7c3bacf38da326d9c8 --- A jobs/ttcn3-testsuites-kernel-git.yml M jobs/ttcn3-testsuites.yml 2 files changed, 116 insertions(+), 38 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved osmith: Verified diff --git a/jobs/ttcn3-testsuites-kernel-git.yml b/jobs/ttcn3-testsuites-kernel-git.yml new file mode 100644 index 0000000..90cdae2 --- /dev/null +++ b/jobs/ttcn3-testsuites-kernel-git.yml @@ -0,0 +1,116 @@ +# TTCN-3 testsuite jobs with parameters to build a kernel from source (OS#3208) +--- +- project: + name: 'ttcn3-testsuites-kernel-git' + concurrent: false + disabled: false + description: "" + timer: "@midnight" + node: ttcn3 + blocking: "^{job-name}.*" + wipe_workspace: false + jobs: + - "{job-name}" + # Folders from docker-playground.git + job-name: + - ttcn3-ggsn-test-kernel-git: + blocking: "^(ttcn3|TTCN3-.*)-ggsn-test.*" + timer: 30 04 * * * + # Cache the linux source tree in the workspace of one node + node: ttcn3-ggsn-test-kernel-git + description: | + Test osmo-ggsn master with a kernel built from source (see build + parameters, by default: net-next.git from kernel.org). + +- job-template: + name: '{job-name}' + project-type: freestyle + disabled: '{obj:disabled}' + defaults: global + description: '{obj:description}' + node: '{obj:node}' + parameters: + - string: + name: BRANCH + description: | + Branch of docker-playground.git. + Only modify if you are hacking on the docker-playground scripts. + default: '*/master' + - string: + name: KERNEL_URL + description: | + Remote URL of git repository, from which the kernel will be + built. + default: 'https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git' + - string: + name: KERNEL_REMOTE_NAME + description: | + Short name for the remote URL, which will be used to add it to + the local git checkout with git remote add. + default: 'net-next' + - string: + name: KERNEL_BRANCH + description: | + Branch to check out from the remote with + KERNEL_URL and KERNEL_REMOTE_NAME + before building the kernel. + default: 'master' + + builders: + - shell: |- + export REGISTRY_HOST="registry.osmocom.org" + + # Translate job name to docker-playground dir and relevant + # environment variables + case "{job-name}" in + ttcn3-ggsn-test-kernel-git) + DIR="ttcn3-ggsn-test" + export IMAGE_SUFFIX="master" + export KERNEL_TEST=1 + export KERNEL_BUILD=1 + ;; + *) + echo "Can't handle job: {job-name}" + exit 1 + ;; + esac + + cd "$DIR" + ./jenkins.sh + scm: + - git: + branches: + - '$BRANCH' + url: git://git.osmocom.org/docker-playground + git-config-name: 'Jenkins Builder' + git-config-email: 'jenkins at osmocom.org' + wipe-workspace: "{obj:wipe_workspace}" + triggers: + - timed: "{obj:timer}" + publishers: + - junit: + results: '**/junit-xml-*.log' + allow-empty-results: false + - email: + notify-every-unstable-build: true + recipients: laforge at gnumonks.org + send-to-individuals: false + - archive: + allow-empty: false + artifacts: logs/**/* + case-sensitive: true + default-excludes: true + fingerprint: false + only-if-success: false + properties: + - build-blocker: + use-build-blocker: true + blocking-jobs: + - "{obj:blocking}" + - build-discarder: + days-to-keep: 30 + num-to-keep: 120 + artifact-days-to-keep: -1 + artifact-num-to-keep: -1 + +# vim: expandtab tabstop=2 shiftwidth=2 diff --git a/jobs/ttcn3-testsuites.yml b/jobs/ttcn3-testsuites.yml index 992c75d..53f18c2 100644 --- a/jobs/ttcn3-testsuites.yml +++ b/jobs/ttcn3-testsuites.yml @@ -40,15 +40,6 @@ timer: 20 04 * * * description: | Test osmo-ggsn latest with the Debian kernel. - - ttcn3-ggsn-test-kernel-git: - blocking: "^(ttcn3|TTCN3-.*)-ggsn-test.*" - timer: 30 04 * * * - # Cache the linux source tree in the workspace of one node - node: ttcn3-ggsn-test-kernel-git - description: | - Test osmo-ggsn master with a kernel built from source (see build - parameters, by default: net-next.git from kernel.org). - wipe_workspace: false - ttcn3-msc-test: blocking: "^(ttcn3|TTCN3-.*)-msc-test.*" timer: 40 04 * * * @@ -239,27 +230,6 @@ Branch of docker-playground.git. Only modify if you are hacking on the docker-playground scripts. default: '*/master' - - string: - name: KERNEL_URL - description: | - (*-kernel-git only) remote URL of git repository, - from which the kernel will be built. - default: 'https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git' - - string: - name: KERNEL_REMOTE_NAME - description: | - (*-kernel-git only) short name for the remote URL, - which will be used to add it to the local git checkout with - git remote add. - default: 'net-next' - - string: - name: KERNEL_BRANCH - description: | - (*-kernel-git only) branch to check out from the - remote with KERNEL_URL and - KERNEL_REMOTE_NAME before building the kernel. - default: 'master' - builders: - shell: |- export REGISTRY_HOST="registry.osmocom.org" @@ -278,14 +248,6 @@ export IMAGE_SUFFIX="latest" export KERNEL_TEST=1 ;; - ttcn3-ggsn-test-kernel-git) - DIR="ttcn3-ggsn-test" - export IMAGE_SUFFIX="master" - # Build kernel from source, git repo is defined in the job's - # parameters: KERNEL_URL, KERNEL_REMOTE_NAME, KERNEL_BRANCH - export KERNEL_TEST=1 - export KERNEL_BUILD=1 - ;; TTCN3-centos-*-latest) DIR="$(echo "{job-name}" | sed s/^TTCN3-centos\-/ttcn3-/ | sed s/\-latest$//)" export IMAGE_SUFFIX="latest-centos8" -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23194 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Iafbe6139db47c2918dc1fd7c3bacf38da326d9c8 Gerrit-Change-Number: 23194 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 2 13:26:45 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 2 Mar 2021 13:26:45 +0000 Subject: Change in pysim[master]: move SW matching to a generic utility function In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/23171 to look at the new patch set (#8). Change subject: move SW matching to a generic utility function ...................................................................... move SW matching to a generic utility function This will allow using it outside the transport/__init__.py Change-Id: Id26dfefa85d91e3b3a23e0049f3b833e29cb1cef --- M pySim/transport/__init__.py M pySim/utils.py 2 files changed, 16 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/71/23171/8 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23171 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id26dfefa85d91e3b3a23e0049f3b833e29cb1cef Gerrit-Change-Number: 23171 Gerrit-PatchSet: 8 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 2 17:27:04 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 2 Mar 2021 17:27:04 +0000 Subject: Change in osmo-pcu[master]: tbd_dl: Don't re-initialize class field twice References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23195 ) Change subject: tbd_dl: Don't re-initialize class field twice ...................................................................... tbd_dl: Don't re-initialize class field twice Change-Id: Ia92c24032dc1f8965008ff03a3a0a94bbb93893a --- M src/tbf_dl.cpp 1 file changed, 2 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/95/23195/1 diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index 57044a1..88bab7d 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -171,9 +171,6 @@ llist_add(tbf_bts_list((struct gprs_rlcmac_tbf *)tbf), &bts->dl_tbfs); bts_do_rate_ctr_inc(tbf->bts, CTR_TBF_DL_ALLOCATED); - tbf->m_last_dl_poll_fn = -1; - tbf->m_last_dl_drained_fn = -1; - osmo_clock_gettime(CLOCK_MONOTONIC, &tbf->m_bw.dl_bw_tv); osmo_clock_gettime(CLOCK_MONOTONIC, &tbf->m_bw.dl_loss_tv); @@ -185,8 +182,8 @@ m_tx_counter(0), m_wait_confirm(0), m_dl_ack_requested(false), - m_last_dl_poll_fn(0), - m_last_dl_drained_fn(0), + m_last_dl_poll_fn(-1), + m_last_dl_drained_fn(-1), m_dl_gprs_ctrs(NULL), m_dl_egprs_ctrs(NULL) { -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23195 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia92c24032dc1f8965008ff03a3a0a94bbb93893a Gerrit-Change-Number: 23195 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 Mar 2 17:27:05 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 2 Mar 2021 17:27:05 +0000 Subject: Change in osmo-pcu[master]: tbf: log keep_open condition status References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23196 ) Change subject: tbf: log keep_open condition status ...................................................................... tbf: log keep_open condition status Change-Id: I069e84926aaa8f13b23c3ea4083b4c68dbc6cff2 --- M src/tbf_dl.cpp M tests/tbf/TbfTest.err 2 files changed, 11 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/96/23196/1 diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index 88bab7d..2896378 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -1352,13 +1352,21 @@ { int keep_time_frames; unsigned long dl_tbf_idle_msec; + int since_last_drain; + bool keep; dl_tbf_idle_msec = osmo_tdef_get(the_pcu->T_defs, -2031, OSMO_TDEF_MS, -1); if (dl_tbf_idle_msec == 0) return false; keep_time_frames = msecs_to_frames(dl_tbf_idle_msec); - return frames_since_last_drain(fn) <= keep_time_frames; + since_last_drain = frames_since_last_drain(fn); + keep = since_last_drain <= keep_time_frames; + + if (since_last_drain >= 0) + LOGPTBFDL(this, LOGL_DEBUG, "Keep idle TBF open: %d/%d -> %s\n", + since_last_drain, keep_time_frames, keep ? "yes" : "no"); + return keep; } /* diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index 6a2c541..1b0739f 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -432,6 +432,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==21 .. V(S)==21) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new dummy block at BSN 21, CS=CS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Empty chunk, added LLC dummy command of size 19, drained_since=0 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Keep idle TBF open: 0/43 -> yes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Complete DL frame, len=19 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) data block (BSN 21, CS-1): 4d 43 c0 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) need_padding 0 spb_status 0 spb 0 (BSN1 21 BSN2 -1) @@ -448,6 +449,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==22 .. V(S)==22) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new dummy block at BSN 22, CS=CS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Empty chunk, added LLC dummy command of size 19, drained_since=108 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Keep idle TBF open: 108/43 -> no TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Complete DL frame, len=19 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) changes state from FLOW to FINISHED TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) data block (BSN 22, CS-1): 4d 43 c0 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23196 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I069e84926aaa8f13b23c3ea4083b4c68dbc6cff2 Gerrit-Change-Number: 23196 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 Mar 2 17:27:05 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 2 Mar 2021 17:27:05 +0000 Subject: Change in osmo-pcu[master]: tbf_dl: Fix m_last_dl_drained_fn not set under some conditions References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23197 ) Change subject: tbf_dl: Fix m_last_dl_drained_fn not set under some conditions ...................................................................... tbf_dl: Fix m_last_dl_drained_fn not set under some conditions Old commit getting rid of LLC UI dummy and updating create_new_bsn() function introduced a bug by not moving update of value m_last_dl_drained_fn prior to a new break introduced. As a result, the value is not updated in the case LLC queue becomes drained but last few bytes are drained at exactly that moment. Furthermore, then the IDLE tbf timer (X2031, keep_open())) returns always true since according to it the drain never happened. The impact of the bug is basically delaying a bit more than expected the time the TBF stays in IDLE state with the TBF release process yet to be started. Related: OS#4849 Fixes: 7d0f9a0ec383fcfca934731bd6979b6be6629c90 Change-Id: I7420aeffda3500bcdc990291e4a56511af433ff9 --- M src/tbf_dl.cpp M tests/tbf/TbfTest.err 2 files changed, 8 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/97/23197/1 diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index 2896378..d963644 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -684,6 +684,10 @@ int payload_written = 0; if (llc_frame_length(&m_llc) == 0) { + /* The data just drained, store the current fn */ + if (m_last_dl_drained_fn < 0) + m_last_dl_drained_fn = fn; + /* It is not clear, when the next real data will * arrive, so request a DL ack/nack now */ request_dl_ack(); @@ -715,10 +719,6 @@ * space-1 octets */ m_llc.put_dummy_frame(space - 1); - /* The data just drained, store the current fn */ - if (m_last_dl_drained_fn < 0) - m_last_dl_drained_fn = fn; - LOGPTBFDL(this, LOGL_DEBUG, "Empty chunk, added LLC dummy command of size %d, drained_since=%d\n", llc_frame_length(&m_llc), frames_since_last_drain(fn)); diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index 1b0739f..515b649 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -431,8 +431,8 @@ Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==21 .. V(S)==21) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new dummy block at BSN 21, CS=CS-1 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Empty chunk, added LLC dummy command of size 19, drained_since=0 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Keep idle TBF open: 0/43 -> yes +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Empty chunk, added LLC dummy command of size 19, drained_since=4 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Keep idle TBF open: 4/43 -> yes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Complete DL frame, len=19 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) data block (BSN 21, CS-1): 4d 43 c0 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) need_padding 0 spb_status 0 spb 0 (BSN1 21 BSN2 -1) @@ -448,8 +448,8 @@ Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==22 .. V(S)==22) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new dummy block at BSN 22, CS=CS-1 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Empty chunk, added LLC dummy command of size 19, drained_since=108 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Keep idle TBF open: 108/43 -> no +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Empty chunk, added LLC dummy command of size 19, drained_since=112 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Keep idle TBF open: 112/43 -> no TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Complete DL frame, len=19 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) changes state from FLOW to FINISHED TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) data block (BSN 22, CS-1): 4d 43 c0 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23197 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I7420aeffda3500bcdc990291e4a56511af433ff9 Gerrit-Change-Number: 23197 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 Mar 2 17:27:06 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 2 Mar 2021 17:27:06 +0000 Subject: Change in osmo-pcu[master]: tbf_dl: fix FBI not set upon X2031 = 0 References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23198 ) Change subject: tbf_dl: fix FBI not set upon X2031 = 0 ...................................................................... tbf_dl: fix FBI not set upon X2031 = 0 If Idle TBF timer (X2031) is set to 0, it means the TBF release is immediately started once all queued data has been scheduled. In that case, we must set FBI=1 (by setting cv=0) and move to FINISH state. This used to work over the usual path where X2031 != 0, because release start will alays happen at a later sched poll time where a dummy LLC frame is sent and FBI set accordingly. Change-Id: Ib20602936ae084c413f6bfe14eea33b602020be0 --- M src/tbf_dl.cpp M tests/tbf/TbfTest.err 2 files changed, 33 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/98/23198/1 diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index d963644..44baa00 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -700,6 +700,16 @@ LOGPTBFDL(this, LOGL_DEBUG, "LLC queue completely drained and there's " "still %d free bytes in rlcmac data block\n", space); + + /* We may need to update fbi in header here + * since m_last_dl_drained_fn was updated above + * Specially important when X2031 is 0. */ + is_final = llc_queue_size(llc_queue()) == 0 && !keep_open(fn); + if (is_final) { + rdbi->cv = 0; + TBF_SET_STATE(this, GPRS_RLCMAC_FINISHED); + } + if (mcs_is_edge(cs)) { /* in EGPRS there's no M bit, so we need * to flag padding with LI=127 */ diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index 515b649..0f802a7 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -417,6 +417,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new block at BSN 20, CS=CS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Complete DL frame, len=200 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) LLC queue completely drained and there's still 17 free bytes in rlcmac data block +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Keep idle TBF open: 0/43 -> yes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) data block (BSN 20, CS-1): 09 c6 c7 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) need_padding 0 spb_status 0 spb 0 (BSN1 20 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs @@ -3432,6 +3433,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=10) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=10 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) LLC queue completely drained and there's still 11 free bytes in rlcmac data block +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Keep idle TBF open: 0/43 -> yes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 0, MCS-1): 14 ff 01 01 01 01 01 01 01 01 01 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 0 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs @@ -3677,6 +3679,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 24, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=512 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) LLC queue completely drained and there's still 15 free bytes in rlcmac data block +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Keep idle TBF open: 0/43 -> yes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 24, MCS-1): 0c ff 01 01 01 01 01 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 24 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs @@ -3736,6 +3739,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=10) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=10 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) LLC queue completely drained and there's still 17 free bytes in rlcmac data block +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Keep idle TBF open: 0/43 -> yes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 0, MCS-2): 14 ff 01 01 01 01 01 01 01 01 01 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 0 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs @@ -3931,6 +3935,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 19, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=512 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) LLC queue completely drained and there's still 19 free bytes in rlcmac data block +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Keep idle TBF open: 0/43 -> yes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 19, MCS-2): 10 ff 01 01 01 01 01 01 01 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 19 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs @@ -3990,6 +3995,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=10) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=10 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) LLC queue completely drained and there's still 26 free bytes in rlcmac data block +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Keep idle TBF open: 0/43 -> yes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 0, MCS-3): 14 ff 01 01 01 01 01 01 01 01 01 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 0 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs @@ -4135,6 +4141,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 14, CS=MCS-3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=512 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) LLC queue completely drained and there's still 5 free bytes in rlcmac data block +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Keep idle TBF open: 0/43 -> yes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 14, MCS-3): 3e ff 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 2b 2b 2b 2b TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 14 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs @@ -4194,6 +4201,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=10) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=10 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) LLC queue completely drained and there's still 33 free bytes in rlcmac data block +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Keep idle TBF open: 0/43 -> yes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 0, MCS-4): 14 ff 01 01 01 01 01 01 01 01 01 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 0 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs @@ -4319,6 +4327,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 12, CS=MCS-4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=512 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) LLC queue completely drained and there's still 15 free bytes in rlcmac data block +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Keep idle TBF open: 0/43 -> yes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 12, MCS-4): 38 ff 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 12 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs @@ -4378,6 +4387,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=10) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=10 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) LLC queue completely drained and there's still 45 free bytes in rlcmac data block +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Keep idle TBF open: 0/43 -> yes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 0, MCS-5): 14 ff 01 01 01 01 01 01 01 01 01 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 0 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs @@ -4483,6 +4493,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 10, CS=MCS-5 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=512 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) LLC queue completely drained and there's still 47 free bytes in rlcmac data block +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Keep idle TBF open: 0/43 -> yes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 10, MCS-5): 10 ff 01 01 01 01 01 01 01 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 10 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs @@ -4542,6 +4553,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=10) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=10 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) LLC queue completely drained and there's still 63 free bytes in rlcmac data block +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Keep idle TBF open: 0/43 -> yes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 0, MCS-6): 14 ff 01 01 01 01 01 01 01 01 01 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 0 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs @@ -4617,6 +4629,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 7, CS=MCS-6 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=512 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) LLC queue completely drained and there's still 5 free bytes in rlcmac data block +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Keep idle TBF open: 0/43 -> yes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 7, MCS-6): 88 ff 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 2b 2b 2b 2b TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 7 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs @@ -4676,6 +4689,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=10) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=10 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) LLC queue completely drained and there's still 45 free bytes in rlcmac data block +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Keep idle TBF open: 0/43 -> yes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 0, MCS-7): 14 ff 01 01 01 01 01 01 01 01 01 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Restarting at BSN 0, because all blocks have been transmitted (FLOW). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 0 BSN2 -1) @@ -4757,6 +4771,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 10, CS=MCS-7 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=512 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) LLC queue completely drained and there's still 47 free bytes in rlcmac data block +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Keep idle TBF open: 0/43 -> yes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 10, MCS-7): 10 ff 01 01 01 01 01 01 01 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Restarting at BSN 0, because all blocks have been transmitted (FLOW). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 10 BSN2 -1) @@ -4817,6 +4832,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=10) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=10 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) LLC queue completely drained and there's still 57 free bytes in rlcmac data block +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Keep idle TBF open: 0/43 -> yes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 0, MCS-8): 14 ff 01 01 01 01 01 01 01 01 01 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Restarting at BSN 0, because all blocks have been transmitted (FLOW). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 0 BSN2 -1) @@ -4886,6 +4902,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 8, CS=MCS-8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=512 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) LLC queue completely drained and there's still 31 free bytes in rlcmac data block +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Keep idle TBF open: 0/43 -> yes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 8, MCS-8): 48 ff 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Restarting at BSN 0, because all blocks have been transmitted (FLOW). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 8 BSN2 -1) @@ -4947,6 +4964,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=10) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=10 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) LLC queue completely drained and there's still 63 free bytes in rlcmac data block +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Keep idle TBF open: 0/43 -> yes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 0, MCS-9): 14 ff 01 01 01 01 01 01 01 01 01 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Restarting at BSN 0, because all blocks have been transmitted (FLOW). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 0 BSN2 -1) @@ -5004,6 +5022,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 7, CS=MCS-9 (forced) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=512 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) LLC queue completely drained and there's still 5 free bytes in rlcmac data block +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Keep idle TBF open: 0/43 -> yes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 7, MCS-9): 88 ff 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 2b 2b 2b 2b TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 6 BSN2 7) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 2 RLC blocks, 2 BSNs @@ -5231,6 +5250,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 1, CS=MCS-5 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=100 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) LLC queue completely drained and there's still 11 free bytes in rlcmac data block +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Keep idle TBF open: 0/43 -> yes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 1, MCS-5): 58 ff 38 39 3a 3b 3c 3d 3e 3f 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f 60 61 62 63 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 1 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs @@ -5301,6 +5321,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 1, CS=MCS-6 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=100 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) LLC queue completely drained and there's still 47 free bytes in rlcmac data block +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Keep idle TBF open: 0/43 -> yes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 1, MCS-6): 34 ff 4a 4b 4c 4d 4e 4f 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f 60 61 62 63 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 1 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs @@ -5366,6 +5387,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 1, CS=MCS-7 (forced) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=100 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) LLC queue completely drained and there's still 11 free bytes in rlcmac data block +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Keep idle TBF open: 0/43 -> yes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 1, MCS-7): 58 ff 38 39 3a 3b 3c 3d 3e 3f 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f 60 61 62 63 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 0 BSN2 1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 2 RLC blocks, 2 BSNs @@ -5436,6 +5458,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 1, CS=MCS-9 (forced) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=100 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) LLC queue completely drained and there's still 47 free bytes in rlcmac data block +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Keep idle TBF open: 0/43 -> yes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 1, MCS-9): 34 ff 4a 4b 4c 4d 4e 4f 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f 60 61 62 63 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 0 BSN2 1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 2 RLC blocks, 2 BSNs -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23198 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ib20602936ae084c413f6bfe14eea33b602020be0 Gerrit-Change-Number: 23198 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 Mar 2 17:27:26 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 2 Mar 2021 17:27:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce test TC_dl_no_ack_retrans_imm_ass References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23199 ) Change subject: pcu: Introduce test TC_dl_no_ack_retrans_imm_ass ...................................................................... pcu: Introduce test TC_dl_no_ack_retrans_imm_ass Change-Id: I1c1d89f3de9ba158f802e7759ef78dc84f48218f --- M pcu/PCU_Tests.ttcn 1 file changed, 93 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/99/23199/1 diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 61048b0..efaeb9b 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -2128,6 +2128,98 @@ f_shutdown(__BFILE__, __LINE__, final := true); } +/* Validate an Imm Assignment is retransmitted if first RRBP requesting DL + * ACK/NACK is not answered */ +testcase TC_dl_no_ack_retrans_imm_ass() runs on RAW_PCU_Test_CT { + var PCUIF_info_ind info_ind; + var RlcmacDlBlock dl_block; + var octetstring data1 := f_rnd_octstring(200); + var octetstring data2 := f_rnd_octstring(10); + var uint32_t dl_fn; + var GprsMS ms; + var template (value) TsTrxBtsNum nr; + var BTS_PDTCH_Block data_msg; + + /* Initialize NS/BSSGP side */ + f_init_bssgp(); + /* Initialize GPRS MS side */ + f_init_gprs_ms(); + ms := g_ms[0]; /* We only use first MS in this test */ + + /* Initialize the PCU interface abstraction */ + //info_ind := valueof(ts_PCUIF_INFO_default(c_PCUIF_Flags_noMCS)); + //f_init_raw(testcasename(), info_ind); + f_init_raw(testcasename()) + + /* Establish BSSGP connection to the PCU */ + f_bssgp_establish(); + f_bssgp_client_llgmm_assign(TLLI_UNUSED, ms.tlli); + + /* SGSN sends some DL data, PCU will page on CCCH (PCH) */ + BSSGP[0].send(ts_BSSGP_DL_UD(ms.tlli, data1)); + f_ms_exp_dl_tbf_ass_ccch(ms, PCU_IF_SAPI_PCH); + + /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ + f_sleep(X2002); + + /* Recv DL data until receiving RRBP to DL ACK (because it's last queued DL data) */ + while (true) { + f_rx_rlcmac_dl_block_exp_data(dl_block, dl_fn, ?, ?); + + /* Keep Ack/Nack description updated (except for last BSN) */ + f_acknackdesc_ack_block(ms.dl_tbf.acknack_desc, dl_block); + + if (f_dl_block_rrbp_valid(dl_block)) { + /* Don't transmit DL ACK here on purpose ignore it */ + break; + } + } + + /* PCU starts whole process again */ + f_ms_exp_dl_tbf_ass_ccch(ms, PCU_IF_SAPI_PCH); + + /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ + f_sleep(X2002); + + /* Recv DL data until receiving RRBP to DL ACK (because it's last queued + /* DL data), after that we receive only DUMMY blocks so we are done */ + nr := ts_TsTrxBtsNum; + BTS.send(ts_PCUIF_RTS_REQ(nr.bts_nr, nr.trx_nr, nr.ts_nr, + sapi := PCU_IF_SAPI_PDTCH, fn := 0, + arfcn := f_trxnr2arfcn(valueof(nr.trx_nr)), + block_nr := nr.blk_nr)); + alt { + [] BTS.receive(tr_PCUIF_DATA_PDTCH(nr.bts_nr, + tr_PCUIF_DATA(nr.trx_nr, nr.ts_nr, sapi := PCU_IF_SAPI_PDTCH), + tr_RLCMAC_DUMMY_CTRL)) { /* done */} + [] BTS.receive(tr_PCUIF_DATA_PDTCH(nr.bts_nr, + tr_PCUIF_DATA(nr.trx_nr, nr.ts_nr, sapi := PCU_IF_SAPI_PDTCH), + tr_RLCMAC_DATA)) -> value data_msg { + f_acknackdesc_ack_block(ms.dl_tbf.acknack_desc, data_msg.dl_block); + if (data_msg.dl_block.data.mac_hdr.hdr_ext.fbi) { + log("Received FINAL_ACK"); + ms.dl_tbf.acknack_desc.final_ack := '1'B; + } + if (f_dl_block_rrbp_valid(data_msg.dl_block)) { + f_ms_tx_ul_block(ms, ts_RLCMAC_DL_ACK_NACK(ms.dl_tbf.tfi, ms.dl_tbf.acknack_desc), + f_dl_block_ack_fn(dl_block, data_msg.raw.fn)); + } + nr := ts_TsTrxBtsNum; + BTS.send(ts_PCUIF_RTS_REQ(nr.bts_nr, nr.trx_nr, nr.ts_nr, + sapi := PCU_IF_SAPI_PDTCH, fn := 0, + arfcn := f_trxnr2arfcn(valueof(nr.trx_nr)), + block_nr := nr.blk_nr)); + repeat; + } + [] BTS.receive { + setverdict(fail, "Unexpected BTS message"); + f_shutdown(__BFILE__, __LINE__); + } + } + + f_shutdown(__BFILE__, __LINE__, final := true); +} + /* Verify allocation and use of multislot tbf, triggered by MS class provided in SGSN. SYS#5131 */ testcase TC_dl_multislot_tbf_ms_class_from_sgsn() runs on RAW_PCU_Test_CT { var PCUIF_info_ind info_ind := valueof(ts_PCUIF_INFO_default(c_PCUIF_Flags_noMCS)); @@ -5151,6 +5243,7 @@ execute( TC_imm_ass_dl_block_retrans() ); execute( TC_dl_flow_more_blocks() ); execute( TC_ul_flow_multiple_llc_blocks() ); + execute( TC_dl_no_ack_retrans_imm_ass() ); execute( TC_paging_cs_from_bts() ); execute( TC_paging_cs_from_sgsn_sign_ptmsi() ); execute( TC_paging_cs_from_sgsn_sign() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23199 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1c1d89f3de9ba158f802e7759ef78dc84f48218f Gerrit-Change-Number: 23199 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 Mar 2 17:27:26 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 2 Mar 2021 17:27:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce tests to validate X2301 and T3191 References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23200 ) Change subject: pcu: Introduce tests to validate X2301 and T3191 ...................................................................... pcu: Introduce tests to validate X2301 and T3191 They are tested together since anyway in order to reach T3191 we need to go through X2301 (IDLE TBF timeout). Related: OS#3928 Change-Id: Ib6dfc5711b9c6f1fd404bce424bbf4b115fc930e --- M pcu/PCU_Tests.ttcn 1 file changed, 181 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/00/23200/1 diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index efaeb9b..eadf30d 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -1313,6 +1313,185 @@ f_shutdown(__BFILE__, __LINE__, final := true); } +/* Verify that a Downlink TBF is kept available until T3191 fires, at which + * point the TBF is no longer available. In order to get to start of T3191, we + * have to wait for x2031 since that marks the IDLE TBF time, that is, the delay + * until TBF release procedure starts after draining DL queue. */ +testcase TC_x2031_t3191() runs on RAW_PCU_Test_CT { + var PCUIF_info_ind info_ind; + var RlcmacDlBlock dl_block; + var octetstring data1 := f_rnd_octstring(200); + var octetstring data2 := f_rnd_octstring(10); + var uint32_t dl_fn; + var template (value) TsTrxBtsNum nr; + var BTS_PDTCH_Block data_msg; + var GprsMS ms; + + /* Initialize NS/BSSGP side */ + f_init_bssgp(); + /* Initialize GPRS MS side */ + f_init_gprs_ms(); + ms := g_ms[0]; /* We only use first MS in this test */ + + /* Initialize the PCU interface abstraction */ + info_ind := valueof(ts_PCUIF_INFO_default(c_PCUIF_Flags_noMCS)); + /* Set timer to 1 sec (default 5) to speedup test: */ + info_ind.t3191 := 1; + f_init_raw(testcasename(), info_ind); + + /* Establish BSSGP connection to the PCU */ + f_bssgp_establish(); + f_bssgp_client_llgmm_assign(TLLI_UNUSED, ms.tlli); + + /* SGSN sends some DL data, PCU will page on CCCH (PCH) */ + BSSGP[0].send(ts_BSSGP_DL_UD(ms.tlli, data1)); + f_ms_exp_dl_tbf_ass_ccch(ms, PCU_IF_SAPI_PCH); + + /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ + f_sleep(X2002); + + while (true) { + f_rx_rlcmac_dl_block_exp_data(dl_block, dl_fn, ?, ?); + + /* Keep Ack/Nack description updated (except for last BSN) */ + f_acknackdesc_ack_block(ms.dl_tbf.acknack_desc, dl_block); + + if (f_dl_block_rrbp_valid(dl_block)) { + f_ms_tx_ul_block(ms, ts_RLCMAC_DL_ACK_NACK(ms.dl_tbf.tfi, ms.dl_tbf.acknack_desc), + f_dl_block_ack_fn(dl_block, dl_fn)); + break; + } + } + + /* Now we wait for IDLE TBF timer (X2031) to time out and receive a FINAL ACK */ + nr := ts_TsTrxBtsNum; + BTS.send(ts_PCUIF_RTS_REQ(nr.bts_nr, nr.trx_nr, nr.ts_nr, + sapi := PCU_IF_SAPI_PDTCH, fn := 0, + arfcn := f_trxnr2arfcn(valueof(nr.trx_nr)), + block_nr := nr.blk_nr)); + alt { + [] as_ms_rx_ignore_dummy(ms, nr); + [] BTS.receive(tr_PCUIF_DATA_PDTCH(nr.bts_nr, + tr_PCUIF_DATA(nr.trx_nr, nr.ts_nr, sapi := PCU_IF_SAPI_PDTCH), + ?)) -> value data_msg { + if (data_msg.dl_block.data.mac_hdr.hdr_ext.fbi) { + log("Received FINAL_ACK"); + ms.dl_tbf.acknack_desc.final_ack := '1'B; + break; + } + if (f_dl_block_rrbp_valid(data_msg.dl_block)) { + f_acknackdesc_ack_block(ms.dl_tbf.acknack_desc, data_msg.dl_block); + f_ms_tx_ul_block(ms, ts_RLCMAC_DL_ACK_NACK(ms.dl_tbf.tfi, ms.dl_tbf.acknack_desc), + f_dl_block_ack_fn(dl_block, data_msg.raw.fn)); + } + nr := ts_TsTrxBtsNum; + BTS.send(ts_PCUIF_RTS_REQ(nr.bts_nr, nr.trx_nr, nr.ts_nr, + sapi := PCU_IF_SAPI_PDTCH, fn := 0, + arfcn := f_trxnr2arfcn(valueof(nr.trx_nr)), + block_nr := nr.blk_nr)); + repeat; + } + [] BTS.receive { + setverdict(fail, "Unexpected BTS message"); + f_shutdown(__BFILE__, __LINE__); + } + } + + /* Avoid ACKing the last RLC data block on purpose here, wait for t3191 + to time out. We simply sleep instead of requestinb blocks because + otherwise retransmissions would keep restarting the timer. */ + f_sleep(int2float(info_ind.t3191)); + + /* The TBF should be freed now, so new data should trigger an Assignment: */ + BSSGP[0].send(ts_BSSGP_DL_UD(ms.tlli, data2)); + f_ms_exp_dl_tbf_ass_ccch(ms, PCU_IF_SAPI_PCH); + + /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ + f_sleep(X2002); + /* 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, dl_fn, data2, 0); + f_acknackdesc_ack_block(ms.dl_tbf.acknack_desc, dl_block, '1'B); + f_ms_tx_ul_block(ms, ts_RLCMAC_DL_ACK_NACK(ms.dl_tbf.tfi, ms.dl_tbf.acknack_desc), + f_dl_block_ack_fn(dl_block, dl_fn)); + + f_shutdown(__BFILE__, __LINE__, final := true); +} + +/* Same as TC_zero_x2031_t3191, but this time without x2031 (immediate FINAL_ACK). */ +testcase TC_zero_x2031_t3191() runs on RAW_PCU_Test_CT { + var PCUIF_info_ind info_ind; + var RlcmacDlBlock dl_block; + var octetstring data1 := f_rnd_octstring(1400); + var octetstring data2 := f_rnd_octstring(10); + var uint32_t dl_fn; + var GprsMS ms; + + /* Initialize NS/BSSGP side */ + f_init_bssgp(); + /* Initialize GPRS MS side */ + f_init_gprs_ms(); + ms := g_ms[0]; /* We only use first MS in this test */ + + /* Initialize the PCU interface abstraction */ + info_ind := valueof(ts_PCUIF_INFO_default(c_PCUIF_Flags_noMCS)); + /* Set timer to 1 sec (default 5) to speedup test: */ + info_ind.t3191 := 1; + f_init_raw(testcasename(), info_ind); + + f_vty_config2(PCUVTY, {"pcu"}, "timer X2031 0"); + + /* Establish BSSGP connection to the PCU */ + f_bssgp_establish(); + f_bssgp_client_llgmm_assign(TLLI_UNUSED, ms.tlli); + + /* SGSN sends some DL data, PCU will page on CCCH (PCH) */ + BSSGP[0].send(ts_BSSGP_DL_UD(ms.tlli, data1)); + f_ms_exp_dl_tbf_ass_ccch(ms, PCU_IF_SAPI_PCH); + + /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ + f_sleep(X2002); + + /* Send enough DL data to at least be able to DL ACK once (excl the + * FINAL_ACK one), so that PCU sees we are listening in PDCH and avoids + * other code paths like trying to Imm Assign on CCCH again, etc.. */ + while (true) { + f_rx_rlcmac_dl_block_exp_data(dl_block, dl_fn, ?, ?); + + if (dl_block.data.mac_hdr.hdr_ext.fbi) { + log("Received FINAL_ACK"); + ms.dl_tbf.acknack_desc.final_ack := '1'B; + break; + } + + /* Keep Ack/Nack description updated (except for last BSN) */ + f_acknackdesc_ack_block(ms.dl_tbf.acknack_desc, dl_block); + + if (f_dl_block_rrbp_valid(dl_block)) { + f_ms_tx_ul_block(ms, ts_RLCMAC_DL_ACK_NACK(ms.dl_tbf.tfi, ms.dl_tbf.acknack_desc), + f_dl_block_ack_fn(dl_block, dl_fn)); + } + } + + /* Avoid ACKing the last RLC data block on purpose here, wait for t3191 + to time out. We simply sleep instead of requestinb blocks because + otherwise retransmissions would keep restarting the timer. */ + f_sleep(int2float(info_ind.t3191)); + + /* The TBF should be freed now, so new data should trigger an Assignment: */ + BSSGP[0].send(ts_BSSGP_DL_UD(ms.tlli, data2)); + f_ms_exp_dl_tbf_ass_ccch(ms, PCU_IF_SAPI_PCH); + + /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ + f_sleep(X2002); + /* 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, dl_fn, data2, 0); + f_acknackdesc_ack_block(ms.dl_tbf.acknack_desc, dl_block, '1'B); + f_ms_tx_ul_block(ms, ts_RLCMAC_DL_ACK_NACK(ms.dl_tbf.tfi, ms.dl_tbf.acknack_desc), + f_dl_block_ack_fn(dl_block, dl_fn)); + + f_shutdown(__BFILE__, __LINE__, final := true); +} + /* 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 */ @@ -5230,6 +5409,8 @@ execute( TC_mcs_initial_dl() ); execute( TC_mcs_max_dl() ); execute( TC_t3169() ); + execute( TC_x2031_t3191() ); + execute( TC_zero_x2031_t3191() ); execute( TC_t3193() ); execute( TC_countdown_procedure() ); execute( TC_ul_all_sizes() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23200 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib6dfc5711b9c6f1fd404bce424bbf4b115fc930e Gerrit-Change-Number: 23200 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 Mar 2 17:45:23 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 2 Mar 2021 17:45:23 +0000 Subject: Change in pysim[master]: start using python3 bytearray for our b2h/h2b types In-Reply-To: References: Message-ID: dexter has uploaded a new patch set (#7) to the change originally created by laforge. ( https://gerrit.osmocom.org/c/pysim/+/23174 ) Change subject: start using python3 bytearray for our b2h/h2b types ...................................................................... start using python3 bytearray for our b2h/h2b types The code was written long ago, when the python3 bytearray type probably didn't exist yet, or was at least not known. Let's stop using string types with binary bytes inside, and instead standardize on two types: * bytearray for binary data * string for hexadecimal nibbles representing that binary data Change-Id: I8aca84b6280f9702b0e2aba2c9759b4f312ab6a9 --- M pySim/utils.py 1 file changed, 8 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/74/23174/7 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23174 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I8aca84b6280f9702b0e2aba2c9759b4f312ab6a9 Gerrit-Change-Number: 23174 Gerrit-PatchSet: 7 Gerrit-Owner: laforge Gerrit-Assignee: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: dexter Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 2 19:02:28 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 2 Mar 2021 19:02:28 +0000 Subject: Change in pysim[master]: start using python3 bytearray for our b2h/h2b types In-Reply-To: References: Message-ID: dexter has uploaded a new patch set (#8) to the change originally created by laforge. ( https://gerrit.osmocom.org/c/pysim/+/23174 ) Change subject: start using python3 bytearray for our b2h/h2b types ...................................................................... start using python3 bytearray for our b2h/h2b types The code was written long ago, when the python3 bytearray type probably didn't exist yet, or was at least not known. Let's stop using string types with binary bytes inside, and instead standardize on two types: * bytearray for binary data * string for hexadecimal nibbles representing that binary data Change-Id: I8aca84b6280f9702b0e2aba2c9759b4f312ab6a9 --- M pySim/utils.py 1 file changed, 11 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/74/23174/8 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23174 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I8aca84b6280f9702b0e2aba2c9759b4f312ab6a9 Gerrit-Change-Number: 23174 Gerrit-PatchSet: 8 Gerrit-Owner: laforge Gerrit-Assignee: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: dexter Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 2 19:23:16 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 2 Mar 2021 19:23:16 +0000 Subject: Change in pysim[master]: start using python3 bytearray for our b2h/h2b types In-Reply-To: References: Message-ID: dexter has uploaded a new patch set (#9) to the change originally created by laforge. ( https://gerrit.osmocom.org/c/pysim/+/23174 ) Change subject: start using python3 bytearray for our b2h/h2b types ...................................................................... start using python3 bytearray for our b2h/h2b types The code was written long ago, when the python3 bytearray type probably didn't exist yet, or was at least not known. Let's stop using string types with binary bytes inside, and instead standardize on two types: * bytearray for binary data * string for hexadecimal nibbles representing that binary data Change-Id: I8aca84b6280f9702b0e2aba2c9759b4f312ab6a9 --- M pySim/cards.py M pySim/utils.py 2 files changed, 12 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/74/23174/9 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23174 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I8aca84b6280f9702b0e2aba2c9759b4f312ab6a9 Gerrit-Change-Number: 23174 Gerrit-PatchSet: 9 Gerrit-Owner: laforge Gerrit-Assignee: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: dexter Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 2 19:27:06 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 2 Mar 2021 19:27:06 +0000 Subject: Change in pysim[master]: start using python3 bytearray for our b2h/h2b types In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23174 ) Change subject: start using python3 bytearray for our b2h/h2b types ...................................................................... Patch Set 9: Code-Review+1 I have fixed the problem now. Apparantly bytearray does not have a .hex() method (yet). -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23174 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I8aca84b6280f9702b0e2aba2c9759b4f312ab6a9 Gerrit-Change-Number: 23174 Gerrit-PatchSet: 9 Gerrit-Owner: laforge Gerrit-Assignee: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Comment-Date: Tue, 02 Mar 2021 19:27:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From jenkins at lists.osmocom.org Tue Mar 2 23:58:52 2021 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Tue, 2 Mar 2021 23:58:52 +0000 (UTC) Subject: =?UTF-8?Q?Jenkins_build_is_back_to_normal_:?= =?UTF-8?Q?_master-osmo-sip-connector_=C2=BB_a1=3Dde?= =?UTF-8?Q?fault,a2=3Ddefault,a3=3Ddefault,a4=3Dde?= =?UTF-8?Q?fault,osmocom-master-debian9_#3274?= Message-ID: <750957926.4746.1614729532617@jenkins.osmocom.org> See From admin at opensuse.org Wed Mar 3 01:33:11 2021 From: admin at opensuse.org (OBS Notification) Date: Wed, 03 Mar 2021 01:33:11 +0000 Subject: Build failure of network:osmocom:nightly/osmo-ggsn in openSUSE_Tumbleweed/i586 In-Reply-To: References: Message-ID: <603ee77457afd_6772ac5bdd365f0182512e@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-ggsn/openSUSE_Tumbleweed/i586 Package network:osmocom:nightly/osmo-ggsn failed to build in openSUSE_Tumbleweed/i586 Check out the package for editing: osc checkout network:osmocom:nightly osmo-ggsn Last lines of build log: [ 33s] Processing files: libgtp6-1.7.1.4.8785-1.1.i586 [ 33s] Provides: libgtp.so.6 libgtp6 = 1.7.1.4.8785-1.1 libgtp6(x86-32) = 1.7.1.4.8785-1.1 [ 33s] Requires(interp): /sbin/ldconfig /sbin/ldconfig [ 33s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 33s] Requires(post): /sbin/ldconfig [ 33s] Requires(postun): /sbin/ldconfig [ 33s] Requires: libc.so.6 libc.so.6(GLIBC_2.0) libc.so.6(GLIBC_2.1) libc.so.6(GLIBC_2.1.3) libc.so.6(GLIBC_2.28) libc.so.6(GLIBC_2.3.4) libc.so.6(GLIBC_2.4) libc.so.6(GLIBC_2.7) libosmocore.so.17 libpthread.so.0 libpthread.so.0(GLIBC_2.0) libtalloc.so.2 libtalloc.so.2(TALLOC_2.0.2) [ 33s] Processing files: libgtp-devel-1.7.1.4.8785-1.1.i586 [ 33s] Provides: libgtp-devel = 1.7.1.4.8785-1.1 libgtp-devel(x86-32) = 1.7.1.4.8785-1.1 pkgconfig(libgtp) = 1.7.1.4.8785 [ 33s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 33s] Requires: /usr/bin/pkg-config [ 33s] Checking for unpackaged file(s): /usr/lib/rpm/check-files /home/abuild/rpmbuild/BUILDROOT/osmo-ggsn-1.7.1.4.8785-1.1.i386 [ 33s] error: Installed (but unpackaged) file(s) found: [ 33s] /etc/osmocom/osmo-ggsn-kernel-gtp.cfg [ 33s] /etc/osmocom/sgsnemu.conf [ 33s] [ 33s] [ 33s] RPM build errors: [ 33s] line 37: It's not recommended to have unversioned Obsoletes: Obsoletes: openggsn [ 33s] Installed (but unpackaged) file(s) found: [ 33s] /etc/osmocom/osmo-ggsn-kernel-gtp.cfg [ 33s] /etc/osmocom/sgsnemu.conf [ 33s] ### VM INTERACTION START ### [ 36s] [ 32.888317] sysrq: Power Off [ 36s] [ 32.893567] reboot: Power down [ 36s] ### VM INTERACTION END ### [ 36s] [ 36s] goat01 failed "build osmo-ggsn.spec" at Wed Mar 3 01:33:09 UTC 2021. [ 36s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Mar 3 01:56:17 2021 From: admin at opensuse.org (OBS Notification) Date: Wed, 03 Mar 2021 01:56:17 +0000 Subject: Build failure of network:osmocom:nightly/osmo-ggsn in openSUSE_Tumbleweed/x86_64 In-Reply-To: References: Message-ID: <603eecd923dc6_6772ac5bdd365f01832514@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-ggsn/openSUSE_Tumbleweed/x86_64 Package network:osmocom:nightly/osmo-ggsn failed to build in openSUSE_Tumbleweed/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-ggsn Last lines of build log: [ 71s] Processing files: libgtp6-1.7.1.4.8785-1.1.x86_64 [ 71s] Provides: libgtp.so.6()(64bit) libgtp6 = 1.7.1.4.8785-1.1 libgtp6(x86-64) = 1.7.1.4.8785-1.1 [ 71s] Requires(interp): /sbin/ldconfig /sbin/ldconfig [ 71s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 71s] Requires(post): /sbin/ldconfig [ 71s] Requires(postun): /sbin/ldconfig [ 71s] Requires: libc.so.6()(64bit) libc.so.6(GLIBC_2.14)(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3.4)(64bit) libc.so.6(GLIBC_2.4)(64bit) libc.so.6(GLIBC_2.7)(64bit) libosmocore.so.17()(64bit) libpthread.so.0()(64bit) libpthread.so.0(GLIBC_2.2.5)(64bit) libtalloc.so.2()(64bit) libtalloc.so.2(TALLOC_2.0.2)(64bit) [ 71s] Processing files: libgtp-devel-1.7.1.4.8785-1.1.x86_64 [ 71s] Provides: libgtp-devel = 1.7.1.4.8785-1.1 libgtp-devel(x86-64) = 1.7.1.4.8785-1.1 pkgconfig(libgtp) = 1.7.1.4.8785 [ 71s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 71s] Requires: /usr/bin/pkg-config [ 71s] Checking for unpackaged file(s): /usr/lib/rpm/check-files /home/abuild/rpmbuild/BUILDROOT/osmo-ggsn-1.7.1.4.8785-1.1.x86_64 [ 71s] error: Installed (but unpackaged) file(s) found: [ 71s] /etc/osmocom/osmo-ggsn-kernel-gtp.cfg [ 71s] /etc/osmocom/sgsnemu.conf [ 71s] [ 71s] [ 71s] RPM build errors: [ 71s] line 37: It's not recommended to have unversioned Obsoletes: Obsoletes: openggsn [ 71s] Installed (but unpackaged) file(s) found: [ 71s] /etc/osmocom/osmo-ggsn-kernel-gtp.cfg [ 71s] /etc/osmocom/sgsnemu.conf [ 71s] ### VM INTERACTION START ### [ 74s] [ 65.769848] sysrq: Power Off [ 74s] [ 65.789291] reboot: Power down [ 74s] ### VM INTERACTION END ### [ 74s] [ 74s] lamb21 failed "build osmo-ggsn.spec" at Wed Mar 3 01:56:10 UTC 2021. [ 74s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Mar 3 01:56:17 2021 From: admin at opensuse.org (OBS Notification) Date: Wed, 03 Mar 2021 01:56:17 +0000 Subject: Build failure of network:osmocom:nightly/osmo-ggsn in openSUSE_Leap_15.2/x86_64 In-Reply-To: References: Message-ID: <603eecdc3c814_6772ac5bdd365f018326e0@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-ggsn/openSUSE_Leap_15.2/x86_64 Package network:osmocom:nightly/osmo-ggsn failed to build in openSUSE_Leap_15.2/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-ggsn Last lines of build log: [ 83s] Obsoletes: openggsn [ 83s] Processing files: libgtp6-1.7.1.4.8785-lp152.1.1.x86_64 [ 83s] Provides: libgtp.so.6()(64bit) libgtp6 = 1.7.1.4.8785-lp152.1.1 libgtp6(x86-64) = 1.7.1.4.8785-lp152.1.1 [ 83s] Requires(interp): /sbin/ldconfig /sbin/ldconfig [ 83s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 83s] Requires(post): /sbin/ldconfig [ 83s] Requires(postun): /sbin/ldconfig [ 83s] Requires: libc.so.6()(64bit) libc.so.6(GLIBC_2.14)(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3.4)(64bit) libc.so.6(GLIBC_2.4)(64bit) libosmocore.so.17()(64bit) libpthread.so.0()(64bit) libpthread.so.0(GLIBC_2.2.5)(64bit) libtalloc.so.2()(64bit) libtalloc.so.2(TALLOC_2.0.2)(64bit) [ 83s] Processing files: libgtp-devel-1.7.1.4.8785-lp152.1.1.x86_64 [ 83s] Provides: libgtp-devel = 1.7.1.4.8785-lp152.1.1 libgtp-devel(x86-64) = 1.7.1.4.8785-lp152.1.1 pkgconfig(libgtp) = 1.7.1.4.8785 [ 83s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 83s] Requires: /usr/bin/pkg-config [ 83s] Checking for unpackaged file(s): /usr/lib/rpm/check-files /home/abuild/rpmbuild/BUILDROOT/osmo-ggsn-1.7.1.4.8785-lp152.1.1.x86_64 [ 83s] error: Installed (but unpackaged) file(s) found: [ 83s] /etc/osmocom/osmo-ggsn-kernel-gtp.cfg [ 83s] /etc/osmocom/sgsnemu.conf [ 83s] [ 83s] [ 83s] RPM build errors: [ 83s] Installed (but unpackaged) file(s) found: [ 83s] /etc/osmocom/osmo-ggsn-kernel-gtp.cfg [ 83s] /etc/osmocom/sgsnemu.conf [ 83s] ### VM INTERACTION START ### [ 86s] [ 71.888403] sysrq: Power Off [ 86s] [ 71.920658] reboot: Power down [ 86s] ### VM INTERACTION END ### [ 86s] [ 86s] cloud117 failed "build osmo-ggsn.spec" at Wed Mar 3 01:56:14 UTC 2021. [ 86s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Mar 3 01:56:36 2021 From: admin at opensuse.org (OBS Notification) Date: Wed, 03 Mar 2021 01:56:36 +0000 Subject: Build failure of network:osmocom:nightly/osmo-ggsn in openSUSE_Leap_15.1/x86_64 In-Reply-To: References: Message-ID: <603eecdf313cf_6772ac5bdd365f018328f5@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-ggsn/openSUSE_Leap_15.1/x86_64 Package network:osmocom:nightly/osmo-ggsn failed to build in openSUSE_Leap_15.1/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-ggsn Last lines of build log: [ 88s] Obsoletes: openggsn [ 88s] Processing files: libgtp6-1.7.1.4.8785-lp151.1.1.x86_64 [ 88s] Provides: libgtp.so.6()(64bit) libgtp6 = 1.7.1.4.8785-lp151.1.1 libgtp6(x86-64) = 1.7.1.4.8785-lp151.1.1 [ 88s] Requires(interp): /sbin/ldconfig /sbin/ldconfig [ 88s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 88s] Requires(post): /sbin/ldconfig [ 88s] Requires(postun): /sbin/ldconfig [ 88s] Requires: libc.so.6()(64bit) libc.so.6(GLIBC_2.14)(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.3.4)(64bit) libc.so.6(GLIBC_2.4)(64bit) libosmocore.so.17()(64bit) libpthread.so.0()(64bit) libpthread.so.0(GLIBC_2.2.5)(64bit) libtalloc.so.2()(64bit) libtalloc.so.2(TALLOC_2.0.2)(64bit) [ 88s] Processing files: libgtp-devel-1.7.1.4.8785-lp151.1.1.x86_64 [ 88s] Provides: libgtp-devel = 1.7.1.4.8785-lp151.1.1 libgtp-devel(x86-64) = 1.7.1.4.8785-lp151.1.1 pkgconfig(libgtp) = 1.7.1.4.8785 [ 88s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 88s] Requires: /usr/bin/pkg-config [ 88s] Checking for unpackaged file(s): /usr/lib/rpm/check-files /home/abuild/rpmbuild/BUILDROOT/osmo-ggsn-1.7.1.4.8785-lp151.1.1.x86_64 [ 88s] error: Installed (but unpackaged) file(s) found: [ 88s] /etc/osmocom/osmo-ggsn-kernel-gtp.cfg [ 88s] /etc/osmocom/sgsnemu.conf [ 88s] [ 88s] [ 88s] RPM build errors: [ 88s] Installed (but unpackaged) file(s) found: [ 88s] /etc/osmocom/osmo-ggsn-kernel-gtp.cfg [ 88s] /etc/osmocom/sgsnemu.conf [ 88s] ### VM INTERACTION START ### [ 91s] [ 82.086363] sysrq: SysRq : Power Off [ 91s] [ 82.117522] reboot: Power down [ 92s] ### VM INTERACTION END ### [ 92s] [ 92s] lamb61 failed "build osmo-ggsn.spec" at Wed Mar 3 01:56:26 UTC 2021. [ 92s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Mar 3 01:57:44 2021 From: admin at opensuse.org (OBS Notification) Date: Wed, 03 Mar 2021 01:57:44 +0000 Subject: Build failure of network:osmocom:nightly/osmo-ggsn in CentOS_8/x86_64 In-Reply-To: References: Message-ID: <603eed3130038_6772ac5bdd365f018332c@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-ggsn/CentOS_8/x86_64 Package network:osmocom:nightly/osmo-ggsn failed to build in CentOS_8/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-ggsn Last lines of build log: [ 149s] Requires: /usr/bin/pkg-config libgtp.so.6()(64bit) [ 149s] Processing files: osmo-ggsn-debugsource-1.7.1.4.8785-1.1.x86_64 [ 149s] Provides: osmo-ggsn-debugsource = 1.7.1.4.8785-1.1 osmo-ggsn-debugsource(x86-64) = 1.7.1.4.8785-1.1 [ 149s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 149s] Processing files: osmo-ggsn-debuginfo-1.7.1.4.8785-1.1.x86_64 [ 149s] Provides: debuginfo(build-id) = 69d2a12c65efdd6e0987431bf759d2cd8408f6c3 debuginfo(build-id) = 8af33e1525344f4a99f44365ef9d1efc52414cf1 osmo-ggsn-debuginfo = 1.7.1.4.8785-1.1 osmo-ggsn-debuginfo(x86-64) = 1.7.1.4.8785-1.1 [ 149s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 149s] Recommends: osmo-ggsn-debugsource(x86-64) = 1.7.1.4.8785-1.1 [ 149s] Processing files: libgtp6-debuginfo-1.7.1.4.8785-1.1.x86_64 [ 149s] Provides: debuginfo(build-id) = e8b40ef54bff65739052b24548b5dfb80de6d595 libgtp6-debuginfo = 1.7.1.4.8785-1.1 libgtp6-debuginfo(x86-64) = 1.7.1.4.8785-1.1 [ 149s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 149s] Recommends: osmo-ggsn-debugsource(x86-64) = 1.7.1.4.8785-1.1 [ 149s] Checking for unpackaged file(s): /usr/lib/rpm/check-files /home/abuild/rpmbuild/BUILDROOT/osmo-ggsn-1.7.1.4.8785-1.1.x86_64 [ 149s] error: Installed (but unpackaged) file(s) found: [ 149s] /etc/osmocom/osmo-ggsn-kernel-gtp.cfg [ 149s] /etc/osmocom/sgsnemu.conf [ 149s] [ 149s] [ 149s] RPM build errors: [ 149s] Installed (but unpackaged) file(s) found: [ 149s] /etc/osmocom/osmo-ggsn-kernel-gtp.cfg [ 149s] /etc/osmocom/sgsnemu.conf [ 149s] ### VM INTERACTION START ### [ 151s] Powering off. [ 151s] [ 136.094436] reboot: Power down [ 151s] ### VM INTERACTION END ### [ 151s] [ 151s] lamb54 failed "build osmo-ggsn.spec" at Wed Mar 3 01:57:27 UTC 2021. [ 151s] -- 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 Mar 3 02:01:02 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 3 Mar 2021 02:01:02 +0000 Subject: Change in osmo-pcu[master]: tbd_dl: Don't re-initialize class field twice In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23195 ) Change subject: tbd_dl: Don't re-initialize class field twice ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23195 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia92c24032dc1f8965008ff03a3a0a94bbb93893a Gerrit-Change-Number: 23195 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 03 Mar 2021 02:01:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Wed Mar 3 02:01:10 2021 From: admin at opensuse.org (OBS Notification) Date: Wed, 03 Mar 2021 02:01:10 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <603eee043ad26_6772ac5bdd365f018342a7@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_20.04/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_20.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 176s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 176s] [COMPILING libboard/qmod/source/card_pres.c] [ 176s] [COMPILING libboard/qmod/source/wwan_led.c] [ 176s] [COMPILING libboard/qmod/source/i2c.c] [ 176s] [COMPILING libboard/qmod/source/board_qmod.c] [ 177s] [COMPILING apps/dfu/main.c] [ 177s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 177s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 177s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 177s] Memory region Used Size Region Size %age Used [ 177s] rom: 16588 B 16 KB 101.25% [ 177s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 177s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 204 bytes [ 177s] collect2: error: ld returned 1 exit status [ 177s] % [ 177s] make[2]: *** [Makefile:234: flash] Error 1 [ 177s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 177s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 177s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 177s] dh_auto_build: error: make -j1 returned exit code 2 [ 177s] make: *** [debian/rules:16: build] Error 25 [ 177s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 177s] ### VM INTERACTION START ### [ 180s] [ 168.688630] sysrq: Power Off [ 180s] [ 168.695892] reboot: Power down [ 181s] ### VM INTERACTION END ### [ 181s] [ 181s] lamb05 failed "build simtrace2_0.7.0.70.657c.dsc" at Wed Mar 3 02:00:58 UTC 2021. [ 181s] -- 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 Mar 3 02:02:20 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 3 Mar 2021 02:02:20 +0000 Subject: Change in osmo-pcu[master]: tbf: log keep_open condition status In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23196 ) Change subject: tbf: log keep_open condition status ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23196 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I069e84926aaa8f13b23c3ea4083b4c68dbc6cff2 Gerrit-Change-Number: 23196 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 03 Mar 2021 02:02: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 Mar 3 02:04:04 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 3 Mar 2021 02:04:04 +0000 Subject: Change in osmo-pcu[master]: tbf_dl: Fix m_last_dl_drained_fn not set under some conditions In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23197 ) Change subject: tbf_dl: Fix m_last_dl_drained_fn not set under some conditions ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23197 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I7420aeffda3500bcdc990291e4a56511af433ff9 Gerrit-Change-Number: 23197 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 03 Mar 2021 02:04: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 Mar 3 02:05:28 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 3 Mar 2021 02:05:28 +0000 Subject: Change in osmo-pcu[master]: tbf_dl: fix FBI not set upon X2031 = 0 In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23198 ) Change subject: tbf_dl: fix FBI not set upon X2031 = 0 ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23198 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ib20602936ae084c413f6bfe14eea33b602020be0 Gerrit-Change-Number: 23198 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 03 Mar 2021 02:05:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Wed Mar 3 02:07:29 2021 From: admin at opensuse.org (OBS Notification) Date: Wed, 03 Mar 2021 02:07:29 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.10/x86_64 In-Reply-To: References: Message-ID: <603eef6e4c608_6772ac5bdd365f0183594d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_20.10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_20.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 209s] [COMPILING apps/dfu/main.c] [ 209s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 209s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 209s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 209s] Memory region Used Size Region Size %age Used [ 209s] rom: 16580 B 16 KB 101.20% [ 209s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 209s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 209s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 209s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 209s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 209s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 209s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 196 bytes [ 209s] collect2: error: ld returned 1 exit status [ 209s] % [ 209s] make[2]: *** [Makefile:234: flash] Error 1 [ 209s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 209s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 209s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 209s] dh_auto_build: error: make -j1 returned exit code 2 [ 209s] make: *** [debian/rules:16: build] Error 25 [ 209s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 209s] ### VM INTERACTION START ### [ 213s] [ 199.111806] sysrq: Power Off [ 213s] [ 199.118590] reboot: Power down [ 213s] ### VM INTERACTION END ### [ 213s] [ 213s] lamb15 failed "build simtrace2_0.7.0.70.657c.dsc" at Wed Mar 3 02:07:23 UTC 2021. [ 213s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Mar 3 02:18:27 2021 From: admin at opensuse.org (OBS Notification) Date: Wed, 03 Mar 2021 02:18:27 +0000 Subject: Build failure of network:osmocom:nightly/osmo-ggsn in openSUSE_Factory_ARM/aarch64 In-Reply-To: References: Message-ID: <603ef2055263f_6772ac5bdd365f01841547@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-ggsn/openSUSE_Factory_ARM/aarch64 Package network:osmocom:nightly/osmo-ggsn failed to build in openSUSE_Factory_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-ggsn Last lines of build log: [ 95s] Processing files: libgtp6-1.7.1.4.8785-1.1.aarch64 [ 95s] Provides: libgtp.so.6()(64bit) libgtp6 = 1.7.1.4.8785-1.1 libgtp6(aarch-64) = 1.7.1.4.8785-1.1 [ 95s] Requires(interp): /sbin/ldconfig /sbin/ldconfig [ 95s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 95s] Requires(post): /sbin/ldconfig [ 95s] Requires(postun): /sbin/ldconfig [ 95s] Requires: ld-linux-aarch64.so.1()(64bit) ld-linux-aarch64.so.1(GLIBC_2.17)(64bit) libc.so.6()(64bit) libc.so.6(GLIBC_2.17)(64bit) libosmocore.so.17()(64bit) libpthread.so.0()(64bit) libpthread.so.0(GLIBC_2.17)(64bit) libtalloc.so.2()(64bit) libtalloc.so.2(TALLOC_2.0.2)(64bit) [ 95s] Processing files: libgtp-devel-1.7.1.4.8785-1.1.aarch64 [ 95s] Provides: libgtp-devel = 1.7.1.4.8785-1.1 libgtp-devel(aarch-64) = 1.7.1.4.8785-1.1 pkgconfig(libgtp) = 1.7.1.4.8785 [ 95s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 95s] Requires: /usr/bin/pkg-config [ 95s] Checking for unpackaged file(s): /usr/lib/rpm/check-files /home/abuild/rpmbuild/BUILDROOT/osmo-ggsn-1.7.1.4.8785-1.1.aarch64 [ 95s] error: Installed (but unpackaged) file(s) found: [ 95s] /etc/osmocom/osmo-ggsn-kernel-gtp.cfg [ 95s] /etc/osmocom/sgsnemu.conf [ 95s] [ 95s] [ 95s] RPM build errors: [ 95s] line 37: It's not recommended to have unversioned Obsoletes: Obsoletes: openggsn [ 95s] Installed (but unpackaged) file(s) found: [ 95s] /etc/osmocom/osmo-ggsn-kernel-gtp.cfg [ 95s] /etc/osmocom/sgsnemu.conf [ 95s] ### VM INTERACTION START ### [ 99s] [ 83.379580] sysrq: Power Off [ 99s] [ 83.381025] reboot: Power down [ 99s] ### VM INTERACTION END ### [ 99s] [ 99s] obs-arm-8 failed "build osmo-ggsn.spec" at Wed Mar 3 02:18:23 UTC 2021. [ 99s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Mar 3 02:28:43 2021 From: admin at opensuse.org (OBS Notification) Date: Wed, 03 Mar 2021 02:28:43 +0000 Subject: Build failure of network:osmocom:nightly/osmo-ggsn in openSUSE_Leap_15.1_ARM/aarch64 In-Reply-To: References: Message-ID: <603ef475c2286_6772ac5bdd365f0184386c@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-ggsn/openSUSE_Leap_15.1_ARM/aarch64 Package network:osmocom:nightly/osmo-ggsn failed to build in openSUSE_Leap_15.1_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-ggsn Last lines of build log: [ 107s] Obsoletes: openggsn [ 107s] Processing files: libgtp6-1.7.1.4.8785-lp151.1.1.aarch64 [ 107s] Provides: libgtp.so.6()(64bit) libgtp6 = 1.7.1.4.8785-lp151.1.1 libgtp6(aarch-64) = 1.7.1.4.8785-lp151.1.1 [ 107s] Requires(interp): /sbin/ldconfig /sbin/ldconfig [ 107s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 107s] Requires(post): /sbin/ldconfig [ 107s] Requires(postun): /sbin/ldconfig [ 107s] Requires: ld-linux-aarch64.so.1()(64bit) ld-linux-aarch64.so.1(GLIBC_2.17)(64bit) libc.so.6()(64bit) libc.so.6(GLIBC_2.17)(64bit) libosmocore.so.17()(64bit) libpthread.so.0()(64bit) libpthread.so.0(GLIBC_2.17)(64bit) libtalloc.so.2()(64bit) libtalloc.so.2(TALLOC_2.0.2)(64bit) [ 107s] Processing files: libgtp-devel-1.7.1.4.8785-lp151.1.1.aarch64 [ 107s] Provides: libgtp-devel = 1.7.1.4.8785-lp151.1.1 libgtp-devel(aarch-64) = 1.7.1.4.8785-lp151.1.1 pkgconfig(libgtp) = 1.7.1.4.8785 [ 107s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 107s] Requires: /usr/bin/pkg-config [ 107s] Checking for unpackaged file(s): /usr/lib/rpm/check-files /home/abuild/rpmbuild/BUILDROOT/osmo-ggsn-1.7.1.4.8785-lp151.1.1.aarch64 [ 107s] error: Installed (but unpackaged) file(s) found: [ 107s] /etc/osmocom/osmo-ggsn-kernel-gtp.cfg [ 107s] /etc/osmocom/sgsnemu.conf [ 107s] [ 107s] [ 107s] RPM build errors: [ 107s] Installed (but unpackaged) file(s) found: [ 107s] /etc/osmocom/osmo-ggsn-kernel-gtp.cfg [ 107s] /etc/osmocom/sgsnemu.conf [ 107s] ### VM INTERACTION START ### [ 110s] [ 96.720156] sysrq: SysRq : Power Off [ 110s] [ 96.721577] reboot: Power down [ 110s] ### VM INTERACTION END ### [ 110s] [ 110s] obs-arm-9 failed "build osmo-ggsn.spec" at Wed Mar 3 02:28:35 UTC 2021. [ 110s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Mar 3 03:56:29 2021 From: admin at opensuse.org (OBS Notification) Date: Wed, 03 Mar 2021 03:56:29 +0000 Subject: Build failure of network:osmocom:nightly/osmo-ggsn in CentOS_8/aarch64 In-Reply-To: References: Message-ID: <603f08f96640d_6772ac5bdd365f01861361@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-ggsn/CentOS_8/aarch64 Package network:osmocom:nightly/osmo-ggsn failed to build in CentOS_8/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly osmo-ggsn Last lines of build log: [ 352s] Requires: /usr/bin/pkg-config libgtp.so.6()(64bit) [ 352s] Processing files: osmo-ggsn-debugsource-1.7.1.4.8785-1.1.aarch64 [ 353s] Provides: osmo-ggsn-debugsource = 1.7.1.4.8785-1.1 osmo-ggsn-debugsource(aarch-64) = 1.7.1.4.8785-1.1 [ 353s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 353s] Processing files: osmo-ggsn-debuginfo-1.7.1.4.8785-1.1.aarch64 [ 353s] Provides: debuginfo(build-id) = 6e7377498b736d4e0d68340eb9e4a6a09be4fff4 debuginfo(build-id) = 7d2cd7eb04d2cafe61d3bad82204fe5b6242a0e3 osmo-ggsn-debuginfo = 1.7.1.4.8785-1.1 osmo-ggsn-debuginfo(aarch-64) = 1.7.1.4.8785-1.1 [ 353s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 353s] Recommends: osmo-ggsn-debugsource(aarch-64) = 1.7.1.4.8785-1.1 [ 353s] Processing files: libgtp6-debuginfo-1.7.1.4.8785-1.1.aarch64 [ 353s] Provides: debuginfo(build-id) = 375124452969eb64f18fc4200b927b7d400d9eef libgtp6-debuginfo = 1.7.1.4.8785-1.1 libgtp6-debuginfo(aarch-64) = 1.7.1.4.8785-1.1 [ 353s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 353s] Recommends: osmo-ggsn-debugsource(aarch-64) = 1.7.1.4.8785-1.1 [ 353s] Checking for unpackaged file(s): /usr/lib/rpm/check-files /home/abuild/rpmbuild/BUILDROOT/osmo-ggsn-1.7.1.4.8785-1.1.aarch64 [ 353s] error: Installed (but unpackaged) file(s) found: [ 353s] /etc/osmocom/osmo-ggsn-kernel-gtp.cfg [ 353s] /etc/osmocom/sgsnemu.conf [ 353s] [ 353s] [ 353s] RPM build errors: [ 353s] Installed (but unpackaged) file(s) found: [ 353s] /etc/osmocom/osmo-ggsn-kernel-gtp.cfg [ 353s] /etc/osmocom/sgsnemu.conf [ 353s] ### VM INTERACTION START ### [ 354s] Powering off. [ 354s] [ 287.976956] reboot: Power down [ 354s] ### VM INTERACTION END ### [ 354s] [ 354s] obs-arm-1 failed "build osmo-ggsn.spec" at Wed Mar 3 03:56:12 UTC 2021. [ 354s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Mar 3 05:03:56 2021 From: admin at opensuse.org (OBS Notification) Date: Wed, 03 Mar 2021 05:03:56 +0000 Subject: Build failure of network:osmocom:nightly/osmo-ggsn in openSUSE_Leap_15.1_ARM/armv7l In-Reply-To: References: Message-ID: <603f18cb6cc99_6772ac5bdd365f0187364c@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-ggsn/openSUSE_Leap_15.1_ARM/armv7l Package network:osmocom:nightly/osmo-ggsn failed to build in openSUSE_Leap_15.1_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-ggsn Last lines of build log: [ 209s] Obsoletes: openggsn [ 209s] Processing files: libgtp6-1.7.1.4.8785-lp151.1.1.armv7hl [ 209s] Provides: libgtp.so.6 libgtp6 = 1.7.1.4.8785-lp151.1.1 libgtp6(armv7hl-32) = 1.7.1.4.8785-lp151.1.1 [ 209s] Requires(interp): /sbin/ldconfig /sbin/ldconfig [ 209s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 209s] Requires(post): /sbin/ldconfig [ 209s] Requires(postun): /sbin/ldconfig [ 209s] Requires: ld-linux-armhf.so.3 ld-linux-armhf.so.3(GLIBC_2.4) libc.so.6 libc.so.6(GLIBC_2.4) libgcc_s.so.1 libgcc_s.so.1(GCC_3.5) libosmocore.so.17 libpthread.so.0 libpthread.so.0(GLIBC_2.4) libtalloc.so.2 libtalloc.so.2(TALLOC_2.0.2) [ 209s] Processing files: libgtp-devel-1.7.1.4.8785-lp151.1.1.armv7hl [ 210s] Provides: libgtp-devel = 1.7.1.4.8785-lp151.1.1 libgtp-devel(armv7hl-32) = 1.7.1.4.8785-lp151.1.1 pkgconfig(libgtp) = 1.7.1.4.8785 [ 210s] Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 [ 210s] Requires: /usr/bin/pkg-config [ 210s] Checking for unpackaged file(s): /usr/lib/rpm/check-files /home/abuild/rpmbuild/BUILDROOT/osmo-ggsn-1.7.1.4.8785-lp151.1.1.arm [ 210s] error: Installed (but unpackaged) file(s) found: [ 210s] /etc/osmocom/osmo-ggsn-kernel-gtp.cfg [ 210s] /etc/osmocom/sgsnemu.conf [ 210s] [ 210s] [ 210s] RPM build errors: [ 210s] Installed (but unpackaged) file(s) found: [ 210s] /etc/osmocom/osmo-ggsn-kernel-gtp.cfg [ 210s] /etc/osmocom/sgsnemu.conf [ 210s] ### VM INTERACTION START ### [ 213s] [ 191.760415] sysrq: SysRq : Power Off [ 213s] [ 191.766426] reboot: Power down [ 214s] ### VM INTERACTION END ### [ 214s] [ 214s] obs-arm-6 failed "build osmo-ggsn.spec" at Wed Mar 3 05:03:50 UTC 2021. [ 214s] -- 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 Mar 3 07:11:14 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 3 Mar 2021 07:11:14 +0000 Subject: Change in osmo-ggsn[master]: Don't install osmo-ggsn-kernel-gtp.cfg to /etc/osmocom/ References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/23201 ) Change subject: Don't install osmo-ggsn-kernel-gtp.cfg to /etc/osmocom/ ...................................................................... Don't install osmo-ggsn-kernel-gtp.cfg to /etc/osmocom/ This is an auxiliary example config file, which should not be installed to /etc/ and hence not be in OSMOCONF_FILES This fixes the following rpm packaging error: [ 149s] error: Installed (but unpackaged) file(s) found: [ 149s] /etc/osmocom/osmo-ggsn-kernel-gtp.cfg Change-Id: If118ed26491a1edda83eda7f95479e165ca4c150 Fixes: I6fbe8a8e55bad41532e9aed3cf71ebebffdcee52 --- M doc/examples/Makefile.am 1 file changed, 0 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/01/23201/1 diff --git a/doc/examples/Makefile.am b/doc/examples/Makefile.am index 64c513a..f80ce0d 100644 --- a/doc/examples/Makefile.am +++ b/doc/examples/Makefile.am @@ -1,5 +1,4 @@ OSMOCONF_FILES = \ - osmo-ggsn-kernel-gtp.cfg \ osmo-ggsn.cfg \ sgsnemu.conf \ $(NULL) -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/23201 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: If118ed26491a1edda83eda7f95479e165ca4c150 Gerrit-Change-Number: 23201 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 Mar 3 07:11:14 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 3 Mar 2021 07:11:14 +0000 Subject: Change in osmo-ggsn[master]: Don't install sgsnemu.conf to /etc/osmocom/ References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/23202 ) Change subject: Don't install sgsnemu.conf to /etc/osmocom/ ...................................................................... Don't install sgsnemu.conf to /etc/osmocom/ This is an auxiliary example config file, which should not be installed to /etc/ and hence not be in OSMOCONF_FILES This fixes the following rpm packaging error: [ 149s] error: Installed (but unpackaged) file(s) found: [ 149s] /etc/osmocom/sgsnemu.conf Change-Id: Id31f6542590405531ff61a9434041c15e779865b Fixes: Icd6f3efcf5a9ef50237a3d0a76d4cce55051f447 --- M doc/examples/Makefile.am 1 file changed, 0 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/02/23202/1 diff --git a/doc/examples/Makefile.am b/doc/examples/Makefile.am index f80ce0d..a81dd35 100644 --- a/doc/examples/Makefile.am +++ b/doc/examples/Makefile.am @@ -1,6 +1,5 @@ OSMOCONF_FILES = \ osmo-ggsn.cfg \ - sgsnemu.conf \ $(NULL) osmoconfdir = $(sysconfdir)/osmocom -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/23202 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Id31f6542590405531ff61a9434041c15e779865b Gerrit-Change-Number: 23202 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 Mar 3 07:13:09 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 3 Mar 2021 07:13:09 +0000 Subject: Change in osmo-ggsn[master]: Don't install osmo-ggsn-kernel-gtp.cfg to /etc/osmocom/ In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/23201 ) Change subject: Don't install osmo-ggsn-kernel-gtp.cfg to /etc/osmocom/ ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/23201 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: If118ed26491a1edda83eda7f95479e165ca4c150 Gerrit-Change-Number: 23201 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 03 Mar 2021 07:13:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 3 07:13:15 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 3 Mar 2021 07:13:15 +0000 Subject: Change in osmo-ggsn[master]: Don't install sgsnemu.conf to /etc/osmocom/ In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/23202 ) Change subject: Don't install sgsnemu.conf to /etc/osmocom/ ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/23202 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Id31f6542590405531ff61a9434041c15e779865b Gerrit-Change-Number: 23202 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 03 Mar 2021 07:13: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 Mar 3 07:14:51 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 3 Mar 2021 07:14:51 +0000 Subject: Change in osmo-ggsn[master]: Don't install osmo-ggsn-kernel-gtp.cfg to /etc/osmocom/ In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/23201 ) Change subject: Don't install osmo-ggsn-kernel-gtp.cfg to /etc/osmocom/ ...................................................................... Don't install osmo-ggsn-kernel-gtp.cfg to /etc/osmocom/ This is an auxiliary example config file, which should not be installed to /etc/ and hence not be in OSMOCONF_FILES This fixes the following rpm packaging error: [ 149s] error: Installed (but unpackaged) file(s) found: [ 149s] /etc/osmocom/osmo-ggsn-kernel-gtp.cfg Change-Id: If118ed26491a1edda83eda7f95479e165ca4c150 Fixes: I6fbe8a8e55bad41532e9aed3cf71ebebffdcee52 --- M doc/examples/Makefile.am 1 file changed, 0 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/doc/examples/Makefile.am b/doc/examples/Makefile.am index 64c513a..f80ce0d 100644 --- a/doc/examples/Makefile.am +++ b/doc/examples/Makefile.am @@ -1,5 +1,4 @@ OSMOCONF_FILES = \ - osmo-ggsn-kernel-gtp.cfg \ osmo-ggsn.cfg \ sgsnemu.conf \ $(NULL) -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/23201 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: If118ed26491a1edda83eda7f95479e165ca4c150 Gerrit-Change-Number: 23201 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 3 07:14:51 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 3 Mar 2021 07:14:51 +0000 Subject: Change in osmo-ggsn[master]: Don't install sgsnemu.conf to /etc/osmocom/ In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/23202 ) Change subject: Don't install sgsnemu.conf to /etc/osmocom/ ...................................................................... Don't install sgsnemu.conf to /etc/osmocom/ This is an auxiliary example config file, which should not be installed to /etc/ and hence not be in OSMOCONF_FILES This fixes the following rpm packaging error: [ 149s] error: Installed (but unpackaged) file(s) found: [ 149s] /etc/osmocom/sgsnemu.conf Change-Id: Id31f6542590405531ff61a9434041c15e779865b Fixes: Icd6f3efcf5a9ef50237a3d0a76d4cce55051f447 --- M doc/examples/Makefile.am 1 file changed, 0 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/doc/examples/Makefile.am b/doc/examples/Makefile.am index f80ce0d..a81dd35 100644 --- a/doc/examples/Makefile.am +++ b/doc/examples/Makefile.am @@ -1,6 +1,5 @@ OSMOCONF_FILES = \ osmo-ggsn.cfg \ - sgsnemu.conf \ $(NULL) osmoconfdir = $(sysconfdir)/osmocom -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/23202 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Id31f6542590405531ff61a9434041c15e779865b Gerrit-Change-Number: 23202 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 3 07:26:34 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 3 Mar 2021 07:26:34 +0000 Subject: Change in osmo-ci[master]: jenkins jobs: disable TTCN3-centos-remsim-test References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/23203 ) Change subject: jenkins jobs: disable TTCN3-centos-remsim-test ...................................................................... jenkins jobs: disable TTCN3-centos-remsim-test We don't even build osmo-remsim for CentOS so far... no idea why we have a test job for it. Change-Id: I57b6bd7e4e4d7b5c5f5f715ff4bf8b3e02374237 --- M jobs/ttcn3-testsuites.yml 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/03/23203/1 diff --git a/jobs/ttcn3-testsuites.yml b/jobs/ttcn3-testsuites.yml index 53f18c2..42b6b5a 100644 --- a/jobs/ttcn3-testsuites.yml +++ b/jobs/ttcn3-testsuites.yml @@ -196,9 +196,9 @@ - TTCN3-centos-bsc-test-sccplite: blocking: "^(ttcn3|TTCN3-.*)-bsc-test.*" timer: 30 08 * * * - - TTCN3-centos-remsim-test: - blocking: "^(ttcn3|TTCN3-.*)-remsim-test.*" - timer: 00 09 * * * + #- TTCN3-centos-remsim-test: + # blocking: "^(ttcn3|TTCN3-.*)-remsim-test.*" + # timer: 00 09 * * * - TTCN3-centos-stp-test: blocking: "^(ttcn3|TTCN3-.*)-stp-test.*" timer: 30 09 * * * -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23203 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I57b6bd7e4e4d7b5c5f5f715ff4bf8b3e02374237 Gerrit-Change-Number: 23203 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 Mar 3 07:27:57 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 3 Mar 2021 07:27:57 +0000 Subject: Change in osmo-ci[master]: jenkins jobs: disable TTCN3-centos-remsim-test In-Reply-To: References: Message-ID: laforge has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23203 ) Change subject: jenkins jobs: disable TTCN3-centos-remsim-test ...................................................................... Abandoned we actually do have rpm spec files -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23203 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I57b6bd7e4e4d7b5c5f5f715ff4bf8b3e02374237 Gerrit-Change-Number: 23203 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 3 07:29:01 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 3 Mar 2021 07:29:01 +0000 Subject: Change in osmo-pcu[master]: tbf: log keep_open condition status In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23196 ) Change subject: tbf: log keep_open condition status ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23196 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I069e84926aaa8f13b23c3ea4083b4c68dbc6cff2 Gerrit-Change-Number: 23196 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 03 Mar 2021 07:29:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 3 07:29:31 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 3 Mar 2021 07:29:31 +0000 Subject: Change in osmo-pcu[master]: tbf_dl: Fix m_last_dl_drained_fn not set under some conditions In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23197 ) Change subject: tbf_dl: Fix m_last_dl_drained_fn not set under some conditions ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23197 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I7420aeffda3500bcdc990291e4a56511af433ff9 Gerrit-Change-Number: 23197 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 03 Mar 2021 07:29: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 Mar 3 07:29:49 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 3 Mar 2021 07:29:49 +0000 Subject: Change in osmo-pcu[master]: tbf_dl: fix FBI not set upon X2031 = 0 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23198 ) Change subject: tbf_dl: fix FBI not set upon X2031 = 0 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23198 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ib20602936ae084c413f6bfe14eea33b602020be0 Gerrit-Change-Number: 23198 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 03 Mar 2021 07:29:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 3 07:29:51 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 3 Mar 2021 07:29:51 +0000 Subject: Change in osmo-pcu[master]: tbd_dl: Don't re-initialize class field twice In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23195 ) Change subject: tbd_dl: Don't re-initialize class field twice ...................................................................... tbd_dl: Don't re-initialize class field twice Change-Id: Ia92c24032dc1f8965008ff03a3a0a94bbb93893a --- M src/tbf_dl.cpp 1 file changed, 2 insertions(+), 5 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index 57044a1..88bab7d 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -171,9 +171,6 @@ llist_add(tbf_bts_list((struct gprs_rlcmac_tbf *)tbf), &bts->dl_tbfs); bts_do_rate_ctr_inc(tbf->bts, CTR_TBF_DL_ALLOCATED); - tbf->m_last_dl_poll_fn = -1; - tbf->m_last_dl_drained_fn = -1; - osmo_clock_gettime(CLOCK_MONOTONIC, &tbf->m_bw.dl_bw_tv); osmo_clock_gettime(CLOCK_MONOTONIC, &tbf->m_bw.dl_loss_tv); @@ -185,8 +182,8 @@ m_tx_counter(0), m_wait_confirm(0), m_dl_ack_requested(false), - m_last_dl_poll_fn(0), - m_last_dl_drained_fn(0), + m_last_dl_poll_fn(-1), + m_last_dl_drained_fn(-1), m_dl_gprs_ctrs(NULL), m_dl_egprs_ctrs(NULL) { -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23195 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia92c24032dc1f8965008ff03a3a0a94bbb93893a Gerrit-Change-Number: 23195 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 Wed Mar 3 07:29:51 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 3 Mar 2021 07:29:51 +0000 Subject: Change in osmo-pcu[master]: tbf: log keep_open condition status In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23196 ) Change subject: tbf: log keep_open condition status ...................................................................... tbf: log keep_open condition status Change-Id: I069e84926aaa8f13b23c3ea4083b4c68dbc6cff2 --- M src/tbf_dl.cpp M tests/tbf/TbfTest.err 2 files changed, 11 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index 88bab7d..2896378 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -1352,13 +1352,21 @@ { int keep_time_frames; unsigned long dl_tbf_idle_msec; + int since_last_drain; + bool keep; dl_tbf_idle_msec = osmo_tdef_get(the_pcu->T_defs, -2031, OSMO_TDEF_MS, -1); if (dl_tbf_idle_msec == 0) return false; keep_time_frames = msecs_to_frames(dl_tbf_idle_msec); - return frames_since_last_drain(fn) <= keep_time_frames; + since_last_drain = frames_since_last_drain(fn); + keep = since_last_drain <= keep_time_frames; + + if (since_last_drain >= 0) + LOGPTBFDL(this, LOGL_DEBUG, "Keep idle TBF open: %d/%d -> %s\n", + since_last_drain, keep_time_frames, keep ? "yes" : "no"); + return keep; } /* diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index 6a2c541..1b0739f 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -432,6 +432,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==21 .. V(S)==21) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new dummy block at BSN 21, CS=CS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Empty chunk, added LLC dummy command of size 19, drained_since=0 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Keep idle TBF open: 0/43 -> yes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Complete DL frame, len=19 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) data block (BSN 21, CS-1): 4d 43 c0 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) need_padding 0 spb_status 0 spb 0 (BSN1 21 BSN2 -1) @@ -448,6 +449,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==22 .. V(S)==22) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new dummy block at BSN 22, CS=CS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Empty chunk, added LLC dummy command of size 19, drained_since=108 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Keep idle TBF open: 108/43 -> no TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Complete DL frame, len=19 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) changes state from FLOW to FINISHED TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) data block (BSN 22, CS-1): 4d 43 c0 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23196 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I069e84926aaa8f13b23c3ea4083b4c68dbc6cff2 Gerrit-Change-Number: 23196 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 Wed Mar 3 07:29:52 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 3 Mar 2021 07:29:52 +0000 Subject: Change in osmo-pcu[master]: tbf_dl: Fix m_last_dl_drained_fn not set under some conditions In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23197 ) Change subject: tbf_dl: Fix m_last_dl_drained_fn not set under some conditions ...................................................................... tbf_dl: Fix m_last_dl_drained_fn not set under some conditions Old commit getting rid of LLC UI dummy and updating create_new_bsn() function introduced a bug by not moving update of value m_last_dl_drained_fn prior to a new break introduced. As a result, the value is not updated in the case LLC queue becomes drained but last few bytes are drained at exactly that moment. Furthermore, then the IDLE tbf timer (X2031, keep_open())) returns always true since according to it the drain never happened. The impact of the bug is basically delaying a bit more than expected the time the TBF stays in IDLE state with the TBF release process yet to be started. Related: OS#4849 Fixes: 7d0f9a0ec383fcfca934731bd6979b6be6629c90 Change-Id: I7420aeffda3500bcdc990291e4a56511af433ff9 --- M src/tbf_dl.cpp M tests/tbf/TbfTest.err 2 files changed, 8 insertions(+), 8 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index 2896378..d963644 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -684,6 +684,10 @@ int payload_written = 0; if (llc_frame_length(&m_llc) == 0) { + /* The data just drained, store the current fn */ + if (m_last_dl_drained_fn < 0) + m_last_dl_drained_fn = fn; + /* It is not clear, when the next real data will * arrive, so request a DL ack/nack now */ request_dl_ack(); @@ -715,10 +719,6 @@ * space-1 octets */ m_llc.put_dummy_frame(space - 1); - /* The data just drained, store the current fn */ - if (m_last_dl_drained_fn < 0) - m_last_dl_drained_fn = fn; - LOGPTBFDL(this, LOGL_DEBUG, "Empty chunk, added LLC dummy command of size %d, drained_since=%d\n", llc_frame_length(&m_llc), frames_since_last_drain(fn)); diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index 1b0739f..515b649 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -431,8 +431,8 @@ Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==21 .. V(S)==21) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new dummy block at BSN 21, CS=CS-1 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Empty chunk, added LLC dummy command of size 19, drained_since=0 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Keep idle TBF open: 0/43 -> yes +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Empty chunk, added LLC dummy command of size 19, drained_since=4 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Keep idle TBF open: 4/43 -> yes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Complete DL frame, len=19 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) data block (BSN 21, CS-1): 4d 43 c0 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) need_padding 0 spb_status 0 spb 0 (BSN1 21 BSN2 -1) @@ -448,8 +448,8 @@ Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==22 .. V(S)==22) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new dummy block at BSN 22, CS=CS-1 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Empty chunk, added LLC dummy command of size 19, drained_since=108 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Keep idle TBF open: 108/43 -> no +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Empty chunk, added LLC dummy command of size 19, drained_since=112 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Keep idle TBF open: 112/43 -> no TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Complete DL frame, len=19 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) changes state from FLOW to FINISHED TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) data block (BSN 22, CS-1): 4d 43 c0 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23197 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I7420aeffda3500bcdc990291e4a56511af433ff9 Gerrit-Change-Number: 23197 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 Wed Mar 3 07:29:52 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 3 Mar 2021 07:29:52 +0000 Subject: Change in osmo-pcu[master]: tbf_dl: fix FBI not set upon X2031 = 0 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23198 ) Change subject: tbf_dl: fix FBI not set upon X2031 = 0 ...................................................................... tbf_dl: fix FBI not set upon X2031 = 0 If Idle TBF timer (X2031) is set to 0, it means the TBF release is immediately started once all queued data has been scheduled. In that case, we must set FBI=1 (by setting cv=0) and move to FINISH state. This used to work over the usual path where X2031 != 0, because release start will alays happen at a later sched poll time where a dummy LLC frame is sent and FBI set accordingly. Change-Id: Ib20602936ae084c413f6bfe14eea33b602020be0 --- M src/tbf_dl.cpp M tests/tbf/TbfTest.err 2 files changed, 33 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index d963644..44baa00 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -700,6 +700,16 @@ LOGPTBFDL(this, LOGL_DEBUG, "LLC queue completely drained and there's " "still %d free bytes in rlcmac data block\n", space); + + /* We may need to update fbi in header here + * since m_last_dl_drained_fn was updated above + * Specially important when X2031 is 0. */ + is_final = llc_queue_size(llc_queue()) == 0 && !keep_open(fn); + if (is_final) { + rdbi->cv = 0; + TBF_SET_STATE(this, GPRS_RLCMAC_FINISHED); + } + if (mcs_is_edge(cs)) { /* in EGPRS there's no M bit, so we need * to flag padding with LI=127 */ diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index 515b649..0f802a7 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -417,6 +417,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new block at BSN 20, CS=CS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Complete DL frame, len=200 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) LLC queue completely drained and there's still 17 free bytes in rlcmac data block +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Keep idle TBF open: 0/43 -> yes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) data block (BSN 20, CS-1): 09 c6 c7 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) need_padding 0 spb_status 0 spb 0 (BSN1 20 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs @@ -3432,6 +3433,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=10) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=10 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) LLC queue completely drained and there's still 11 free bytes in rlcmac data block +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Keep idle TBF open: 0/43 -> yes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 0, MCS-1): 14 ff 01 01 01 01 01 01 01 01 01 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 0 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs @@ -3677,6 +3679,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 24, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=512 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) LLC queue completely drained and there's still 15 free bytes in rlcmac data block +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Keep idle TBF open: 0/43 -> yes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 24, MCS-1): 0c ff 01 01 01 01 01 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 24 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs @@ -3736,6 +3739,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=10) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=10 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) LLC queue completely drained and there's still 17 free bytes in rlcmac data block +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Keep idle TBF open: 0/43 -> yes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 0, MCS-2): 14 ff 01 01 01 01 01 01 01 01 01 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 0 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs @@ -3931,6 +3935,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 19, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=512 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) LLC queue completely drained and there's still 19 free bytes in rlcmac data block +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Keep idle TBF open: 0/43 -> yes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 19, MCS-2): 10 ff 01 01 01 01 01 01 01 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 19 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs @@ -3990,6 +3995,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=10) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=10 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) LLC queue completely drained and there's still 26 free bytes in rlcmac data block +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Keep idle TBF open: 0/43 -> yes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 0, MCS-3): 14 ff 01 01 01 01 01 01 01 01 01 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 0 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs @@ -4135,6 +4141,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 14, CS=MCS-3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=512 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) LLC queue completely drained and there's still 5 free bytes in rlcmac data block +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Keep idle TBF open: 0/43 -> yes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 14, MCS-3): 3e ff 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 2b 2b 2b 2b TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 14 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs @@ -4194,6 +4201,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=10) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=10 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) LLC queue completely drained and there's still 33 free bytes in rlcmac data block +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Keep idle TBF open: 0/43 -> yes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 0, MCS-4): 14 ff 01 01 01 01 01 01 01 01 01 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 0 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs @@ -4319,6 +4327,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 12, CS=MCS-4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=512 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) LLC queue completely drained and there's still 15 free bytes in rlcmac data block +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Keep idle TBF open: 0/43 -> yes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 12, MCS-4): 38 ff 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 12 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs @@ -4378,6 +4387,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=10) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=10 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) LLC queue completely drained and there's still 45 free bytes in rlcmac data block +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Keep idle TBF open: 0/43 -> yes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 0, MCS-5): 14 ff 01 01 01 01 01 01 01 01 01 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 0 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs @@ -4483,6 +4493,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 10, CS=MCS-5 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=512 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) LLC queue completely drained and there's still 47 free bytes in rlcmac data block +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Keep idle TBF open: 0/43 -> yes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 10, MCS-5): 10 ff 01 01 01 01 01 01 01 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 10 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs @@ -4542,6 +4553,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=10) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=10 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) LLC queue completely drained and there's still 63 free bytes in rlcmac data block +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Keep idle TBF open: 0/43 -> yes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 0, MCS-6): 14 ff 01 01 01 01 01 01 01 01 01 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 0 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs @@ -4617,6 +4629,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 7, CS=MCS-6 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=512 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) LLC queue completely drained and there's still 5 free bytes in rlcmac data block +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Keep idle TBF open: 0/43 -> yes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 7, MCS-6): 88 ff 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 2b 2b 2b 2b TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 7 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs @@ -4676,6 +4689,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=10) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=10 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) LLC queue completely drained and there's still 45 free bytes in rlcmac data block +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Keep idle TBF open: 0/43 -> yes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 0, MCS-7): 14 ff 01 01 01 01 01 01 01 01 01 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Restarting at BSN 0, because all blocks have been transmitted (FLOW). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 0 BSN2 -1) @@ -4757,6 +4771,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 10, CS=MCS-7 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=512 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) LLC queue completely drained and there's still 47 free bytes in rlcmac data block +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Keep idle TBF open: 0/43 -> yes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 10, MCS-7): 10 ff 01 01 01 01 01 01 01 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Restarting at BSN 0, because all blocks have been transmitted (FLOW). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 10 BSN2 -1) @@ -4817,6 +4832,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=10) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=10 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) LLC queue completely drained and there's still 57 free bytes in rlcmac data block +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Keep idle TBF open: 0/43 -> yes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 0, MCS-8): 14 ff 01 01 01 01 01 01 01 01 01 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Restarting at BSN 0, because all blocks have been transmitted (FLOW). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 0 BSN2 -1) @@ -4886,6 +4902,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 8, CS=MCS-8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=512 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) LLC queue completely drained and there's still 31 free bytes in rlcmac data block +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Keep idle TBF open: 0/43 -> yes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 8, MCS-8): 48 ff 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Restarting at BSN 0, because all blocks have been transmitted (FLOW). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 8 BSN2 -1) @@ -4947,6 +4964,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=10) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=10 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) LLC queue completely drained and there's still 63 free bytes in rlcmac data block +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Keep idle TBF open: 0/43 -> yes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 0, MCS-9): 14 ff 01 01 01 01 01 01 01 01 01 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Restarting at BSN 0, because all blocks have been transmitted (FLOW). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 0 BSN2 -1) @@ -5004,6 +5022,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 7, CS=MCS-9 (forced) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=512 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) LLC queue completely drained and there's still 5 free bytes in rlcmac data block +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Keep idle TBF open: 0/43 -> yes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 7, MCS-9): 88 ff 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 2b 2b 2b 2b TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 6 BSN2 7) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 2 RLC blocks, 2 BSNs @@ -5231,6 +5250,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 1, CS=MCS-5 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=100 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) LLC queue completely drained and there's still 11 free bytes in rlcmac data block +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Keep idle TBF open: 0/43 -> yes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 1, MCS-5): 58 ff 38 39 3a 3b 3c 3d 3e 3f 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f 60 61 62 63 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 1 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs @@ -5301,6 +5321,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 1, CS=MCS-6 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=100 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) LLC queue completely drained and there's still 47 free bytes in rlcmac data block +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Keep idle TBF open: 0/43 -> yes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 1, MCS-6): 34 ff 4a 4b 4c 4d 4e 4f 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f 60 61 62 63 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 1 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs @@ -5366,6 +5387,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 1, CS=MCS-7 (forced) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=100 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) LLC queue completely drained and there's still 11 free bytes in rlcmac data block +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Keep idle TBF open: 0/43 -> yes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 1, MCS-7): 58 ff 38 39 3a 3b 3c 3d 3e 3f 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f 60 61 62 63 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 0 BSN2 1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 2 RLC blocks, 2 BSNs @@ -5436,6 +5458,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 1, CS=MCS-9 (forced) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=100 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) LLC queue completely drained and there's still 47 free bytes in rlcmac data block +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Keep idle TBF open: 0/43 -> yes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 1, MCS-9): 34 ff 4a 4b 4c 4d 4e 4f 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f 60 61 62 63 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 0 BSN2 1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 2 RLC blocks, 2 BSNs -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23198 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ib20602936ae084c413f6bfe14eea33b602020be0 Gerrit-Change-Number: 23198 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 Wed Mar 3 07:31:52 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 3 Mar 2021 07:31:52 +0000 Subject: Change in pysim[master]: start using python3 bytearray for our b2h/h2b types In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23174 ) Change subject: start using python3 bytearray for our b2h/h2b types ...................................................................... Patch Set 9: (1 comment) https://gerrit.osmocom.org/c/pysim/+/23174/9/pySim/utils.py File pySim/utils.py: https://gerrit.osmocom.org/c/pysim/+/23174/9/pySim/utils.py at 25 PS9, Line 25: """convert from a string of hex nibbles to a sequence of bytes""" you are changing the indent level from tab to four spaces here. let's not mix cosmetic changes with code changes. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23174 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I8aca84b6280f9702b0e2aba2c9759b4f312ab6a9 Gerrit-Change-Number: 23174 Gerrit-PatchSet: 9 Gerrit-Owner: laforge Gerrit-Assignee: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Comment-Date: Wed, 03 Mar 2021 07:31:52 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 3 07:38:33 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 3 Mar 2021 07:38:33 +0000 Subject: Change in pysim[master]: move SW matching to a generic utility function In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23171 ) Change subject: move SW matching to a generic utility function ...................................................................... Patch Set 8: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23171 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id26dfefa85d91e3b3a23e0049f3b833e29cb1cef Gerrit-Change-Number: 23171 Gerrit-PatchSet: 8 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 03 Mar 2021 07:38: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 Mar 3 07:38:37 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 3 Mar 2021 07:38:37 +0000 Subject: Change in pysim[master]: commands.py: rename select_file() to select_path() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23172 ) Change subject: commands.py: rename select_file() to select_path() ...................................................................... Patch Set 8: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23172 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I63e01155de4ae47aeed8500708c0eb6580c7b8d1 Gerrit-Change-Number: 23172 Gerrit-PatchSet: 8 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 03 Mar 2021 07:38: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 Mar 3 07:38:42 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 3 Mar 2021 07:38:42 +0000 Subject: Change in pysim[master]: commands.py: Introduce a real select_file() method In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23173 ) Change subject: commands.py: Introduce a real select_file() method ...................................................................... Patch Set 8: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23173 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I8bc86654c6d79f2428e196cc8a401e12d93a676b Gerrit-Change-Number: 23173 Gerrit-PatchSet: 8 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 03 Mar 2021 07:38: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 Mar 3 07:38:45 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 3 Mar 2021 07:38:45 +0000 Subject: Change in pysim[master]: move SW matching to a generic utility function In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/23171 ) Change subject: move SW matching to a generic utility function ...................................................................... move SW matching to a generic utility function This will allow using it outside the transport/__init__.py Change-Id: Id26dfefa85d91e3b3a23e0049f3b833e29cb1cef --- M pySim/transport/__init__.py M pySim/utils.py 2 files changed, 16 insertions(+), 9 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim/transport/__init__.py b/pySim/transport/__init__.py index 00c7bd9..d720259 100644 --- a/pySim/transport/__init__.py +++ b/pySim/transport/__init__.py @@ -4,6 +4,7 @@ """ from pySim.exceptions import * +from pySim.utils import sw_match # # Copyright (C) 2009-2010 Sylvain Munaut @@ -93,14 +94,6 @@ """ rv = self.send_apdu(pdu) - # Create a masked version of the returned status word - sw_masked = "" - for i in range(0, 4): - if sw.lower()[i] == '?': - sw_masked = sw_masked + '?' - else: - sw_masked = sw_masked + rv[1][i].lower() - - if sw.lower() != sw_masked: + if not sw_match(rv[1], sw): raise SwMatchError(rv[1], sw.lower()) return rv diff --git a/pySim/utils.py b/pySim/utils.py index a733d87..bfa147b 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -759,3 +759,17 @@ return 0x00 return None + +def sw_match(sw, pattern): + """Match given SW against given pattern.""" + # Create a masked version of the returned status word + sw_lower = sw.lower() + sw_masked = "" + for i in range(0, 4): + if sw_lower[i] == '?': + sw_masked = sw_masked + '?' + elif sw_lower[i] == 'x': + sw_masked = sw_masked + 'x' + else: + sw_masked = sw_masked + sw_lower[i] + return sw_masked == pattern -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23171 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id26dfefa85d91e3b3a23e0049f3b833e29cb1cef Gerrit-Change-Number: 23171 Gerrit-PatchSet: 8 Gerrit-Owner: laforge 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 Wed Mar 3 07:38:46 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 3 Mar 2021 07:38:46 +0000 Subject: Change in pysim[master]: commands.py: rename select_file() to select_path() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/23172 ) Change subject: commands.py: rename select_file() to select_path() ...................................................................... commands.py: rename select_file() to select_path() In reality, the function is not a simple avstraction around the SELECT command, but it iterates over a list/path and selects at each element. Change-Id: I63e01155de4ae47aeed8500708c0eb6580c7b8d1 --- M pySim/cards.py M pySim/commands.py 2 files changed, 37 insertions(+), 37 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved dexter: Looks good to me, but someone else must approve diff --git a/pySim/cards.py b/pySim/cards.py index dd8fe8b..61d2624 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -44,7 +44,7 @@ return def file_exists(self, fid): - res_arr = self._scc.try_select_file(fid) + res_arr = self._scc.try_select_path(fid) for res in res_arr: if res[1] != '9000': return False @@ -477,7 +477,7 @@ """ f = self._files['name'] - r = self._scc.select_file(['3f00', '7f4d', f[0]]) + r = self._scc.select_path(['3f00', '7f4d', f[0]]) rec_len = int(r[-1][28:30], 16) tlen = int(r[-1][4:8],16) rec_cnt = (tlen / rec_len) - 1 @@ -489,7 +489,7 @@ def program(self, p): # Go to dir - self._scc.select_file(['3f00', '7f4d']) + self._scc.select_path(['3f00', '7f4d']) # Home PLMN in PLMN_Sel format hplmn = enc_plmn(p['mcc'], p['mnc']) @@ -533,7 +533,7 @@ # FIXME # Write PLMN_Sel forcefully as well - r = self._scc.select_file(['3f00', '7f20', '6f30']) + r = self._scc.select_path(['3f00', '7f20', '6f30']) tl = int(r[-1][4:8], 16) hplmn = enc_plmn(p['mcc'], p['mnc']) @@ -607,7 +607,7 @@ and entry size """ - r = self._scc.select_file(['3f00', '000c']) + r = self._scc.select_path(['3f00', '000c']) rec_len = int(r[-1][28:30], 16) tlen = int(r[-1][4:8],16) rec_cnt = (tlen / rec_len) - 1 @@ -619,7 +619,7 @@ def program(self, p): # Home PLMN - r = self._scc.select_file(['3f00', '7f20', '6f30']) + r = self._scc.select_path(['3f00', '7f20', '6f30']) tl = int(r[-1][4:8], 16) hplmn = enc_plmn(p['mcc'], p['mnc']) @@ -674,11 +674,11 @@ self._scc.verify_chv(5, pin) # EF.ICCID - r = self._scc.select_file(['3f00', '2fe2']) + r = self._scc.select_path(['3f00', '2fe2']) data, sw = self._scc.update_binary('2fe2', enc_iccid(p['iccid'])) # EF.IMSI - r = self._scc.select_file(['3f00', '7f20', '6f07']) + r = self._scc.select_path(['3f00', '7f20', '6f07']) data, sw = self._scc.update_binary('6f07', enc_imsi(p['imsi'])) # EF.ACC @@ -687,7 +687,7 @@ # EF.SMSP if p.get('smsp'): - r = self._scc.select_file(['3f00', '7f10', '6f42']) + r = self._scc.select_path(['3f00', '7f10', '6f42']) data, sw = self._scc.update_record('6f42', 1, lpad(p['smsp'], 80)) # Set the Ki using proprietary command @@ -695,13 +695,13 @@ data, sw = self._scc._tp.send_apdu(pdu) # EF.HPLMN - r = self._scc.select_file(['3f00', '7f20', '6f30']) + r = self._scc.select_path(['3f00', '7f20', '6f30']) size = int(r[-1][4:8], 16) hplmn = enc_plmn(p['mcc'], p['mnc']) self._scc.update_binary('6f30', hplmn + 'ff' * (size-3)) # EF.SPN (Service Provider Name) - r = self._scc.select_file(['3f00', '7f20', '6f30']) + r = self._scc.select_path(['3f00', '7f20', '6f30']) size = int(r[-1][4:8], 16) # FIXME @@ -772,7 +772,7 @@ def program(self, p): # select MF - r = self._scc.select_file(['3f00']) + r = self._scc.select_path(['3f00']) # authenticate as SUPER ADM using default key self._scc.verify_chv(0x0b, h2b("3838383838383838")) @@ -798,7 +798,7 @@ data, sw = self._scc.update_binary('2fe2', enc_iccid(p['iccid'])) # select DF_GSM - r = self._scc.select_file(['7f20']) + r = self._scc.select_path(['7f20']) # write EF.IMSI data, sw = self._scc.update_binary('6f07', enc_imsi(p['imsi'])) @@ -808,7 +808,7 @@ data, sw = self._scc.update_binary('6f78', lpad(p['acc'], 4)) # get size and write EF.HPLMN - r = self._scc.select_file(['6f30']) + r = self._scc.select_path(['6f30']) size = int(r[-1][4:8], 16) hplmn = enc_plmn(p['mcc'], p['mnc']) self._scc.update_binary('6f30', hplmn + 'ff' * (size-3)) @@ -820,7 +820,7 @@ data, sw = self._scc.update_binary('0001', p['ki'], 3) # select DF_TELECOM - r = self._scc.select_file(['3f00', '7f10']) + r = self._scc.select_path(['3f00', '7f10']) # write EF.SMSP if p.get('smsp'): @@ -862,13 +862,13 @@ self.verify_adm(h2b(p['pin_adm'])) # select MF - r = self._scc.select_file(['3f00']) + r = self._scc.select_path(['3f00']) # write EF.ICCID data, sw = self._scc.update_binary('2fe2', enc_iccid(p['iccid'])) # select DF_GSM - r = self._scc.select_file(['7f20']) + r = self._scc.select_path(['7f20']) # set Ki in proprietary file data, sw = self._scc.update_binary('00FF', p['ki']) @@ -921,7 +921,7 @@ # EF.SMSP if p.get('smsp'): - r = self._scc.select_file(['3f00', '7f10']) + r = self._scc.select_path(['3f00', '7f10']) data, sw = self._scc.update_record('6f42', 1, lpad(p['smsp'], 104), force_len=True) # EF.MSISDN @@ -932,7 +932,7 @@ msisdn = enc_msisdn(p['msisdn']) data = 'ff' * 20 + msisdn + 'ff' * 2 - r = self._scc.select_file(['3f00', '7f10']) + r = self._scc.select_path(['3f00', '7f10']) data, sw = self._scc.update_record('6F40', 1, data, force_len=True) @@ -1106,12 +1106,12 @@ self._scc.verify_chv(0x0A, h2b(p['pin_adm'])) # select MF - r = self._scc.select_file(['3f00']) + r = self._scc.select_path(['3f00']) # write EF.ICCID data, sw = self._scc.update_binary('2fe2', enc_iccid(p['iccid'])) - r = self._scc.select_file(['7ff0']) + r = self._scc.select_path(['7ff0']) # set Ki in proprietary file data, sw = self._scc.update_binary('FF02', p['ki']) @@ -1120,7 +1120,7 @@ data, sw = self._scc.update_binary('FF01', p['opc']) # select DF_GSM - r = self._scc.select_file(['7f20']) + r = self._scc.select_path(['7f20']) # write EF.IMSI data, sw = self._scc.update_binary('6f07', enc_imsi(p['imsi'])) @@ -1269,7 +1269,7 @@ print("Warning: Programming of the ICCID is not implemented for this type of card.") # select DF_GSM - self._scc.select_file(['7f20']) + self._scc.select_path(['7f20']) # write EF.IMSI if p.get('imsi'): @@ -1307,7 +1307,7 @@ # EF.SMSP if p.get('smsp'): - r = self._scc.select_file(['3f00', '7f10']) + r = self._scc.select_path(['3f00', '7f10']) data, sw = self._scc.update_record('6f42', 1, lpad(p['smsp'], 104), force_len=True) # EF.MSISDN @@ -1318,7 +1318,7 @@ msisdn = enc_msisdn(p['msisdn']) content = 'ff' * 20 + msisdn + 'ff' * 2 - r = self._scc.select_file(['3f00', '7f10']) + r = self._scc.select_path(['3f00', '7f10']) data, sw = self._scc.update_record('6F40', 1, content, force_len=True) # EF.ACC @@ -1332,8 +1332,8 @@ # update EF-SIM_AUTH_KEY (and EF-USIM_AUTH_KEY_2G, which is # hard linked to EF-USIM_AUTH_KEY) - self._scc.select_file(['3f00']) - self._scc.select_file(['a515']) + self._scc.select_path(['3f00']) + self._scc.select_path(['a515']) if p.get('ki'): self._scc.update_binary('6f20', p['ki'], 1) if p.get('opc'): diff --git a/pySim/commands.py b/pySim/commands.py index 327de57..d6159ea 100644 --- a/pySim/commands.py +++ b/pySim/commands.py @@ -99,7 +99,7 @@ def sel_ctrl(self, value): self._sel_ctrl = value - def try_select_file(self, dir_list): + def try_select_path(self, dir_list): rv = [] if type(dir_list) is not list: dir_list = [dir_list] @@ -110,7 +110,7 @@ return rv return rv - def select_file(self, dir_list): + def select_path(self, dir_list): rv = [] if type(dir_list) is not list: dir_list = [dir_list] @@ -124,7 +124,7 @@ return self._tp.send_apdu_checksw(self.cla_byte + "a4" + "0404" + aidlen + aid) def read_binary(self, ef, length=None, offset=0): - r = self.select_file(ef) + r = self.select_path(ef) if len(r[-1]) == 0: return (None, None) if length is None: @@ -142,7 +142,7 @@ return total_data, sw def update_binary(self, ef, data, offset=0, verify=False): - self.select_file(ef) + self.select_path(ef) pdu = self.cla_byte + 'd6%04x%02x' % (offset, len(data) // 2) + data res = self._tp.send_apdu_checksw(pdu) if verify: @@ -155,13 +155,13 @@ raise ValueError('Binary verification failed (expected %s, got %s)' % (data.lower(), res[0].lower())) def read_record(self, ef, rec_no): - r = self.select_file(ef) + r = self.select_path(ef) rec_length = self.__record_len(r) pdu = self.cla_byte + 'b2%02x04%02x' % (rec_no, rec_length) return self._tp.send_apdu(pdu) def update_record(self, ef, rec_no, data, force_len=False, verify=False): - r = self.select_file(ef) + r = self.select_path(ef) if not force_len: rec_length = self.__record_len(r) if (len(data) // 2 != rec_length): @@ -180,21 +180,21 @@ raise ValueError('Record verification failed (expected %s, got %s)' % (data.lower(), res[0].lower())) def record_size(self, ef): - r = self.select_file(ef) + r = self.select_path(ef) return self.__record_len(r) def record_count(self, ef): - r = self.select_file(ef) + r = self.select_path(ef) return self.__len(r) // self.__record_len(r) def binary_size(self, ef): - r = self.select_file(ef) + r = self.select_path(ef) return self.__len(r) def run_gsm(self, rand): if len(rand) != 32: raise ValueError('Invalid rand') - self.select_file(['3f00', '7f20']) + self.select_path(['3f00', '7f20']) return self._tp.send_apdu(self.cla_byte + '88000010' + rand) def reset_card(self): -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23172 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I63e01155de4ae47aeed8500708c0eb6580c7b8d1 Gerrit-Change-Number: 23172 Gerrit-PatchSet: 8 Gerrit-Owner: laforge 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 Wed Mar 3 07:38:46 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 3 Mar 2021 07:38:46 +0000 Subject: Change in pysim[master]: commands.py: Introduce a real select_file() method In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/23173 ) Change subject: commands.py: Introduce a real select_file() method ...................................................................... commands.py: Introduce a real select_file() method This method, like select_adf(), only selects a single file ID and unlike select_path() returns the actual status words returned by the card. Change-Id: I8bc86654c6d79f2428e196cc8a401e12d93a676b --- M pySim/commands.py 1 file changed, 4 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved dexter: Looks good to me, but someone else must approve diff --git a/pySim/commands.py b/pySim/commands.py index d6159ea..2fb1041 100644 --- a/pySim/commands.py +++ b/pySim/commands.py @@ -115,10 +115,13 @@ if type(dir_list) is not list: dir_list = [dir_list] for i in dir_list: - data, sw = self._tp.send_apdu_checksw(self.cla_byte + "a4" + self.sel_ctrl + "02" + i) + data, sw = self.select_file(i) rv.append(data) return rv + def select_file(self, fid): + return self._tp.send_apdu_checksw(self.cla_byte + "a4" + self.sel_ctrl + "02" + fid) + def select_adf(self, aid): aidlen = ("0" + format(len(aid) // 2, 'x'))[-2:] return self._tp.send_apdu_checksw(self.cla_byte + "a4" + "0404" + aidlen + aid) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23173 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I8bc86654c6d79f2428e196cc8a401e12d93a676b Gerrit-Change-Number: 23173 Gerrit-PatchSet: 8 Gerrit-Owner: laforge 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 Wed Mar 3 07:39:26 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 3 Mar 2021 07:39:26 +0000 Subject: Change in pysim[master]: start using python3 bytearray for our b2h/h2b types In-Reply-To: References: Message-ID: Hello Jenkins Builder, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/23174 to look at the new patch set (#10). Change subject: start using python3 bytearray for our b2h/h2b types ...................................................................... start using python3 bytearray for our b2h/h2b types The code was written long ago, when the python3 bytearray type probably didn't exist yet, or was at least not known. Let's stop using string types with binary bytes inside, and instead standardize on two types: * bytearray for binary data * string for hexadecimal nibbles representing that binary data Change-Id: I8aca84b6280f9702b0e2aba2c9759b4f312ab6a9 --- M pySim/cards.py M pySim/utils.py 2 files changed, 12 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/74/23174/10 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23174 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I8aca84b6280f9702b0e2aba2c9759b4f312ab6a9 Gerrit-Change-Number: 23174 Gerrit-PatchSet: 10 Gerrit-Owner: laforge Gerrit-Assignee: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 3 07:40:02 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 3 Mar 2021 07:40:02 +0000 Subject: Change in pysim[master]: start using python3 bytearray for our b2h/h2b types In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23174 ) Change subject: start using python3 bytearray for our b2h/h2b types ...................................................................... Patch Set 10: Code-Review+2 (1 comment) https://gerrit.osmocom.org/c/pysim/+/23174/9/pySim/utils.py File pySim/utils.py: https://gerrit.osmocom.org/c/pysim/+/23174/9/pySim/utils.py at 25 PS9, Line 25: """convert from a string of hex nibbles to a sequence of bytes""" > you are changing the indent level from tab to four spaces here. [?] Done -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23174 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I8aca84b6280f9702b0e2aba2c9759b4f312ab6a9 Gerrit-Change-Number: 23174 Gerrit-PatchSet: 10 Gerrit-Owner: laforge Gerrit-Assignee: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 03 Mar 2021 07:40:02 +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 Wed Mar 3 07:40:40 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 3 Mar 2021 07:40:40 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce test TC_dl_no_ack_retrans_imm_ass In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23199 ) Change subject: pcu: Introduce test TC_dl_no_ack_retrans_imm_ass ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23199 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1c1d89f3de9ba158f802e7759ef78dc84f48218f Gerrit-Change-Number: 23199 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 03 Mar 2021 07:40: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 Mar 3 07:40:59 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 3 Mar 2021 07:40:59 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce tests to validate X2301 and T3191 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23200 ) Change subject: pcu: Introduce tests to validate X2301 and T3191 ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23200 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib6dfc5711b9c6f1fd404bce424bbf4b115fc930e Gerrit-Change-Number: 23200 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 03 Mar 2021 07:40: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 Mar 3 07:41:04 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 3 Mar 2021 07:41:04 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce test TC_dl_no_ack_retrans_imm_ass In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23199 ) Change subject: pcu: Introduce test TC_dl_no_ack_retrans_imm_ass ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23199 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1c1d89f3de9ba158f802e7759ef78dc84f48218f Gerrit-Change-Number: 23199 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 03 Mar 2021 07:41: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 Mar 3 07:42:06 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 3 Mar 2021 07:42:06 +0000 Subject: Change in pysim[master]: start using python3 bytearray for our b2h/h2b types In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/23174 ) Change subject: start using python3 bytearray for our b2h/h2b types ...................................................................... start using python3 bytearray for our b2h/h2b types The code was written long ago, when the python3 bytearray type probably didn't exist yet, or was at least not known. Let's stop using string types with binary bytes inside, and instead standardize on two types: * bytearray for binary data * string for hexadecimal nibbles representing that binary data Change-Id: I8aca84b6280f9702b0e2aba2c9759b4f312ab6a9 --- M pySim/cards.py M pySim/utils.py 2 files changed, 12 insertions(+), 8 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/pySim/cards.py b/pySim/cards.py index 61d2624..8b51787 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -631,7 +631,7 @@ # Set first entry entry = ( '81' + # 1b Status: Valid & Active - rpad(b2h(p['name'][0:14]), 28) + # 14b Entry Name + rpad(s2h(p['name'][0:14]), 28) + # 14b Entry Name enc_iccid(p['iccid']) + # 10b ICCID enc_imsi(p['imsi']) + # 9b IMSI_len + id_type(9) + IMSI p['ki'] + # 16b Ki diff --git a/pySim/utils.py b/pySim/utils.py index bfa147b..5320b59 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -22,10 +22,12 @@ def h2b(s): - return ''.join([chr((int(x,16)<<4)+int(y,16)) for x,y in zip(s[0::2], s[1::2])]) + """convert from a string of hex nibbles to a sequence of bytes""" + return bytearray.fromhex(s) -def b2h(s): - return ''.join(['%02x'%ord(x) for x in s]) +def b2h(b): + """convert from a sequence of bytes to a string of hex nibbles""" + return ''.join(['%02x'%(x) for x in b]) def h2i(s): return [(int(x,16)<<4)+int(y,16) for x,y in zip(s[0::2], s[1::2])] @@ -38,7 +40,9 @@ if int(x + y, 16) != 0xff]) def s2h(s): - return b2h(s) + b = bytearray() + b.extend(map(ord, s)) + return b2h(b) # List of bytes to string def i2s(s): @@ -334,7 +338,7 @@ msisdn_lhv = ef_msisdn[xlen:] # Parse the length (in bytes) of the BCD encoded number - bcd_len = ord(msisdn_lhv[0]) + bcd_len = msisdn_lhv[0] # BCD length = length of dial num (max. 10 bytes) + 1 byte ToN and NPI if bcd_len == 0xff: return None @@ -342,8 +346,8 @@ raise ValueError("Length of MSISDN (%d bytes) is out of range" % bcd_len) # Parse ToN / NPI - ton = (ord(msisdn_lhv[1]) >> 4) & 0x07 - npi = ord(msisdn_lhv[1]) & 0x0f + ton = (msisdn_lhv[1] >> 4) & 0x07 + npi = msisdn_lhv[1] & 0x0f bcd_len -= 1 # No MSISDN? -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23174 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I8aca84b6280f9702b0e2aba2c9759b4f312ab6a9 Gerrit-Change-Number: 23174 Gerrit-PatchSet: 10 Gerrit-Owner: laforge Gerrit-Assignee: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 3 07:45:16 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 3 Mar 2021 07:45:16 +0000 Subject: Change in pysim[master]: Add a new pySim-shell program 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/+/23175 to look at the new patch set (#7). Change subject: Add a new pySim-shell program ...................................................................... Add a new pySim-shell program pySim-prog was nice when there were only 5 parameters on a SIM that we could program, and where the use case was pretty limited. Today, we have SIM/USIM/ISIM cards with hundreds of files and even more parameters to program. We cannot add a command line argument for each file to pySim-prog. Instead, this introduces an interactive command-line shell / REPL, in which one can navigate the file system of the card, read and update files both in raw format and in decoded/parsed format. The idea is primarily inspired by Henryk Ploatz' venerable cyberflex-shell, but implemented on a more modern basis using the cmd2 python module. See https://lists.osmocom.org/pipermail/simtrace/2021-January/000860.html and https://lists.osmocom.org/pipermail/simtrace/2021-February/000864.html for some related background. Most code by Harald Welte. Some bug fixes by Philipp Maier have been squashed. Change-Id: Iad117596e922223bdc1e5b956f84844b7c577e02 Related: OS#4963 --- M contrib/jenkins.sh A pySim-shell.py M pySim/exceptions.py A pySim/filesystem.py A pySim/ts_102_221.py M pySim/ts_31_102.py M pySim/ts_31_103.py M pySim/ts_51_011.py 8 files changed, 1,800 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/75/23175/7 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23175 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Iad117596e922223bdc1e5b956f84844b7c577e02 Gerrit-Change-Number: 23175 Gerrit-PatchSet: 7 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 Wed Mar 3 07:49:33 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 3 Mar 2021 07:49:33 +0000 Subject: Change in libosmocore[master]: gprs_ns2: don't OSMO_ASSERT() while freeing NS-VC. In-Reply-To: References: Message-ID: laforge has uploaded a new patch set (#2) to the change originally created by lynxis lazus. ( https://gerrit.osmocom.org/c/libosmocore/+/23183 ) Change subject: gprs_ns2: don't OSMO_ASSERT() while freeing NS-VC. ...................................................................... gprs_ns2: don't OSMO_ASSERT() while freeing NS-VC. When freeing the NS-VC there are cases when the NSE is still alive. This means that gprs_ns2_free_nsvc() calls ns2_prim_status_ind(), which in turn calls ns2_count_transfer_cap(). The latter must deal with such a situation rather than OSMO_ASSERT() Change-Id: I4f32dee705c9886717339fe7cce5b4cd8d2c18f7 --- M src/gb/gprs_ns2.c 1 file changed, 3 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/83/23183/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23183 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4f32dee705c9886717339fe7cce5b4cd8d2c18f7 Gerrit-Change-Number: 23183 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder 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 Wed Mar 3 07:49:57 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 3 Mar 2021 07:49:57 +0000 Subject: Change in libosmocore[master]: gprs_ns2: don't OSMO_ASSERT() while freeing NS-VC. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23183 ) Change subject: gprs_ns2: don't OSMO_ASSERT() while freeing NS-VC. ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23183 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4f32dee705c9886717339fe7cce5b4cd8d2c18f7 Gerrit-Change-Number: 23183 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 03 Mar 2021 07:49: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 Mar 3 07:50:00 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 3 Mar 2021 07:50:00 +0000 Subject: Change in libosmocore[master]: gprs_ns2: don't OSMO_ASSERT() while freeing NS-VC. In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23183 ) Change subject: gprs_ns2: don't OSMO_ASSERT() while freeing NS-VC. ...................................................................... gprs_ns2: don't OSMO_ASSERT() while freeing NS-VC. When freeing the NS-VC there are cases when the NSE is still alive. This means that gprs_ns2_free_nsvc() calls ns2_prim_status_ind(), which in turn calls ns2_count_transfer_cap(). The latter must deal with such a situation rather than OSMO_ASSERT() Change-Id: I4f32dee705c9886717339fe7cce5b4cd8d2c18f7 --- M src/gb/gprs_ns2.c 1 file changed, 3 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/gb/gprs_ns2.c b/src/gb/gprs_ns2.c index a79dd05..c56b0b5 100644 --- a/src/gb/gprs_ns2.c +++ b/src/gb/gprs_ns2.c @@ -1455,8 +1455,9 @@ if (ns2_vc_is_unblocked(nsvc)) active_nsvcs++; } - /* an alive nse should always have active_nsvcs */ - OSMO_ASSERT(active_nsvcs); + + if (!active_nsvcs) + return 0; active_binds = talloc_zero_array(nse, struct gprs_ns2_vc_bind*, active_nsvcs); if (!active_binds) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23183 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4f32dee705c9886717339fe7cce5b4cd8d2c18f7 Gerrit-Change-Number: 23183 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus 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 Wed Mar 3 07:51:02 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 3 Mar 2021 07:51:02 +0000 Subject: Change in pysim[master]: Add a new pySim-shell program In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23175 ) Change subject: Add a new pySim-shell program ...................................................................... Patch Set 7: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23175 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Iad117596e922223bdc1e5b956f84844b7c577e02 Gerrit-Change-Number: 23175 Gerrit-PatchSet: 7 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 03 Mar 2021 07:51:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 3 07:51:10 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 3 Mar 2021 07:51:10 +0000 Subject: Change in pysim[master]: Add a new pySim-shell program In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/23175 ) Change subject: Add a new pySim-shell program ...................................................................... Add a new pySim-shell program pySim-prog was nice when there were only 5 parameters on a SIM that we could program, and where the use case was pretty limited. Today, we have SIM/USIM/ISIM cards with hundreds of files and even more parameters to program. We cannot add a command line argument for each file to pySim-prog. Instead, this introduces an interactive command-line shell / REPL, in which one can navigate the file system of the card, read and update files both in raw format and in decoded/parsed format. The idea is primarily inspired by Henryk Ploatz' venerable cyberflex-shell, but implemented on a more modern basis using the cmd2 python module. See https://lists.osmocom.org/pipermail/simtrace/2021-January/000860.html and https://lists.osmocom.org/pipermail/simtrace/2021-February/000864.html for some related background. Most code by Harald Welte. Some bug fixes by Philipp Maier have been squashed. Change-Id: Iad117596e922223bdc1e5b956f84844b7c577e02 Related: OS#4963 --- M contrib/jenkins.sh A pySim-shell.py M pySim/exceptions.py A pySim/filesystem.py A pySim/ts_102_221.py M pySim/ts_31_102.py M pySim/ts_31_103.py M pySim/ts_51_011.py 8 files changed, 1,800 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index 5ba2c8d..bfbf4e0 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -13,6 +13,7 @@ . venv/bin/activate pip install pytlv pip install pyyaml +pip install cmd2 cd pysim-testdata ../tests/pysim-test.sh diff --git a/pySim-shell.py b/pySim-shell.py new file mode 100755 index 0000000..ce9630a --- /dev/null +++ b/pySim-shell.py @@ -0,0 +1,213 @@ +#!/usr/bin/env python3 + +# Interactive shell for working with SIM / UICC / USIM / ISIM cards +# +# (C) 2021 by Harald Welte +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +from typing import List + +import json + +import cmd2 +from cmd2 import style, fg, bg +from cmd2 import CommandSet, with_default_category, with_argparser +import argparse + +import os +import sys +from optparse import OptionParser + +from pySim.ts_51_011 import EF, DF, EF_SST_map, EF_AD_mode_map +from pySim.ts_31_102 import EF_UST_map, EF_USIM_ADF_map +from pySim.ts_31_103 import EF_IST_map, EF_ISIM_ADF_map + +from pySim.exceptions import * +from pySim.commands import SimCardCommands +from pySim.cards import card_detect, Card +from pySim.utils import h2b, swap_nibbles, rpad, h2s +from pySim.utils import dec_st, init_reader, sanitize_pin_adm +from pySim.card_handler import card_handler + +from pySim.filesystem import CardMF, RuntimeState +from pySim.ts_51_011 import CardProfileSIM, DF_TELECOM, DF_GSM +from pySim.ts_102_221 import CardProfileUICC +from pySim.ts_31_102 import ADF_USIM +from pySim.ts_31_103 import ADF_ISIM + +class PysimApp(cmd2.Cmd): + CUSTOM_CATEGORY = 'pySim Commands' + def __init__(self, card, rs): + basic_commands = [Iso7816Commands(), UsimCommands()] + super().__init__(persistent_history_file='~/.pysim_shell_history', allow_cli_args=False, + use_ipython=True, auto_load_commands=False, command_sets=basic_commands) + self.intro = style('Welcome to pySim-shell!', fg=fg.red) + self.default_category = 'pySim-shell built-in commands' + self.card = card + self.rs = rs + self.py_locals = { 'card': self.card, 'rs' : self.rs } + self.card.read_aids() + self.poutput('AIDs on card: %s' % (self.card._aids)) + self.numeric_path = False + self.add_settable(cmd2.Settable('numeric_path', bool, 'Print File IDs instead of names', + onchange_cb=self._onchange_numeric_path)) + self.update_prompt() + + def _onchange_numeric_path(self, param_name, old, new): + self.update_prompt() + + def update_prompt(self): + path_list = self.rs.selected_file.fully_qualified_path(not self.numeric_path) + self.prompt = 'pySIM-shell (%s)> ' % ('/'.join(path_list)) + + @cmd2.with_category(CUSTOM_CATEGORY) + def do_intro(self, _): + """Display the intro banner""" + self.poutput(self.intro) + + @cmd2.with_category(CUSTOM_CATEGORY) + def do_verify_adm(self, arg): + """VERIFY the ADM1 PIN""" + pin_adm = sanitize_pin_adm(arg) + self.card.verify_adm(h2b(pin_adm)) + + + + at with_default_category('ISO7816 Commands') +class Iso7816Commands(CommandSet): + def __init__(self): + super().__init__() + + def do_select(self, opts): + """SELECT a File (ADF/DF/EF)""" + path = opts.arg_list[0] + fcp_dec = self._cmd.rs.select(path, self._cmd) + self._cmd.update_prompt() + self._cmd.poutput(json.dumps(fcp_dec, indent=4)) + + def complete_select(self, text, line, begidx, endidx) -> List[str]: + """Command Line tab completion for SELECT""" + index_dict = { 1: self._cmd.rs.selected_file.get_selectable_names() } + return self._cmd.index_based_complete(text, line, begidx, endidx, index_dict=index_dict) + + verify_chv_parser = argparse.ArgumentParser() + verify_chv_parser.add_argument('--chv-nr', type=int, default=1, help='CHV Number') + verify_chv_parser.add_argument('code', help='CODE/PIN/PUK') + + @cmd2.with_argparser(verify_chv_parser) + def do_verify_chv(self, opts): + """Verify (authenticate) using specified CHV (PIN)""" + (data, sw) = self._cmd.card._scc.verify_chv(opts.chv_nr, opts.code) + self._cmd.poutput(data) + + + + + at with_default_category('USIM Commands') +class UsimCommands(CommandSet): + def __init__(self): + super().__init__() + + def do_read_ust(self, _): + """Read + Display the EF.UST""" + self._cmd.card.select_adf_by_aid(adf="usim") + (res, sw) = self._cmd.card.read_ust() + self._cmd.poutput(res[0]) + self._cmd.poutput(res[1]) + + def do_read_ehplmn(self, _): + """Read EF.EHPLMN""" + self._cmd.card.select_adf_by_aid(adf="usim") + (res, sw) = self._cmd.card.read_ehplmn() + self._cmd.poutput(res) + +def parse_options(): + + parser = OptionParser(usage="usage: %prog [options]") + + parser.add_option("-d", "--device", dest="device", metavar="DEV", + help="Serial Device for SIM access [default: %default]", + default="/dev/ttyUSB0", + ) + parser.add_option("-b", "--baud", dest="baudrate", type="int", metavar="BAUD", + help="Baudrate used for SIM access [default: %default]", + default=9600, + ) + parser.add_option("-p", "--pcsc-device", dest="pcsc_dev", type='int', metavar="PCSC", + help="Which PC/SC reader number for SIM access", + default=None, + ) + parser.add_option("--modem-device", dest="modem_dev", metavar="DEV", + help="Serial port of modem for Generic SIM Access (3GPP TS 27.007)", + default=None, + ) + parser.add_option("--modem-baud", dest="modem_baud", type="int", metavar="BAUD", + help="Baudrate used for modem's port [default: %default]", + default=115200, + ) + parser.add_option("--osmocon", dest="osmocon_sock", metavar="PATH", + help="Socket path for Calypso (e.g. Motorola C1XX) based reader (via OsmocomBB)", + default=None, + ) + + parser.add_option("-a", "--pin-adm", dest="pin_adm", + help="ADM PIN used for provisioning (overwrites default)", + ) + parser.add_option("-A", "--pin-adm-hex", dest="pin_adm_hex", + help="ADM PIN used for provisioning, as hex string (16 characters long", + ) + + (options, args) = parser.parse_args() + + if args: + parser.error("Extraneous arguments") + + return options + + + +if __name__ == '__main__': + + # Parse options + opts = parse_options() + + # Init card reader driver + sl = init_reader(opts) + if (sl == None): + exit(1) + + # Create command layer + scc = SimCardCommands(transport=sl) + + sl.wait_for_card(); + + card_handler = card_handler(sl) + + card = card_detect("auto", scc) + if card is None: + print("No card detected!") + sys.exit(2) + + profile = CardProfileUICC() + rs = RuntimeState(card, profile) + + # FIXME: do this dynamically + rs.mf.add_file(DF_TELECOM()) + rs.mf.add_file(DF_GSM()) + rs.mf.add_application(ADF_USIM()) + rs.mf.add_application(ADF_ISIM()) + + app = PysimApp(card, rs) + app.cmdloop() diff --git a/pySim/exceptions.py b/pySim/exceptions.py index 5d30f76..156ec62 100644 --- a/pySim/exceptions.py +++ b/pySim/exceptions.py @@ -41,8 +41,13 @@ class SwMatchError(Exception): """Raised when an operation specifies an expected SW but the actual SW from the card doesn't match.""" - def __init__(self, sw_actual, sw_expected): + def __init__(self, sw_actual, sw_expected, rs=None): self.sw_actual = sw_actual self.sw_expected = sw_expected + self.rs = rs def __str__(self): + if self.rs: + r = self.rs.interpret_sw(sw_actual) + if r: + return "SW match failed! Expected %s and got %s: %s - %s" % (self.sw_expected, self.sw_actual, r[0], r[1]) return "SW match failed! Expected %s and got %s." % (self.sw_expected, self.sw_actual) diff --git a/pySim/filesystem.py b/pySim/filesystem.py new file mode 100644 index 0000000..2bcbe10 --- /dev/null +++ b/pySim/filesystem.py @@ -0,0 +1,715 @@ +# coding=utf-8 +"""Representation of the ISO7816-4 filesystem model. + +The File (and its derived classes) represent the structure / hierarchy +of the ISO7816-4 smart card file system with the MF, DF, EF and ADF +entries, further sub-divided into the EF sub-types Transparent, Linear Fixed, etc. + +The classes are intended to represent the *specification* of the filesystem, +not the actual contents / runtime state of interacting with a given smart card. + +(C) 2021 by Harald Welte + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +""" + +import code +import json + +import cmd2 +from cmd2 import CommandSet, with_default_category, with_argparser +import argparse + +from pySim.utils import sw_match, h2b, b2h +from pySim.exceptions import * + +class CardFile(object): + """Base class for all objects in the smart card filesystem. + Serve as a common ancestor to all other file types; rarely used directly. + """ + RESERVED_NAMES = ['..', '.', '/', 'MF'] + RESERVED_FIDS = ['3f00'] + + def __init__(self, fid=None, sfid=None, name=None, desc=None, parent=None): + if not isinstance(self, CardADF) and fid == None: + raise ValueError("fid is mandatory") + if fid: + fid = fid.lower() + self.fid = fid # file identifier + self.sfid = sfid # short file identifier + self.name = name # human readable name + self.desc = desc # human readable description + self.parent = parent + if self.parent and self.parent != self and self.fid: + self.parent.add_file(self) + self.shell_commands = [] + + def __str__(self): + if self.name: + return self.name + else: + return self.fid + + def _path_element(self, prefer_name): + if prefer_name and self.name: + return self.name + else: + return self.fid + + def fully_qualified_path(self, prefer_name=True): + """Return fully qualified path to file as list of FID or name strings.""" + if self.parent != self: + ret = self.parent.fully_qualified_path(prefer_name) + else: + ret = [] + ret.append(self._path_element(prefer_name)) + return ret + + def get_mf(self): + """Return the MF (root) of the file system.""" + if self.parent == None: + return None + # iterate towards the top. MF has parent == self + node = self + while node.parent != node: + node = node.parent + return node + + def _get_self_selectables(self, alias=None): + """Return a dict of {'identifier': self} tuples""" + sels = {} + if alias: + sels.update({alias: self}) + if self.fid: + sels.update({self.fid: self}) + if self.name: + sels.update({self.name: self}) + return sels + + def get_selectables(self): + """Return a dict of {'identifier': File} that is selectable from the current file.""" + # we can always select ourself + sels = self._get_self_selectables('.') + # we can always select our parent + sels = self.parent._get_self_selectables('..') + # if we have a MF, we can always select its applications + mf = self.get_mf() + if mf: + sels.update(mf._get_self_selectables()) + sels.update(mf.get_app_selectables()) + return sels + + def get_selectable_names(self): + """Return a list of strings for all identifiers that are selectable from the current file.""" + sels = self.get_selectables() + return sels.keys() + + def decode_select_response(self, data_hex): + """Decode the response to a SELECT command.""" + return self.parent.decode_select_response(data_hex) + + +class CardDF(CardFile): + """DF (Dedicated File) in the smart card filesystem. Those are basically sub-directories.""" + def __init__(self, **kwargs): + if not isinstance(self, CardADF): + if not 'fid' in kwargs: + raise TypeError('fid is mandatory for all DF') + super().__init__(**kwargs) + self.children = dict() + + def __str__(self): + return "DF(%s)" % (super().__str__()) + + def add_file(self, child, ignore_existing=False): + """Add a child (DF/EF) to this DF""" + if not isinstance(child, CardFile): + raise TypeError("Expected a File instance") + if child.name in CardFile.RESERVED_NAMES: + raise ValueError("File name %s is a reserved name" % (child.name)) + if child.fid in CardFile.RESERVED_FIDS: + raise ValueError("File fid %s is a reserved name" % (child.fid)) + if child.fid in self.children: + if ignore_existing: + return + raise ValueError("File with given fid %s already exists" % (child.fid)) + if self.lookup_file_by_sfid(child.sfid): + raise ValueError("File with given sfid %s already exists" % (child.sfid)) + if self.lookup_file_by_name(child.name): + if ignore_existing: + return + raise ValueError("File with given name %s already exists" % (child.name)) + self.children[child.fid] = child + child.parent = self + + def add_files(self, children, ignore_existing=False): + """Add a list of child (DF/EF) to this DF""" + for child in children: + self.add_file(child, ignore_existing) + + def get_selectables(self): + """Get selectable (DF/EF names) from current DF""" + # global selectables + our children + sels = super().get_selectables() + sels.update({x.fid: x for x in self.children.values() if x.fid}) + sels.update({x.name: x for x in self.children.values() if x.name}) + return sels + + def lookup_file_by_name(self, name): + if name == None: + return None + for i in self.children.values(): + if i.name and i.name == name: + return i + return None + + def lookup_file_by_sfid(self, sfid): + if sfid == None: + return None + for i in self.children.values(): + if i.sfid == int(sfid): + return i + return None + + def lookup_file_by_fid(self, fid): + if fid in self.children: + return self.children[fid] + return None + + +class CardMF(CardDF): + """MF (Master File) in the smart card filesystem""" + def __init__(self, **kwargs): + # can be overridden; use setdefault + kwargs.setdefault('fid', '3f00') + kwargs.setdefault('name', 'MF') + kwargs.setdefault('desc', 'Master File (directory root)') + # cannot be overridden; use assignment + kwargs['parent'] = self + super().__init__(**kwargs) + self.applications = dict() + + def __str__(self): + return "MF(%s)" % (self.fid) + + def add_application(self, app): + """Add an ADF (Application Dedicated File) to the MF""" + if not isinstance(app, CardADF): + raise TypeError("Expected an ADF instance") + if app.aid in self.applications: + raise ValueError("AID %s already exists" % (app.aid)) + self.applications[app.aid] = app + app.parent=self + + def get_app_names(self): + """Get list of completions (AID names)""" + return [x.name for x in self.applications] + + def get_selectables(self): + """Get list of completions (DF/EF/ADF names) from current DF""" + sels = super().get_selectables() + sels.update(self.get_app_selectables()) + return sels + + def get_app_selectables(self): + # applications by AID + name + sels = {x.aid: x for x in self.applications.values()} + sels.update({x.name: x for x in self.applications.values() if x.name}) + return sels + + def decode_select_response(self, data_hex): + """Decode the response to a SELECT command.""" + return data_hex + + + +class CardADF(CardDF): + """ADF (Application Dedicated File) in the smart card filesystem""" + def __init__(self, aid, **kwargs): + super().__init__(**kwargs) + self.aid = aid # Application Identifier + if self.parent: + self.parent.add_application(self) + + def __str__(self): + return "ADF(%s)" % (self.aid) + + def _path_element(self, prefer_name): + if self.name and prefer_name: + return self.name + else: + return self.aid + + +class CardEF(CardFile): + """EF (Entry File) in the smart card filesystem""" + def __init__(self, *, fid, **kwargs): + kwargs['fid'] = fid + super().__init__(**kwargs) + + def __str__(self): + return "EF(%s)" % (super().__str__()) + + def get_selectables(self): + """Get list of completions (EF names) from current DF""" + #global selectable names + those of the parent DF + sels = super().get_selectables() + sels.update({x.name:x for x in self.parent.children.values() if x != self}) + return sels + + +class TransparentEF(CardEF): + """Transparent EF (Entry File) in the smart card filesystem""" + + @with_default_category('Transparent EF Commands') + class ShellCommands(CommandSet): + def __init__(self): + super().__init__() + + read_bin_parser = argparse.ArgumentParser() + read_bin_parser.add_argument('--offset', type=int, default=0, help='Byte offset for start of read') + read_bin_parser.add_argument('--length', type=int, help='Number of bytes to read') + @cmd2.with_argparser(read_bin_parser) + def do_read_binary(self, opts): + """Read binary data from a transparent EF""" + (data, sw) = self._cmd.rs.read_binary(opts.length, opts.offset) + self._cmd.poutput(data) + + def do_read_binary_decoded(self, opts): + """Read + decode data from a transparent EF""" + (data, sw) = self._cmd.rs.read_binary_dec() + self._cmd.poutput(json.dumps(data, indent=4)) + + upd_bin_parser = argparse.ArgumentParser() + upd_bin_parser.add_argument('--offset', type=int, default=0, help='Byte offset for start of read') + upd_bin_parser.add_argument('data', help='Data bytes (hex format) to write') + @cmd2.with_argparser(upd_bin_parser) + def do_update_binary(self, opts): + """Update (Write) data of a transparent EF""" + (data, sw) = self._cmd.rs.update_binary(opts.data, opts.offset) + self._cmd.poutput(data) + + upd_bin_dec_parser = argparse.ArgumentParser() + upd_bin_dec_parser.add_argument('data', help='Abstract data (JSON format) to write') + @cmd2.with_argparser(upd_bin_dec_parser) + def do_update_binary_decoded(self, opts): + """Encode + Update (Write) data of a transparent EF""" + data_json = json.loads(opts.data) + (data, sw) = self._cmd.rs.update_binary_dec(data_json) + self._cmd.poutput(json.dumps(data, indent=4)) + + def __init__(self, fid, sfid=None, name=None, desc=None, parent=None, size={1,None}): + super().__init__(fid=fid, sfid=sfid, name=name, desc=desc, parent=parent) + self.size = size + self.shell_commands = [self.ShellCommands()] + + def decode_bin(self, raw_bin_data): + """Decode raw (binary) data into abstract representation. Overloaded by specific classes.""" + method = getattr(self, '_decode_bin', None) + if callable(method): + return method(raw_bin_data) + method = getattr(self, '_decode_hex', None) + if callable(method): + return method(b2h(raw_bin_data)) + return {'raw': raw_bin_data.hex()} + + def decode_hex(self, raw_hex_data): + """Decode raw (hex string) data into abstract representation. Overloaded by specific classes.""" + method = getattr(self, '_decode_hex', None) + if callable(method): + return method(raw_hex_data) + raw_bin_data = h2b(raw_hex_data) + method = getattr(self, '_decode_bin', None) + if callable(method): + return method(raw_bin_data) + return {'raw': raw_bin_data.hex()} + + def encode_bin(self, abstract_data): + """Encode abstract representation into raw (binary) data. Overloaded by specific classes.""" + method = getattr(self, '_encode_bin', None) + if callable(method): + return method(abstract_data) + method = getattr(self, '_encode_hex', None) + if callable(method): + return h2b(method(abstract_data)) + raise NotImplementedError + + def encode_hex(self, abstract_data): + """Encode abstract representation into raw (hex string) data. Overloaded by specific classes.""" + method = getattr(self, '_encode_hex', None) + if callable(method): + return method(abstract_data) + method = getattr(self, '_encode_bin', None) + if callable(method): + raw_bin_data = method(abstract_data) + return b2h(raw_bin_data) + raise NotImplementedError + + +class LinFixedEF(CardEF): + """Linear Fixed EF (Entry File) in the smart card filesystem""" + + @with_default_category('Linear Fixed EF Commands') + class ShellCommands(CommandSet): + def __init__(self): + super().__init__() + + read_rec_parser = argparse.ArgumentParser() + read_rec_parser.add_argument('record_nr', type=int, help='Number of record to be read') + @cmd2.with_argparser(read_rec_parser) + def do_read_record(self, opts): + """Read a record from a record-oriented EF""" + (data, sw) = self._cmd.rs.read_record(opts.record_nr) + self._cmd.poutput(data) + + read_rec_dec_parser = argparse.ArgumentParser() + read_rec_dec_parser.add_argument('record_nr', type=int, help='Number of record to be read') + @cmd2.with_argparser(read_rec_dec_parser) + def do_read_record_decoded(self, opts): + """Read + decode a record from a record-oriented EF""" + (data, sw) = self._cmd.rs.read_record_dec(opts.record_nr) + self._cmd.poutput(json.dumps(data, indent=4)) + + upd_rec_parser = argparse.ArgumentParser() + upd_rec_parser.add_argument('record_nr', type=int, help='Number of record to be read') + upd_rec_parser.add_argument('data', help='Data bytes (hex format) to write') + @cmd2.with_argparser(upd_rec_parser) + def do_update_record(self, opts): + """Update (write) data to a record-oriented EF""" + (data, sw) = self._cmd.rs.update_record(opts.record_nr, opts.data) + self._cmd.poutput(data) + + upd_rec_dec_parser = argparse.ArgumentParser() + upd_rec_dec_parser.add_argument('record_nr', type=int, help='Number of record to be read') + upd_rec_dec_parser.add_argument('data', help='Data bytes (hex format) to write') + @cmd2.with_argparser(upd_rec_dec_parser) + def do_update_record_decoded(self, opts): + """Encode + Update (write) data to a record-oriented EF""" + (data, sw) = self._cmd.rs.update_record_dec(opts.record_nr, opts.data) + self._cmd.poutput(data) + + def __init__(self, fid, sfid=None, name=None, desc=None, parent=None, rec_len={1,None}): + super().__init__(fid=fid, sfid=sfid, name=name, desc=desc, parent=parent) + self.rec_len = rec_len + self.shell_commands = [self.ShellCommands()] + + def decode_record_hex(self, raw_hex_data): + """Decode raw (hex string) data into abstract representation. Overloaded by specific classes.""" + method = getattr(self, '_decode_record_hex', None) + if callable(method): + return method(raw_hex_data) + raw_bin_data = h2b(raw_hex_data) + method = getattr(self, '_decode_record_bin', None) + if callable(method): + return method(raw_bin_data) + return {'raw': raw_bin_data.hex()} + + def decode_record_bin(self, raw_bin_data): + """Decode raw (binary) data into abstract representation. Overloaded by specific classes.""" + method = getattr(self, '_decode_record_bin', None) + if callable(method): + return method(raw_bin_data) + raw_hex_data = b2h(raw_bin_data) + method = getattr(self, '_decode_record_hex', None) + if callable(method): + return method(raw_hex_data) + return {'raw': raw_hex_data} + + def encode_record_hex(self, abstract_data): + """Encode abstract representation into raw (hex string) data. Overloaded by specific classes.""" + method = getattr(self, '_encode_record_hex', None) + if callable(method): + return method(abstract_data) + method = getattr(self, '_encode_record_bin', None) + if callable(method): + raw_bin_data = method(abstract_data) + return b2h(raww_bin_data) + raise NotImplementedError + + def encode_record_bin(self, abstract_data): + """Encode abstract representation into raw (binary) data. Overloaded by specific classes.""" + method = getattr(self, '_encode_record_bin', None) + if callable(method): + return method(abstract_data) + method = getattr(self, '_encode_record_hex', None) + if callable(method): + return b2h(method(abstract_data)) + raise NotImplementedError + +class CyclicEF(LinFixedEF): + """Cyclic EF (Entry File) in the smart card filesystem""" + # we don't really have any special support for those; just recycling LinFixedEF here + def __init__(self, fid, sfid=None, name=None, desc=None, parent=None, rec_len={1,None}): + super().__init__(fid=fid, sfid=sfid, name=name, desc=desc, parent=parent, rec_len=rec_len) + +class TransRecEF(TransparentEF): + """Transparent EF (Entry File) containing fixed-size records. + These are the real odd-balls and mostly look like mistakes in the specification: + Specified as 'transparent' EF, but actually containing several fixed-length records + inside. + We add a special class for those, so the user only has to provide encoder/decoder functions + for a record, while this class takes care of split / merge of records. + """ + def __init__(self, fid, sfid=None, name=None, desc=None, parent=None, rec_len=None, size={1,None}): + super().__init__(fid=fid, sfid=sfid, name=name, desc=desc, parent=parent, size=size) + self.rec_len = rec_len + + def decode_record_hex(self, raw_hex_data): + """Decode raw (hex string) data into abstract representation. Overloaded by specific classes.""" + method = getattr(self, '_decode_record_hex', None) + if callable(method): + return method(raw_hex_data) + method = getattr(self, '_decode_record_bin', None) + if callable(method): + raw_bin_data = h2b(raw_hex_data) + return method(raw_bin_data) + return {'raw': raw_hex_data} + + def decode_record_bin(self, raw_bin_data): + """Decode raw (hex string) data into abstract representation. Overloaded by specific classes.""" + method = getattr(self, '_decode_record_bin', None) + if callable(method): + return method(raw_bin_data) + raw_hex_data = b2h(raw_bin_data) + method = getattr(self, '_decode_record_hex', None) + if callable(method): + return method(raw_hex_data) + return {'raw': raw_hex_data} + + def encode_record_hex(self, abstract_data): + """Encode abstract representation into raw (hex string) data. Overloaded by specific classes.""" + method = getattr(self, '_encode_record_hex', None) + if callable(method): + return method(abstract_data) + method = getattr(self, '_encode_record_bin', None) + if callable(method): + return h2b(method(abstract_data)) + raise NotImplementedError + + def encode_record_bin(self, abstract_data): + """Encode abstract representation into raw (binary) data. Overloaded by specific classes.""" + method = getattr(self, '_encode_record_bin', None) + if callable(method): + return method(abstract_data) + method = getattr(self, '_encode_record_hex', None) + if callable(method): + return h2b(method(abstract_data)) + raise NotImplementedError + + def _decode_bin(self, raw_bin_data): + chunks = [raw_bin_data[i:i+self.rec_len] for i in range(0, len(raw_bin_data), self.rec_len)] + return [self.decode_record_bin(x) for x in chunks] + + def _encode_bin(self, abstract_data): + chunks = [self.encode_record_bin(x) for x in abstract_data] + # FIXME: pad to file size + return b''.join(chunks) + + + + + +class RuntimeState(object): + """Represent the runtime state of a session with a card.""" + def __init__(self, card, profile): + self.mf = CardMF() + self.card = card + self.selected_file = self.mf + self.profile = profile + # add applications + MF-files from profile + for a in self.profile.applications: + self.mf.add_application(a) + for f in self.profile.files_in_mf: + self.mf.add_file(f) + + def get_cwd(self): + """Obtain the current working directory.""" + if isinstance(self.selected_file, CardDF): + return self.selected_file + else: + return self.selected_file.parent + + def get_application(self): + """Obtain the currently selected application (if any).""" + # iterate upwards from selected file; check if any is an ADF + node = self.selected_file + while node.parent != node: + if isinstance(node, CardADF): + return node + node = node.parent + return None + + def interpret_sw(self, sw): + """Interpret the given SW relative to the currently selected Application + or the underlying profile.""" + app = self.get_application() + if app: + # The application either comes with its own interpret_sw + # method or we will use the interpret_sw method from the + # card profile. + if hasattr(app, "interpret_sw"): + return app.interpret_sw(sw) + else: + return self.profile.interpret_sw(sw) + return app.interpret_sw(sw) + else: + return self.profile.interpret_sw(sw) + + def select(self, name, cmd_app=None): + """Change current directory""" + sels = self.selected_file.get_selectables() + if name in sels: + f = sels[name] + # unregister commands of old file + if cmd_app and self.selected_file.shell_commands: + for c in self.selected_file.shell_commands: + cmd_app.unregister_command_set(c) + try: + if isinstance(f, CardADF): + (data, sw) = self.card._scc.select_adf(f.aid) + else: + (data, sw) = self.card._scc.select_file(f.fid) + self.selected_file = f + except SwMatchError as swm: + k = self.interpret_sw(swm.sw_actual) + if not k: + raise(swm) + raise RuntimeError("%s: %s - %s" % (swm.sw_actual, k[0], k[1])) + # register commands of new file + if cmd_app and self.selected_file.shell_commands: + for c in self.selected_file.shell_commands: + cmd_app.register_command_set(c) + return f.decode_select_response(data) + #elif looks_like_fid(name): + else: + raise ValueError("Cannot select unknown %s" % (name)) + + def read_binary(self, length=None, offset=0): + if not isinstance(self.selected_file, TransparentEF): + raise TypeError("Only works with TransparentEF") + return self.card._scc.read_binary(self.selected_file.fid, length, offset) + + def read_binary_dec(self): + (data, sw) = self.read_binary() + dec_data = self.selected_file.decode_hex(data) + print("%s: %s -> %s" % (sw, data, dec_data)) + return (dec_data, sw) + + def update_binary(self, data_hex, offset=0): + if not isinstance(self.selected_file, TransparentEF): + raise TypeError("Only works with TransparentEF") + return self.card._scc.update_binary(self.selected_file.fid, data_hex, offset) + + def update_binary_dec(self, data): + data_hex = self.selected_file.encode_hex(data) + print("%s -> %s" % (data, data_hex)) + return self.update_binary(data_hex) + + def read_record(self, rec_nr=0): + if not isinstance(self.selected_file, LinFixedEF): + raise TypeError("Only works with Linear Fixed EF") + # returns a string of hex nibbles + return self.card._scc.read_record(self.selected_file.fid, rec_nr) + + def read_record_dec(self, rec_nr=0): + (data, sw) = self.read_record(rec_nr) + return (self.selected_file.decode_record_hex(data), sw) + + def update_record(self, rec_nr, data_hex): + if not isinstance(self.selected_file, LinFixedEF): + raise TypeError("Only works with Linear Fixed EF") + return self.card._scc.update_record(self.selected_file.fid, rec_nr, data_hex) + + def update_record_dec(self, rec_nr, data): + hex_data = self.selected_file.encode_record_hex(data) + return self.update_record(self, rec_nr, data_hex) + + + +class FileData(object): + """Represent the runtime, on-card data.""" + def __init__(self, fdesc): + self.desc = fdesc + self.fcp = None + + +def interpret_sw(sw_data, sw): + """Interpret a given status word within the profile. Returns tuple of + two strings""" + for class_str, swdict in sw_data.items(): + # first try direct match + if sw in swdict: + return (class_str, swdict[sw]) + # next try wildcard matches + for pattern, descr in swdict.items(): + if sw_match(sw, pattern): + return (class_str, descr) + return None + +class CardApplication(object): + """A card application is represented by an ADF (with contained hierarchy) and optionally + some SW definitions.""" + def __init__(self, name, adf=None, sw={}): + self.name = name + self.adf = adf + self.sw = sw + + def __str__(self): + return "APP(%s)" % (self.name) + + def interpret_sw(self, sw): + """Interpret a given status word within the application. Returns tuple of + two strings""" + return interpret_sw(self.sw, sw) + +class CardProfile(object): + """A Card Profile describes a card, it's filessystem hierarchy, an [initial] list of + applications as well as profile-specific SW and shell commands. Every card has + one card profile, but there may be multiple applications within that profile.""" + def __init__(self, name, desc=None, files_in_mf=[], sw=[], applications=[], shell_cmdsets=[]): + self.name = name + self.desc = desc + self.files_in_mf = files_in_mf + self.sw = sw + self.applications = applications + self.shell_cmdsets = shell_cmdsets + + def __str__(self): + return self.name + + def add_application(self, app): + self.applications.add(app) + + def interpret_sw(self, sw): + """Interpret a given status word within the profile. Returns tuple of + two strings""" + return interpret_sw(self.sw, sw) + + +###################################################################### + +if __name__ == '__main__': + mf = CardMF() + + adf_usim = ADF('a0000000871002', name='ADF_USIM') + mf.add_application(adf_usim) + df_pb = CardDF('5f3a', name='DF.PHONEBOOK') + adf_usim.add_file(df_pb) + adf_usim.add_file(TransparentEF('6f05', name='EF.LI', size={2,16})) + adf_usim.add_file(TransparentEF('6f07', name='EF.IMSI', size={9,9})) + + rss = RuntimeState(mf, None) + + interp = code.InteractiveConsole(locals={'mf':mf, 'rss':rss}) + interp.interact() diff --git a/pySim/ts_102_221.py b/pySim/ts_102_221.py new file mode 100644 index 0000000..256a697 --- /dev/null +++ b/pySim/ts_102_221.py @@ -0,0 +1,297 @@ +# coding=utf-8 +"""Utilities / Functions related to ETSI TS 102 221, the core UICC spec. + +(C) 2021 by Harald Welte + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +""" + +from pytlv.TLV import * +from struct import pack, unpack +from pySim.utils import * +from pySim.filesystem import * + + +FCP_TLV_MAP = { + '82': 'file_descriptor', + '83': 'file_identifier', + '84': 'df_name', + 'A5': 'proprietary_info', + '8A': 'life_cycle_status_int', + '8B': 'security_attrib_ref_expanded', + '8C': 'security_attrib_compact', + 'AB': 'security_attrib_espanded', + 'C6': 'pin_status_template_do', + '80': 'file_size', + '81': 'total_file_size', + '88': 'short_file_id', + } + +# ETSI TS 102 221 11.1.1.4.6 +FCP_Proprietary_TLV_MAP = { + '80': 'uicc_characteristics', + '81': 'application_power_consumption', + '82': 'minimum_app_clock_freq', + '83': 'available_memory', + '84': 'file_details', + '85': 'reserved_file_size', + '86': 'maximum_file_size', + '87': 'suported_system_commands', + '88': 'specific_uicc_env_cond', + '89': 'p2p_cat_secured_apdu', + # Additional private TLV objects (bits b7 and b8 of the first byte of the tag set to '1') + } + +# ETSI TS 102 221 11.1.1.4.3 +def interpret_file_descriptor(in_hex): + in_bin = h2b(in_hex) + out = {} + ft_dict = { + 0: 'working_ef', + 1: 'internal_ef', + 7: 'df' + } + fs_dict = { + 0: 'no_info_given', + 1: 'transparent', + 2: 'linear_fixed', + 6: 'cyclic', + } + fdb = in_bin[0] + ftype = (fdb >> 3) & 7 + fstruct = fdb & 7 + out['shareable'] = True if fdb & 0x40 else False + out['file_type'] = ft_dict[ftype] if ftype in ft_dict else ftype + out['structure'] = fs_dict[fstruct] if fstruct in fs_dict else fstruct + if len(in_bin) >= 5: + out['record_len'] = int.from_bytes(in_bin[2:4], 'big') + out['num_of_rec'] = int.from_bytes(in_bin[4:5], 'big') + return out + +# ETSI TS 102 221 11.1.1.4.9 +def interpret_life_cycle_sts_int(in_hex): + lcsi = int(in_hex, 16) + if lcsi == 0x00: + return 'no_information' + elif lcsi == 0x01: + return 'creation' + elif lcsi == 0x03: + return 'initialization' + elif lcsi & 0x05 == 0x05: + return 'operational_activated' + elif lcsi & 0x05 == 0x04: + return 'operational_deactivated' + elif lcsi & 0xc0 == 0xc0: + return 'termination' + else: + return in_hex + +# ETSI TS 102 221 11.1.1.4.10 +FCP_Pin_Status_TLV_MAP = { + '90': 'ps_do', + '95': 'usage_qualifier', + '83': 'key_reference', + } + +def interpret_ps_templ_do(in_hex): + # cannot use the 'TLV' parser due to repeating tags + #psdo_tlv = TLV(FCP_Pin_Status_TLV_MAP) + #return psdo_tlv.parse(in_hex) + return in_hex + +# 'interpreter' functions for each tag +FCP_interpreter_map = { + '80': lambda x: int(x, 16), + '82': interpret_file_descriptor, + '8A': interpret_life_cycle_sts_int, + 'C6': interpret_ps_templ_do, + } + +FCP_prorietary_interpreter_map = { + '83': lambda x: int(x, 16), + } + +# pytlv unfortunately doesn't have a setting using which we can make it +# accept unknown tags. It also doesn't raise a specific exception type but +# just the generic ValueError, so we cannot ignore those either. Instead, +# we insert a dict entry for every possible proprietary tag permitted +def fixup_fcp_proprietary_tlv_map(tlv_map): + if 'D0' in tlv_map: + return + for i in range(0xd0, 0xff): + i_hex = i2h([i]).upper() + tlv_map[i_hex] = 'proprietary_' + i_hex + + +def tlv_key_replace(inmap, indata): + def newkey(inmap, key): + if key in inmap: + return inmap[key] + else: + return key + return {newkey(inmap, d[0]): d[1] for d in indata.items()} + +def tlv_val_interpret(inmap, indata): + def newval(inmap, key, val): + if key in inmap: + return inmap[key](val) + else: + return val + return {d[0]: newval(inmap, d[0], d[1]) for d in indata.items()} + + +# ETSI TS 102 221 Section 11.1.1.3 +def decode_select_response(resp_hex): + fixup_fcp_proprietary_tlv_map(FCP_Proprietary_TLV_MAP) + resp_hex = resp_hex.upper() + # outer layer + fcp_base_tlv = TLV(['62']) + fcp_base = fcp_base_tlv.parse(resp_hex) + # actual FCP + fcp_tlv = TLV(FCP_TLV_MAP) + fcp = fcp_tlv.parse(fcp_base['62']) + # further decode the proprietary information + if fcp['A5']: + prop_tlv = TLV(FCP_Proprietary_TLV_MAP) + prop = prop_tlv.parse(fcp['A5']) + fcp['A5'] = tlv_val_interpret(FCP_prorietary_interpreter_map, prop) + fcp['A5'] = tlv_key_replace(FCP_Proprietary_TLV_MAP, fcp['A5']) + # finally make sure we get human-readable keys in the output dict + r = tlv_val_interpret(FCP_interpreter_map, fcp) + return tlv_key_replace(FCP_TLV_MAP, r) + + +# TS 102 221 Section 13.1 +class EF_DIR(LinFixedEF): + def __init__(self, fid='2f00', sfid=0x1e, name='EF.DIR', desc='Application Directory'): + super().__init__(fid, sfid=sfid, name=name, desc=desc, rec_len={5,54}) + + def _decode_record_hex(self, raw_hex_data): + raw_hex_data = raw_hex_data.upper() + atempl_base_tlv = TLV(['61']) + atempl_base = atempl_base_tlv.parse(raw_hex_data) + atempl_TLV_MAP = {'4F': 'aid_value', 50:'label'} + atempl_tlv = TLV(atempl_TLV_MAP) + atempl = atempl_tlv.parse(atempl_base['61']) + # FIXME: "All other Dos are according to ISO/IEC 7816-4" + return tlv_key_replace(atempl_TLV_MAP, atempl) + +# TS 102 221 Section 13.2 +class EF_ICCID(TransparentEF): + def __init__(self, fid='2fe2', sfid=0x02, name='EF.ICCID', desc='ICC Identification'): + super().__init__(fid, sfid=sfid, name=name, desc=desc, size={10,10}) + + def _decode_hex(self, raw_hex): + return {'iccid': dec_iccid(raw_hex)} + + def _encode_hex(self, abstract): + return enc_iccid(abstract['iccid']) + +# TS 102 221 Section 13.3 +class EF_PL(TransRecEF): + def __init__(self, fid='2f05', sfid=0x05, name='EF.PL', desc='Preferred Languages'): + super().__init__(fid, sfid=sfid, name=name, desc=desc, rec_len=2, size={2,None}) + +# TS 102 221 Section 13.4 +class EF_ARR(LinFixedEF): + def __init__(self, fid='2f06', sfid=0x06, name='EF.ARR', desc='Access Rule Reference'): + super().__init__(fid, sfid=sfid, name=name, desc=desc) + +# TS 102 221 Section 13.6 +class EF_UMPC(TransparentEF): + def __init__(self, fid='2f08', sfid=0x08, name='EF.UMPC', desc='UICC Maximum Power Consumption'): + super().__init__(fid, sfid=sfid, name=name, desc=desc, size={5,5}) + + + +class CardProfileUICC(CardProfile): + def __init__(self): + files = [ + EF_DIR(), + EF_ICCID(), + EF_PL(), + EF_ARR(), + # FIXME: DF.CD + EF_UMPC(), + ] + sw = { + 'Normal': { + '9000': 'Normal ending of the command', + '91xx': 'Normal ending of the command, with extra information from the proactive UICC containing a command for the terminal', + '92xx': 'Normal ending of the command, with extra information concerning an ongoing data transfer session', + }, + 'Postponed processing': { + '9300': 'SIM Application Toolkit is busy. Command cannot be executed at present, further normal commands are allowed', + }, + 'Warnings': { + '6200': 'No information given, state of non-volatile memory unchanged', + '6281': 'Part of returned data may be corrupted', + '6282': 'End of file/record reached before reading Le bytes or unsuccessful search', + '6283': 'Selected file invalidated', + '6284': 'Selected file in termination state', + '62f1': 'More data available', + '62f2': 'More data available and proactive command pending', + '62f3': 'Response data available', + '63f1': 'More data expected', + '63f2': 'More data expected and proactive command pending', + '63cx': 'Command successful but after using an internal update retry routine X times', + }, + 'Execution errors': { + '6400': 'No information given, state of non-volatile memory unchanged', + '6500': 'No information given, state of non-volatile memory changed', + '6581': 'Memory problem', + }, + 'Checking errors': { + '6700': 'Wrong length', + '67xx': 'The interpretation of this status word is command dependent', + '6b00': 'Wrong parameter(s) P1-P2', + '6d00': 'Instruction code not supported or invalid', + '6e00': 'Class not supported', + '6f00': 'Technical problem, no precise diagnosis', + '6fxx': 'The interpretation of this status word is command dependent', + }, + 'Functions in CLA not supported': { + '6800': 'No information given', + '6881': 'Logical channel not supported', + '6882': 'Secure messaging not supported', + }, + 'Command not allowed': { + '6900': 'No information given', + '6981': 'Command incompatible with file structure', + '6982': 'Security status not satisfied', + '6983': 'Authentication/PIN method blocked', + '6984': 'Referenced data invalidated', + '6985': 'Conditions of use not satisfied', + '6986': 'Command not allowed (no EF selected)', + '6989': 'Command not allowed - secure channel - security not satisfied', + }, + 'Wrong parameters': { + '6a80': 'Incorrect parameters in the data field', + '6a81': 'Function not supported', + '6a82': 'File not found', + '6a83': 'Record not found', + '6a84': 'Not enough memory space', + '6a86': 'Incorrect parameters P1 to P2', + '6a87': 'Lc inconsistent with P1 to P2', + '6a88': 'Referenced data not found', + }, + 'Application errors': { + '9850': 'INCREASE cannot be performed, max value reached', + '9862': 'Authentication error, application specific', + '9863': 'Security session or association expired', + '9864': 'Minimum UICC suspension time is too long', + }, + } + + super().__init__('UICC', 'ETSI TS 102 221', files, sw) diff --git a/pySim/ts_31_102.py b/pySim/ts_31_102.py index e7f27b0..02b0aea 100644 --- a/pySim/ts_31_102.py +++ b/pySim/ts_31_102.py @@ -263,3 +263,134 @@ 'ePDGIdEm': '6FF5', 'ePDGSelectionEm': '6FF6', } + +###################################################################### +# ADF.USIM +###################################################################### + +from pySim.filesystem import * +from pySim.ts_51_011 import EF_IMSI, EF_xPLMNwAcT, EF_SPN, EF_CBMI, EF_ACC, EF_PLMNsel, EF_AD +from pySim.ts_51_011 import EF_CBMID, EF_ECC, EF_CBMIR + +import pySim.ts_102_221 + +class EF_LI(TransRecEF): + def __init__(self, fid='6f05', sfid=None, name='EF.LI', size={2,None}, rec_len=2, + desc='Language Indication'): + super().__init__(fid, sfid=sfid, name=name, desc=desc, size=size, rec_len=rec_len) + def _decode_record_bin(self, in_bin): + if in_bin == b'\xff\xff': + return None + else: + # officially this is 7-bit GSM alphabet with one padding bit in each byte + return in_bin.decode('ascii') + def _encode_record_bin(self, in_json): + if in_json == None: + return b'\xff\xff' + else: + # officially this is 7-bit GSM alphabet with one padding bit in each byte + return in_json.encode('ascii') + +class EF_Keys(TransparentEF): + def __init__(self, fid='6f08', sfid=0x08, name='EF.Keys', size={33,33}, + desc='Ciphering and Integrity Keys'): + super().__init__(fid, sfid=sfid, name=name, desc=desc, size=size) + def _decode_bin(self, in_bin): + return {'ksi': in_bin[0], + 'ck': b2h(in_bin[1:17]), + 'ik': b2h(in_bin[17:33])} + def _encode_bin(self, in_json): + return h2b(in_json['ksi']) + h2b(in_json['ck']) + h2b(in_json['ik']) + +# TS 31.103 Section 4.2.7 +class EF_UST(TransparentEF): + def __init__(self, fid='6f38', sfid=0x04, name='EF.UST', desc='USIM Service Table'): + super().__init__(fid=fid, sfid=sfid, name=name, desc=desc, size={1,17}) + # add those commands to the general commands of a TransparentEF + self.shell_commands += [self.AddlShellCommands()] + def _decode_bin(self, in_bin): + ret = [] + for i in range (0, len(in_bin)): + byte = in_bin[i] + for bitno in range(0,7): + if byte & (1 << bitno): + ret.append(i * 8 + bitno + 1) + return ret + def _encode_bin(self, in_json): + # FIXME: size this to length of file + ret = bytearray(20) + for srv in in_json: + print("srv=%d"%srv) + srv = srv-1 + byte_nr = srv // 8 + # FIXME: detect if service out of range was selected + bit_nr = srv % 8 + ret[byte_nr] |= (1 << bit_nr) + return ret + @with_default_category('File-Specific Commands') + class AddlShellCommands(CommandSet): + def __init__(self): + super().__init__() + + def do_ust_service_activate(self, arg): + """Activate a service within EF.UST""" + self._cmd.card.update_ust(int(arg), 1) + + def do_ust_service_deactivate(self, arg): + """Deactivate a service within EF.UST""" + self._cmd.card.update_ust(int(arg), 0) + + +class ADF_USIM(CardADF): + def __init__(self, aid='a0000000871002', name='ADF.USIM', fid=None, sfid=None, + desc='USIM Application'): + super().__init__(aid=aid, fid=fid, sfid=sfid, name=name, desc=desc) + self.shell_commands = [self.ShellCommands()] + + files = [ + EF_LI(sfid=0x02), + EF_IMSI(sfid=0x07), + EF_Keys(), + EF_Keys('6f09', 0x09, 'EF.KeysPS', desc='Ciphering and Integrity Keys for PS domain'), + EF_xPLMNwAcT('6f60', 0x0a, 'EF.PLMNwAcT', + 'User controlled PLMN Selector with Access Technology'), + TransparentEF('6f31', 0x12, 'EF.HPPLMN', 'Higher Priority PLMN search period'), + # EF.ACMmax + EF_UST(), + CyclicEF('6f39', None, 'EF.ACM', 'Accumulated call meter', rec_len={3,3}), + TransparentEF('6f3e', None, 'EF.GID1', 'Group Identifier Level 1'), + TransparentEF('6f3f', None, 'EF.GID2', 'Group Identifier Level 2'), + EF_SPN(), + TransparentEF('6f41', None, 'EF.PUCT', 'Price per unit and currency table', size={5,5}), + EF_CBMI(), + EF_ACC(sfid=0x06), + EF_PLMNsel('6f7b', 0x0d, 'EF.FPLMN', 'Forbidden PLMNs', size={12,None}), + TransparentEF('6f7e', 0x0b, 'EF.LOCI', 'Locationn information', size={11,11}), + EF_AD(sfid=0x03), + EF_CBMID(sfid=0x0e), + EF_ECC(sfid=0x01), + EF_CBMIR(), + ] + self.add_files(files) + + def decode_select_response(self, data_hex): + return pySim.ts_102_221.decode_select_response(data_hex) + + @with_default_category('File-Specific Commands') + class ShellCommands(CommandSet): + def __init__(self): + super().__init__() + + +# TS 31.102 Section 7.3 +sw_usim = { + 'Security management': { + '9862': 'Authentication error, incorrect MAC', + '9864': 'Authentication error, security context not supported', + '9865': 'Key freshness failure', + '9866': 'Authentication error, no memory space available', + '9867': 'Authentication error, no memory space available in EF MUK', + } +} + +CardApplicationUSIM = CardApplication('USIM', adf=ADF_USIM(), sw=sw_usim) diff --git a/pySim/ts_31_103.py b/pySim/ts_31_103.py index d9b771d..0b0a4f1 100644 --- a/pySim/ts_31_103.py +++ b/pySim/ts_31_103.py @@ -6,6 +6,7 @@ # # Copyright (C) 2020 Supreeth Herle +# Copyright (C) 2021 Harald Welte # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -21,6 +22,11 @@ # along with this program. If not, see . # +from pySim.filesystem import * +from pySim.utils import * +from pySim.ts_51_011 import EF_AD +import pySim.ts_102_221 + # Mapping between ISIM Service Number and its description EF_IST_map = { 1: 'P-CSCF address', @@ -66,3 +72,130 @@ 'XCAPConfigData': '6FFC', 'WebRTCURI': '6FFA' } + +# TS 31.103 Section 4.2.2 +class EF_IMPI(TransparentEF): + def __init__(self, fid='6f02', sfid=0x02, name='EF.IMPI', desc='IMS private user identity'): + super().__init__(fid=fid, sfid=sfid, name=name, desc=desc) + +# TS 31.103 Section 4.2.3 +class EF_DOMAIN(TransparentEF): + def __init__(self, fid='6f05', sfid=0x05, name='EF.DOMAIN', desc='Home Network Domain Name'): + super().__init__(fid=fid, sfid=sfid, name=name, desc=desc) + +# TS 31.103 Section 4.2.4 +class EF_IMPU(LinFixedEF): + def __init__(self, fid='6f04', sfid=0x04, name='EF.IMPU', desc='IMS public user identity'): + super().__init__(fid=fid, sfid=sfid, name=name, desc=desc) + +# TS 31.103 Section 4.2.6 +class EF_ARR(LinFixedEF): + def __init__(self, fid='6f06', sfid=0x06, name='EF.ARR', desc='Access Rule Reference'): + super().__init__(fid=fid, sfid=sfid, name=name, desc=desc) + +# TS 31.103 Section 4.2.7 +class EF_IST(TransparentEF): + def __init__(self, fid='6f07', sfid=0x07, name='EF.IST', desc='ISIM Service Table'): + super().__init__(fid=fid, sfid=sfid, name=name, desc=desc, size={1,4}) + # add those commands to the general commands of a TransparentEF + self.shell_commands += [self.AddlShellCommands()] + + @with_default_category('File-Specific Commands') + class AddlShellCommands(CommandSet): + def __init__(self): + super().__init__() + + def do_ist_service_activate(self, arg): + """Activate a service within EF.IST""" + self._cmd.card.update_ist(int(arg), 1) + + def do_ist_service_deactivate(self, arg): + """Deactivate a service within EF.IST""" + self._cmd.card.update_ist(int(arg), 0) + +# TS 31.103 Section 4.2.8 +class EF_PCSCF(LinFixedEF): + def __init__(self, fid='6f09', sfid=None, name='EF.P-CSCF', desc='P-CSCF Address'): + super().__init__(fid=fid, sfid=sfid, name=name, desc=desc) + def _decode_record_hex(self, raw_hex): + # FIXME: this doesn't do JSON output + return dec_addr_tlv(raw_hex) + def _encode_record_hex(self, json_in): + return enc_addr_tlv(json_in) + +# TS 31.103 Section 4.2.9 +class EF_GBABP(LinFixedEF): + def __init__(self, fid='6fd5', sfid=None, name='EF.GBABP', desc='GBA Bootstrappng'): + super().__init__(fid=fid, sfid=sfid, name=name, desc=desc) + +# TS 31.103 Section 4.2.10 +class EF_GBANL(LinFixedEF): + def __init__(self, fid='6fd7', sfid=None, name='EF.GBANL', desc='GBA NAF List'): + super().__init__(fid=fid, sfid=sfid, name=name, desc=desc) + +# TS 31.103 Section 4.2.11 +class EF_NAFKCA(LinFixedEF): + def __init__(self, fid='6fdd', sfid=None, name='EF.NAFKCA', desc='NAF Key Centre Address'): + super().__init__(fid=fid, sfid=sfid, name=name, desc=desc) + +# TS 31.103 Section 4.2.16 +class EF_UICCIARI(LinFixedEF): + def __init__(self, fid='6fe7', sfid=None, name='EF.UICCIARI', desc='UICC IARI'): + super().__init__(fid=fid, sfid=sfid, name=name, desc=desc) + +# TS 31.103 Section 4.2.18 +class EF_IMSConfigData(TransparentEF): + def __init__(self, fid='6ff8', sfid=None, name='EF.IMSConfigData', desc='IMS Configuration Data'): + super().__init__(fid=fid, sfid=sfid, name=name, desc=desc) + +# TS 31.103 Section 4.2.19 +class EF_XCAPConfigData(TransparentEF): + def __init__(self, fid='6ffc', sfid=None, name='EF.XCAPConfigData', desc='XCAP Configuration Data'): + super().__init__(fid=fid, sfid=sfid, name=name, desc=desc) + +# TS 31.103 Section 4.2.20 +class EF_WebRTCURI(TransparentEF): + def __init__(self, fid='6ffa', sfid=None, name='EF.WebRTCURI', desc='WebRTC URI'): + super().__init__(fid=fid, sfid=sfid, name=name, desc=desc) + + +class ADF_ISIM(CardADF): + def __init__(self, aid='a0000000871004', name='ADF.ISIM', fid=None, sfid=None, + desc='ISIM Application'): + super().__init__(aid=aid, fid=fid, sfid=sfid, name=name, desc=desc) + + files = [ + EF_IMPI(), + EF_DOMAIN(), + EF_IMPU(), + EF_AD(), + EF_ARR(), + EF_IST(), + EF_PCSCF(), + EF_GBABP(), + EF_GBANL(), + EF_NAFKCA(), + # SMS + # SMSS + # SMSR + #EF_SMSP(), + EF_UICCIARI(), + # FromPreferred + EF_IMSConfigData(), + EF_XCAPConfigData(), + EF_WebRTCURI(), + ] + self.add_files(files) + + def decode_select_response(self, data_hex): + return pySim.ts_102_221.decode_select_response(data_hex) + +# TS 31.103 Section 7.1 +sw_isim = { + 'Security management': { + '9862': 'Authentication error, incorrect MAC', + '9864': 'Authentication error, security context not supported', + } +} + +CardApplicationISIM = CardApplication('ISIM', adf=ADF_ISIM(), sw=sw_isim) diff --git a/pySim/ts_51_011.py b/pySim/ts_51_011.py index ef40ba1..03d74ad 100644 --- a/pySim/ts_51_011.py +++ b/pySim/ts_51_011.py @@ -1,10 +1,15 @@ # -*- coding: utf-8 -*- -""" Various constants from ETSI TS 151.011 +""" Various constants from ETSI TS 151.011 + +Representation of the GSM SIM/USIM/ISIM filesystem hierarchy. + +The File (and its derived classes) uses the classes of pySim.filesystem in +order to describe the files specified in the relevant ETSI + 3GPP specifications. """ # # Copyright (C) 2017 Alexander.Chemeris +# Copyright (C) 2021 Harald Welte # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -323,3 +328,301 @@ '02' : 'maintenance (off line)', '04' : 'cell test operation', } + + +from pySim.utils import * +from struct import pack, unpack + +from pySim.filesystem import * +import pySim.ts_102_221 + +###################################################################### +# DF.TELECOM +###################################################################### + +# TS 51.011 Section 10.5.1 +class EF_ADN(LinFixedEF): + def __init__(self, fid='6f3a', sfid=None, name='EF.ADN', desc='Abbreviated Dialing Numbers'): + super().__init__(fid, sfid=sfid, name=name, desc=desc, rec_len={14, 30}) + def _decode_record_bin(self, raw_bin_data): + alpha_id_len = len(raw_bin_data) - 14 + alpha_id = raw_bin_data[:alpha_id_len] + u = unpack('!BB10sBB', raw_bin_data[-14:]) + return {'alpha_id': alpha_id, 'len_of_bcd': u[0], 'ton_npi': u[1], + 'dialing_nr': u[2], 'cap_conf_id': u[3], 'ext1_record_id': u[4]} + +# TS 51.011 Section 10.5.5 +class EF_MSISDN(LinFixedEF): + def __init__(self, fid='6f4f', sfid=None, name='EF.MSISDN', desc='MSISDN'): + super().__init__(fid, sfid=sfid, name=name, desc=desc, rec_len={15, None}) + def _decode_record_hex(self, raw_hex_data): + return {'msisdn': dec_msisdn(raw_hex_data)} + def _encode_record_hex(self, abstract): + return enc_msisdn(abstract['msisdn']) + +# TS 51.011 Section 10.5.6 +class EF_SMSP(LinFixedEF): + def __init__(self, fid='6f42', sfid=None, name='EF.SMSP', desc='Short message service parameters'): + super().__init__(fid, sfid=sfid, name=name, desc=desc, rec_len={28, None}) + +class DF_TELECOM(CardDF): + def __init__(self, fid='7f10', name='DF.TELECOM', desc=None): + super().__init__(fid=fid, name=name, desc=desc) + files = [ + EF_ADN(), + # FDN, SMS, CCP, ECCP + EF_MSISDN(), + EF_SMSP(), + # SMSS, LND, SDN, EXT1, EXT2, EXT3, BDN, EXT4, SMSR, CMI + ] + self.add_files(files) + + def decode_select_response(self, data_hex): + return decode_select_response(data_hex) + +###################################################################### +# DF.GSM +###################################################################### + +# TS 51.011 Section 10.3.1 +class EF_LP(TransRecEF): + def __init__(self, fid='6f05', sfid=None, name='EF.LP', size={1,None}, rec_len=1, + desc='Language Preference'): + super().__init__(fid, sfid=sfid, name=name, desc=desc, size=size, rec_len=rec_len) + def _decode_record_bin(self, in_bin): + return b2h(in_bin) + def _encode_record_bin(self, in_json): + return h2b(in_json) + +# TS 51.011 Section 10.3.2 +class EF_IMSI(TransparentEF): + def __init__(self, fid='6f07', sfid=None, name='EF.IMSI', desc='IMSI', size={9,9}): + super().__init__(fid, sfid=sfid, name=name, desc=desc, size=size) + def _decode_hex(self, raw_hex): + return {'imsi': dec_imsi(raw_hex)} + def _encode_hex(self, abstract): + return enc_imsi(abstract['imsi']) + +# TS 51.011 Section 10.3.4 +class EF_PLMNsel(TransRecEF): + def __init__(self, fid='6f30', sfid=None, name='EF.PLMNsel', desc='PLMN selector', + size={24,None}, rec_len=3): + super().__init__(fid, name=name, sfid=sfid, desc=desc, size=size, rec_len=rec_len) + def _decode_record_hex(self, in_hex): + if in_hex[:6] == "ffffff": + return None + else: + return dec_plmn(in_hex) + def _encode_record_hex(self, in_json): + if in_json == None: + return "ffffff" + else: + return enc_plmn(in_json['mcc'], in_json['mnc']) + +# TS 51.011 Section 10.3.7 +class EF_ServiceTable(TransparentEF): + def __init__(self, fid, sfid, name, desc, size, table): + super().__init__(fid, sfid=sfid, name=name, desc=desc, size=size) + self.table = table + def _decode_bin(self, raw_bin): + ret = {} + for i in range(0, len(raw_bin)*4): + service_nr = i+1 + byte = int(raw_bin[i//4]) + bit_offset = (i % 4) * 2 + bits = (byte >> bit_offset) & 3 + ret[service_nr] = { + 'description': self.table[service_nr] or None, + 'allocated': True if bits & 1 else False, + 'activated': True if bits & 2 else False, + } + return ret + # TODO: encoder + +# TS 51.011 Section 10.3.11 +class EF_SPN(TransparentEF): + def __init__(self, fid='6f46', sfid=None, name='EF.SPN', desc='Service Provider Name', size={17,17}): + super().__init__(fid, sfid=sfid, name=name, desc=desc, size=size) + def _decode_hex(self, raw_hex): + return {'spn': dec_spn(raw_hex)} + def _encode_hex(self, abstract): + return enc_spn(abstract['spn']) + +# TS 51.011 Section 10.3.13 +class EF_CBMI(TransRecEF): + def __init__(self, fid='6f45', sfid=None, name='EF.CBMI', size={2,None}, rec_len=2, + desc='Cell Broadcast message identifier selection'): + super().__init__(fid, sfid=sfid, name=name, desc=desc, size=size, rec_len=rec_len) + +# TS 51.011 Section 10.3.15 +class EF_ACC(TransparentEF): + def __init__(self, fid='6f78', sfid=None, name='EF.ACC', desc='Access Control Class', size={2,2}): + super().__init__(fid, sfid=sfid, name=name, desc=desc, size=size) + def _decode_bin(self, raw_bin): + return {'acc': unpack('!H', raw_bin)[0]} + def _encode_bin(self, abstract): + return pack('!H', abstract['acc']) + +# TS 51.011 Section 10.3.18 +class EF_AD(TransparentEF): + OP_MODE = { + 0x00: 'normal operation', + 0x80: 'type approval operations', + 0x01: 'normal operation + specific facilities', + 0x81: 'type approval + specific facilities', + 0x02: 'maintenance (off line)', + 0x04: 'cell test operation', + } + def __init__(self, fid='6fad', sfid=None, name='EF.AD', desc='Administrative Data', size={3,4}): + super().__init__(fid, sfid=sfid, name=name, desc=desc, size=size) + def _decode_bin(self, raw_bin): + u = unpack('!BH', raw_bin[:3]) + +# TS 51.011 Section 10.3.13 +class EF_CBMID(EF_CBMI): + def __init__(self, fid='6f48', sfid=None, name='EF.CBMID', size={2,None}, rec_len=2, + desc='Cell Broadcast Message Identifier for Data Download'): + super().__init__(fid, sfid=sfid, name=name, desc=desc, size=size, rec_len=rec_len) + +# TS 51.011 Section 10.3.26 +class EF_ECC(LinFixedEF): + def __init__(self, fid='6fb7', sfid=None, name='EF.ECC', desc='Emergency Call Codes'): + super().__init__(fid, sfid=sfid, name=name, desc=desc, rec_len={4, 20}) + +# TS 51.011 Section 10.3.28 +class EF_CBMIR(TransRecEF): + def __init__(self, fid='6f50', sfid=None, name='EF.CBMIR', size={4,None}, rec_len=4, + desc='Cell Broadcast message identifier range selection'): + super().__init__(fid, sfid=sfid, name=name, desc=desc, size=size, rec_len=rec_len) + + +# TS 51.011 Section 10.3.35..37 +class EF_xPLMNwAcT(TransRecEF): + def __init__(self, fid, sfid=None, name=None, desc=None, size={40,None}, rec_len=5): + super().__init__(fid, sfid=sfid, name=name, desc=desc, size=size, rec_len=rec_len) + def _decode_record_hex(self, in_hex): + if in_hex[:6] == "ffffff": + return None + else: + return dec_xplmn_w_act(in_hex) + def _encode_record_hex(self, in_json): + if in_json == None: + return "ffffff0000" + else: + hplmn = enc_plmn(in_json['mcc'], in_json['mnc']) + act = self.enc_act(in_json['act']) + return hplmn + act + @staticmethod + def enc_act(in_list): + u16 = 0 + # first the simple ones + if 'UTRAN' in in_list: + u16 |= 0x8000 + if 'NG-RAN' in in_list: + u16 |= 0x0800 + if 'GSM COMPACT' in in_list: + u16 |= 0x0040 + if 'cdma2000 HRPD' in in_list: + u16 |= 0x0020 + if 'cdma2000 1xRTT' in in_list: + u16 |= 0x0010 + # E-UTRAN + if 'E-UTRAN WB-S1' and 'E-UTRAN NB-S1' in in_list: + u16 |= 0x7000 # WB-S1 and NB-S1 + elif 'E-UTRAN NB-S1' in in_list: + u16 |= 0x6000 # only WB-S1 + elif 'E-UTRAN NB-S1' in in_list: + u16 |= 0x5000 # only NB-S1 + # GSM mess + if 'GSM' in in_list and 'EC-GSM-IoT' in in_list: + u16 |= 0x008C + elif 'GSM' in in_list: + u16 |= 0x0084 + elif 'EC-GSM-IuT' in in_list: + u16 |= 0x0088 + return '%04X'%(u16) + + +class DF_GSM(CardDF): + def __init__(self, fid='7f20', name='DF.GSM', desc='GSM Network related files'): + super().__init__(fid=fid, name=name, desc=desc) + files = [ + EF_LP(), + EF_IMSI(), + TransparentEF('5f20', None, 'EF.Kc', 'Ciphering key Kc'), + EF_PLMNsel(), + TransparentEF('6f31', None, 'EF.HPPLMN', 'Higher Priority PLMN search period'), + # ACMmax + EF_ServiceTable('6f37', None, 'EF.SST', 'SIM service table', table=EF_SST_map, size={2,16}), + CyclicEF('6f39', None, 'EF.ACM', 'Accumulated call meter', rec_len={4,3}), + TransparentEF('6f3e', None, 'EF.GID1', 'Group Identifier Level 1'), + TransparentEF('6f3f', None, 'EF.GID2', 'Group Identifier Level 2'), + EF_SPN(), + TransparentEF('6f41', None, 'EF.PUCT', 'Price per unit and currency table', size={5,5}), + EF_CBMI(), + TransparentEF('6f7f', None, 'EF.BCCH', 'Broadcast control channels', size={16,16}), + EF_ACC(), + EF_PLMNsel('6f7b', None, 'EF.FPLMN', 'Forbidden PLMNs', size={12,12}), + TransparentEF('6f7e', None, 'EF.LOCI', 'Locationn information', size={11,11}), + EF_AD(), + TransparentEF('6fa3', None, 'EF.Phase', 'Phase identification', size={1,1}), + # TODO EF.VGCS VGCSS, VBS, VBSS, eMLPP, AAeM + EF_CBMID(), + EF_ECC(), + EF_CBMIR(), + # DCK, CNL, NIA, KcGRS, LOCIGPRS, SUME + EF_xPLMNwAcT('6f60', None, 'EF.PLMNwAcT', + 'User controlled PLMN Selector with Access Technology'), + EF_xPLMNwAcT('6f61', None, 'EF.OPLMNwAcT', + 'Operator controlled PLMN Selector with Access Technology'), + EF_xPLMNwAcT('6f62', None, 'EF.HPLMNwAcT', 'HPLMN Selector with Access Technology'), + # CPBCCH, InvScan, PNN, OPL, MBDN, MBI, MWIS, CFIS, EXT5, EXT6, EXT7, SPDI, MMSN, EXT8 + # MMSICP, MMSUP, MMSUCP + ] + self.add_files(files) + + def decode_select_response(self, data_hex): + return decode_select_response(data_hex) + +def decode_select_response(resp_hex): + resp_bin = h2b(resp_hex) + if resp_bin[0] == 0x62: + return pySim.ts_102_221.decode_select_response(resp_hex) + struct_of_file_map = { + 0: 'transparent', + 1: 'linear_fixed', + 3: 'cyclic' + } + type_of_file_map = { + 1: 'mf', + 2: 'df', + 4: 'working_ef' + } + ret = { + 'file_descriptor': {}, + 'proprietary_info': {}, + } + ret['file_id'] = b2h(resp_bin[4:6]) + ret['proprietary_info']['available_memory'] = int.from_bytes(resp_bin[2:4], 'big') + file_type = type_of_file_map[resp_bin[6]] if resp_bin[6] in type_of_file_map else resp_bin[6] + ret['file_descriptor']['file_type'] = file_type + if file_type in ['mf', 'df']: + ret['file_characteristics'] = b2h(resp_bin[13]) + ret['num_direct_child_df'] = int(resp_bin[14], 16) + ret['num_direct_child_ef'] = int(resp_bin[15], 16) + ret['num_chv_unbkock_adm_codes'] = int(resp_bin[16]) + # CHV / UNBLOCK CHV stats + elif file_type in ['working_ef']: + file_struct = struct_of_file_map[resp_bin[13]] if resp_bin[13] in struct_of_file_map else resp_bin[13] + ret['file_descriptor']['structure'] = file_struct + ret['access_conditions'] = b2h(resp_bin[8:10]) + if resp_bin[11] & 0x01 == 0: + ret['life_cycle_status_int'] = 'operational_activated' + elif resp_bin[11] & 0x04: + ret['life_cycle_status_int'] = 'operational_deactivated' + else: + ret['life_cycle_status_int'] = 'terminated' + + return ret + +CardProfileSIM = CardProfile('SIM', desc='GSM SIM Card', files_in_mf=[DF_TELECOM(), DF_GSM()]) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23175 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Iad117596e922223bdc1e5b956f84844b7c577e02 Gerrit-Change-Number: 23175 Gerrit-PatchSet: 7 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 Mar 3 07:51:43 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 3 Mar 2021 07:51:43 +0000 Subject: Change in pysim[master]: pySim-shell: add "dir" command. References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/23207 ) Change subject: pySim-shell: add "dir" command. ...................................................................... pySim-shell: add "dir" command. pysim-shell does not have a convinient way to list the files available in one directory. Tab completion currently is the only way to obtain a list of the available files. Lets add a dir command to print a file list. Change-Id: Ic06a60e0a0ec54d9bb26e151453ceb49d69e3df7 Related: OS#4963 --- M pySim-shell.py M pySim/utils.py 2 files changed, 37 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/07/23207/1 diff --git a/pySim-shell.py b/pySim-shell.py index ce9630a..a254121 100755 --- a/pySim-shell.py +++ b/pySim-shell.py @@ -38,7 +38,7 @@ from pySim.commands import SimCardCommands from pySim.cards import card_detect, Card from pySim.utils import h2b, swap_nibbles, rpad, h2s -from pySim.utils import dec_st, init_reader, sanitize_pin_adm +from pySim.utils import dec_st, init_reader, sanitize_pin_adm, tabulate_str_list from pySim.card_handler import card_handler from pySim.filesystem import CardMF, RuntimeState @@ -112,6 +112,24 @@ (data, sw) = self._cmd.card._scc.verify_chv(opts.chv_nr, opts.code) self._cmd.poutput(data) + dir_parser = argparse.ArgumentParser() + dir_parser.add_argument('--fids', help='Show file identifiers', action='store_true') + + @cmd2.with_argparser(dir_parser) + def do_dir(self, opts): + """Show a listing of files available in currently selected DF or MF""" + if opts.fids: + files = self._cmd.rs.selected_file.get_selectable_names(flags = ['FIDS', 'SELF', 'PARENT', 'APPS']) + else: + files = self._cmd.rs.selected_file.get_selectable_names(flags = ['NAMES', 'SELF', 'PARENT', 'APPS']) + file_list = list(files) + directory_str = tabulate_str_list(file_list, width = 79, hspace = 2, lspace = 1, align_left = True) + path_list = self._cmd.rs.selected_file.fully_qualified_path(True) + self._cmd.poutput('/'.join(path_list)) + path_list = self._cmd.rs.selected_file.fully_qualified_path(False) + self._cmd.poutput('/'.join(path_list)) + self._cmd.poutput(directory_str) + self._cmd.poutput("%d files" % len(file_list)) diff --git a/pySim/utils.py b/pySim/utils.py index 5320b59..8a49087 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -777,3 +777,21 @@ else: sw_masked = sw_masked + sw_lower[i] return sw_masked == pattern + +def tabulate_str_list(str_list, width = 79, hspace = 2, lspace = 1, align_left = True): + """Pretty print a list of strings into a tabulated form""" + longest_str = max(str_list, key=len) + cellwith = len(longest_str) + hspace + cols = width // cellwith + rows = (len(str_list) - 1) // cols + 1 + table = [] + for i in iter(range(rows)): + str_list_row = str_list[i::rows] + if (align_left): + format_str_cell = '%%-%ds' + else: + format_str_cell = '%%%ds' + format_str_row = (format_str_cell % cellwith) * len(str_list_row) + format_str_row = (" " * lspace) + format_str_row + table.append(format_str_row % tuple(str_list_row)) + return '\n'.join(table) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23207 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ic06a60e0a0ec54d9bb26e151453ceb49d69e3df7 Gerrit-Change-Number: 23207 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 Mar 3 07:51:43 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 3 Mar 2021 07:51:43 +0000 Subject: Change in pysim[master]: filesystem: case insensitive select. References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/23205 ) Change subject: filesystem: case insensitive select. ...................................................................... filesystem: case insensitive select. It makes sense to have a case insensitive select since for example 6f20 and 6F20 or ef.adn and EF.ADN are actually the same. Change-Id: Ibe283a108ddc9058af77c823b7222db555e1e0f6 Related: OS#4963 --- M pySim/filesystem.py 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/05/23205/1 diff --git a/pySim/filesystem.py b/pySim/filesystem.py index a9f2318..7d4a8f8 100644 --- a/pySim/filesystem.py +++ b/pySim/filesystem.py @@ -580,6 +580,8 @@ def select(self, name, cmd_app=None): """Change current directory""" sels = self.selected_file.get_selectables() + sels = {k.upper(): v for k, v in sels.items()} + name = name.upper() if name in sels: f = sels[name] # unregister commands of old file -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23205 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ibe283a108ddc9058af77c823b7222db555e1e0f6 Gerrit-Change-Number: 23205 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 Mar 3 07:51:43 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 3 Mar 2021 07:51:43 +0000 Subject: Change in pysim[master]: filesystem: allow dumping multiple records of a file References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/23206 ) Change subject: filesystem: allow dumping multiple records of a file ...................................................................... filesystem: allow dumping multiple records of a file At the moment we can only request pySim-shell to dump a specific record of a file. However, it may be useful to dump multiple records of a record oriented file at once. Change-Id: Id62db2cba4e3dfb6a7b3e6be8b892c16d11a8e3e Related: OS#4963 --- M pySim/filesystem.py 1 file changed, 10 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/06/23206/1 diff --git a/pySim/filesystem.py b/pySim/filesystem.py index 7d4a8f8..71392fa 100644 --- a/pySim/filesystem.py +++ b/pySim/filesystem.py @@ -378,11 +378,18 @@ read_rec_parser = argparse.ArgumentParser() read_rec_parser.add_argument('record_nr', type=int, help='Number of record to be read') + read_rec_parser.add_argument('--records', type=int, default=1, help='Number of records to be read, beginning at record_nr') @cmd2.with_argparser(read_rec_parser) def do_read_record(self, opts): - """Read a record from a record-oriented EF""" - (data, sw) = self._cmd.rs.read_record(opts.record_nr) - self._cmd.poutput(data) + """Read one or multiple records from a record-oriented EF""" + for r in range(opts.records): + recnr = opts.record_nr + r + (data, sw) = self._cmd.rs.read_record(recnr) + if (len(data) > 0): + recstr = str(data) + else: + recstr = "(empty)" + self._cmd.poutput("%03d %s" % (recnr, recstr)) read_rec_dec_parser = argparse.ArgumentParser() read_rec_dec_parser.add_argument('record_nr', type=int, help='Number of record to be read') -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23206 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id62db2cba4e3dfb6a7b3e6be8b892c16d11a8e3e Gerrit-Change-Number: 23206 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 Mar 3 07:51:44 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 3 Mar 2021 07:51:44 +0000 Subject: Change in pysim[master]: filesystem: decode select response for MF References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/23209 ) Change subject: filesystem: decode select response for MF ...................................................................... filesystem: decode select response for MF We always use the select response parser from the parent file. The usual case will be that on the way up at least one parent has overloeaded the response parser from the MF. However, this is not the case when an EF at the top level is selected, then we will just get the hexdump of the response since no response parser is available. Lets add a response parser for the MF as well so that we always parse the select response. Change-Id: Ib2b2476fc0e7d34cdacf7eb100ffadceb788c4d2 Related: OS#4963 --- M pySim/filesystem.py 1 file changed, 3 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/09/23209/1 diff --git a/pySim/filesystem.py b/pySim/filesystem.py index 71392fa..a1f9b8e 100644 --- a/pySim/filesystem.py +++ b/pySim/filesystem.py @@ -34,6 +34,8 @@ from pySim.utils import sw_match, h2b, b2h from pySim.exceptions import * +import pySim.ts_51_011 + class CardFile(object): """Base class for all objects in the smart card filesystem. Serve as a common ancestor to all other file types; rarely used directly. @@ -241,8 +243,8 @@ def decode_select_response(self, data_hex): """Decode the response to a SELECT command.""" - return data_hex + return pySim.ts_51_011.decode_select_response(data_hex) class CardADF(CardDF): -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23209 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ib2b2476fc0e7d34cdacf7eb100ffadceb788c4d2 Gerrit-Change-Number: 23209 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 Mar 3 07:51:42 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 3 Mar 2021 07:51:42 +0000 Subject: Change in pysim[master]: filesystem: add flags to filter selectables References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/23204 ) Change subject: filesystem: add flags to filter selectables ...................................................................... filesystem: add flags to filter selectables When requesting what DF/EF/ADF are selectable it is useful to have some control of what we do not want in the resulting list. Change-Id: Idb50a512bfdbfdf2e98f2ce0e89928cb0ff19f5e Related: OS#4963 --- M pySim/filesystem.py 1 file changed, 36 insertions(+), 25 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/04/23204/1 diff --git a/pySim/filesystem.py b/pySim/filesystem.py index 2bcbe10..a9f2318 100644 --- a/pySim/filesystem.py +++ b/pySim/filesystem.py @@ -86,33 +86,38 @@ node = node.parent return node - def _get_self_selectables(self, alias=None): + def _get_self_selectables(self, alias=None, flags = []): """Return a dict of {'identifier': self} tuples""" sels = {} if alias: sels.update({alias: self}) - if self.fid: + if self.fid and (flags == [] or 'FIDS' in flags): sels.update({self.fid: self}) - if self.name: + if self.name and (flags == [] or 'NAMES' in flags): sels.update({self.name: self}) return sels - def get_selectables(self): + def get_selectables(self, flags = []): """Return a dict of {'identifier': File} that is selectable from the current file.""" + sels = {} # we can always select ourself - sels = self._get_self_selectables('.') + if flags == [] or 'SELF' in flags: + sels = self._get_self_selectables('.', flags) # we can always select our parent - sels = self.parent._get_self_selectables('..') + if flags == [] or 'PARENT' in flags: + sels = self.parent._get_self_selectables('..', flags) # if we have a MF, we can always select its applications - mf = self.get_mf() - if mf: - sels.update(mf._get_self_selectables()) - sels.update(mf.get_app_selectables()) + if flags == [] or 'MF' in flags: + mf = self.get_mf() + if mf: + sels.update(mf._get_self_selectables(flags = flags)) + if flags == [] or 'APPS' in flags: + sels.update(mf.get_app_selectables(flags)) return sels - def get_selectable_names(self): + def get_selectable_names(self, flags = []): """Return a list of strings for all identifiers that are selectable from the current file.""" - sels = self.get_selectables() + sels = self.get_selectables(flags) return sels.keys() def decode_select_response(self, data_hex): @@ -158,12 +163,14 @@ for child in children: self.add_file(child, ignore_existing) - def get_selectables(self): + def get_selectables(self, flags = []): """Get selectable (DF/EF names) from current DF""" # global selectables + our children - sels = super().get_selectables() - sels.update({x.fid: x for x in self.children.values() if x.fid}) - sels.update({x.name: x for x in self.children.values() if x.name}) + sels = super().get_selectables(flags) + if flags == [] or 'FIDS' in flags: + sels.update({x.fid: x for x in self.children.values() if x.fid}) + if flags == [] or 'NAMES' in flags: + sels.update({x.name: x for x in self.children.values() if x.name}) return sels def lookup_file_by_name(self, name): @@ -216,16 +223,20 @@ """Get list of completions (AID names)""" return [x.name for x in self.applications] - def get_selectables(self): + def get_selectables(self, flags = []): """Get list of completions (DF/EF/ADF names) from current DF""" - sels = super().get_selectables() - sels.update(self.get_app_selectables()) + sels = super().get_selectables(flags) + if flags == [] or 'APPS' in flags: + sels.update(self.get_app_selectables(flags)) return sels - def get_app_selectables(self): - # applications by AID + name - sels = {x.aid: x for x in self.applications.values()} - sels.update({x.name: x for x in self.applications.values() if x.name}) + def get_app_selectables(self, flags = []): + """Get applications by AID + name""" + sels = {} + if flags == [] or 'FIDS' in flags: + sels.update({x.aid: x for x in self.applications.values()}) + if flags == [] or 'NAMES' in flags: + sels.update({x.name: x for x in self.applications.values() if x.name}) return sels def decode_select_response(self, data_hex): @@ -261,10 +272,10 @@ def __str__(self): return "EF(%s)" % (super().__str__()) - def get_selectables(self): + def get_selectables(self, flags = []): """Get list of completions (EF names) from current DF""" #global selectable names + those of the parent DF - sels = super().get_selectables() + sels = super().get_selectables(flags) sels.update({x.name:x for x in self.parent.children.values() if x != self}) return sels -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23204 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Idb50a512bfdbfdf2e98f2ce0e89928cb0ff19f5e Gerrit-Change-Number: 23204 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 Mar 3 07:51:45 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 3 Mar 2021 07:51:45 +0000 Subject: Change in pysim[master]: ts_102_221: fix fixup_fcp_proprietary_tlv_map() References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/23211 ) Change subject: ts_102_221: fix fixup_fcp_proprietary_tlv_map() ...................................................................... ts_102_221: fix fixup_fcp_proprietary_tlv_map() According to its description, the function fixup_fcp_proprietary_tlv_map() is supposed to add propritary TLV tags to satisfy the pyTlv parser, which can't handle unexpected tags. However, the function adds tags but it does only fill up the gaps from 0xd0 onwards. This makes no sense, lets extended it so that it adds a propritary tag for each tag that it is not already in the dictionary so that we get a continious dictionary that starts at 0x00 and ends at 0xff Change-Id: Ib06041361851f05dd990576fff47048dc1aa6290 Related: OS#4963 --- M pySim/ts_102_221.py 1 file changed, 4 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/11/23211/1 diff --git a/pySim/ts_102_221.py b/pySim/ts_102_221.py index 256a697..e3e7052 100644 --- a/pySim/ts_102_221.py +++ b/pySim/ts_102_221.py @@ -126,13 +126,12 @@ # accept unknown tags. It also doesn't raise a specific exception type but # just the generic ValueError, so we cannot ignore those either. Instead, # we insert a dict entry for every possible proprietary tag permitted +#def fixup_fcp_proprietary_tlv_map(tlv_map): def fixup_fcp_proprietary_tlv_map(tlv_map): - if 'D0' in tlv_map: - return - for i in range(0xd0, 0xff): + for i in range(0x00, 0xff): i_hex = i2h([i]).upper() - tlv_map[i_hex] = 'proprietary_' + i_hex - + if i_hex not in tlv_map: + tlv_map[i_hex] = 'proprietary_' + i_hex def tlv_key_replace(inmap, indata): def newkey(inmap, key): -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23211 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ib06041361851f05dd990576fff47048dc1aa6290 Gerrit-Change-Number: 23211 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 Mar 3 07:51:44 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 3 Mar 2021 07:51:44 +0000 Subject: Change in pysim[master]: pySim-shell: add functionality to walk through the fs recursively References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/23208 ) Change subject: pySim-shell: add functionality to walk through the fs recursively ...................................................................... pySim-shell: add functionality to walk through the fs recursively We might add functionality that may require to walk through the entire filesystem tree to perform an action to all files at once. Lets add a generic walker that gets a function pointer that can carray out a file specific action then. Also add another command that just displays the whole filesystem tree. Change-Id: If93d24dfb80c83eda39303c936910fa1fa7f48f8 Related: OS#4963 --- M pySim-shell.py 1 file changed, 17 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/08/23208/1 diff --git a/pySim-shell.py b/pySim-shell.py index a254121..4544220 100755 --- a/pySim-shell.py +++ b/pySim-shell.py @@ -131,6 +131,23 @@ self._cmd.poutput(directory_str) self._cmd.poutput("%d files" % len(file_list)) + def walk(self, indent = 0, action = None): + """Recursively walk through the file system, starting at the currently selected DF""" + files = self._cmd.rs.selected_file.get_selectable_names(flags = ['NAMES', 'APPS']) + for f in files: + if not action: + print (" " * indent + str(f)) + if f[0:2] == "DF" or f[0:3] == 'ADF': + fcp_dec = self._cmd.rs.select(f, self._cmd) + self.walk(indent + 1, action) + fcp_dec = self._cmd.rs.select("..", self._cmd) + elif action: + action(f) + + def do_tree(self, opts): + """Display a filesystem-tree with all selectable files""" + self.walk() + @with_default_category('USIM Commands') -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23208 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: If93d24dfb80c83eda39303c936910fa1fa7f48f8 Gerrit-Change-Number: 23208 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 Mar 3 07:51:44 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 3 Mar 2021 07:51:44 +0000 Subject: Change in pysim[master]: pySim-shell: add filesystem exporter References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/23210 ) Change subject: pySim-shell: add filesystem exporter ...................................................................... pySim-shell: add filesystem exporter add a new command "export" that can either export indidividual files or a whole directory tree. The command will generate a script that contains update_binary and update_record commands along with the file contents. This script can later be used to restore multiple files at once. Change-Id: I82f3ce92cd91a5ed3c4884d62f6b22e9589c8a49 Related: OS#4963 --- M pySim-shell.py 1 file changed, 38 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/10/23210/1 diff --git a/pySim-shell.py b/pySim-shell.py index 4544220..957b1a5 100755 --- a/pySim-shell.py +++ b/pySim-shell.py @@ -148,6 +148,44 @@ """Display a filesystem-tree with all selectable files""" self.walk() + def export(self, filename): + path_list_fid = self._cmd.rs.selected_file.fully_qualified_path(True) + path_list = self._cmd.rs.selected_file.fully_qualified_path(False) + self._cmd.poutput("# directory:%s (%s)" % ('/'.join(path_list_fid), '/'.join(path_list))) + try: + fcp_dec = self._cmd.rs.select(filename, self._cmd) + path_list_fid = self._cmd.rs.selected_file.fully_qualified_path(True) + path_list = self._cmd.rs.selected_file.fully_qualified_path(False) + self._cmd.poutput("# file:%s (%s)" % (path_list_fid[-1], path_list[-1])) + + fd = fcp_dec['file_descriptor'] + structure = fd['structure'] + self._cmd.poutput("# structure: %s" % str(structure)) + + if structure == 'transparent': + result = self._cmd.rs.read_binary() + print ("update_binary " + str(result[0])) + if structure == 'cyclic' or structure == 'linear_fixed': + num_of_rec = fd['num_of_rec'] + for r in range(1, num_of_rec + 1): + result = self._cmd.rs.read_record(r) + print ("update_record %d %s" % (r, str(result[0]))) + fcp_dec = self._cmd.rs.select("..", self._cmd) + except Exception as e: + self._cmd.poutput("# bad file:%s, %s" % (str(filename), str(e))) + + self._cmd.poutput("") + + export_parser = argparse.ArgumentParser() + export_parser.add_argument('--filename', type=str, default=None, help='only export specific file') + + @cmd2.with_argparser(export_parser) + def do_export(self, opts): + """Export files to script that can be imported back later""" + if opts.filename: + self.export(opts.filename) + else: + self.walk(0, self.export) @with_default_category('USIM Commands') -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23210 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I82f3ce92cd91a5ed3c4884d62f6b22e9589c8a49 Gerrit-Change-Number: 23210 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 Mar 3 07:57:40 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 3 Mar 2021 07:57:40 +0000 Subject: Change in pysim[master]: filesystem: add flags to filter selectables In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23204 ) Change subject: filesystem: add flags to filter selectables ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23204 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Idb50a512bfdbfdf2e98f2ce0e89928cb0ff19f5e Gerrit-Change-Number: 23204 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 03 Mar 2021 07:57: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 Mar 3 08:01:36 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 3 Mar 2021 08:01:36 +0000 Subject: Change in pysim[master]: filesystem: case insensitive select. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23205 ) Change subject: filesystem: case insensitive select. ...................................................................... Patch Set 1: Code-Review-1 I'm not entirely sure if we want that, at least not for file names. Pepople using unix-like operating systems are used to file names being case sensitive anyway. For hexadecimal FIDs, I agree with you, they should ideally be selectable both by upper case and lower case. However, I don't like the idea of doubling the number of entries in the auto-completion array. This will just make the list of choices when entering extremely long with no benefit to the user. We will need to implement this in a way without changing the autocompletion array/dict. Maybe simply have tab-completion only for the lower case version, but when the user manually entres an upper-case hex string convert that to lowercase before doing the dict lookup? -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23205 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ibe283a108ddc9058af77c823b7222db555e1e0f6 Gerrit-Change-Number: 23205 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 03 Mar 2021 08: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 Wed Mar 3 08:03:15 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 3 Mar 2021 08:03:15 +0000 Subject: Change in pysim[master]: filesystem: allow dumping multiple records of a file In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23206 ) Change subject: filesystem: allow dumping multiple records of a file ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/pysim/+/23206/1/pySim/filesystem.py File pySim/filesystem.py: https://gerrit.osmocom.org/c/pysim/+/23206/1/pySim/filesystem.py at 381 PS1, Line 381: records I'd call this something like --count --record-count --record-quantity --record-qty --num-of-records or the like to make it self-explanatory. --count is probably the simplest option. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23206 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id62db2cba4e3dfb6a7b3e6be8b892c16d11a8e3e Gerrit-Change-Number: 23206 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Wed, 03 Mar 2021 08:03: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 Wed Mar 3 08:06:10 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 3 Mar 2021 08:06:10 +0000 Subject: Change in pysim[master]: pySim-shell: add "dir" command. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23207 ) Change subject: pySim-shell: add "dir" command. ...................................................................... Patch Set 1: Curious that you chouse "dir" over "ls". As you just extended the get_selectables() with a comprehensive set of flags, it makes sense to also expose this to the user. I would argue that "ls" or "dir" should always show all options by default (making it identical to tab completion) but there's either a separate command, or ls/dir itself, that allows fine-grained controls like "ls --fids" or "ls --apps". -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23207 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ic06a60e0a0ec54d9bb26e151453ceb49d69e3df7 Gerrit-Change-Number: 23207 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Wed, 03 Mar 2021 08:06:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 3 08:16:57 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 3 Mar 2021 08:16:57 +0000 Subject: Change in pysim[master]: pySim-shell: add "dir" command. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23207 ) Change subject: pySim-shell: add "dir" command. ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/pysim/+/23207/1/pySim/utils.py File pySim/utils.py: https://gerrit.osmocom.org/c/pysim/+/23207/1/pySim/utils.py at 784 PS1, Line 784: cellwith = len(longest_str) + hspace In general I'm surprised we have to implement this ourselves rather than using some kind of existing module. Did you check out https://cmd2.readthedocs.io/en/latest/features/table_creation.html ? In any case, if implemented ourselves, this could benefit in terms of future compatibility from the use of cmd2.ansi.style_aware_wcswidth() https://cmd2.readthedocs.io/en/latest/features/generating_output.html#columnar-output -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23207 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ic06a60e0a0ec54d9bb26e151453ceb49d69e3df7 Gerrit-Change-Number: 23207 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Wed, 03 Mar 2021 08:16:57 +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 Mar 3 08:20:01 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 3 Mar 2021 08:20:01 +0000 Subject: Change in pysim[master]: pySim-shell: add functionality to walk through the fs recursively In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23208 ) Change subject: pySim-shell: add functionality to walk through the fs recursively ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/pysim/+/23208/1/pySim-shell.py File pySim-shell.py: https://gerrit.osmocom.org/c/pysim/+/23208/1/pySim-shell.py at 140 PS1, Line 140: if f[0:2] == "DF" or f[0:3] == 'ADF': I don't think this is safe. The fact that today all names are following that naming scheme is a coincidence and nothing to rely on. Shouldn't we simply use get_selectables() to get the dict of selectables as a dict with class references [instead of just the names] and then check the acutal class whether it is an instance of CardDF? As CardADF is a derived class of CardDF it would even cover both cases. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23208 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: If93d24dfb80c83eda39303c936910fa1fa7f48f8 Gerrit-Change-Number: 23208 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Wed, 03 Mar 2021 08:20: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 Wed Mar 3 08:23:57 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 3 Mar 2021 08:23:57 +0000 Subject: Change in pysim[master]: filesystem: decode select response for MF In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23209 ) Change subject: filesystem: decode select response for MF ...................................................................... Patch Set 1: Code-Review-1 (1 comment) the problem here is whether it is 'legal' to make such an assumption. Afte https://gerrit.osmocom.org/c/pysim/+/23209/1/pySim/filesystem.py File pySim/filesystem.py: https://gerrit.osmocom.org/c/pysim/+/23209/1/pySim/filesystem.py at 247 PS1, Line 247: are we sure this is the right thing to do? Which spec states that the root of any card will provide SELECT responses in-line with the old SIM specs? I would argue that on an UICC (i.e. USIM, ISIM, ...) this is actually wrong, as it always will use ETS 102 221 (UICC) - maybe _unless_ you start using old GSM command with CLA=A0. Which card did you test? Were the results conclusive? I think this definitely would have to be configurable, i.e. the card pfofile should have control over this, and not hard-coded in the filesystem.py module. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23209 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ib2b2476fc0e7d34cdacf7eb100ffadceb788c4d2 Gerrit-Change-Number: 23209 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 03 Mar 2021 08:23:57 +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 Mar 3 08:26:19 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 3 Mar 2021 08:26:19 +0000 Subject: Change in pysim[master]: pySim-shell: add filesystem exporter In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23210 ) Change subject: pySim-shell: add filesystem exporter ...................................................................... Patch Set 1: (1 comment) I don't see code that would generate "select" commands? https://gerrit.osmocom.org/c/pysim/+/23210/1/pySim-shell.py File pySim-shell.py: https://gerrit.osmocom.org/c/pysim/+/23210/1/pySim-shell.py at 167 PS1, Line 167: print we should use poutput rather than print, IMHO? (also below for the update_record). -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23210 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I82f3ce92cd91a5ed3c4884d62f6b22e9589c8a49 Gerrit-Change-Number: 23210 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Wed, 03 Mar 2021 08:26: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 Wed Mar 3 08:27:59 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 3 Mar 2021 08:27:59 +0000 Subject: Change in pysim[master]: ts_102_221: fix fixup_fcp_proprietary_tlv_map() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23211 ) Change subject: ts_102_221: fix fixup_fcp_proprietary_tlv_map() ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/c/pysim/+/23211/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/pysim/+/23211/1//COMMIT_MSG at 13 PS1, Line 13: This makes no sense well, it follows the spec which states that D0 and onwards are reserved for proprietary tags ;) https://gerrit.osmocom.org/c/pysim/+/23211/1//COMMIT_MSG at 15 PS1, Line 15: t I think the real solution here is to move away from pytlv, rather than adding moer and more hacks to twist it to what we need. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23211 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ib06041361851f05dd990576fff47048dc1aa6290 Gerrit-Change-Number: 23211 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Wed, 03 Mar 2021 08:27: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 Mar 3 11:33:13 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 3 Mar 2021 11:33:13 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: f_TC_mo_ping_pong_2phase_access(): Drop sending TLLI after 2nd p... References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23212 ) Change subject: pcu: f_TC_mo_ping_pong_2phase_access(): Drop sending TLLI after 2nd phase ...................................................................... pcu: f_TC_mo_ping_pong_2phase_access(): Drop sending TLLI after 2nd phase There's no need to send the TLLI after 2nd phase access. Change-Id: Id8230f8eebf0a3e1468b84f802c6704a19eb97d5 --- M pcu/PCU_Tests.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/12/23212/1 diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 61048b0..cde5396 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -1683,7 +1683,7 @@ /* Send one UL block (without TLLI since we are in Second-Phase Access) and make sure it is ACKED fine */ - f_ms_tx_ul_data_block_multi(ms, 1, with_tlli := true); + f_ms_tx_ul_data_block_multi(ms, 1); /* DL ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */ f_ms_tx_ul_block(ms, ts_RLCMAC_CTRL_ACK(ms.tlli), pollctx.fn, nr := pollctx.tstrxbts); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23212 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id8230f8eebf0a3e1468b84f802c6704a19eb97d5 Gerrit-Change-Number: 23212 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 Mar 3 11:33:14 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 3 Mar 2021 11:33:14 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: f_TC_mo_ping_pong_2phase_access(): Fix race condition References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23213 ) Change subject: pcu: f_TC_mo_ping_pong_2phase_access(): Fix race condition ...................................................................... pcu: f_TC_mo_ping_pong_2phase_access(): Fix race condition Sometimes the DL data may arrive too late to PCU and it may be requested to tx before it arrives, hence the PCU will in that case schedule and transmit a UL ACK/NACK instead of the expected DL data. Change-Id: Iaee546e2021e86ca6da19ab73cc8d283a827a665 --- M pcu/PCU_Tests.ttcn 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/13/23213/1 diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index cde5396..5d7a47a 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -1693,6 +1693,8 @@ /* Now SGSN sends some DL data, PCU will page on PACCH */ BSSGP[0].send(ts_BSSGP_DL_UD(ms.tlli, data)); + /* Sleep a bit to make sure PCU received the DL data and hence it will be prioritized by scheduler: */ + f_sleep(0.5); f_ms_rx_pkt_ass_pacch(ms, sched_fn, tr_RLCMAC_DL_PACKET_ASS); /* DL Ass sets poll+rrbp requesting PACKET CONTROL ACK */ f_ms_tx_ul_block(ms, ts_RLCMAC_CTRL_ACK(ms.tlli), sched_fn); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23213 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iaee546e2021e86ca6da19ab73cc8d283a827a665 Gerrit-Change-Number: 23213 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 Mar 3 14:14:38 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 3 Mar 2021 14:14:38 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: f_TC_mo_ping_pong_2phase_access(): Drop sending TLLI after 2nd p... In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23212 ) Change subject: pcu: f_TC_mo_ping_pong_2phase_access(): Drop sending TLLI after 2nd phase ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23212 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id8230f8eebf0a3e1468b84f802c6704a19eb97d5 Gerrit-Change-Number: 23212 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 03 Mar 2021 14:14: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 Mar 3 14:14:58 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 3 Mar 2021 14:14:58 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: f_TC_mo_ping_pong_2phase_access(): Fix race condition In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23213 ) Change subject: pcu: f_TC_mo_ping_pong_2phase_access(): Fix race condition ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23213 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iaee546e2021e86ca6da19ab73cc8d283a827a665 Gerrit-Change-Number: 23213 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 03 Mar 2021 14:14: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 Mar 3 14:38:53 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 3 Mar 2021 14:38:53 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: f_TC_mo_ping_pong_2phase_access(): Drop sending TLLI after 2nd p... In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23212 ) Change subject: pcu: f_TC_mo_ping_pong_2phase_access(): Drop sending TLLI after 2nd phase ...................................................................... pcu: f_TC_mo_ping_pong_2phase_access(): Drop sending TLLI after 2nd phase There's no need to send the TLLI after 2nd phase access. Change-Id: Id8230f8eebf0a3e1468b84f802c6704a19eb97d5 --- M pcu/PCU_Tests.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: fixeria: Looks good to me, approved Jenkins Builder: Verified diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 61048b0..cde5396 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -1683,7 +1683,7 @@ /* Send one UL block (without TLLI since we are in Second-Phase Access) and make sure it is ACKED fine */ - f_ms_tx_ul_data_block_multi(ms, 1, with_tlli := true); + f_ms_tx_ul_data_block_multi(ms, 1); /* DL ACK/NACK sets poll+rrbp requesting PACKET CONTROL ACK */ f_ms_tx_ul_block(ms, ts_RLCMAC_CTRL_ACK(ms.tlli), pollctx.fn, nr := pollctx.tstrxbts); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23212 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id8230f8eebf0a3e1468b84f802c6704a19eb97d5 Gerrit-Change-Number: 23212 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 3 14:38:54 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 3 Mar 2021 14:38:54 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: f_TC_mo_ping_pong_2phase_access(): Fix race condition In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23213 ) Change subject: pcu: f_TC_mo_ping_pong_2phase_access(): Fix race condition ...................................................................... pcu: f_TC_mo_ping_pong_2phase_access(): Fix race condition Sometimes the DL data may arrive too late to PCU and it may be requested to tx before it arrives, hence the PCU will in that case schedule and transmit a UL ACK/NACK instead of the expected DL data. Change-Id: Iaee546e2021e86ca6da19ab73cc8d283a827a665 --- M pcu/PCU_Tests.ttcn 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: fixeria: Looks good to me, approved Jenkins Builder: Verified diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index cde5396..5d7a47a 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -1693,6 +1693,8 @@ /* Now SGSN sends some DL data, PCU will page on PACCH */ BSSGP[0].send(ts_BSSGP_DL_UD(ms.tlli, data)); + /* Sleep a bit to make sure PCU received the DL data and hence it will be prioritized by scheduler: */ + f_sleep(0.5); f_ms_rx_pkt_ass_pacch(ms, sched_fn, tr_RLCMAC_DL_PACKET_ASS); /* DL Ass sets poll+rrbp requesting PACKET CONTROL ACK */ f_ms_tx_ul_block(ms, ts_RLCMAC_CTRL_ACK(ms.tlli), sched_fn); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23213 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iaee546e2021e86ca6da19ab73cc8d283a827a665 Gerrit-Change-Number: 23213 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 3 14:44:05 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 3 Mar 2021 14:44:05 +0000 Subject: Change in osmo-pcu[master]: gprs_bssgp_pcu: rework BSSGP Reset messages to support SGSN originate... In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/22946 ) Change subject: gprs_bssgp_pcu: rework BSSGP Reset messages to support SGSN originated BSSGP-RESET ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/22946 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I3afaf826798e362270ffa622c24bfd124ef25cd1 Gerrit-Change-Number: 22946 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 03 Mar 2021 14:44: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 Wed Mar 3 15:06:05 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 3 Mar 2021 15:06:05 +0000 Subject: Change in osmo-gbproxy[master]: Support setting rt-prio and cpu-affinity mask through VTY References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/23214 ) Change subject: Support setting rt-prio and cpu-affinity mask through VTY ...................................................................... Support setting rt-prio and cpu-affinity mask through VTY Related: SYS#4986 Change-Id: Id08f858b7f1bc79cc2958af4ffac3e11d644f210 --- M src/gb_proxy_main.c 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gbproxy refs/changes/14/23214/1 diff --git a/src/gb_proxy_main.c b/src/gb_proxy_main.c index 6bd8bd8..b9ff2f1 100644 --- a/src/gb_proxy_main.c +++ b/src/gb_proxy_main.c @@ -55,6 +55,7 @@ #include #include #include +#include #include "../bscconfig.h" @@ -284,6 +285,7 @@ osmo_talloc_vty_add_cmds(); osmo_stats_vty_add_cmds(); osmo_fsm_vty_add_cmds(); + osmo_cpu_sched_vty_init(tall_sgsn_ctx); gbproxy_vty_init(); handle_options(argc, argv); -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/23214 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: Id08f858b7f1bc79cc2958af4ffac3e11d644f210 Gerrit-Change-Number: 23214 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 Mar 3 15:08:32 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 3 Mar 2021 15:08:32 +0000 Subject: Change in osmo-gbproxy[master]: Support setting rt-prio and cpu-affinity mask through 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-gbproxy/+/23214 to look at the new patch set (#2). Change subject: Support setting rt-prio and cpu-affinity mask through VTY ...................................................................... Support setting rt-prio and cpu-affinity mask through VTY Related: SYS#4986 Change-Id: Id08f858b7f1bc79cc2958af4ffac3e11d644f210 --- M doc/manuals/osmogbproxy-usermanual.adoc M src/gb_proxy_main.c 2 files changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gbproxy refs/changes/14/23214/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/23214 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: Id08f858b7f1bc79cc2958af4ffac3e11d644f210 Gerrit-Change-Number: 23214 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 Mar 3 15:36:32 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 3 Mar 2021 15:36:32 +0000 Subject: Change in osmo-gbproxy[master]: Support setting rt-prio and cpu-affinity mask through VTY In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/23214 ) Change subject: Support setting rt-prio and cpu-affinity mask through VTY ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/23214 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: Id08f858b7f1bc79cc2958af4ffac3e11d644f210 Gerrit-Change-Number: 23214 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 03 Mar 2021 15:36: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 Mar 3 15:36:34 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 3 Mar 2021 15:36:34 +0000 Subject: Change in osmo-gbproxy[master]: Support setting rt-prio and cpu-affinity mask through VTY In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/23214 ) Change subject: Support setting rt-prio and cpu-affinity mask through VTY ...................................................................... Support setting rt-prio and cpu-affinity mask through VTY Related: SYS#4986 Change-Id: Id08f858b7f1bc79cc2958af4ffac3e11d644f210 --- M doc/manuals/osmogbproxy-usermanual.adoc M src/gb_proxy_main.c 2 files changed, 4 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/doc/manuals/osmogbproxy-usermanual.adoc b/doc/manuals/osmogbproxy-usermanual.adoc index f4da954..bf2404d 100644 --- a/doc/manuals/osmogbproxy-usermanual.adoc +++ b/doc/manuals/osmogbproxy-usermanual.adoc @@ -27,6 +27,8 @@ include::{srcdir}/chapters/counters_generated.adoc[] +include::./common/chapters/vty_cpu_sched.adoc[] + include::./common/chapters/port_numbers.adoc[] include::./common/chapters/bibliography.adoc[] diff --git a/src/gb_proxy_main.c b/src/gb_proxy_main.c index 6bd8bd8..b9ff2f1 100644 --- a/src/gb_proxy_main.c +++ b/src/gb_proxy_main.c @@ -55,6 +55,7 @@ #include #include #include +#include #include "../bscconfig.h" @@ -284,6 +285,7 @@ osmo_talloc_vty_add_cmds(); osmo_stats_vty_add_cmds(); osmo_fsm_vty_add_cmds(); + osmo_cpu_sched_vty_init(tall_sgsn_ctx); gbproxy_vty_init(); handle_options(argc, argv); -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/23214 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: Id08f858b7f1bc79cc2958af4ffac3e11d644f210 Gerrit-Change-Number: 23214 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 Mar 3 15:36:50 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 3 Mar 2021 15:36:50 +0000 Subject: Change in osmo-pcu[master]: gprs_bssgp_pcu: rework BSSGP Reset messages to support SGSN originate... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/22946 ) Change subject: gprs_bssgp_pcu: rework BSSGP Reset messages to support SGSN originated BSSGP-RESET ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/22946 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I3afaf826798e362270ffa622c24bfd124ef25cd1 Gerrit-Change-Number: 22946 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 03 Mar 2021 15:36: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 Mar 3 15:37:19 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 3 Mar 2021 15:37:19 +0000 Subject: Change in osmo-pcu[master]: gprs_bssgp_pcu: rework BSSGP Reset messages to support SGSN originate... In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/22946 ) Change subject: gprs_bssgp_pcu: rework BSSGP Reset messages to support SGSN originated BSSGP-RESET ...................................................................... gprs_bssgp_pcu: rework BSSGP Reset messages to support SGSN originated BSSGP-RESET Use primitives instead of parsing the message a second time. Set bctx->is_sgsn to false to allow the BSSGP layer to send back a RESET_ACK with cell information. Related: OS#3879 Depends: Ibcbaffa94cbdc4296a8a7c372304ac11d50d9559 (libosmocore) Change-Id: I3afaf826798e362270ffa622c24bfd124ef25cd1 --- M src/gprs_bssgp_pcu.c 1 file changed, 34 insertions(+), 16 deletions(-) Approvals: laforge: Looks good to me, approved daniel: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/gprs_bssgp_pcu.c b/src/gprs_bssgp_pcu.c index 84e9ec5..fd3f0db 100644 --- a/src/gprs_bssgp_pcu.c +++ b/src/gprs_bssgp_pcu.c @@ -414,7 +414,6 @@ struct bssgp_ud_hdr *budh = (struct bssgp_ud_hdr *) msgb_bssgph(msg); struct tlv_parsed tp; enum bssgp_pdu_type pdu_type = (enum bssgp_pdu_type) bgph->pdu_type; - enum gprs_bssgp_cause cause = BSSGP_CAUSE_OML_INTERV; uint16_t ns_bvci = msgb_bvci(msg), nsei = msgb_nsei(msg); int data_len; int rc = 0; @@ -457,20 +456,7 @@ } if (pdu_type == BSSGP_PDUT_BVC_RESET) { - rc = bssgp_rcvmsg(msg); - if (ns_bvci != BVCI_SIGNALLING) - return rc; - - if (TLVP_PRES_LEN(&tp, BSSGP_IE_CAUSE, 1)) - cause = (enum gprs_bssgp_cause)*TLVP_VAL(&tp, BSSGP_IE_CAUSE); - else - LOGP(DBSSGP, LOGL_ERROR, "NSEI=%u BVC RESET without cause?!\n", nsei); - - rc = bssgp_tx_bvc_ptp_reset(nsei, cause); - if (rc < 0) - LOGP(DBSSGP, LOGL_ERROR, "NSEI=%u BVC PTP reset procedure failed: %d\n", nsei, rc); - - return rc; + return bssgp_rcvmsg(msg); } /* look-up or create the BTS context for this BVC */ @@ -558,12 +544,43 @@ int bssgp_prim_cb(struct osmo_prim_hdr *oph, void *ctx) { struct osmo_bssgp_prim *bp; + int rc; + enum gprs_bssgp_cause cause; bp = container_of(oph, struct osmo_bssgp_prim, oph); switch (oph->sap) { case SAP_BSSGP_NM: - if (oph->primitive == PRIM_NM_STATUS) + switch (oph->primitive) { + case PRIM_NM_STATUS: handle_nm_status(bp); + break; + case PRIM_NM_BVC_RESET: + /* received a BVC PTP reset */ + LOGP(DPCU, LOGL_INFO, "Rx BVC_RESET on bvci %d\n", bp->bvci); + /* Rx Reset from SGSN */ + if (bp->bvci == BVCI_SIGNALLING) { + if (TLVP_PRES_LEN(bp->tp, BSSGP_IE_CAUSE, 1)) + cause = (enum gprs_bssgp_cause)*TLVP_VAL(bp->tp, BSSGP_IE_CAUSE); + else { + LOGP(DBSSGP, LOGL_ERROR, "NSEI=%u BVC RESET without cause?!\n", bp->nsei); + break; + } + + rc = bssgp_tx_bvc_ptp_reset(bp->nsei, cause); + if (rc < 0) { + LOGP(DBSSGP, LOGL_ERROR, "NSEI=%u BVC PTP reset procedure failed: %d\n", bp->nsei, rc); + break; + } + the_pcu->bssgp.bvc_sig_reset = 1; + the_pcu->bssgp.bvc_reset = 0; + the_pcu->bssgp.bvc_unblocked = 0; + } else if (bp->bvci == the_pcu->bssgp.bctx->bvci) { + the_pcu->bssgp.bvc_reset = 1; + the_pcu->bssgp.bvc_unblocked = 0; + bvc_timeout(NULL); + } + break; + } break; case SAP_BSSGP_RIM: return handle_rim(bp); @@ -1184,6 +1201,7 @@ the_pcu->bssgp.bts->nse = NULL; return NULL; } + the_pcu->bssgp.bctx->is_sgsn = false; the_pcu->bssgp.bctx->ra_id.mcc = spoof_mcc ? : mcc; if (spoof_mnc) { the_pcu->bssgp.bctx->ra_id.mnc = spoof_mnc; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/22946 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I3afaf826798e362270ffa622c24bfd124ef25cd1 Gerrit-Change-Number: 22946 Gerrit-PatchSet: 5 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 3 16:53:49 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 3 Mar 2021 16:53:49 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce test TC_n3105_max_t3195 References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23215 ) Change subject: pcu: Introduce test TC_n3105_max_t3195 ...................................................................... pcu: Introduce test TC_n3105_max_t3195 Related: OS#3928 Change-Id: I6f756c928509364fee14c552279f01b4e4f0e060 --- M pcu/PCU_Tests.ttcn 1 file changed, 120 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/15/23215/1 diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 8ffb081..3494c73 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -1547,6 +1547,125 @@ f_shutdown(__BFILE__, __LINE__, final := true); } +/* Verify after N3105_MAX is reached, T3195 is started and upon timeout TBF is + freed and no longer available. Trigger it by sending DL blocks and never DL + ACKing the data (which are requested through RRBP) */ +testcase TC_n3105_max_t3195() runs on RAW_PCU_Test_CT { + var PCUIF_info_ind info_ind; + var RlcmacDlBlock dl_block; + var octetstring data1 := f_rnd_octstring(1000); + var octetstring data2 := f_rnd_octstring(10); + var uint32_t dl_fn; + var template (value) TsTrxBtsNum nr; + var BTS_PDTCH_Block data_msg; + var GprsMS ms; + const integer N3105_MAX := 2; + var integer N3105 := 0; + timer T_3195 := 1.0; + var integer num_poll_recv := 0; + + /* Initialize NS/BSSGP side */ + f_init_bssgp(); + /* Initialize GPRS MS side */ + f_init_gprs_ms(); + ms := g_ms[0]; /* We only use first MS in this test */ + + /* Initialize the PCU interface abstraction */ + info_ind := valueof(ts_PCUIF_INFO_default(c_PCUIF_Flags_noMCS)); + /* Speedup test: */ + info_ind.n3105 := N3105_MAX; + info_ind.t3195 := 1; + f_init_raw(testcasename(), info_ind); + + /* Disable "MS delay release" timer, to avoid old DL data kept in cached + * MS and retransmitted after the TBF is released and later on created + * (because the MS is reused) */ + f_vty_config2(PCUVTY, {"pcu"}, "timer X2030 0"); + + /* Establish BSSGP connection to the PCU */ + f_bssgp_establish(); + f_bssgp_client_llgmm_assign(TLLI_UNUSED, ms.tlli); + + /* SGSN sends some DL data, PCU will page on CCCH (PCH) */ + BSSGP[0].send(ts_BSSGP_DL_UD(ms.tlli, data1)); + f_ms_exp_dl_tbf_ass_ccch(ms, PCU_IF_SAPI_PCH); + + /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ + f_sleep(X2002); + + /* Now we go on receiving DL data and not answering RRBP: */ + nr := ts_TsTrxBtsNum; + BTS.send(ts_PCUIF_RTS_REQ(nr.bts_nr, nr.trx_nr, nr.ts_nr, + sapi := PCU_IF_SAPI_PDTCH, fn := 0, + arfcn := f_trxnr2arfcn(valueof(nr.trx_nr)), + block_nr := nr.blk_nr)); + alt { + [not T_3195.running] BTS.receive(tr_PCUIF_DATA_PDTCH(nr.bts_nr, + tr_PCUIF_DATA(nr.trx_nr, nr.ts_nr, sapi := PCU_IF_SAPI_PDTCH), + tr_RLCMAC_DATA)) -> value data_msg { + if (f_dl_block_rrbp_valid(data_msg.dl_block)) { + if (num_poll_recv == 0) { + /* ACK first one so PCU detects we are there and doesn't retransmit Imm Ass */ + f_acknackdesc_ack_block(ms.dl_tbf.acknack_desc, data_msg.dl_block); + f_ms_tx_ul_block(ms, ts_RLCMAC_DL_ACK_NACK(ms.dl_tbf.tfi, ms.dl_tbf.acknack_desc), + f_dl_block_ack_fn(data_msg.dl_block, data_msg.raw.fn)); + } else { + log("Ignoring RRBP ", num_poll_recv); + N3105 := N3105 + 1; + } + num_poll_recv := num_poll_recv + 1; + } + + nr := ts_TsTrxBtsNum; + BTS.send(ts_PCUIF_RTS_REQ(nr.bts_nr, nr.trx_nr, nr.ts_nr, + sapi := PCU_IF_SAPI_PDTCH, fn := 0, + arfcn := f_trxnr2arfcn(valueof(nr.trx_nr)), + block_nr := nr.blk_nr)); + repeat; + } + /* At this point in time (N3105_MAX reached), PCU already moved TBF to + * RELEASE state so no data for it is tx'ed, hence the dummy blocks: + */ + [N3105 == N3105_MAX] BTS.receive(tr_PCUIF_DATA_PDTCH(nr.bts_nr, + tr_PCUIF_DATA(nr.trx_nr, nr.ts_nr, sapi := PCU_IF_SAPI_PDTCH), + tr_RLCMAC_DUMMY_CTRL)) -> value data_msg { + if (not T_3195.running) { + T_3195.start; + /* We even send some new data, nothing should be sent to MS */ + BSSGP[0].send(ts_BSSGP_DL_UD(ms.tlli, data1)); + } + nr := ts_TsTrxBtsNum; + BTS.send(ts_PCUIF_RTS_REQ(nr.bts_nr, nr.trx_nr, nr.ts_nr, + sapi := PCU_IF_SAPI_PDTCH, fn := 0, + arfcn := f_trxnr2arfcn(valueof(nr.trx_nr)), + block_nr := nr.blk_nr)); + repeat; + } + [] T_3195.timeout { + log("T_3195 timeout"); + /* Done in alt */ + } + [] BTS.receive { + setverdict(fail, "Unexpected BTS message"); + f_shutdown(__BFILE__, __LINE__); + } + } + + /* after T_3195 timeout, TBF is released */ + BSSGP[0].send(ts_BSSGP_DL_UD(ms.tlli, data2)); + f_ms_exp_dl_tbf_ass_ccch(ms, PCU_IF_SAPI_PCH); + + /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ + f_sleep(X2002); + f_rx_rlcmac_dl_block_exp_data(dl_block, dl_fn, data2, 0); + + /* ACK the DL block */ + f_acknackdesc_ack_block(ms.dl_tbf.acknack_desc, dl_block, '1'B); + f_ms_tx_ul_block(ms, ts_RLCMAC_DL_ACK_NACK(ms.dl_tbf.tfi, ms.dl_tbf.acknack_desc), + f_dl_block_ack_fn(dl_block, dl_fn)); + + f_shutdown(__BFILE__, __LINE__, final := true); +} /* Verify PCU handles correctly Countdown Procedure based on BS_CV_MAX */ testcase TC_countdown_procedure() runs on RAW_PCU_Test_CT { var RlcmacDlBlock dl_block; @@ -5414,6 +5533,7 @@ execute( TC_x2031_t3191() ); execute( TC_zero_x2031_t3191() ); execute( TC_t3193() ); + execute( TC_n3105_max_t3195() ); execute( TC_countdown_procedure() ); execute( TC_ul_all_sizes() ); execute( TC_ul_data_toolong_fills_padding() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23215 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6f756c928509364fee14c552279f01b4e4f0e060 Gerrit-Change-Number: 23215 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 Mar 3 17:06:43 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 3 Mar 2021 17:06:43 +0000 Subject: Change in osmo-pcu[master]: ms: clarify delayed MS relase process related code and logging References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23216 ) Change subject: ms: clarify delayed MS relase process related code and logging ...................................................................... ms: clarify delayed MS relase process related code and logging Change-Id: Ieaea6ab07b4b2822bcf394f2d0e9298b9f3c5854 --- M src/gprs_ms.c M tests/ms/MsTest.err M tests/tbf/TbfTest.err 3 files changed, 16 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/16/23216/1 diff --git a/src/gprs_ms.c b/src/gprs_ms.c index ab1a067..8a06e1f 100644 --- a/src/gprs_ms.c +++ b/src/gprs_ms.c @@ -79,11 +79,10 @@ .ms_active = gprs_default_cb_ms_active, }; -void ms_timeout(void *data) +static void ms_release_timer_cb(void *data) { struct GprsMs *ms = (struct GprsMs *) data; - LOGP(DRLCMAC, LOGL_INFO, "Timeout for MS object, TLLI = 0x%08x\n", - ms_tlli(ms)); + LOGPMS(ms, DRLCMAC, LOGL_INFO, "Release timer timeout\n"); if (ms->timer.data) { ms->timer.data = NULL; @@ -116,7 +115,7 @@ ms->imsi[0] = '\0'; memset(&ms->timer, 0, sizeof(ms->timer)); - ms->timer.cb = ms_timeout; + ms->timer.cb = ms_release_timer_cb; llc_queue_init(&ms->llc_queue); ms_set_mode(ms, GPRS); @@ -218,22 +217,26 @@ ms_update_status(ms); } -void ms_start_timer(struct GprsMs *ms) +static void ms_release_timer_start(struct GprsMs *ms) { if (ms->delay == 0) return; + LOGPMS(ms, DRLCMAC, LOGL_DEBUG, "Schedule MS release in %u secs\n", ms->delay); + if (!ms->timer.data) ms->timer.data = ms_ref(ms); osmo_timer_schedule(&ms->timer, ms->delay, 0); } -void ms_stop_timer(struct GprsMs *ms) +static void ms_release_timer_stop(struct GprsMs *ms) { if (!ms->timer.data) return; + LOGPMS(ms, DRLCMAC, LOGL_DEBUG, "Cancel scheduled MS release\n"); + osmo_timer_del(&ms->timer); ms->timer.data = NULL; ms_unref(ms); @@ -306,7 +309,7 @@ ms->ul_tbf = tbf; if (tbf) - ms_stop_timer(ms); + ms_release_timer_stop(ms); ms_unref(ms); } @@ -327,7 +330,7 @@ ms->dl_tbf = tbf; if (tbf) - ms_stop_timer(ms); + ms_release_timer_stop(ms); ms_unref(ms); } @@ -374,7 +377,7 @@ ms_set_reserved_slots(ms, NULL, 0, 0); if (ms_tlli(ms) != 0) - ms_start_timer(ms); + ms_release_timer_start(ms); } ms_update_status(ms); @@ -386,7 +389,7 @@ "Clearing MS object, TLLI: 0x%08x, IMSI: '%s'\n", ms_tlli(ms), ms_imsi(ms)); - ms_stop_timer(ms); + ms_release_timer_stop(ms); ms->tlli = GSM_RESERVED_TMSI; ms->new_dl_tlli = ms->tlli; diff --git a/tests/ms/MsTest.err b/tests/ms/MsTest.err index 51ab68d..0fd56f0 100644 --- a/tests/ms/MsTest.err +++ b/tests/ms/MsTest.err @@ -52,7 +52,7 @@ Attaching TBF to MS object, TLLI = 0xffeeddbb, TBF = TBF(TFI=0 TLLI=0xffeeddbb DIR=DL STATE=NULL) Detaching TBF from MS object, TLLI = 0xffeeddbb, TBF = TBF(TFI=0 TLLI=0xffeeddbb DIR=UL STATE=NULL) Detaching TBF from MS object, TLLI = 0xffeeddbb, TBF = TBF(TFI=0 TLLI=0xffeeddbb DIR=DL STATE=NULL) -Timeout for MS object, TLLI = 0xffeeddbb +MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0,) Release timer timeout Destroying MS object, TLLI = 0xffeeddbb Creating MS object, TLLI = 0xffeeddbb Attaching TBF to MS object, TLLI = 0xffeeddbb, TBF = TBF(TFI=0 TLLI=0xffeeddbb DIR=DL STATE=NULL) diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index 0f802a7..5185c7d 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -1382,6 +1382,7 @@ TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=RELEASING) free PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=RELEASING), 0 TBFs, USFs = 00, TFIs = 00000000. Detaching TBF from MS object, TLLI = 0xc0123456, TBF = TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=RELEASING) +MS(TLLI=0xc0123456, IMSI=001001000123456, TA=0, 45/0,) Schedule MS release in 10 secs ********** DL-TBF ends here ********** MS(TLLI=0xc0123456, IMSI=001001000123456, TA=0, 45/0,) ********** DL-TBF starts here ********** MS(TLLI=0xc0123456, IMSI=001001000123456, TA=0, 45/0,) Allocating DL TBF @@ -1398,6 +1399,7 @@ TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 Attaching TBF to MS object, TLLI = 0xc0123456, TBF = TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) +MS(TLLI=0xc0123456, IMSI=001001000123456, TA=0, 45/0, DL) Cancel scheduled MS release TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000123456) TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) changes state from NULL to ASSIGN -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23216 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ieaea6ab07b4b2822bcf394f2d0e9298b9f3c5854 Gerrit-Change-Number: 23216 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 Mar 3 17:06:56 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 3 Mar 2021 17:06:56 +0000 Subject: Change in osmo-pcu[master]: ms: clarify delayed MS release process related code and logging In-Reply-To: References: Message-ID: pespin has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-pcu/+/23216 ) Change subject: ms: clarify delayed MS release process related code and logging ...................................................................... ms: clarify delayed MS release process related code and logging Change-Id: Ieaea6ab07b4b2822bcf394f2d0e9298b9f3c5854 --- M src/gprs_ms.c M tests/ms/MsTest.err M tests/tbf/TbfTest.err 3 files changed, 16 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/16/23216/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23216 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ieaea6ab07b4b2822bcf394f2d0e9298b9f3c5854 Gerrit-Change-Number: 23216 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 Mar 3 17:49:01 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 3 Mar 2021 17:49:01 +0000 Subject: Change in pysim[master]: transport/pcsc: work around Python 3.5 bug: do not call disconnect() In-Reply-To: References: Message-ID: Hello Jenkins Builder, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/17283 to look at the new patch set (#4). Change subject: transport/pcsc: work around Python 3.5 bug: do not call disconnect() ...................................................................... transport/pcsc: work around Python 3.5 bug: do not call disconnect() Unfortunately, Debian ships old Python (3.5 vs 3.8) and old pyscard (1.9.4 vs 1.9.9). Calling PCSCCardConnection.disconnect() from a destructor causes warnings about ignored exceptions: AttributeError: 'NoneType' object has no attribute 'disconnect' AttributeError: 'NoneType' object has no attribute 'setChanged' AttributeError: 'NoneType' object has no attribute 'SCardDisconnect' TypeError: 'NoneType' object is not callable All these exceptions happen in pyscard's own destructors. Change-Id: I9c644bc5fe9791b141a30bfc13647d77937a82ee --- M pySim/transport/pcsc.py 1 file changed, 5 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/83/17283/4 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17283 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I9c644bc5fe9791b141a30bfc13647d77937a82ee Gerrit-Change-Number: 17283 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria 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 Wed Mar 3 17:49:01 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 3 Mar 2021 17:49:01 +0000 Subject: Change in pysim[master]: Python2 is deprecated, switch to Python3 In-Reply-To: References: Message-ID: fixeria has uploaded a new patch set (#19) to the change originally created by gnutoo. ( https://gerrit.osmocom.org/c/pysim/+/15504 ) Change subject: Python2 is deprecated, switch to Python3 ...................................................................... Python2 is deprecated, switch to Python3 Signed-off-by: Denis 'GNUtoo' Carikli Tweaked-by: Vadim Yanitskiy Change-Id: I430d173535e0cd5bb895b9dfc9070cbc40cfc8ff --- M contrib/jenkins.sh M pySim-prog.py M pySim/utils.py M tests/pysim-test.sh 4 files changed, 9 insertions(+), 20 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/04/15504/19 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15504 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I430d173535e0cd5bb895b9dfc9070cbc40cfc8ff Gerrit-Change-Number: 15504 Gerrit-PatchSet: 19 Gerrit-Owner: gnutoo Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 3 17:57:09 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 3 Mar 2021 17:57:09 +0000 Subject: Change in pysim[master]: transport/pcsc: work around Python 3.5 bug: do not call disconnect() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17283 ) Change subject: transport/pcsc: work around Python 3.5 bug: do not call disconnect() ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17283 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I9c644bc5fe9791b141a30bfc13647d77937a82ee Gerrit-Change-Number: 17283 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 03 Mar 2021 17:57:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 3 17:58:35 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 3 Mar 2021 17:58:35 +0000 Subject: Change in pysim[master]: transport/pcsc: work around Python 3.5 bug: do not call disconnect() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17283 ) Change subject: transport/pcsc: work around Python 3.5 bug: do not call disconnect() ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/c/pysim/+/17283/4/pySim/transport/pcsc.py File pySim/transport/pcsc.py: https://gerrit.osmocom.org/c/pysim/+/17283/4/pySim/transport/pcsc.py at 46 PS4, Line 46: pass May be worth printing some message like "Omit disconnect() exception" -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17283 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I9c644bc5fe9791b141a30bfc13647d77937a82ee Gerrit-Change-Number: 17283 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 03 Mar 2021 17:58:35 +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 Mar 3 17:59:17 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 3 Mar 2021 17:59:17 +0000 Subject: Change in pysim[master]: transport/pcsc: work around Python 3.5 bug: guard disconnect() In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/17283 to look at the new patch set (#5). Change subject: transport/pcsc: work around Python 3.5 bug: guard disconnect() ...................................................................... transport/pcsc: work around Python 3.5 bug: guard disconnect() Unfortunately, Debian ships old Python (3.5 vs 3.8) and old pyscard (1.9.4 vs 1.9.9). Calling PCSCCardConnection.disconnect() from a destructor causes warnings about ignored exceptions: AttributeError: 'NoneType' object has no attribute 'disconnect' AttributeError: 'NoneType' object has no attribute 'setChanged' AttributeError: 'NoneType' object has no attribute 'SCardDisconnect' TypeError: 'NoneType' object is not callable All these exceptions happen in pyscard's own destructors. Change-Id: I9c644bc5fe9791b141a30bfc13647d77937a82ee --- M pySim/transport/pcsc.py 1 file changed, 5 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/83/17283/5 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17283 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I9c644bc5fe9791b141a30bfc13647d77937a82ee Gerrit-Change-Number: 17283 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 3 17:59:17 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 3 Mar 2021 17:59:17 +0000 Subject: Change in pysim[master]: Python2 is deprecated, switch to Python3 In-Reply-To: References: Message-ID: fixeria has uploaded a new patch set (#20) to the change originally created by gnutoo. ( https://gerrit.osmocom.org/c/pysim/+/15504 ) Change subject: Python2 is deprecated, switch to Python3 ...................................................................... Python2 is deprecated, switch to Python3 Signed-off-by: Denis 'GNUtoo' Carikli Tweaked-by: Vadim Yanitskiy Change-Id: I430d173535e0cd5bb895b9dfc9070cbc40cfc8ff --- M contrib/jenkins.sh M pySim-prog.py M pySim/utils.py M tests/pysim-test.sh 4 files changed, 9 insertions(+), 20 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/04/15504/20 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15504 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I430d173535e0cd5bb895b9dfc9070cbc40cfc8ff Gerrit-Change-Number: 15504 Gerrit-PatchSet: 20 Gerrit-Owner: gnutoo Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 3 17:59:45 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 3 Mar 2021 17:59:45 +0000 Subject: Change in pysim[master]: transport/pcsc: work around Python 3.5 bug: guard disconnect() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17283 ) Change subject: transport/pcsc: work around Python 3.5 bug: guard disconnect() ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17283 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I9c644bc5fe9791b141a30bfc13647d77937a82ee Gerrit-Change-Number: 17283 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 03 Mar 2021 17:59: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 Mar 3 18:00:19 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 3 Mar 2021 18:00:19 +0000 Subject: Change in pysim[master]: transport/pcsc: work around Python 3.5 bug: guard disconnect() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17283 ) Change subject: transport/pcsc: work around Python 3.5 bug: guard disconnect() ...................................................................... Patch Set 5: (1 comment) https://gerrit.osmocom.org/c/pysim/+/17283/4/pySim/transport/pcsc.py File pySim/transport/pcsc.py: https://gerrit.osmocom.org/c/pysim/+/17283/4/pySim/transport/pcsc.py at 46 PS4, Line 46: pass > May be worth printing some message like "Omit disconnect() exception" This will break the unit tests that literally match everything printed. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17283 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I9c644bc5fe9791b141a30bfc13647d77937a82ee Gerrit-Change-Number: 17283 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 03 Mar 2021 18:00:19 +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 Mar 3 18:04:56 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 3 Mar 2021 18:04:56 +0000 Subject: Change in osmo-pcu[master]: ms: clarify delayed MS release process related code and logging In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23216 ) Change subject: ms: clarify delayed MS release process related code and logging ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/23216/2/src/gprs_ms.c File src/gprs_ms.c: https://gerrit.osmocom.org/c/osmo-pcu/+/23216/2/src/gprs_ms.c at 85 PS2, Line 85: timeout 'timer timeout' sounds odd, maybe 'timer expired'? -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23216 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ieaea6ab07b4b2822bcf394f2d0e9298b9f3c5854 Gerrit-Change-Number: 23216 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 03 Mar 2021 18:04: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 Mar 3 18:14:29 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 3 Mar 2021 18:14:29 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce test TC_dl_no_ack_retrans_imm_ass In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23199 ) Change subject: pcu: Introduce test TC_dl_no_ack_retrans_imm_ass ...................................................................... Patch Set 2: (2 comments) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23199/2/pcu/PCU_Tests.ttcn File pcu/PCU_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23199/2/pcu/PCU_Tests.ttcn at 2152 PS2, Line 2152: //info_ind := valueof(ts_PCUIF_INFO_default(c_PCUIF_Flags_noMCS)); Any reason to keep commented out lines? https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23199/2/pcu/PCU_Tests.ttcn at 2196 PS2, Line 2196: done What if you get a dummy block after the first RTS.req? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23199 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1c1d89f3de9ba158f802e7759ef78dc84f48218f Gerrit-Change-Number: 23199 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Wed, 03 Mar 2021 18:14: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 Wed Mar 3 18:21:55 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 3 Mar 2021 18:21:55 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce test TC_n3105_max_t3195 In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23215 ) Change subject: pcu: Introduce test TC_n3105_max_t3195 ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23215/1/pcu/PCU_Tests.ttcn File pcu/PCU_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23215/1/pcu/PCU_Tests.ttcn at 1619 PS1, Line 1619: nr := ts_TsTrxBtsNum; This variable is already set above, why do you re-initialize it here and below? Does it change? https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23215/1/pcu/PCU_Tests.ttcn at 1668 PS1, Line 1668: } missing new line -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23215 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6f756c928509364fee14c552279f01b4e4f0e060 Gerrit-Change-Number: 23215 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-Comment-Date: Wed, 03 Mar 2021 18:21:55 +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 Mar 3 18:58:04 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 3 Mar 2021 18:58:04 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce test TC_dl_no_ack_retrans_imm_ass In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23199 ) Change subject: pcu: Introduce test TC_dl_no_ack_retrans_imm_ass ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23199/2/pcu/PCU_Tests.ttcn File pcu/PCU_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23199/2/pcu/PCU_Tests.ttcn at 2196 PS2, Line 2196: done > What if you get a dummy block after the first RTS. [?] That cannot happen, since the scheduler will put the data we expect before it. I agree though that it makes sense checking it by means of some "dl_data_recevied" boolean set on the option below. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23199 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1c1d89f3de9ba158f802e7759ef78dc84f48218f Gerrit-Change-Number: 23199 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Wed, 03 Mar 2021 18:58:04 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 3 19:29:01 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 3 Mar 2021 19:29:01 +0000 Subject: Change in osmo-pcu[master]: ms: clarify delayed MS release process related code and logging In-Reply-To: References: Message-ID: Hello Jenkins Builder, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/23216 to look at the new patch set (#3). Change subject: ms: clarify delayed MS release process related code and logging ...................................................................... ms: clarify delayed MS release process related code and logging Change-Id: Ieaea6ab07b4b2822bcf394f2d0e9298b9f3c5854 --- M src/gprs_ms.c M tests/ms/MsTest.err M tests/tbf/TbfTest.err 3 files changed, 16 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/16/23216/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23216 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ieaea6ab07b4b2822bcf394f2d0e9298b9f3c5854 Gerrit-Change-Number: 23216 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 3 19:38:08 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 3 Mar 2021 19:38:08 +0000 Subject: Change in osmo-pcu[master]: gprs_ms: Use standarized logging on more messages References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23217 ) Change subject: gprs_ms: Use standarized logging on more messages ...................................................................... gprs_ms: Use standarized logging on more messages Change-Id: If7f471f4932c2347cd857cd59f761a36d9e735d1 --- M src/gprs_ms.c M tests/app_info/AppInfoTest.err M tests/ms/MsTest.err M tests/tbf/TbfTest.err 4 files changed, 229 insertions(+), 233 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/17/23217/1 diff --git a/src/gprs_ms.c b/src/gprs_ms.c index 2250fa9..0d6be4d 100644 --- a/src/gprs_ms.c +++ b/src/gprs_ms.c @@ -147,7 +147,7 @@ { struct llist_item *pos, *tmp; - LOGP(DRLCMAC, LOGL_INFO, "Destroying MS object, TLLI = 0x%08x\n", ms_tlli(ms)); + LOGPMS(ms, DRLCMAC, LOGL_INFO, "Destroying MS object\n"); ms_set_reserved_slots(ms, NULL, 0, 0); @@ -298,8 +298,7 @@ if (ms->ul_tbf == tbf) return; - LOGP(DRLCMAC, LOGL_INFO, "Attaching TBF to MS object, TLLI = 0x%08x, TBF = %s\n", - ms_tlli(ms), tbf_name((struct gprs_rlcmac_tbf *)tbf)); + LOGPMS(ms, DRLCMAC, LOGL_INFO, "Attaching UL TBF: %s\n", tbf_name((struct gprs_rlcmac_tbf *)tbf)); ms_ref(ms); @@ -319,8 +318,7 @@ if (ms->dl_tbf == tbf) return; - LOGP(DRLCMAC, LOGL_INFO, "Attaching TBF to MS object, TLLI = 0x%08x, TBF = %s\n", - ms_tlli(ms), tbf_name((struct gprs_rlcmac_tbf *)tbf)); + LOGPMS(ms, DRLCMAC, LOGL_INFO, "Attaching DL TBF: %s\n", tbf_name((struct gprs_rlcmac_tbf *)tbf)); ms_ref(ms); @@ -367,8 +365,8 @@ return; } - LOGP(DRLCMAC, LOGL_INFO, "Detaching TBF from MS object, TLLI = 0x%08x, TBF = %s\n", - ms_tlli(ms), tbf_name(tbf)); + LOGPMS(ms, DRLCMAC, LOGL_INFO, "Detaching TBF: %s\n", + tbf_name(tbf)); if (tbf_ms(tbf) == ms) tbf_set_ms(tbf, NULL); @@ -385,9 +383,7 @@ void ms_reset(struct GprsMs *ms) { - LOGP(DRLCMAC, LOGL_INFO, - "Clearing MS object, TLLI: 0x%08x, IMSI: '%s'\n", - ms_tlli(ms), ms_imsi(ms)); + LOGPMS(ms, DRLCMAC, LOGL_INFO, "Clearing MS object\n"); ms_release_timer_stop(ms); diff --git a/tests/app_info/AppInfoTest.err b/tests/app_info/AppInfoTest.err index 4ad4528..36234cb 100644 --- a/tests/app_info/AppInfoTest.err +++ b/tests/app_info/AppInfoTest.err @@ -19,7 +19,7 @@ PDCH(bts=0,trx=0,ts=5) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. PDCH(bts=0,trx=0,ts=6) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) +MS(TLLI=0xffffffff, IMSI=, TA=220, 10/11,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) ws(64) Creating MS object, TLLI = 0xffffffff Modifying MS object, TLLI = 0xffffffff, MS class 0 -> 12 @@ -29,7 +29,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=1 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS), 2 TBFs, USFs = 00, TFIs = 00000003. PDCH(bts=0,trx=0,ts=5) Attaching TBF(TFI=1 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS), 2 TBFs, USFs = 00, TFIs = 00000003. PDCH(bts=0,trx=0,ts=6) Attaching TBF(TFI=1 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS), 2 TBFs, USFs = 00, TFIs = 00000003. -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=1 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) +MS(TLLI=0xffffffff, IMSI=, TA=220, 12/13,) Attaching DL TBF: TBF(TFI=1 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) ws(64) --- test_sched_app_info_ok --- @@ -56,10 +56,10 @@ PDCH(bts=0,trx=0,ts=5) Detaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=RELEASING EGPRS), 1 TBFs, USFs = 00, TFIs = 00000002. PDCH(bts=0,trx=0,ts=6) Detaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=RELEASING EGPRS), 1 TBFs, USFs = 00, TFIs = 00000002. PDCH(bts=0,trx=0,ts=7) Detaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=RELEASING EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=RELEASING EGPRS) +MS(TLLI=0xffffffff, IMSI=, TA=220, 10/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=RELEASING EGPRS) PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=1 TLLI=0xffffffff DIR=DL STATE=RELEASING EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. PDCH(bts=0,trx=0,ts=5) Detaching TBF(TFI=1 TLLI=0xffffffff DIR=DL STATE=RELEASING EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. PDCH(bts=0,trx=0,ts=6) Detaching TBF(TFI=1 TLLI=0xffffffff DIR=DL STATE=RELEASING EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xffffffff, TBF = TBF(TFI=1 TLLI=0xffffffff DIR=DL STATE=RELEASING EGPRS) -Destroying MS object, TLLI = 0xffffffff -Destroying MS object, TLLI = 0xffffffff +MS(TLLI=0xffffffff, IMSI=, TA=220, 12/13,) Detaching TBF: TBF(TFI=1 TLLI=0xffffffff DIR=DL STATE=RELEASING EGPRS) +MS(TLLI=0xffffffff, IMSI=, TA=220, 12/13,) Destroying MS object +MS(TLLI=0xffffffff, IMSI=, TA=220, 10/11,) Destroying MS object diff --git a/tests/ms/MsTest.err b/tests/ms/MsTest.err index 261a026..9561ec8 100644 --- a/tests/ms/MsTest.err +++ b/tests/ms/MsTest.err @@ -1,23 +1,23 @@ Creating MS object, TLLI = 0xffeeddbb -Attaching TBF to MS object, TLLI = 0xffeeddbb, TBF = TBF(TFI=0 TLLI=0xffeeddbb DIR=UL STATE=NULL) -Attaching TBF to MS object, TLLI = 0xffeeddbb, TBF = TBF(TFI=0 TLLI=0xffeeddbb DIR=DL STATE=NULL) -Detaching TBF from MS object, TLLI = 0xffeeddbb, TBF = TBF(TFI=0 TLLI=0xffeeddbb DIR=UL STATE=NULL) -Detaching TBF from MS object, TLLI = 0xffeeddbb, TBF = TBF(TFI=0 TLLI=0xffeeddbb DIR=DL STATE=NULL) -Destroying MS object, TLLI = 0xffeeddbb +MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xffeeddbb DIR=UL STATE=NULL) +MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0, UL) Attaching DL TBF: TBF(TFI=0 TLLI=0xffeeddbb DIR=DL STATE=NULL) +MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0, DL) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddbb DIR=UL STATE=NULL) +MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddbb DIR=DL STATE=NULL) +MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0,) Destroying MS object Creating MS object, TLLI = 0xffeeddbb -Attaching TBF to MS object, TLLI = 0xffeeddbb, TBF = TBF(TFI=0 TLLI=0xffeeddbb DIR=UL STATE=NULL) -Attaching TBF to MS object, TLLI = 0xffeeddbb, TBF = TBF(TFI=0 TLLI=0xffeeddbb DIR=DL STATE=NULL) -Detaching TBF from MS object, TLLI = 0xffeeddbb, TBF = TBF(TFI=0 TLLI=0xffeeddbb DIR=UL STATE=NULL) -Detaching TBF from MS object, TLLI = 0xffeeddbb, TBF = TBF(TFI=0 TLLI=0xffeeddbb DIR=DL STATE=NULL) -Destroying MS object, TLLI = 0xffeeddbb +MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xffeeddbb DIR=UL STATE=NULL) +MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0, UL) Attaching DL TBF: TBF(TFI=0 TLLI=0xffeeddbb DIR=DL STATE=NULL) +MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0, DL) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddbb DIR=UL STATE=NULL) +MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddbb DIR=DL STATE=NULL) +MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0,) Destroying MS object Creating MS object, TLLI = 0xffeeddbb -Attaching TBF to MS object, TLLI = 0xffeeddbb, TBF = TBF(TFI=0 TLLI=0xffeeddbb DIR=DL STATE=NULL) -Attaching TBF to MS object, TLLI = 0xffeeddbb, TBF = TBF(TFI=0 TLLI=0xffeeddbb DIR=DL STATE=NULL) -Attaching TBF to MS object, TLLI = 0xffeeddbb, TBF = TBF(TFI=0 TLLI=0xffeeddbb DIR=UL STATE=NULL) -Detaching TBF from MS object, TLLI = 0xffeeddbb, TBF = TBF(TFI=0 TLLI=0xffeeddbb DIR=UL STATE=NULL) -Detaching TBF from MS object, TLLI = 0xffeeddbb, TBF = TBF(TFI=0 TLLI=0xffeeddbb DIR=DL STATE=NULL) -Detaching TBF from MS object, TLLI = 0xffeeddbb, TBF = TBF(TFI=0 TLLI=0xffeeddbb DIR=DL STATE=NULL) -Destroying MS object, TLLI = 0xffeeddbb +MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffeeddbb DIR=DL STATE=NULL) +MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0, DL) Attaching DL TBF: TBF(TFI=0 TLLI=0xffeeddbb DIR=DL STATE=NULL) +MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0, DL) Attaching UL TBF: TBF(TFI=0 TLLI=0xffeeddbb DIR=UL STATE=NULL) +MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0, DL) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddbb DIR=UL STATE=NULL) +MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0, DL) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddbb DIR=DL STATE=NULL) +MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddbb DIR=DL STATE=NULL) +MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0,) Destroying MS object Creating MS object, TLLI = 0xaa000000 Modifying MS object, UL TLLI: 0xaa000000 -> 0xff001111, not yet confirmed Modifying MS object, TLLI: 0xff001111 confirmed @@ -34,28 +34,28 @@ Modifying MS object, TLLI: 0xaa000000 confirmed The MS object cannot fully confirm an unexpected TLLI: 0xff001111, partly confirmed Modifying MS object, TLLI: 0xaa000000 -> 0xff001111, already confirmed partly -Destroying MS object, TLLI = 0xff001111 +MS(TLLI=0xff001111, IMSI=, TA=220, 0/0,) Destroying MS object Creating MS object, TLLI = 0xffffffff Modifying MS object, UL TLLI: 0xffffffff -> 0xffeeddbb, not yet confirmed Modifying MS object, TLLI = 0xffeeddbb, IMSI '' -> '001001987654321' Creating MS object, TLLI = 0xffffffff Modifying MS object, UL TLLI: 0xffffffff -> 0xffeeddbc, not yet confirmed Modifying MS object, TLLI = 0xffeeddbc, IMSI '' -> '001001987654322' -Attaching TBF to MS object, TLLI = 0xffeeddbb, TBF = TBF(TFI=0 TLLI=0xffeeddbb DIR=UL STATE=NULL) -Detaching TBF from MS object, TLLI = 0xffeeddbb, TBF = TBF(TFI=0 TLLI=0xffeeddbb DIR=UL STATE=NULL) -Destroying MS object, TLLI = 0xffeeddbb -Attaching TBF to MS object, TLLI = 0xffeeddbc, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) -Detaching TBF from MS object, TLLI = 0xffeeddbc, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) -Destroying MS object, TLLI = 0xffeeddbc +MS(TLLI=0xffeeddbb, IMSI=001001987654321, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xffeeddbb DIR=UL STATE=NULL) +MS(TLLI=0xffeeddbb, IMSI=001001987654321, TA=220, 0/0,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddbb DIR=UL STATE=NULL) +MS(TLLI=0xffeeddbb, IMSI=001001987654321, TA=220, 0/0,) Destroying MS object +MS(TLLI=0xffeeddbc, IMSI=001001987654322, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) +MS(TLLI=0xffeeddbc, IMSI=001001987654322, TA=220, 0/0,) Detaching TBF: TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) +MS(TLLI=0xffeeddbc, IMSI=001001987654322, TA=220, 0/0,) Destroying MS object Creating MS object, TLLI = 0xffeeddbb -Attaching TBF to MS object, TLLI = 0xffeeddbb, TBF = TBF(TFI=0 TLLI=0xffeeddbb DIR=UL STATE=NULL) -Attaching TBF to MS object, TLLI = 0xffeeddbb, TBF = TBF(TFI=0 TLLI=0xffeeddbb DIR=DL STATE=NULL) -Detaching TBF from MS object, TLLI = 0xffeeddbb, TBF = TBF(TFI=0 TLLI=0xffeeddbb DIR=UL STATE=NULL) -Detaching TBF from MS object, TLLI = 0xffeeddbb, TBF = TBF(TFI=0 TLLI=0xffeeddbb DIR=DL STATE=NULL) +MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xffeeddbb DIR=UL STATE=NULL) +MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0, UL) Attaching DL TBF: TBF(TFI=0 TLLI=0xffeeddbb DIR=DL STATE=NULL) +MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0, DL) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddbb DIR=UL STATE=NULL) +MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddbb DIR=DL STATE=NULL) MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0,) Release timer expired -Destroying MS object, TLLI = 0xffeeddbb +MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0,) Destroying MS object Creating MS object, TLLI = 0xffeeddbb -Attaching TBF to MS object, TLLI = 0xffeeddbb, TBF = TBF(TFI=0 TLLI=0xffeeddbb DIR=DL STATE=NULL) +MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffeeddbb DIR=DL STATE=NULL) Creating MS object, TLLI = 0xdeadbeef Creating MS object, TLLI = 0xdeadbef0 -Attaching TBF to MS object, TLLI = 0xdeadbef0, TBF = TBF(TFI=0 TLLI=0xdeadbef0 DIR=DL STATE=NULL) +MS(TLLI=0xdeadbef0, IMSI=, TA=220, 0/0,) Attaching DL TBF: TBF(TFI=0 TLLI=0xdeadbef0 DIR=DL STATE=NULL) diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index 5185c7d..17068f7 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -16,7 +16,7 @@ PDCH(bts=0,trx=0,ts=2) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) Setting Control TS 2 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 04, dl_slots = 04 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) +MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) The MS object cannot fully confirm an unexpected TLLI: 0x00002342, partly confirmed Modifying MS object, TLLI = 0x00002342, TA 220 -> 4 MS(TLLI=0x00002342, IMSI=, TA=4, 0/0, DL) ********** UL-TBF starts here ********** @@ -33,7 +33,7 @@ PDCH(bts=0,trx=0,ts=2) Attaching TBF(TFI=0 TLLI=0x00002342 DIR=UL STATE=NULL), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0x00002342 DIR=UL STATE=NULL) Setting Control TS 2 TBF(TFI=0 TLLI=0x00002342 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 04, dl_slots = 00 -Attaching TBF to MS object, TLLI = 0x00002342, TBF = TBF(TFI=0 TLLI=0x00002342 DIR=UL STATE=NULL) +MS(TLLI=0x00002342, IMSI=, TA=4, 0/0, DL) Attaching UL TBF: TBF(TFI=0 TLLI=0x00002342 DIR=UL STATE=NULL) Modifying MS object, TLLI: 0xffffffff -> 0x00002342, already confirmed partly The MS object cannot fully confirm an unexpected TLLI: 0x00004232, partly confirmed Modifying MS object, TLLI: 0x00002342 -> 0x00004232, already confirmed partly @@ -57,7 +57,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) +MS(TLLI=0xffffffff, IMSI=, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) changes state from NULL to FLOW @@ -106,7 +106,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=NULL), 2 TBFs, USFs = 00, TFIs = 00000003. TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=NULL) +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 45/0, DL) Attaching DL TBF: TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=NULL) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE) Trigger downlink assignment on PACCH TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=NULL) Send dowlink assignment on PACCH, because TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE) exists TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE) changes DL ASS state from GPRS_RLCMAC_DL_ASS_WAIT_ACK to GPRS_RLCMAC_DL_ASS_SEND_ASS @@ -118,15 +118,15 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING) free TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING), 1 TBFs, USFs = 00, TFIs = 00000002. -Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING) +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 45/0, DL) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING) ********** DL-TBF ends here ********** TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=ASSIGN) changes state from ASSIGN to RELEASING TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=RELEASING) free TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=RELEASING) stopping timer T0 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=RELEASING), 0 TBFs, USFs = 00, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=RELEASING) +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 45/0,) Detaching TBF: TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=RELEASING) ********** DL-TBF ends here ********** -Destroying MS object, TLLI = 0xffeeddcc +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 45/0,) Destroying MS object === end test_tbf_final_ack === === start test_tbf_final_ack === Creating MS object, TLLI = 0xffffffff @@ -146,7 +146,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) +MS(TLLI=0xffffffff, IMSI=, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) changes state from NULL to FLOW @@ -195,7 +195,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=NULL), 2 TBFs, USFs = 00, TFIs = 00000003. TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=NULL) +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 45/0, DL) Attaching DL TBF: TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=NULL) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE) Trigger downlink assignment on PACCH TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=NULL) Send dowlink assignment on PACCH, because TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE) exists TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE) changes DL ASS state from GPRS_RLCMAC_DL_ASS_WAIT_ACK to GPRS_RLCMAC_DL_ASS_SEND_ASS @@ -207,15 +207,15 @@ TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=RELEASING) free TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=RELEASING) stopping timer T0 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=RELEASING), 1 TBFs, USFs = 00, TFIs = 00000001. -Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=RELEASING) +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 45/0,) Detaching TBF: TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=RELEASING) ********** DL-TBF ends here ********** TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE) changes state from WAIT RELEASE to RELEASING TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING) free TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING), 0 TBFs, USFs = 00, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING) +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 45/0,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING) ********** DL-TBF ends here ********** -Destroying MS object, TLLI = 0xffeeddcc +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 45/0,) Destroying MS object === end test_tbf_final_ack === === start test_tbf_delayed_release === Creating MS object, TLLI = 0xffffffff @@ -235,7 +235,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) +MS(TLLI=0xffffffff, IMSI=, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) changes state from NULL to FLOW @@ -469,8 +469,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING) free TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING), 0 TBFs, USFs = 00, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING) -Destroying MS object, TLLI = 0xffeeddcc +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 45/0,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING) +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 45/0,) Destroying MS object ********** DL-TBF ends here ********** === end test_tbf_delayed_release === === start test_tbf_imsi === @@ -491,7 +491,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) +MS(TLLI=0xffffffff, IMSI=, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) changes state from NULL to FLOW @@ -512,7 +512,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=1 TLLI=0xffffffff DIR=DL STATE=NULL), 2 TBFs, USFs = 00, TFIs = 00000003. TBF(TFI=1 TLLI=0xffffffff DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=1 TLLI=0xffffffff DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=1 TLLI=0xffffffff DIR=DL STATE=NULL) +MS(TLLI=0xffffffff, IMSI=, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=1 TLLI=0xffffffff DIR=DL STATE=NULL) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 TBF(TFI=1 TLLI=0xffffffff DIR=DL STATE=NULL) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS TBF(TFI=1 TLLI=0xffffffff DIR=DL STATE=NULL) changes state from NULL to FLOW @@ -525,15 +525,15 @@ TBF(TFI=0 TLLI=0xf1000001 DIR=DL STATE=FLOW) changes state from FLOW to RELEASING TBF(TFI=0 TLLI=0xf1000001 DIR=DL STATE=RELEASING) free PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xf1000001 DIR=DL STATE=RELEASING), 1 TBFs, USFs = 00, TFIs = 00000002. -Detaching TBF from MS object, TLLI = 0xf1000001, TBF = TBF(TFI=0 TLLI=0xf1000001 DIR=DL STATE=RELEASING) +MS(TLLI=0xf1000001, IMSI=001001000000002, TA=0, 45/0,) Detaching TBF: TBF(TFI=0 TLLI=0xf1000001 DIR=DL STATE=RELEASING) ********** DL-TBF ends here ********** -Clearing MS object, TLLI: 0xf1000001, IMSI: '001001000000002' -Destroying MS object, TLLI = 0xffffffff +MS(TLLI=0xf1000001, IMSI=001001000000002, TA=0, 45/0,) Clearing MS object +MS(TLLI=0xffffffff, IMSI=, TA=0, 45/0,) Destroying MS object TBF(TFI=1 TLLI=0xf1000002 DIR=DL STATE=FLOW) changes state from FLOW to RELEASING TBF(TFI=1 TLLI=0xf1000002 DIR=DL STATE=RELEASING) free PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=1 TLLI=0xf1000002 DIR=DL STATE=RELEASING), 0 TBFs, USFs = 00, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xf1000002, TBF = TBF(TFI=1 TLLI=0xf1000002 DIR=DL STATE=RELEASING) -Destroying MS object, TLLI = 0xf1000002 +MS(TLLI=0xf1000002, IMSI=001001000000002, TA=0, 45/0,) Detaching TBF: TBF(TFI=1 TLLI=0xf1000002 DIR=DL STATE=RELEASING) +MS(TLLI=0xf1000002, IMSI=001001000000002, TA=0, 45/0,) Destroying MS object ********** DL-TBF ends here ********** === end test_tbf_imsi === === start test_tbf_exhaustion === @@ -555,7 +555,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=0 TLLI=0xc0000000 DIR=DL STATE=NULL), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xc0000000 DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=0 TLLI=0xc0000000 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc0000000, TBF = TBF(TFI=0 TLLI=0xc0000000 DIR=DL STATE=NULL) +MS(TLLI=0xc0000000, IMSI=001001000000000, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=0 TLLI=0xc0000000 DIR=DL STATE=NULL) TBF(TFI=0 TLLI=0xc0000000 DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=0 TLLI=0xc0000000 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000000) TBF(TFI=0 TLLI=0xc0000000 DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -580,7 +580,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=1 TLLI=0xc0000001 DIR=DL STATE=NULL), 2 TBFs, USFs = 00, TFIs = 00000003. TBF(TFI=1 TLLI=0xc0000001 DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=1 TLLI=0xc0000001 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc0000001, TBF = TBF(TFI=1 TLLI=0xc0000001 DIR=DL STATE=NULL) +MS(TLLI=0xc0000001, IMSI=001001000000001, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=1 TLLI=0xc0000001 DIR=DL STATE=NULL) TBF(TFI=1 TLLI=0xc0000001 DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=1 TLLI=0xc0000001 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000001) TBF(TFI=1 TLLI=0xc0000001 DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -605,7 +605,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=2 TLLI=0xc0000002 DIR=DL STATE=NULL), 3 TBFs, USFs = 00, TFIs = 00000007. TBF(TFI=2 TLLI=0xc0000002 DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=2 TLLI=0xc0000002 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc0000002, TBF = TBF(TFI=2 TLLI=0xc0000002 DIR=DL STATE=NULL) +MS(TLLI=0xc0000002, IMSI=001001000000002, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=2 TLLI=0xc0000002 DIR=DL STATE=NULL) TBF(TFI=2 TLLI=0xc0000002 DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=2 TLLI=0xc0000002 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000002) TBF(TFI=2 TLLI=0xc0000002 DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -630,7 +630,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=3 TLLI=0xc0000003 DIR=DL STATE=NULL), 4 TBFs, USFs = 00, TFIs = 0000000f. TBF(TFI=3 TLLI=0xc0000003 DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=3 TLLI=0xc0000003 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc0000003, TBF = TBF(TFI=3 TLLI=0xc0000003 DIR=DL STATE=NULL) +MS(TLLI=0xc0000003, IMSI=001001000000003, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=3 TLLI=0xc0000003 DIR=DL STATE=NULL) TBF(TFI=3 TLLI=0xc0000003 DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=3 TLLI=0xc0000003 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000003) TBF(TFI=3 TLLI=0xc0000003 DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -655,7 +655,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=4 TLLI=0xc0000004 DIR=DL STATE=NULL), 5 TBFs, USFs = 00, TFIs = 0000001f. TBF(TFI=4 TLLI=0xc0000004 DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=4 TLLI=0xc0000004 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc0000004, TBF = TBF(TFI=4 TLLI=0xc0000004 DIR=DL STATE=NULL) +MS(TLLI=0xc0000004, IMSI=001001000000004, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=4 TLLI=0xc0000004 DIR=DL STATE=NULL) TBF(TFI=4 TLLI=0xc0000004 DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=4 TLLI=0xc0000004 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000004) TBF(TFI=4 TLLI=0xc0000004 DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -680,7 +680,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=5 TLLI=0xc0000005 DIR=DL STATE=NULL), 6 TBFs, USFs = 00, TFIs = 0000003f. TBF(TFI=5 TLLI=0xc0000005 DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=5 TLLI=0xc0000005 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc0000005, TBF = TBF(TFI=5 TLLI=0xc0000005 DIR=DL STATE=NULL) +MS(TLLI=0xc0000005, IMSI=001001000000005, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=5 TLLI=0xc0000005 DIR=DL STATE=NULL) TBF(TFI=5 TLLI=0xc0000005 DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=5 TLLI=0xc0000005 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000005) TBF(TFI=5 TLLI=0xc0000005 DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -705,7 +705,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=6 TLLI=0xc0000006 DIR=DL STATE=NULL), 7 TBFs, USFs = 00, TFIs = 0000007f. TBF(TFI=6 TLLI=0xc0000006 DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=6 TLLI=0xc0000006 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc0000006, TBF = TBF(TFI=6 TLLI=0xc0000006 DIR=DL STATE=NULL) +MS(TLLI=0xc0000006, IMSI=001001000000006, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=6 TLLI=0xc0000006 DIR=DL STATE=NULL) TBF(TFI=6 TLLI=0xc0000006 DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=6 TLLI=0xc0000006 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000006) TBF(TFI=6 TLLI=0xc0000006 DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -730,7 +730,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=7 TLLI=0xc0000007 DIR=DL STATE=NULL), 8 TBFs, USFs = 00, TFIs = 000000ff. TBF(TFI=7 TLLI=0xc0000007 DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=7 TLLI=0xc0000007 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc0000007, TBF = TBF(TFI=7 TLLI=0xc0000007 DIR=DL STATE=NULL) +MS(TLLI=0xc0000007, IMSI=001001000000007, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=7 TLLI=0xc0000007 DIR=DL STATE=NULL) TBF(TFI=7 TLLI=0xc0000007 DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=7 TLLI=0xc0000007 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000007) TBF(TFI=7 TLLI=0xc0000007 DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -755,7 +755,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=8 TLLI=0xc0000008 DIR=DL STATE=NULL), 9 TBFs, USFs = 00, TFIs = 000001ff. TBF(TFI=8 TLLI=0xc0000008 DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=8 TLLI=0xc0000008 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc0000008, TBF = TBF(TFI=8 TLLI=0xc0000008 DIR=DL STATE=NULL) +MS(TLLI=0xc0000008, IMSI=001001000000008, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=8 TLLI=0xc0000008 DIR=DL STATE=NULL) TBF(TFI=8 TLLI=0xc0000008 DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=8 TLLI=0xc0000008 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000008) TBF(TFI=8 TLLI=0xc0000008 DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -780,7 +780,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=9 TLLI=0xc0000009 DIR=DL STATE=NULL), 10 TBFs, USFs = 00, TFIs = 000003ff. TBF(TFI=9 TLLI=0xc0000009 DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=9 TLLI=0xc0000009 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc0000009, TBF = TBF(TFI=9 TLLI=0xc0000009 DIR=DL STATE=NULL) +MS(TLLI=0xc0000009, IMSI=001001000000009, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=9 TLLI=0xc0000009 DIR=DL STATE=NULL) TBF(TFI=9 TLLI=0xc0000009 DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=9 TLLI=0xc0000009 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000009) TBF(TFI=9 TLLI=0xc0000009 DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -805,7 +805,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=10 TLLI=0xc000000a DIR=DL STATE=NULL), 11 TBFs, USFs = 00, TFIs = 000007ff. TBF(TFI=10 TLLI=0xc000000a DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=10 TLLI=0xc000000a DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc000000a, TBF = TBF(TFI=10 TLLI=0xc000000a DIR=DL STATE=NULL) +MS(TLLI=0xc000000a, IMSI=001001000000010, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=10 TLLI=0xc000000a DIR=DL STATE=NULL) TBF(TFI=10 TLLI=0xc000000a DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=10 TLLI=0xc000000a DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000010) TBF(TFI=10 TLLI=0xc000000a DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -830,7 +830,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=11 TLLI=0xc000000b DIR=DL STATE=NULL), 12 TBFs, USFs = 00, TFIs = 00000fff. TBF(TFI=11 TLLI=0xc000000b DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=11 TLLI=0xc000000b DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc000000b, TBF = TBF(TFI=11 TLLI=0xc000000b DIR=DL STATE=NULL) +MS(TLLI=0xc000000b, IMSI=001001000000011, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=11 TLLI=0xc000000b DIR=DL STATE=NULL) TBF(TFI=11 TLLI=0xc000000b DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=11 TLLI=0xc000000b DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000011) TBF(TFI=11 TLLI=0xc000000b DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -855,7 +855,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=12 TLLI=0xc000000c DIR=DL STATE=NULL), 13 TBFs, USFs = 00, TFIs = 00001fff. TBF(TFI=12 TLLI=0xc000000c DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=12 TLLI=0xc000000c DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc000000c, TBF = TBF(TFI=12 TLLI=0xc000000c DIR=DL STATE=NULL) +MS(TLLI=0xc000000c, IMSI=001001000000012, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=12 TLLI=0xc000000c DIR=DL STATE=NULL) TBF(TFI=12 TLLI=0xc000000c DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=12 TLLI=0xc000000c DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000012) TBF(TFI=12 TLLI=0xc000000c DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -880,7 +880,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=13 TLLI=0xc000000d DIR=DL STATE=NULL), 14 TBFs, USFs = 00, TFIs = 00003fff. TBF(TFI=13 TLLI=0xc000000d DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=13 TLLI=0xc000000d DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc000000d, TBF = TBF(TFI=13 TLLI=0xc000000d DIR=DL STATE=NULL) +MS(TLLI=0xc000000d, IMSI=001001000000013, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=13 TLLI=0xc000000d DIR=DL STATE=NULL) TBF(TFI=13 TLLI=0xc000000d DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=13 TLLI=0xc000000d DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000013) TBF(TFI=13 TLLI=0xc000000d DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -905,7 +905,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=14 TLLI=0xc000000e DIR=DL STATE=NULL), 15 TBFs, USFs = 00, TFIs = 00007fff. TBF(TFI=14 TLLI=0xc000000e DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=14 TLLI=0xc000000e DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc000000e, TBF = TBF(TFI=14 TLLI=0xc000000e DIR=DL STATE=NULL) +MS(TLLI=0xc000000e, IMSI=001001000000014, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=14 TLLI=0xc000000e DIR=DL STATE=NULL) TBF(TFI=14 TLLI=0xc000000e DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=14 TLLI=0xc000000e DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000014) TBF(TFI=14 TLLI=0xc000000e DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -930,7 +930,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=15 TLLI=0xc000000f DIR=DL STATE=NULL), 16 TBFs, USFs = 00, TFIs = 0000ffff. TBF(TFI=15 TLLI=0xc000000f DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=15 TLLI=0xc000000f DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc000000f, TBF = TBF(TFI=15 TLLI=0xc000000f DIR=DL STATE=NULL) +MS(TLLI=0xc000000f, IMSI=001001000000015, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=15 TLLI=0xc000000f DIR=DL STATE=NULL) TBF(TFI=15 TLLI=0xc000000f DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=15 TLLI=0xc000000f DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000015) TBF(TFI=15 TLLI=0xc000000f DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -955,7 +955,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=16 TLLI=0xc0000010 DIR=DL STATE=NULL), 17 TBFs, USFs = 00, TFIs = 0001ffff. TBF(TFI=16 TLLI=0xc0000010 DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=16 TLLI=0xc0000010 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc0000010, TBF = TBF(TFI=16 TLLI=0xc0000010 DIR=DL STATE=NULL) +MS(TLLI=0xc0000010, IMSI=001001000000016, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=16 TLLI=0xc0000010 DIR=DL STATE=NULL) TBF(TFI=16 TLLI=0xc0000010 DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=16 TLLI=0xc0000010 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000016) TBF(TFI=16 TLLI=0xc0000010 DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -980,7 +980,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=17 TLLI=0xc0000011 DIR=DL STATE=NULL), 18 TBFs, USFs = 00, TFIs = 0003ffff. TBF(TFI=17 TLLI=0xc0000011 DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=17 TLLI=0xc0000011 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc0000011, TBF = TBF(TFI=17 TLLI=0xc0000011 DIR=DL STATE=NULL) +MS(TLLI=0xc0000011, IMSI=001001000000017, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=17 TLLI=0xc0000011 DIR=DL STATE=NULL) TBF(TFI=17 TLLI=0xc0000011 DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=17 TLLI=0xc0000011 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000017) TBF(TFI=17 TLLI=0xc0000011 DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -1005,7 +1005,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=18 TLLI=0xc0000012 DIR=DL STATE=NULL), 19 TBFs, USFs = 00, TFIs = 0007ffff. TBF(TFI=18 TLLI=0xc0000012 DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=18 TLLI=0xc0000012 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc0000012, TBF = TBF(TFI=18 TLLI=0xc0000012 DIR=DL STATE=NULL) +MS(TLLI=0xc0000012, IMSI=001001000000018, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=18 TLLI=0xc0000012 DIR=DL STATE=NULL) TBF(TFI=18 TLLI=0xc0000012 DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=18 TLLI=0xc0000012 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000018) TBF(TFI=18 TLLI=0xc0000012 DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -1030,7 +1030,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=19 TLLI=0xc0000013 DIR=DL STATE=NULL), 20 TBFs, USFs = 00, TFIs = 000fffff. TBF(TFI=19 TLLI=0xc0000013 DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=19 TLLI=0xc0000013 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc0000013, TBF = TBF(TFI=19 TLLI=0xc0000013 DIR=DL STATE=NULL) +MS(TLLI=0xc0000013, IMSI=001001000000019, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=19 TLLI=0xc0000013 DIR=DL STATE=NULL) TBF(TFI=19 TLLI=0xc0000013 DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=19 TLLI=0xc0000013 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000019) TBF(TFI=19 TLLI=0xc0000013 DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -1055,7 +1055,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=20 TLLI=0xc0000014 DIR=DL STATE=NULL), 21 TBFs, USFs = 00, TFIs = 001fffff. TBF(TFI=20 TLLI=0xc0000014 DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=20 TLLI=0xc0000014 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc0000014, TBF = TBF(TFI=20 TLLI=0xc0000014 DIR=DL STATE=NULL) +MS(TLLI=0xc0000014, IMSI=001001000000020, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=20 TLLI=0xc0000014 DIR=DL STATE=NULL) TBF(TFI=20 TLLI=0xc0000014 DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=20 TLLI=0xc0000014 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000020) TBF(TFI=20 TLLI=0xc0000014 DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -1080,7 +1080,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=21 TLLI=0xc0000015 DIR=DL STATE=NULL), 22 TBFs, USFs = 00, TFIs = 003fffff. TBF(TFI=21 TLLI=0xc0000015 DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=21 TLLI=0xc0000015 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc0000015, TBF = TBF(TFI=21 TLLI=0xc0000015 DIR=DL STATE=NULL) +MS(TLLI=0xc0000015, IMSI=001001000000021, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=21 TLLI=0xc0000015 DIR=DL STATE=NULL) TBF(TFI=21 TLLI=0xc0000015 DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=21 TLLI=0xc0000015 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000021) TBF(TFI=21 TLLI=0xc0000015 DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -1105,7 +1105,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=22 TLLI=0xc0000016 DIR=DL STATE=NULL), 23 TBFs, USFs = 00, TFIs = 007fffff. TBF(TFI=22 TLLI=0xc0000016 DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=22 TLLI=0xc0000016 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc0000016, TBF = TBF(TFI=22 TLLI=0xc0000016 DIR=DL STATE=NULL) +MS(TLLI=0xc0000016, IMSI=001001000000022, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=22 TLLI=0xc0000016 DIR=DL STATE=NULL) TBF(TFI=22 TLLI=0xc0000016 DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=22 TLLI=0xc0000016 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000022) TBF(TFI=22 TLLI=0xc0000016 DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -1130,7 +1130,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=23 TLLI=0xc0000017 DIR=DL STATE=NULL), 24 TBFs, USFs = 00, TFIs = 00ffffff. TBF(TFI=23 TLLI=0xc0000017 DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=23 TLLI=0xc0000017 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc0000017, TBF = TBF(TFI=23 TLLI=0xc0000017 DIR=DL STATE=NULL) +MS(TLLI=0xc0000017, IMSI=001001000000023, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=23 TLLI=0xc0000017 DIR=DL STATE=NULL) TBF(TFI=23 TLLI=0xc0000017 DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=23 TLLI=0xc0000017 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000023) TBF(TFI=23 TLLI=0xc0000017 DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -1155,7 +1155,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=24 TLLI=0xc0000018 DIR=DL STATE=NULL), 25 TBFs, USFs = 00, TFIs = 01ffffff. TBF(TFI=24 TLLI=0xc0000018 DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=24 TLLI=0xc0000018 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc0000018, TBF = TBF(TFI=24 TLLI=0xc0000018 DIR=DL STATE=NULL) +MS(TLLI=0xc0000018, IMSI=001001000000024, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=24 TLLI=0xc0000018 DIR=DL STATE=NULL) TBF(TFI=24 TLLI=0xc0000018 DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=24 TLLI=0xc0000018 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000024) TBF(TFI=24 TLLI=0xc0000018 DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -1180,7 +1180,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=25 TLLI=0xc0000019 DIR=DL STATE=NULL), 26 TBFs, USFs = 00, TFIs = 03ffffff. TBF(TFI=25 TLLI=0xc0000019 DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=25 TLLI=0xc0000019 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc0000019, TBF = TBF(TFI=25 TLLI=0xc0000019 DIR=DL STATE=NULL) +MS(TLLI=0xc0000019, IMSI=001001000000025, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=25 TLLI=0xc0000019 DIR=DL STATE=NULL) TBF(TFI=25 TLLI=0xc0000019 DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=25 TLLI=0xc0000019 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000025) TBF(TFI=25 TLLI=0xc0000019 DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -1205,7 +1205,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=26 TLLI=0xc000001a DIR=DL STATE=NULL), 27 TBFs, USFs = 00, TFIs = 07ffffff. TBF(TFI=26 TLLI=0xc000001a DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=26 TLLI=0xc000001a DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc000001a, TBF = TBF(TFI=26 TLLI=0xc000001a DIR=DL STATE=NULL) +MS(TLLI=0xc000001a, IMSI=001001000000026, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=26 TLLI=0xc000001a DIR=DL STATE=NULL) TBF(TFI=26 TLLI=0xc000001a DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=26 TLLI=0xc000001a DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000026) TBF(TFI=26 TLLI=0xc000001a DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -1230,7 +1230,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=27 TLLI=0xc000001b DIR=DL STATE=NULL), 28 TBFs, USFs = 00, TFIs = 0fffffff. TBF(TFI=27 TLLI=0xc000001b DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=27 TLLI=0xc000001b DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc000001b, TBF = TBF(TFI=27 TLLI=0xc000001b DIR=DL STATE=NULL) +MS(TLLI=0xc000001b, IMSI=001001000000027, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=27 TLLI=0xc000001b DIR=DL STATE=NULL) TBF(TFI=27 TLLI=0xc000001b DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=27 TLLI=0xc000001b DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000027) TBF(TFI=27 TLLI=0xc000001b DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -1255,7 +1255,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=28 TLLI=0xc000001c DIR=DL STATE=NULL), 29 TBFs, USFs = 00, TFIs = 1fffffff. TBF(TFI=28 TLLI=0xc000001c DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=28 TLLI=0xc000001c DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc000001c, TBF = TBF(TFI=28 TLLI=0xc000001c DIR=DL STATE=NULL) +MS(TLLI=0xc000001c, IMSI=001001000000028, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=28 TLLI=0xc000001c DIR=DL STATE=NULL) TBF(TFI=28 TLLI=0xc000001c DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=28 TLLI=0xc000001c DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000028) TBF(TFI=28 TLLI=0xc000001c DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -1280,7 +1280,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=29 TLLI=0xc000001d DIR=DL STATE=NULL), 30 TBFs, USFs = 00, TFIs = 3fffffff. TBF(TFI=29 TLLI=0xc000001d DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=29 TLLI=0xc000001d DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc000001d, TBF = TBF(TFI=29 TLLI=0xc000001d DIR=DL STATE=NULL) +MS(TLLI=0xc000001d, IMSI=001001000000029, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=29 TLLI=0xc000001d DIR=DL STATE=NULL) TBF(TFI=29 TLLI=0xc000001d DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=29 TLLI=0xc000001d DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000029) TBF(TFI=29 TLLI=0xc000001d DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -1305,7 +1305,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=30 TLLI=0xc000001e DIR=DL STATE=NULL), 31 TBFs, USFs = 00, TFIs = 7fffffff. TBF(TFI=30 TLLI=0xc000001e DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=30 TLLI=0xc000001e DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc000001e, TBF = TBF(TFI=30 TLLI=0xc000001e DIR=DL STATE=NULL) +MS(TLLI=0xc000001e, IMSI=001001000000030, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=30 TLLI=0xc000001e DIR=DL STATE=NULL) TBF(TFI=30 TLLI=0xc000001e DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=30 TLLI=0xc000001e DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000030) TBF(TFI=30 TLLI=0xc000001e DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -1330,7 +1330,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=31 TLLI=0xc000001f DIR=DL STATE=NULL), 32 TBFs, USFs = 00, TFIs = ffffffff. TBF(TFI=31 TLLI=0xc000001f DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=31 TLLI=0xc000001f DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc000001f, TBF = TBF(TFI=31 TLLI=0xc000001f DIR=DL STATE=NULL) +MS(TLLI=0xc000001f, IMSI=001001000000031, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=31 TLLI=0xc000001f DIR=DL STATE=NULL) TBF(TFI=31 TLLI=0xc000001f DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=31 TLLI=0xc000001f DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000031) TBF(TFI=31 TLLI=0xc000001f DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -1348,7 +1348,7 @@ TBF(TFI=0 TLLI=0xc0000020 DIR=DL STATE=NULL) Timeslot Allocation failed: trx = -1, single_slot = 1 MS(TLLI=0xc0000020, IMSI=001001000000032, TA=220, 45/0,) No PDCH resource === end test_tbf_exhaustion === -Destroying MS object, TLLI = 0xc0000020 +MS(TLLI=0xc0000020, IMSI=001001000000032, TA=220, 45/0,) Destroying MS object === start test_tbf_dl_llc_loss === Creating MS object, TLLI = 0xffffffff Modifying MS object, TLLI = 0xffffffff, MS class 0 -> 45 @@ -1368,7 +1368,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc0123456, TBF = TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) +MS(TLLI=0xc0123456, IMSI=001001000123456, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000123456) TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -1381,7 +1381,7 @@ TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=RELEASING) unset ass. type CCCH [prev CCCH:1, PACCH:0] TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=RELEASING) free PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=RELEASING), 0 TBFs, USFs = 00, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xc0123456, TBF = TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=RELEASING) +MS(TLLI=0xc0123456, IMSI=001001000123456, TA=0, 45/0,) Detaching TBF: TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=RELEASING) MS(TLLI=0xc0123456, IMSI=001001000123456, TA=0, 45/0,) Schedule MS release in 10 secs ********** DL-TBF ends here ********** MS(TLLI=0xc0123456, IMSI=001001000123456, TA=0, 45/0,) ********** DL-TBF starts here ********** @@ -1398,7 +1398,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc0123456, TBF = TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) +MS(TLLI=0xc0123456, IMSI=001001000123456, TA=0, 45/0,) Attaching DL TBF: TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) MS(TLLI=0xc0123456, IMSI=001001000123456, TA=0, 45/0, DL) Cancel scheduled MS release TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000123456) @@ -1458,7 +1458,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) Setting Control TS 7 TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) +MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] @@ -1502,7 +1502,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Setting Control TS 7 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 80 -Attaching TBF to MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) +MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 0/0, UL) Attaching DL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=0011223344) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -1537,7 +1537,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) Setting Control TS 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 -Attaching TBF to MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) +MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654270 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. @@ -1581,7 +1581,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Setting Control TS 7 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 80 -Attaching TBF to MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) +MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL) Attaching DL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Send dowlink assignment on PACCH, because TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) exists TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS @@ -1617,7 +1617,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) Setting Control TS 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 -Attaching TBF to MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) +MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654270 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. @@ -1660,7 +1660,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Setting Control TS 7 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 80 -Attaching TBF to MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) +MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL) Attaching DL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Send dowlink assignment on PACCH, because TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) exists TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS @@ -1743,7 +1743,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=NULL), 2 TBFs, USFs = 03, TFIs = 00000003. TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=NULL) Setting Control TS 7 TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 -Attaching TBF to MS object, TLLI = 0xf5667788, TBF = TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=NULL) +MS(TLLI=0xf5667788, IMSI=, TA=7, 1/0,) Attaching UL TBF: TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=NULL) TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654335 TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. @@ -1773,9 +1773,9 @@ Old MS: TLLI = 0xf1223344, TA = 7, IMSI = 0011223344, LLC = 0 There is a new MS object for the same MS: (0xf1223344, '0011223344') -> (0xf5667788, '') IMSI 0011223344, old TBF TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED): moving DL TBF to new MS object -Detaching TBF from MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) -Attaching TBF to MS object, TLLI = 0xf5667788, TBF = TBF(TFI=0 TLLI=0xf5667788 DIR=DL STATE=FINISHED) -Clearing MS object, TLLI: 0xf1223344, IMSI: '0011223344' +MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL) Detaching TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) +MS(TLLI=0xf5667788, IMSI=, TA=7, 1/0, UL) Attaching DL TBF: TBF(TFI=0 TLLI=0xf5667788 DIR=DL STATE=FINISHED) +MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL) Clearing MS object Modifying MS object, TLLI: 0xf5667788 confirmed TBF(TFI=0 TLLI=0xf5667788 DIR=DL STATE=FINISHED) appending 4 bytes New MS: TLLI = 0xf5667788, TA = 7, IMSI = 0011223344, LLC = 1 @@ -1807,7 +1807,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) Setting Control TS 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 -Attaching TBF to MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) +MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654270 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. @@ -1852,7 +1852,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Setting Control TS 7 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 80 -Attaching TBF to MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) +MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL) Attaching DL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Send dowlink assignment on PACCH, because TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) exists TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS @@ -1866,7 +1866,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) free TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) stopping timer T3169 [freeing TBF] PDCH(bts=0,trx=0,ts=7) Detaching TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), 0 TBFs, USFs = 00, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, DL) Detaching TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) ********** UL-TBF ends here ********** MS requests Uplink resource on CCCH/RACH: ra=0x73 (8 bit) Fn=2654224 qta=31 MS requests single block allocation @@ -1890,7 +1890,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) Setting Control TS 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 -Attaching TBF to MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) +MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, DL) Attaching UL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654327 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. @@ -1945,7 +1945,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) Setting Control TS 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 -Attaching TBF to MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) +MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654270 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. @@ -1990,7 +1990,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Setting Control TS 7 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 80 -Attaching TBF to MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) +MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL) Attaching DL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Send dowlink assignment on PACCH, because TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) exists TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS @@ -2004,7 +2004,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) free TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) stopping timer T3169 [freeing TBF] PDCH(bts=0,trx=0,ts=7) Detaching TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), 0 TBFs, USFs = 00, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, DL) Detaching TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) ********** UL-TBF ends here ********** Found first unallocated TRX=0 TFI=0 MS requests Uplink resource on CCCH/RACH: ra=0x03 (8 bit) Fn=2654275 qta=31 @@ -2023,7 +2023,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) Setting Control TS 7 TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) +MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] @@ -2041,11 +2041,11 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=RELEASING) free TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=RELEASING) stopping timer T0 [freeing TBF] PDCH(bts=0,trx=0,ts=7) Detaching TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=RELEASING), 0 TBFs, USFs = 01, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=RELEASING) +MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0,) Detaching TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=RELEASING) ********** DL-TBF ends here ********** Modifying MS object, TLLI = 0xffffffff, MS class 0 -> 1 -Clearing MS object, TLLI: 0xf1223344, IMSI: '0011223344' -Destroying MS object, TLLI = 0xffffffff +MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0,) Clearing MS object +MS(TLLI=0xffffffff, IMSI=, TA=7, 1/0,) Destroying MS object Modifying MS object, UL TLLI: 0xffffffff -> 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 @@ -2087,7 +2087,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) Setting Control TS 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 -Attaching TBF to MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) +MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654270 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. @@ -2132,7 +2132,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Setting Control TS 7 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 80 -Attaching TBF to MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) +MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL) Attaching DL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Send dowlink assignment on PACCH, because TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) exists TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS @@ -2764,7 +2764,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=NULL), 2 TBFs, USFs = 01, TFIs = 00000003. TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=NULL) Setting Control TS 7 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 80 -Attaching TBF to MS object, TLLI = 0xf1223344, TBF = TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=NULL) +MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL DL) Attaching DL TBF: TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=NULL) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) Trigger downlink assignment on PACCH TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=NULL) Send dowlink assignment on PACCH, because TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) exists TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS @@ -2787,7 +2787,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=RELEASING) free TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=RELEASING) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=7) Detaching TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=RELEASING), 1 TBFs, USFs = 01, TFIs = 00000002. -Detaching TBF from MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=RELEASING) +MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL DL) Detaching TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=RELEASING) ********** DL-TBF ends here ********** TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) changes state from ASSIGN to FLOW TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) stopping timer T0 [control acked (DL-TBF)] @@ -3012,7 +3012,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=0 TLLI=0xc0006789 DIR=DL STATE=NULL), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xc0006789 DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=0 TLLI=0xc0006789 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc0006789, TBF = TBF(TFI=0 TLLI=0xc0006789 DIR=DL STATE=NULL) +MS(TLLI=0xc0006789, IMSI=001001123456789, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=0 TLLI=0xc0006789 DIR=DL STATE=NULL) TBF(TFI=0 TLLI=0xc0006789 DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=0 TLLI=0xc0006789 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001123456789) TBF(TFI=0 TLLI=0xc0006789 DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -3047,7 +3047,7 @@ PDCH(bts=0,trx=0,ts=5) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 3c -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) +MS(TLLI=0xffffffff, IMSI=, TA=220, 12/0,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) DL TBF slots: 0x3c, N: 4, WS: 64 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) changes state from NULL to RELEASING TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=RELEASING) free @@ -3055,8 +3055,8 @@ PDCH(bts=0,trx=0,ts=3) Detaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=RELEASING), 0 TBFs, USFs = 00, TFIs = 00000000. PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=RELEASING), 0 TBFs, USFs = 00, TFIs = 00000000. PDCH(bts=0,trx=0,ts=5) Detaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=RELEASING), 0 TBFs, USFs = 00, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=RELEASING) -Destroying MS object, TLLI = 0xffffffff +MS(TLLI=0xffffffff, IMSI=, TA=220, 12/0,) Detaching TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=RELEASING) +MS(TLLI=0xffffffff, IMSI=, TA=220, 12/0,) Destroying MS object ********** DL-TBF ends here ********** Creating MS object, TLLI = 0xffffffff Modifying MS object, TLLI = 0xffffffff, MS class 0 -> 12 @@ -3086,7 +3086,7 @@ PDCH(bts=0,trx=0,ts=5) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Setting Control TS 4 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 10, dl_slots = 3c -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) +MS(TLLI=0xffffffff, IMSI=, TA=220, 12/12,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 384, base(128) slots(4) ws_pdch(64) ws(384) DL TBF slots: 0x3c, N: 4, WS: 384 @@ -3096,8 +3096,8 @@ PDCH(bts=0,trx=0,ts=3) Detaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=RELEASING EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=RELEASING EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. PDCH(bts=0,trx=0,ts=5) Detaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=RELEASING EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=RELEASING EGPRS) -Destroying MS object, TLLI = 0xffffffff +MS(TLLI=0xffffffff, IMSI=, TA=220, 12/12,) Detaching TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=RELEASING EGPRS) +MS(TLLI=0xffffffff, IMSI=, TA=220, 12/12,) Destroying MS object ********** DL-TBF ends here ********** === end test_tbf_ws === === start test_tbf_egprs_two_phase === @@ -3129,7 +3129,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) Setting Control TS 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 -Attaching TBF to MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) +MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1,) Attaching UL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) changes state from NULL to ASSIGN @@ -3177,7 +3177,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) Setting Control TS 7 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 80, dl_slots = 80 -Attaching TBF to MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) +MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/1, UL) Attaching DL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) [DOWNLINK] START @@ -3217,7 +3217,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) Setting Control TS 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 -Attaching TBF to MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) +MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1,) Attaching UL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) changes state from NULL to ASSIGN @@ -3383,7 +3383,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) Setting Control TS 7 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 80, dl_slots = 80 -Attaching TBF to MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) +MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/1, UL) Attaching DL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) [DOWNLINK] START @@ -3415,7 +3415,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Setting Control TS 4 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) +MS(TLLI=0xffffffff, IMSI=, TA=220, 11/11,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 @@ -3698,8 +3698,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) -Destroying MS object, TLLI = 0xffeeddcc +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object ********** DL-TBF ends here ********** Testing MCS-2 Creating MS object, TLLI = 0xffffffff @@ -3721,7 +3721,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Setting Control TS 4 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) +MS(TLLI=0xffffffff, IMSI=, TA=220, 11/11,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 @@ -3954,8 +3954,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) -Destroying MS object, TLLI = 0xffeeddcc +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object ********** DL-TBF ends here ********** Testing MCS-3 Creating MS object, TLLI = 0xffffffff @@ -3977,7 +3977,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Setting Control TS 4 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) +MS(TLLI=0xffffffff, IMSI=, TA=220, 11/11,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 @@ -4160,8 +4160,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) -Destroying MS object, TLLI = 0xffeeddcc +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object ********** DL-TBF ends here ********** Testing MCS-4 Creating MS object, TLLI = 0xffffffff @@ -4183,7 +4183,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Setting Control TS 4 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) +MS(TLLI=0xffffffff, IMSI=, TA=220, 11/11,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 @@ -4346,8 +4346,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) -Destroying MS object, TLLI = 0xffeeddcc +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object ********** DL-TBF ends here ********** Testing MCS-5 Creating MS object, TLLI = 0xffffffff @@ -4369,7 +4369,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Setting Control TS 4 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) +MS(TLLI=0xffffffff, IMSI=, TA=220, 11/11,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 @@ -4512,8 +4512,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) -Destroying MS object, TLLI = 0xffeeddcc +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object ********** DL-TBF ends here ********** Testing MCS-6 Creating MS object, TLLI = 0xffffffff @@ -4535,7 +4535,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Setting Control TS 4 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) +MS(TLLI=0xffffffff, IMSI=, TA=220, 11/11,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 @@ -4648,8 +4648,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) -Destroying MS object, TLLI = 0xffeeddcc +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object ********** DL-TBF ends here ********** Testing MCS-7 Creating MS object, TLLI = 0xffffffff @@ -4671,7 +4671,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Setting Control TS 4 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) +MS(TLLI=0xffffffff, IMSI=, TA=220, 11/11,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 @@ -4791,8 +4791,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) -Destroying MS object, TLLI = 0xffeeddcc +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object ********** DL-TBF ends here ********** Testing MCS-8 Creating MS object, TLLI = 0xffffffff @@ -4814,7 +4814,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Setting Control TS 4 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) +MS(TLLI=0xffffffff, IMSI=, TA=220, 11/11,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 @@ -4923,8 +4923,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) -Destroying MS object, TLLI = 0xffeeddcc +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object ********** DL-TBF ends here ********** Testing MCS-9 Creating MS object, TLLI = 0xffffffff @@ -4946,7 +4946,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Setting Control TS 4 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) +MS(TLLI=0xffffffff, IMSI=, TA=220, 11/11,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 @@ -5042,8 +5042,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) -Destroying MS object, TLLI = 0xffeeddcc +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object ********** DL-TBF ends here ********** === end test_tbf_egprs_dl === === start test_tbf_egprs_retx_dl === @@ -5067,7 +5067,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Setting Control TS 4 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) +MS(TLLI=0xffffffff, IMSI=, TA=220, 11/11,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 @@ -5099,8 +5099,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) -Destroying MS object, TLLI = 0xffeeddcc +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object ********** DL-TBF ends here ********** Testing retx for MCS 1 - 9 Creating MS object, TLLI = 0xffffffff @@ -5122,7 +5122,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Setting Control TS 4 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) +MS(TLLI=0xffffffff, IMSI=, TA=220, 11/11,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 @@ -5154,8 +5154,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) -Destroying MS object, TLLI = 0xffeeddcc +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object ********** DL-TBF ends here ********** Testing retx for MCS 2 - 8 Creating MS object, TLLI = 0xffffffff @@ -5177,7 +5177,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Setting Control TS 4 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) +MS(TLLI=0xffffffff, IMSI=, TA=220, 11/11,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 @@ -5209,8 +5209,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) -Destroying MS object, TLLI = 0xffeeddcc +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object ********** DL-TBF ends here ********** Testing retx for MCS 5 - 7 Creating MS object, TLLI = 0xffffffff @@ -5232,7 +5232,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Setting Control TS 4 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) +MS(TLLI=0xffffffff, IMSI=, TA=220, 11/11,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 @@ -5280,8 +5280,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) -Destroying MS object, TLLI = 0xffeeddcc +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object ********** DL-TBF ends here ********** Testing retx for MCS 6 - 9 Creating MS object, TLLI = 0xffffffff @@ -5303,7 +5303,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Setting Control TS 4 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) +MS(TLLI=0xffffffff, IMSI=, TA=220, 11/11,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 @@ -5351,8 +5351,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) -Destroying MS object, TLLI = 0xffeeddcc +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object ********** DL-TBF ends here ********** Testing retx for MCS 7 - 5 Creating MS object, TLLI = 0xffffffff @@ -5374,7 +5374,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Setting Control TS 4 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) +MS(TLLI=0xffffffff, IMSI=, TA=220, 11/11,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 @@ -5422,8 +5422,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) -Destroying MS object, TLLI = 0xffeeddcc +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object ********** DL-TBF ends here ********** Testing retx for MCS 9 - 6 Creating MS object, TLLI = 0xffffffff @@ -5445,7 +5445,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Setting Control TS 4 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) +MS(TLLI=0xffffffff, IMSI=, TA=220, 11/11,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 @@ -5493,8 +5493,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) -Destroying MS object, TLLI = 0xffeeddcc +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object ********** DL-TBF ends here ********** === end test_tbf_egprs_retx_dl === === start test_tbf_egprs_spb_dl === @@ -5518,7 +5518,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Setting Control TS 4 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) +MS(TLLI=0xffffffff, IMSI=, TA=220, 11/11,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 @@ -5557,8 +5557,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) -Destroying MS object, TLLI = 0xffeeddcc +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object ********** DL-TBF ends here ********** Testing retx for MCS 5 to reseg_mcs 2 Creating MS object, TLLI = 0xffffffff @@ -5580,7 +5580,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Setting Control TS 4 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) +MS(TLLI=0xffffffff, IMSI=, TA=220, 11/11,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 @@ -5619,8 +5619,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) -Destroying MS object, TLLI = 0xffeeddcc +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object ********** DL-TBF ends here ********** Testing retx for MCS 4 to reseg_mcs 1 Creating MS object, TLLI = 0xffffffff @@ -5642,7 +5642,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Setting Control TS 4 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) +MS(TLLI=0xffffffff, IMSI=, TA=220, 11/11,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 @@ -5681,8 +5681,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) -Destroying MS object, TLLI = 0xffeeddcc +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object ********** DL-TBF ends here ********** Testing retx for MCS 6 to reseg_mcs 3 Creating MS object, TLLI = 0xffffffff @@ -5704,7 +5704,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Setting Control TS 4 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) +MS(TLLI=0xffffffff, IMSI=, TA=220, 11/11,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 @@ -5750,8 +5750,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) -Destroying MS object, TLLI = 0xffeeddcc +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object ********** DL-TBF ends here ********** === end test_tbf_egprs_spb_dl === === start test_tbf_puan_urbb_len === @@ -5783,7 +5783,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) Setting Control TS 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 -Attaching TBF to MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) +MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1,) Attaching UL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) changes state from NULL to ASSIGN @@ -5848,7 +5848,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) Setting Control TS 7 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 80, dl_slots = 80 -Attaching TBF to MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) +MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/1, UL) Attaching DL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) [DOWNLINK] START @@ -5882,7 +5882,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Setting Control TS 4 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) +MS(TLLI=0xffffffff, IMSI=, TA=220, 11/11,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 192, base(128) slots(1) ws_pdch(64) ws(192) DL TBF slots: 0x10, N: 1, WS: 192 @@ -5909,8 +5909,8 @@ PDCH(bts=0,trx=0,ts=3) Detaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=RELEASING EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=RELEASING EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. PDCH(bts=0,trx=0,ts=5) Detaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=RELEASING EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=RELEASING EGPRS) -Destroying MS object, TLLI = 0xffffffff +MS(TLLI=0xffffffff, IMSI=, TA=220, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=RELEASING EGPRS) +MS(TLLI=0xffffffff, IMSI=, TA=220, 11/11,) Destroying MS object ********** DL-TBF ends here ********** === end test_tbf_update_ws === === start test_tbf_li_decoding === @@ -5942,7 +5942,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) Setting Control TS 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 -Attaching TBF to MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) +MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1,) Attaching UL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) changes state from NULL to ASSIGN @@ -6002,7 +6002,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) Setting Control TS 7 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 80, dl_slots = 80 -Attaching TBF to MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) +MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/1, UL) Attaching DL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) [DOWNLINK] START @@ -6033,7 +6033,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Setting Control TS 4 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) +MS(TLLI=0xffffffff, IMSI=, TA=220, 11/11,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 @@ -6048,8 +6048,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to RELEASING TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) -Destroying MS object, TLLI = 0xffeeddcc +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object ********** DL-TBF ends here ********** === end test_tbf_epdan_out_of_rx_window === === start test_immediate_assign_rej_multi_block === @@ -6069,7 +6069,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) Setting Control TS 7 TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) +MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] @@ -6091,7 +6091,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=1 TLLI=0xffffffff DIR=UL STATE=NULL), 2 TBFs, USFs = 03, TFIs = 00000003. TBF(TFI=1 TLLI=0xffffffff DIR=UL STATE=NULL) Setting Control TS 7 TBF(TFI=1 TLLI=0xffffffff DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=1 TLLI=0xffffffff DIR=UL STATE=NULL) +MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=1 TLLI=0xffffffff DIR=UL STATE=NULL) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 TBF(TFI=1 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=1 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] @@ -6113,7 +6113,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=2 TLLI=0xffffffff DIR=UL STATE=NULL), 3 TBFs, USFs = 07, TFIs = 00000007. TBF(TFI=2 TLLI=0xffffffff DIR=UL STATE=NULL) Setting Control TS 7 TBF(TFI=2 TLLI=0xffffffff DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=2 TLLI=0xffffffff DIR=UL STATE=NULL) +MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=2 TLLI=0xffffffff DIR=UL STATE=NULL) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 TBF(TFI=2 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=2 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] @@ -6135,7 +6135,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=3 TLLI=0xffffffff DIR=UL STATE=NULL), 4 TBFs, USFs = 0f, TFIs = 0000000f. TBF(TFI=3 TLLI=0xffffffff DIR=UL STATE=NULL) Setting Control TS 7 TBF(TFI=3 TLLI=0xffffffff DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=3 TLLI=0xffffffff DIR=UL STATE=NULL) +MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=3 TLLI=0xffffffff DIR=UL STATE=NULL) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 TBF(TFI=3 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=3 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] @@ -6157,7 +6157,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=4 TLLI=0xffffffff DIR=UL STATE=NULL), 5 TBFs, USFs = 1f, TFIs = 0000001f. TBF(TFI=4 TLLI=0xffffffff DIR=UL STATE=NULL) Setting Control TS 7 TBF(TFI=4 TLLI=0xffffffff DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=4 TLLI=0xffffffff DIR=UL STATE=NULL) +MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=4 TLLI=0xffffffff DIR=UL STATE=NULL) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 TBF(TFI=4 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=4 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] @@ -6179,7 +6179,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=5 TLLI=0xffffffff DIR=UL STATE=NULL), 6 TBFs, USFs = 3f, TFIs = 0000003f. TBF(TFI=5 TLLI=0xffffffff DIR=UL STATE=NULL) Setting Control TS 7 TBF(TFI=5 TLLI=0xffffffff DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=5 TLLI=0xffffffff DIR=UL STATE=NULL) +MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=5 TLLI=0xffffffff DIR=UL STATE=NULL) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 TBF(TFI=5 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=5 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] @@ -6201,7 +6201,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=6 TLLI=0xffffffff DIR=UL STATE=NULL), 7 TBFs, USFs = 7f, TFIs = 0000007f. TBF(TFI=6 TLLI=0xffffffff DIR=UL STATE=NULL) Setting Control TS 7 TBF(TFI=6 TLLI=0xffffffff DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=6 TLLI=0xffffffff DIR=UL STATE=NULL) +MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=6 TLLI=0xffffffff DIR=UL STATE=NULL) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 TBF(TFI=6 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=6 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] @@ -6224,7 +6224,7 @@ TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) Timeslot Allocation failed: trx = -1, single_slot = 1 No PDCH resource for Uplink TBF Tx Immediate Assignment Reject on AGCH -Destroying MS object, TLLI = 0xffffffff +MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Destroying MS object === end test_immediate_assign_rej_multi_block === === start test_immediate_assign_rej_single_block === MS requests Uplink resource on CCCH/RACH: ra=0x70 (8 bit) Fn=2654167 qta=31 @@ -6262,7 +6262,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) Setting Control TS 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 -Attaching TBF to MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) +MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1,) Attaching UL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 192, base(128) slots(1) ws_pdch(64) ws(192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) changes state from NULL to ASSIGN @@ -6799,7 +6799,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) Setting Control TS 7 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 80, dl_slots = 80 -Attaching TBF to MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) +MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/1, UL) Attaching DL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 192, base(128) slots(1) ws_pdch(64) ws(192) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) [DOWNLINK] START @@ -7473,7 +7473,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Setting Control TS 4 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) +MS(TLLI=0xffffffff, IMSI=, TA=220, 11/11,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 @@ -7500,7 +7500,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) Setting Control TS 7 TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) +MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] @@ -7522,7 +7522,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=1 TLLI=0xffffffff DIR=UL STATE=NULL), 2 TBFs, USFs = 03, TFIs = 00000003. TBF(TFI=1 TLLI=0xffffffff DIR=UL STATE=NULL) Setting Control TS 7 TBF(TFI=1 TLLI=0xffffffff DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=1 TLLI=0xffffffff DIR=UL STATE=NULL) +MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=1 TLLI=0xffffffff DIR=UL STATE=NULL) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 TBF(TFI=1 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=1 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] @@ -7544,7 +7544,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=2 TLLI=0xffffffff DIR=UL STATE=NULL), 3 TBFs, USFs = 07, TFIs = 00000007. TBF(TFI=2 TLLI=0xffffffff DIR=UL STATE=NULL) Setting Control TS 7 TBF(TFI=2 TLLI=0xffffffff DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=2 TLLI=0xffffffff DIR=UL STATE=NULL) +MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=2 TLLI=0xffffffff DIR=UL STATE=NULL) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 TBF(TFI=2 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=2 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] @@ -7566,7 +7566,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=3 TLLI=0xffffffff DIR=UL STATE=NULL), 4 TBFs, USFs = 0f, TFIs = 0000000f. TBF(TFI=3 TLLI=0xffffffff DIR=UL STATE=NULL) Setting Control TS 7 TBF(TFI=3 TLLI=0xffffffff DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=3 TLLI=0xffffffff DIR=UL STATE=NULL) +MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=3 TLLI=0xffffffff DIR=UL STATE=NULL) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 TBF(TFI=3 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=3 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] @@ -7588,7 +7588,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=4 TLLI=0xffffffff DIR=UL STATE=NULL), 5 TBFs, USFs = 1f, TFIs = 0000001f. TBF(TFI=4 TLLI=0xffffffff DIR=UL STATE=NULL) Setting Control TS 7 TBF(TFI=4 TLLI=0xffffffff DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=4 TLLI=0xffffffff DIR=UL STATE=NULL) +MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=4 TLLI=0xffffffff DIR=UL STATE=NULL) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 TBF(TFI=4 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=4 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] @@ -7610,7 +7610,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=5 TLLI=0xffffffff DIR=UL STATE=NULL), 6 TBFs, USFs = 3f, TFIs = 0000003f. TBF(TFI=5 TLLI=0xffffffff DIR=UL STATE=NULL) Setting Control TS 7 TBF(TFI=5 TLLI=0xffffffff DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=5 TLLI=0xffffffff DIR=UL STATE=NULL) +MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=5 TLLI=0xffffffff DIR=UL STATE=NULL) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 TBF(TFI=5 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=5 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] @@ -7632,7 +7632,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=6 TLLI=0xffffffff DIR=UL STATE=NULL), 7 TBFs, USFs = 7f, TFIs = 0000007f. TBF(TFI=6 TLLI=0xffffffff DIR=UL STATE=NULL) Setting Control TS 7 TBF(TFI=6 TLLI=0xffffffff DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=6 TLLI=0xffffffff DIR=UL STATE=NULL) +MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=6 TLLI=0xffffffff DIR=UL STATE=NULL) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 TBF(TFI=6 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=6 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] @@ -7662,7 +7662,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=NULL EGPRS) Timeslot Allocation failed: trx = 0, single_slot = 0 MS(TLLI=0xffeeddcc, IMSI=, TA=220, 11/11,) No PDCH resource TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=NULL) changes state from NULL to ASSIGN -Attaching TBF to MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) +MS(TLLI=0xffeeddcc, IMSI=, TA=220, 11/11,) Attaching UL TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS_REJ Received RTS for PDCH: TRX=0 TS=7 FN=2654218 block_nr=8 scheduling USF=0 for required uplink resource of UL TFI=0 TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) starting timer T0 [reject (PACCH)] with 0 sec. 2000 microsec, cur_fn=2654270 @@ -7672,7 +7672,7 @@ Creating MS object, TLLI = 0xffffffff Modifying MS object, UL TLLI: 0xffffffff -> 0xffeeddcc, not yet confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=NULL) changes state from NULL to ASSIGN -Attaching TBF to MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) +MS(TLLI=0xffeeddcc, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS_REJ TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) starting timer T0 [reject (PACCH)] with 0 sec. 2000 microsec, cur_fn=2654167 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) (TRX=0, TS=7) @@ -7680,7 +7680,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) releasing due to PACCH assignment timeout. TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) free TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) stopping timer T0 [freeing TBF] -Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) -Destroying MS object, TLLI = 0xffeeddcc +MS(TLLI=0xffeeddcc, IMSI=, TA=220, 0/0,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) +MS(TLLI=0xffeeddcc, IMSI=, TA=220, 0/0,) Destroying MS object ********** UL-TBF ends here ********** === end test_packet_access_rej_prr_no_other_tbfs === -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23217 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: If7f471f4932c2347cd857cd59f761a36d9e735d1 Gerrit-Change-Number: 23217 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 Mar 3 19:52:38 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 3 Mar 2021 19:52:38 +0000 Subject: Change in osmo-pcu[master]: sched: sched_select_ctrl_msg(): Clean up param list and improve logging References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23218 ) Change subject: sched: sched_select_ctrl_msg(): Clean up param list and improve logging ...................................................................... sched: sched_select_ctrl_msg(): Clean up param list and improve logging Passing TRX and TS is redundant since the info is contained in pdch object. Change-Id: Ic3ec7547cae2ddd0f9c33b82e15ec83cd941e6c8 --- M src/gprs_rlcmac_sched.cpp M tests/tbf/TbfTest.err 2 files changed, 41 insertions(+), 42 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/18/23218/1 diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp index eaea406..c3e44dc 100644 --- a/src/gprs_rlcmac_sched.cpp +++ b/src/gprs_rlcmac_sched.cpp @@ -164,10 +164,8 @@ return msg; } -static struct msgb *sched_select_ctrl_msg( - uint8_t trx, uint8_t ts, uint32_t fn, - uint8_t block_nr, struct gprs_rlcmac_pdch *pdch, - struct tbf_sched_candidates *tbfs) +static struct msgb *sched_select_ctrl_msg(struct gprs_rlcmac_pdch *pdch, uint32_t fn, + uint8_t block_nr, struct tbf_sched_candidates *tbfs) { struct msgb *msg = NULL; struct gprs_rlcmac_tbf *tbf = NULL; @@ -175,6 +173,7 @@ tbfs->dl_ass, tbfs->ul_ack, tbfs->nacc }; + uint8_t ts = pdch->ts_no; /* Send Packet Application Information first (ETWS primary notifications) */ msg = sched_app_info(tbfs->dl_ass); @@ -234,15 +233,15 @@ /* any message */ if (msg) { if (!tbf) { - LOGP(DRLCMACSCHED, LOGL_ERROR, - "Control message to be scheduled, but no TBF (TRX=%d, TS=%d)\n", trx, ts); + LOGPDCH(pdch, DRLCMACSCHED, LOGL_ERROR, "FN=%" PRIu32 + " Control message to be scheduled, but no TBF\n", fn); msgb_free(msg); return NULL; } tbf->rotate_in_list(); - LOGP(DRLCMACSCHED, LOGL_DEBUG, "Scheduling control " - "message at RTS for %s (TRX=%d, TS=%d)\n", - tbf_name(tbf), trx, ts); + LOGPDCH(pdch, DRLCMACSCHED, LOGL_DEBUG, "FN=%" PRIu32 + " Scheduling control message at RTS for %s\n", + fn, tbf_name(tbf)); rate_ctr_inc(&tbf->ms()->ctrs->ctr[MS_CTR_DL_CTRL_MSG_SCHED]); return msg; } @@ -250,8 +249,8 @@ /* schedule PACKET PAGING REQUEST, if any are pending */ msg = pdch->packet_paging_request(); if (msg) { - LOGP(DRLCMACSCHED, LOGL_DEBUG, "Scheduling paging request " - "message at RTS for (TRX=%d, TS=%d)\n", trx, ts); + LOGPDCH(pdch, DRLCMACSCHED, LOGL_DEBUG, "FN=%" PRIu32 + " Scheduling paging request message at RTS\n", fn); return msg; } @@ -505,7 +504,7 @@ } /* Prio 1: select control message */ - if ((msg = sched_select_ctrl_msg(trx, ts, fn, block_nr, pdch, &tbf_cand))) { + if ((msg = sched_select_ctrl_msg(pdch, fn, block_nr, &tbf_cand))) { gsmtap_cat = PCU_GSMTAP_C_DL_CTRL; } /* Prio 2: select data message for downlink */ diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index 17068f7..a5fd3d7 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -69,7 +69,7 @@ +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) -Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) (TRX=0, TS=4) +PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new block at BSN 0, CS=CS-1 @@ -158,7 +158,7 @@ +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) -Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) (TRX=0, TS=4) +PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new block at BSN 0, CS=CS-1 @@ -247,7 +247,7 @@ +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) -Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) (TRX=0, TS=4) +PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new block at BSN 0, CS=CS-1 @@ -1546,7 +1546,7 @@ +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) Scheduled UL Assignment polling on PACCH (FN=2654283, TS=7) -Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) (TRX=0, TS=7) +PDCH(bts=0,trx=0,ts=7) FN=2654270 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) RX: [PCU <- BTS] Packet Control Ack @@ -1626,7 +1626,7 @@ +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) Scheduled UL Assignment polling on PACCH (FN=2654283, TS=7) -Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) (TRX=0, TS=7) +PDCH(bts=0,trx=0,ts=7) FN=2654270 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) RX: [PCU <- BTS] Packet Control Ack @@ -1674,7 +1674,7 @@ +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Scheduled DL Assignment polling on PACCH (FN=2654288, TS=7) -Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) (TRX=0, TS=7) +PDCH(bts=0,trx=0,ts=7) FN=2654275 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) RX: [PCU <- BTS] Packet Control Ack @@ -1753,7 +1753,7 @@ +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) Scheduled UL Assignment polling on PACCH (FN=2654348, TS=7) -Scheduling control message at RTS for TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) (TRX=0, TS=7) +PDCH(bts=0,trx=0,ts=7) FN=2654335 Scheduling control message at RTS for TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) RX: [PCU <- BTS] Packet Control Ack @@ -1817,7 +1817,7 @@ +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) Scheduled UL Assignment polling on PACCH (FN=2654283, TS=7) -Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) (TRX=0, TS=7) +PDCH(bts=0,trx=0,ts=7) FN=2654270 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) RX: [PCU <- BTS] Packet Control Ack @@ -1899,7 +1899,7 @@ +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) Scheduled UL Assignment polling on PACCH (FN=2654340, TS=7) -Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) (TRX=0, TS=7) +PDCH(bts=0,trx=0,ts=7) FN=2654327 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) RX: [PCU <- BTS] Packet Control Ack @@ -1955,7 +1955,7 @@ +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) Scheduled UL Assignment polling on PACCH (FN=2654283, TS=7) -Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) (TRX=0, TS=7) +PDCH(bts=0,trx=0,ts=7) FN=2654270 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) RX: [PCU <- BTS] Packet Control Ack @@ -2097,7 +2097,7 @@ +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) Scheduled UL Assignment polling on PACCH (FN=2654283, TS=7) -Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) (TRX=0, TS=7) +PDCH(bts=0,trx=0,ts=7) FN=2654270 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) RX: [PCU <- BTS] Packet Control Ack @@ -2185,7 +2185,7 @@ +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Scheduled DL Assignment polling on PACCH (FN=2654288, TS=7) -Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) (TRX=0, TS=7) +PDCH(bts=0,trx=0,ts=7) FN=2654275 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) RX: [PCU <- BTS] Packet Control Ack @@ -2776,7 +2776,7 @@ +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) Scheduled DL Assignment polling on PACCH (FN=2654413, TS=7) -Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) (TRX=0, TS=7) +PDCH(bts=0,trx=0,ts=7) FN=2654400 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) RX: [PCU <- BTS] Packet Control Ack @@ -3141,7 +3141,7 @@ +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) Scheduled UL Assignment polling on PACCH (FN=2654283, TS=7) -Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) (TRX=0, TS=7) +PDCH(bts=0,trx=0,ts=7) FN=2654270 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) RX: [PCU <- BTS] Packet Control Ack @@ -3229,7 +3229,7 @@ +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) Scheduled UL Assignment polling on PACCH (FN=2654283, TS=7) -Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) (TRX=0, TS=7) +PDCH(bts=0,trx=0,ts=7) FN=2654270 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) RX: [PCU <- BTS] Packet Control Ack @@ -3428,7 +3428,7 @@ +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) -Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) (TRX=0, TS=4) +PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 0, CS=MCS-1 @@ -3734,7 +3734,7 @@ +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) -Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) (TRX=0, TS=4) +PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 0, CS=MCS-2 @@ -3990,7 +3990,7 @@ +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) -Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) (TRX=0, TS=4) +PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 0, CS=MCS-3 @@ -4196,7 +4196,7 @@ +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) -Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) (TRX=0, TS=4) +PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 0, CS=MCS-4 @@ -4382,7 +4382,7 @@ +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) -Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) (TRX=0, TS=4) +PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 0, CS=MCS-5 @@ -4548,7 +4548,7 @@ +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) -Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) (TRX=0, TS=4) +PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 0, CS=MCS-6 @@ -4684,7 +4684,7 @@ +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) -Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) (TRX=0, TS=4) +PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 0, CS=MCS-7 @@ -4827,7 +4827,7 @@ +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) -Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) (TRX=0, TS=4) +PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 0, CS=MCS-8 @@ -4959,7 +4959,7 @@ +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) -Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) (TRX=0, TS=4) +PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 0, CS=MCS-9 @@ -5795,7 +5795,7 @@ +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) Scheduled UL Assignment polling on PACCH (FN=2654283, TS=7) -Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) (TRX=0, TS=7) +PDCH(bts=0,trx=0,ts=7) FN=2654270 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) RX: [PCU <- BTS] Packet Control Ack @@ -5954,7 +5954,7 @@ +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) Scheduled UL Assignment polling on PACCH (FN=2654283, TS=7) -Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) (TRX=0, TS=7) +PDCH(bts=0,trx=0,ts=7) FN=2654270 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) RX: [PCU <- BTS] Packet Control Ack @@ -6274,7 +6274,7 @@ +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) Scheduled UL Assignment polling on PACCH (FN=2654283, TS=7) -Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) (TRX=0, TS=7) +PDCH(bts=0,trx=0,ts=7) FN=2654270 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) RX: [PCU <- BTS] Packet Control Ack @@ -6949,7 +6949,7 @@ +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduled DL Assignment polling on PACCH (FN=2654292, TS=7) -Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) (TRX=0, TS=7) +PDCH(bts=0,trx=0,ts=7) FN=2654279 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got 'TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS)', TA=7 Got MS: TLLI = 0xf1223344, TA = 7 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) appending 256 bytes @@ -7666,7 +7666,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS_REJ Received RTS for PDCH: TRX=0 TS=7 FN=2654218 block_nr=8 scheduling USF=0 for required uplink resource of UL TFI=0 TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) starting timer T0 [reject (PACCH)] with 0 sec. 2000 microsec, cur_fn=2654270 -Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) (TRX=0, TS=7) +PDCH(bts=0,trx=0,ts=7) FN=2654218 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) === end test_packet_access_rej_prr === === start test_packet_access_rej_prr_no_other_tbfs === Creating MS object, TLLI = 0xffffffff @@ -7675,7 +7675,7 @@ MS(TLLI=0xffeeddcc, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS_REJ TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) starting timer T0 [reject (PACCH)] with 0 sec. 2000 microsec, cur_fn=2654167 -Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) (TRX=0, TS=7) +PDCH(bts=0,trx=0,ts=7) FN=2654218 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) timer 0 expired. cur_fn=2654167 TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) releasing due to PACCH assignment timeout. TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) free -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23218 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ic3ec7547cae2ddd0f9c33b82e15ec83cd941e6c8 Gerrit-Change-Number: 23218 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 Mar 3 19:52:39 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 3 Mar 2021 19:52:39 +0000 Subject: Change in osmo-pcu[master]: sched: sched_select_downlink(): Clean up param list and improve logging References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23219 ) Change subject: sched: sched_select_downlink(): Clean up param list and improve logging ...................................................................... sched: sched_select_downlink(): Clean up param list and improve logging Passing TRX and TS is redundant since the info is contained in pdch object. Change-Id: I1b154d82c4a3e09f7fe7ef771de2abca0160cc7b --- M src/gprs_rlcmac_sched.cpp M tests/tbf/TbfTest.err 2 files changed, 188 insertions(+), 187 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/19/23219/1 diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp index c3e44dc..51deb65 100644 --- a/src/gprs_rlcmac_sched.cpp +++ b/src/gprs_rlcmac_sched.cpp @@ -309,13 +309,13 @@ } } -static struct msgb *sched_select_downlink(struct gprs_rlcmac_bts *bts, - uint8_t trx, uint8_t ts, uint32_t fn, - uint8_t block_nr, struct gprs_rlcmac_pdch *pdch, enum mcs_kind req_mcs_kind, bool *is_egprs) +static struct msgb *sched_select_downlink(struct gprs_rlcmac_bts *bts, struct gprs_rlcmac_pdch *pdch, uint32_t fn, + uint8_t block_nr, enum mcs_kind req_mcs_kind, bool *is_egprs) { struct msgb *msg = NULL; struct gprs_rlcmac_dl_tbf *tbf, *prio_tbf = NULL; enum tbf_dl_prio prio, max_prio = DL_PRIO_NONE; + uint8_t ts = pdch->ts_no; uint8_t i, tfi, prio_tfi; int age; @@ -354,8 +354,9 @@ * below instead of skipping. However, downgrade can only be * done on new data BSNs (not yet sent) and control blocks. */ if (req_mcs_kind == EGPRS_GMSK && !can_produce_gmsk_data_block_next(tbf, prio)) { - LOGP(DRLCMACSCHED, LOGL_DEBUG, "%s Cannot downgrade EGPRS TBF with prio %d\n", - tbf_name(tbf), prio); + LOGPDCH(pdch, DRLCMACSCHED, LOGL_DEBUG, "FN=%" PRIu32 + " Cannot downgrade EGPRS TBF with prio %d for %s\n", + fn, prio, tbf_name(tbf)); continue; } @@ -368,9 +369,9 @@ } if (prio_tbf) { - LOGP(DRLCMACSCHED, LOGL_DEBUG, "Scheduling data message at " - "RTS for DL TFI=%d (TRX=%d, TS=%d) prio=%d mcs_mode_restrict=%s\n", - prio_tfi, trx, ts, max_prio, mode_name(req_mcs_kind)); + LOGPDCH(pdch, DRLCMACSCHED, LOGL_DEBUG, "FN=%" PRIu32 + " Scheduling data message at RTS for DL TFI=%d prio=%d mcs_mode_restrict=%s\n", + fn, prio_tfi, max_prio, mode_name(req_mcs_kind)); /* next TBF to handle resource is the next one */ pdch->next_dl_tfi = (prio_tfi + 1) & 31; /* generate DL data block */ @@ -508,7 +509,7 @@ gsmtap_cat = PCU_GSMTAP_C_DL_CTRL; } /* Prio 2: select data message for downlink */ - else if((msg = sched_select_downlink(bts, trx, ts, fn, block_nr, pdch, req_mcs_kind, &tx_is_egprs))) { + else if((msg = sched_select_downlink(bts, pdch, fn, block_nr, req_mcs_kind, &tx_is_egprs))) { gsmtap_cat = tx_is_egprs ? PCU_GSMTAP_C_DL_DATA_EGPRS : PCU_GSMTAP_C_DL_DATA_GPRS; } diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index a5fd3d7..685f9d0 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -70,7 +70,7 @@ ------------------------- TX : Packet Downlink Assignment ------------------------- TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=4 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new block at BSN 0, CS=CS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Dequeue next LLC (len=200) @@ -80,7 +80,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) msg block (BSN 0, CS-1): 07 00 01 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new block at BSN 1, CS=CS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) data block (BSN 1, CS-1): 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 @@ -159,7 +159,7 @@ ------------------------- TX : Packet Downlink Assignment ------------------------- TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=4 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new block at BSN 0, CS=CS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Dequeue next LLC (len=200) @@ -169,7 +169,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) msg block (BSN 0, CS-1): 07 00 01 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new block at BSN 1, CS=CS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) data block (BSN 1, CS-1): 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 @@ -248,7 +248,7 @@ ------------------------- TX : Packet Downlink Assignment ------------------------- TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=4 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new block at BSN 0, CS=CS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Dequeue next LLC (len=200) @@ -258,7 +258,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) msg block (BSN 0, CS-1): 07 00 01 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new block at BSN 1, CS=CS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) data block (BSN 1, CS-1): 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 @@ -266,7 +266,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying data unit 0 (BSN 1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) msg block (BSN 1, CS-1): 07 00 03 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new block at BSN 2, CS=CS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) data block (BSN 2, CS-1): 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36 37 38 39 3a 3b @@ -274,7 +274,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying data unit 0 (BSN 2) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) msg block (BSN 2, CS-1): 07 00 05 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36 37 38 39 3a 3b -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=17 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==3) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new block at BSN 3, CS=CS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) data block (BSN 3, CS-1): 3c 3d 3e 3f 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f @@ -282,7 +282,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying data unit 0 (BSN 3) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) msg block (BSN 3, CS-1): 07 00 07 3c 3d 3e 3f 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=21 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==4) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new block at BSN 4, CS=CS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) data block (BSN 4, CS-1): 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f 60 61 62 63 @@ -290,7 +290,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying data unit 0 (BSN 4) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) msg block (BSN 4, CS-1): 07 00 09 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f 60 61 62 63 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=26 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==5) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new block at BSN 5, CS=CS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) data block (BSN 5, CS-1): 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 @@ -298,7 +298,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying data unit 0 (BSN 5) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) msg block (BSN 5, CS-1): 07 00 0b 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=30 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==6) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new block at BSN 6, CS=CS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) data block (BSN 6, CS-1): 78 79 7a 7b 7c 7d 7e 7f 80 81 82 83 84 85 86 87 88 89 8a 8b @@ -306,7 +306,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying data unit 0 (BSN 6) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) msg block (BSN 6, CS-1): 07 00 0d 78 79 7a 7b 7c 7d 7e 7f 80 81 82 83 84 85 86 87 88 89 8a 8b -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=34 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==7) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new block at BSN 7, CS=CS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) data block (BSN 7, CS-1): 8c 8d 8e 8f 90 91 92 93 94 95 96 97 98 99 9a 9b 9c 9d 9e 9f @@ -314,7 +314,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying data unit 0 (BSN 7) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) msg block (BSN 7, CS-1): 07 00 0f 8c 8d 8e 8f 90 91 92 93 94 95 96 97 98 99 9a 9b 9c 9d 9e 9f -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=39 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==8) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new block at BSN 8, CS=CS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) data block (BSN 8, CS-1): a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac ad ae af b0 b1 b2 b3 @@ -322,7 +322,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying data unit 0 (BSN 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) msg block (BSN 8, CS-1): 07 00 11 a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac ad ae af b0 b1 b2 b3 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=43 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==9) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new block at BSN 9, CS=CS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) data block (BSN 9, CS-1): 01 b4 b5 b6 b7 b8 b9 ba bb bc bd be bf c0 c1 c2 c3 c4 c5 c6 @@ -330,7 +330,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying data unit 0 (BSN 9) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) msg block (BSN 9, CS-1): 07 00 12 01 b4 b5 b6 b7 b8 b9 ba bb bc bd be bf c0 c1 c2 c3 c4 c5 c6 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=47 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==10) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new block at BSN 10, CS=CS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Complete DL frame, len=200 @@ -340,7 +340,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying data unit 0 (BSN 10) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) msg block (BSN 10, CS-1): 07 00 14 07 c7 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=52 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==11) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new block at BSN 11, CS=CS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) data block (BSN 11, CS-1): 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 @@ -348,7 +348,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying data unit 0 (BSN 11) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) msg block (BSN 11, CS-1): 07 00 17 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=56 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==12) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new block at BSN 12, CS=CS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) data block (BSN 12, CS-1): 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36 37 38 39 @@ -356,7 +356,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying data unit 0 (BSN 12) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) msg block (BSN 12, CS-1): 07 00 19 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36 37 38 39 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=60 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==13) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new block at BSN 13, CS=CS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) data block (BSN 13, CS-1): 3a 3b 3c 3d 3e 3f 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d @@ -364,7 +364,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying data unit 0 (BSN 13) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) msg block (BSN 13, CS-1): 07 00 1b 3a 3b 3c 3d 3e 3f 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=65 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==14) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new block at BSN 14, CS=CS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) data block (BSN 14, CS-1): 4e 4f 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f 60 61 @@ -372,7 +372,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying data unit 0 (BSN 14) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) msg block (BSN 14, CS-1): 07 00 1d 4e 4f 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f 60 61 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=69 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==15) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new block at BSN 15, CS=CS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) data block (BSN 15, CS-1): 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 @@ -380,7 +380,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying data unit 0 (BSN 15) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) msg block (BSN 15, CS-1): 07 00 1f 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=73 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==16) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new block at BSN 16, CS=CS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) data block (BSN 16, CS-1): 76 77 78 79 7a 7b 7c 7d 7e 7f 80 81 82 83 84 85 86 87 88 89 @@ -388,7 +388,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying data unit 0 (BSN 16) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) msg block (BSN 16, CS-1): 07 00 21 76 77 78 79 7a 7b 7c 7d 7e 7f 80 81 82 83 84 85 86 87 88 89 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=78 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==17) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new block at BSN 17, CS=CS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) data block (BSN 17, CS-1): 8a 8b 8c 8d 8e 8f 90 91 92 93 94 95 96 97 98 99 9a 9b 9c 9d @@ -396,7 +396,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying data unit 0 (BSN 17) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) msg block (BSN 17, CS-1): 07 00 23 8a 8b 8c 8d 8e 8f 90 91 92 93 94 95 96 97 98 99 9a 9b 9c 9d -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=82 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==18) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new block at BSN 18, CS=CS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) data block (BSN 18, CS-1): 9e 9f a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac ad ae af b0 b1 @@ -404,7 +404,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying data unit 0 (BSN 18) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) msg block (BSN 18, CS-1): 07 00 25 9e 9f a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac ad ae af b0 b1 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=86 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==19) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new block at BSN 19, CS=CS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) data block (BSN 19, CS-1): b2 b3 b4 b5 b6 b7 b8 b9 ba bb bc bd be bf c0 c1 c2 c3 c4 c5 @@ -412,7 +412,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying data unit 0 (BSN 19) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) msg block (BSN 19, CS-1): 07 00 27 b2 b3 b4 b5 b6 b7 b8 b9 ba bb bc bd be bf c0 c1 c2 c3 c4 c5 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=91 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==20) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new block at BSN 20, CS=CS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Complete DL frame, len=200 @@ -429,7 +429,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) ack: (BSN=85)"RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR"(BSN=20) R=ACK I=NACK TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) DL analysis, range=0:21, lost=0, recv=21, skipped=0, bsn=0, info='RRRRRRRRRRRRRRRRRRRRR...........................................' TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) V(B): (V(A)=21)""(V(S)-1=20) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=95 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==21 .. V(S)==21) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new dummy block at BSN 21, CS=CS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Empty chunk, added LLC dummy command of size 19, drained_since=4 @@ -446,7 +446,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) ack: (BSN=86)"RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR"(BSN=21) R=ACK I=NACK TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) DL analysis, range=21:22, lost=0, recv=1, skipped=0, bsn=21, info='R...............................................................' TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) V(B): (V(A)=22)""(V(S)-1=21) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=203 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==22 .. V(S)==22) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new dummy block at BSN 22, CS=CS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Empty chunk, added LLC dummy command of size 19, drained_since=112 @@ -1691,7 +1691,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654279 block_nr=10 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654279 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 0, CS=CS-4 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Dequeue next LLC (len=10) @@ -1707,7 +1707,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Scheduled Ack/Nack polling on FN=2654292, TS=7 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) msg block (BSN 0, CS-4): 0f 01 00 29 52 41 55 5f 41 43 43 45 50 54 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 00 Received RTS for PDCH: TRX=0 TS=7 FN=2654283 block_nr=11 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=7) prio=1 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654283 Scheduling data message at RTS for DL TFI=0 prio=1 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Restarting at BSN 0, because all blocks have been transmitted. TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Resending BSN 0 @@ -2202,7 +2202,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654279 block_nr=10 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654279 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 0, CS=CS-1 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Dequeue next LLC (len=13) @@ -2221,7 +2221,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654283 block_nr=11 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654283 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 1, CS=CS-1 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=13 @@ -2239,7 +2239,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654288 block_nr=0 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654288 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 2, CS=CS-1 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=13 @@ -2259,7 +2259,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654292 block_nr=1 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654292 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==3) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 3, CS=CS-1 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=13 @@ -2277,7 +2277,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654296 block_nr=2 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654296 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==4) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 4, CS=CS-1 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=13 @@ -2297,7 +2297,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654301 block_nr=3 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654301 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==5) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 5, CS=CS-1 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=13 @@ -2315,7 +2315,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654305 block_nr=4 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654305 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==6) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 6, CS=CS-1 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=13 @@ -2335,7 +2335,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654309 block_nr=5 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654309 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==7) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 7, CS=CS-1 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=13 @@ -2353,7 +2353,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654314 block_nr=6 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654314 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==8) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 8, CS=CS-1 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=13 @@ -2371,7 +2371,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654318 block_nr=7 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654318 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==9) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 9, CS=CS-1 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=13 @@ -2391,7 +2391,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654322 block_nr=8 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654322 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==10) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 10, CS=CS-1 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=13 @@ -2409,7 +2409,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654327 block_nr=9 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654327 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==11) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 11, CS=CS-1 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=13 @@ -2429,7 +2429,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654331 block_nr=10 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654331 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==12) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 12, CS=CS-1 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=13 @@ -2447,7 +2447,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654335 block_nr=11 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654335 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==13) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 13, CS=CS-1 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=13 @@ -2467,7 +2467,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654340 block_nr=0 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654340 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==14) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 14, CS=CS-1 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=13 @@ -2485,7 +2485,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654344 block_nr=1 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654344 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==15) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 15, CS=CS-1 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=13 @@ -2503,7 +2503,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654348 block_nr=2 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654348 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==16) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 16, CS=CS-1 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=13 @@ -2523,7 +2523,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654353 block_nr=3 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654353 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==17) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 17, CS=CS-1 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=13 @@ -2541,7 +2541,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654357 block_nr=4 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654357 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==18) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 18, CS=CS-1 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=13 @@ -2561,7 +2561,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654361 block_nr=5 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654361 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==19) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 19, CS=CS-1 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=13 @@ -2579,7 +2579,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654366 block_nr=6 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=7) prio=5 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654366 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==20) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 20, CS=CS-1 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=13 @@ -2602,7 +2602,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654370 block_nr=7 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654370 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==21) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 21, CS=CS-1 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=13 @@ -2620,7 +2620,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654374 block_nr=8 scheduling free USF for polling at FN=2654379 of TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=7) FN=2654374 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==22) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 22, CS=CS-1 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=13 @@ -2638,7 +2638,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654379 block_nr=9 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654379 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==23) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 23, CS=CS-1 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=13 @@ -2658,7 +2658,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654383 block_nr=10 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654383 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==24) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 24, CS=CS-1 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=13 @@ -2676,7 +2676,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654387 block_nr=11 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654387 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==25) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 25, CS=CS-1 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=13 @@ -2696,7 +2696,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654392 block_nr=0 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654392 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==26) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 26, CS=CS-1 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=13 @@ -2714,7 +2714,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654396 block_nr=1 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654396 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==27) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 27, CS=CS-1 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=13 @@ -2799,7 +2799,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654405 block_nr=3 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=1 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654405 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 0, CS=CS-1 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Dequeue next LLC (len=21) @@ -2816,7 +2816,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654409 block_nr=4 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=1 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654409 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 1, CS=CS-1 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=21 @@ -2834,7 +2834,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654413 block_nr=5 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=1 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654413 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 2, CS=CS-1 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=21 @@ -2852,7 +2852,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654418 block_nr=6 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=1 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654418 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==3) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 3, CS=CS-1 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=21 @@ -2870,7 +2870,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654422 block_nr=7 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=1 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654422 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==4) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 4, CS=CS-1 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=21 @@ -2888,7 +2888,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654426 block_nr=8 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=1 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654426 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==5) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 5, CS=CS-1 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=21 @@ -2906,7 +2906,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654431 block_nr=9 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=1 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654431 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==6) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 6, CS=CS-1 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=21 @@ -2924,7 +2924,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654435 block_nr=10 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=1 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654435 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==7) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 7, CS=CS-1 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=21 @@ -2942,7 +2942,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654439 block_nr=11 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=1 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654439 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==8) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 8, CS=CS-1 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=21 @@ -2960,7 +2960,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654444 block_nr=0 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=1 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654444 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==9) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 9, CS=CS-1 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=21 @@ -2978,7 +2978,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654448 block_nr=1 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=1 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654448 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==10) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 10, CS=CS-1 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=21 @@ -3429,7 +3429,7 @@ ------------------------- TX : Packet Downlink Assignment ------------------------- TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=4 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 0, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=10) @@ -3445,7 +3445,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-1): 07 00 00 16 28 fe 03 02 02 02 02 02 02 02 02 02 56 56 56 56 56 56 56 56 56 56 00 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 512 bytes Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 1, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=512) @@ -3456,7 +3456,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 1, MCS-1): 07 40 00 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 2, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 2, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3466,7 +3466,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 2, MCS-1): 07 80 00 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=17 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==3) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 3, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 3, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3476,7 +3476,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 3, MCS-1): 07 c0 00 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=21 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==4) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 4, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 4, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3486,7 +3486,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 4, MCS-1): 07 00 01 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=26 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==5) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 5, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 5, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3496,7 +3496,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 5, MCS-1): 07 40 01 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=30 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==6) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 6, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 6, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3506,7 +3506,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 6, MCS-1): 07 80 01 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=34 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==7) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 7, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 7, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3516,7 +3516,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 7, MCS-1): 07 c0 01 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=39 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==8) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 8, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 8, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3526,7 +3526,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 8, MCS-1): 07 00 02 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=43 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==9) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 9, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 9, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3536,7 +3536,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 9, MCS-1): 07 40 02 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=47 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==10) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 10, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 10, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3546,7 +3546,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 10, MCS-1): 07 80 02 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=52 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==11) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 11, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 11, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3556,7 +3556,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 11, MCS-1): 07 c0 02 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=56 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==12) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 12, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 12, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3566,7 +3566,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 12, MCS-1): 07 00 03 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=60 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==13) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 13, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 13, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3576,7 +3576,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 13, MCS-1): 07 40 03 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=65 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==14) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 14, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 14, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3586,7 +3586,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 14, MCS-1): 07 80 03 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=69 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==15) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 15, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 15, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3596,7 +3596,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 15, MCS-1): 07 c0 03 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=73 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==16) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 16, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 16, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3606,7 +3606,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 16, MCS-1): 07 00 04 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=78 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==17) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 17, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 17, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3616,7 +3616,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 17, MCS-1): 07 40 04 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=82 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==18) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 18, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 18, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3626,7 +3626,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 18, MCS-1): 07 80 04 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=86 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==19) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 19, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 19, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3636,7 +3636,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 19, MCS-1): 07 c0 04 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=91 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==20) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 20, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 20, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3646,7 +3646,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 20, MCS-1): 07 00 05 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=95 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==21) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 21, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 21, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3656,7 +3656,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 21, MCS-1): 07 40 05 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=99 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==22) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 22, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 22, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3666,7 +3666,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 22, MCS-1): 07 80 05 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=104 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==23) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 23, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 23, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3676,7 +3676,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 23, MCS-1): 07 c0 05 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=108 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==24) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 24, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=512 @@ -3735,7 +3735,7 @@ ------------------------- TX : Packet Downlink Assignment ------------------------- TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=4 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 0, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=10) @@ -3751,7 +3751,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-2): 07 00 00 12 28 fe 03 02 02 02 02 02 02 02 02 02 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 00 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 512 bytes Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 1, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=512) @@ -3762,7 +3762,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 1, MCS-2): 07 40 00 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 2, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 2, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3772,7 +3772,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 2, MCS-2): 07 80 00 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=17 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==3) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 3, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 3, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3782,7 +3782,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 3, MCS-2): 07 c0 00 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=21 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==4) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 4, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 4, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3792,7 +3792,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 4, MCS-2): 07 00 01 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=26 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==5) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 5, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 5, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3802,7 +3802,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 5, MCS-2): 07 40 01 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=30 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==6) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 6, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 6, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3812,7 +3812,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 6, MCS-2): 07 80 01 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=34 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==7) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 7, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 7, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3822,7 +3822,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 7, MCS-2): 07 c0 01 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=39 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==8) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 8, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 8, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3832,7 +3832,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 8, MCS-2): 07 00 02 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=43 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==9) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 9, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 9, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3842,7 +3842,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 9, MCS-2): 07 40 02 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=47 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==10) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 10, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 10, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3852,7 +3852,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 10, MCS-2): 07 80 02 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=52 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==11) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 11, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 11, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3862,7 +3862,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 11, MCS-2): 07 c0 02 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=56 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==12) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 12, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 12, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3872,7 +3872,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 12, MCS-2): 07 00 03 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=60 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==13) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 13, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 13, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3882,7 +3882,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 13, MCS-2): 07 40 03 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=65 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==14) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 14, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 14, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3892,7 +3892,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 14, MCS-2): 07 80 03 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=69 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==15) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 15, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 15, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3902,7 +3902,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 15, MCS-2): 07 c0 03 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=73 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==16) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 16, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 16, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3912,7 +3912,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 16, MCS-2): 07 00 04 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=78 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==17) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 17, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 17, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3922,7 +3922,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 17, MCS-2): 07 40 04 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=82 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==18) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 18, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 18, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3932,7 +3932,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 18, MCS-2): 07 80 04 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=86 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==19) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 19, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=512 @@ -3991,7 +3991,7 @@ ------------------------- TX : Packet Downlink Assignment ------------------------- TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=4 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 0, CS=MCS-3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=10) @@ -4007,7 +4007,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-3): 07 00 00 06 28 fe 03 02 02 02 02 02 02 02 02 02 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 00 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 512 bytes Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 1, CS=MCS-3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=512) @@ -4018,7 +4018,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 1, MCS-3): 07 40 00 86 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 2, CS=MCS-3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 2, MCS-3): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4028,7 +4028,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 2, MCS-3): 07 80 00 86 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=17 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==3) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 3, CS=MCS-3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 3, MCS-3): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4038,7 +4038,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 3, MCS-3): 07 c0 00 86 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=21 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==4) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 4, CS=MCS-3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 4, MCS-3): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4048,7 +4048,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 4, MCS-3): 07 00 01 86 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=26 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==5) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 5, CS=MCS-3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 5, MCS-3): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4058,7 +4058,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 5, MCS-3): 07 40 01 86 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=30 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==6) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 6, CS=MCS-3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 6, MCS-3): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4068,7 +4068,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 6, MCS-3): 07 80 01 86 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=34 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==7) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 7, CS=MCS-3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 7, MCS-3): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4078,7 +4078,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 7, MCS-3): 07 c0 01 86 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=39 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==8) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 8, CS=MCS-3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 8, MCS-3): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4088,7 +4088,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 8, MCS-3): 07 00 02 86 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=43 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==9) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 9, CS=MCS-3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 9, MCS-3): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4098,7 +4098,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 9, MCS-3): 07 40 02 86 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=47 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==10) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 10, CS=MCS-3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 10, MCS-3): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4108,7 +4108,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 10, MCS-3): 07 80 02 86 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=52 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==11) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 11, CS=MCS-3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 11, MCS-3): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4118,7 +4118,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 11, MCS-3): 07 c0 02 86 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=56 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==12) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 12, CS=MCS-3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 12, MCS-3): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4128,7 +4128,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 12, MCS-3): 07 00 03 86 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=60 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==13) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 13, CS=MCS-3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 13, MCS-3): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4138,7 +4138,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 13, MCS-3): 07 40 03 86 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=65 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==14) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 14, CS=MCS-3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=512 @@ -4197,7 +4197,7 @@ ------------------------- TX : Packet Downlink Assignment ------------------------- TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=4 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 0, CS=MCS-4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=10) @@ -4213,7 +4213,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-4): 07 00 00 00 28 fe 03 02 02 02 02 02 02 02 02 02 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 00 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 512 bytes Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 1, CS=MCS-4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=512) @@ -4224,7 +4224,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 1, MCS-4): 07 40 00 80 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 2, CS=MCS-4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 2, MCS-4): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4234,7 +4234,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 2, MCS-4): 07 80 00 80 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=17 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==3) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 3, CS=MCS-4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 3, MCS-4): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4244,7 +4244,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 3, MCS-4): 07 c0 00 80 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=21 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==4) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 4, CS=MCS-4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 4, MCS-4): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4254,7 +4254,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 4, MCS-4): 07 00 01 80 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=26 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==5) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 5, CS=MCS-4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 5, MCS-4): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4264,7 +4264,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 5, MCS-4): 07 40 01 80 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=30 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==6) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 6, CS=MCS-4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 6, MCS-4): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4274,7 +4274,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 6, MCS-4): 07 80 01 80 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=34 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==7) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 7, CS=MCS-4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 7, MCS-4): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4284,7 +4284,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 7, MCS-4): 07 c0 01 80 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=39 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==8) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 8, CS=MCS-4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 8, MCS-4): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4294,7 +4294,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 8, MCS-4): 07 00 02 80 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=43 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==9) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 9, CS=MCS-4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 9, MCS-4): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4304,7 +4304,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 9, MCS-4): 07 40 02 80 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=47 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==10) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 10, CS=MCS-4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 10, MCS-4): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4314,7 +4314,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 10, MCS-4): 07 80 02 80 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=52 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==11) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 11, CS=MCS-4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 11, MCS-4): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4324,7 +4324,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 11, MCS-4): 07 c0 02 80 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=56 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==12) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 12, CS=MCS-4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=512 @@ -4383,7 +4383,7 @@ ------------------------- TX : Packet Downlink Assignment ------------------------- TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=4 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 0, CS=MCS-5 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=10) @@ -4399,7 +4399,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-5): 07 00 00 08 c5 7f 40 40 40 40 40 40 40 40 40 c0 ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca 0a TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 512 bytes Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 1, CS=MCS-5 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=512) @@ -4410,7 +4410,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 1, MCS-5): 07 40 00 58 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 2, CS=MCS-5 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 2, MCS-5): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4420,7 +4420,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 2, MCS-5): 07 80 00 58 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=17 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==3) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 3, CS=MCS-5 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 3, MCS-5): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4430,7 +4430,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 3, MCS-5): 07 c0 00 58 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=21 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==4) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 4, CS=MCS-5 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 4, MCS-5): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4440,7 +4440,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 4, MCS-5): 07 00 01 58 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=26 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==5) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 5, CS=MCS-5 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 5, MCS-5): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4450,7 +4450,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 5, MCS-5): 07 40 01 58 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=30 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==6) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 6, CS=MCS-5 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 6, MCS-5): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4460,7 +4460,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 6, MCS-5): 07 80 01 58 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=34 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==7) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 7, CS=MCS-5 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 7, MCS-5): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4470,7 +4470,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 7, MCS-5): 07 c0 01 58 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=39 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==8) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 8, CS=MCS-5 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 8, MCS-5): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4480,7 +4480,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 8, MCS-5): 07 00 02 58 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=43 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==9) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 9, CS=MCS-5 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 9, MCS-5): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4490,7 +4490,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 9, MCS-5): 07 40 02 58 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=47 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==10) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 10, CS=MCS-5 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=512 @@ -4549,7 +4549,7 @@ ------------------------- TX : Packet Downlink Assignment ------------------------- TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=4 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 0, CS=MCS-6 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=10) @@ -4565,7 +4565,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-6): 07 00 00 00 c5 7f 40 40 40 40 40 40 40 40 40 c0 ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca 0a TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 512 bytes Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 1, CS=MCS-6 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=512) @@ -4576,7 +4576,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 1, MCS-6): 07 40 00 50 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 2, CS=MCS-6 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 2, MCS-6): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4586,7 +4586,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 2, MCS-6): 07 80 00 50 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=17 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==3) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 3, CS=MCS-6 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 3, MCS-6): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4596,7 +4596,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 3, MCS-6): 07 c0 00 50 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=21 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==4) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 4, CS=MCS-6 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 4, MCS-6): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4606,7 +4606,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 4, MCS-6): 07 00 01 50 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=26 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==5) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 5, CS=MCS-6 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 5, MCS-6): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4616,7 +4616,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 5, MCS-6): 07 40 01 50 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=30 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==6) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 6, CS=MCS-6 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 6, MCS-6): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4626,7 +4626,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 6, MCS-6): 07 80 01 50 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=34 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==7) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 7, CS=MCS-6 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=512 @@ -4685,7 +4685,7 @@ ------------------------- TX : Packet Downlink Assignment ------------------------- TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=4 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 0, CS=MCS-7 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=10) @@ -4702,7 +4702,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-5): 07 00 00 08 c5 7f 40 40 40 40 40 40 40 40 40 c0 ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca 0a TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 512 bytes Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-7) last_mcs(MCS-5) demanded_mcs(MCS-7) cs_trans(MCS-7) arq_type(1) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 @@ -4716,7 +4716,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-7): 07 00 00 02 b8 50 fc 07 04 04 04 04 04 04 04 04 04 ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac 14 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 2, CS=MCS-7 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 2, MCS-7): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4729,7 +4729,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 2, MCS-7): 07 80 00 02 a0 05 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 14 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=17 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==4) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 4, CS=MCS-7 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 4, MCS-7): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4742,7 +4742,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 4, MCS-7): 07 00 01 02 a0 05 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 14 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=21 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==6) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 6, CS=MCS-7 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 6, MCS-7): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4755,7 +4755,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 6, MCS-7): 07 80 01 02 a0 05 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 14 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=26 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==8) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 8, CS=MCS-7 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 8, MCS-7): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4768,7 +4768,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 8, MCS-7): 07 00 02 02 a0 05 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 14 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=30 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==10) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 10, CS=MCS-7 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=512 @@ -4828,7 +4828,7 @@ ------------------------- TX : Packet Downlink Assignment ------------------------- TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=4 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 0, CS=MCS-8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=10) @@ -4846,7 +4846,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-8): 07 00 00 00 60 50 fc 07 04 04 04 04 04 04 04 04 04 ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac 40 f1 1f 10 10 10 10 10 10 10 10 10 b0 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 02 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 512 bytes Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-8) last_mcs(MCS-8) demanded_mcs(MCS-8) cs_trans(MCS-8) arq_type(1) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 @@ -4860,7 +4860,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-8): 07 00 00 02 88 50 fc 07 04 04 04 04 04 04 04 04 04 ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac 14 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 2, CS=MCS-8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 2, MCS-8): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4873,7 +4873,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 2, MCS-8): 07 80 00 02 58 05 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 14 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=17 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==4) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 4, CS=MCS-8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 4, MCS-8): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4886,7 +4886,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 4, MCS-8): 07 00 01 02 58 05 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 14 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=21 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==6) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 6, CS=MCS-8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 6, MCS-8): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4899,7 +4899,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 6, MCS-8): 07 80 01 02 58 05 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 14 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=26 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==8) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 8, CS=MCS-8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=512 @@ -4960,7 +4960,7 @@ ------------------------- TX : Packet Downlink Assignment ------------------------- TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=4 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 0, CS=MCS-9 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=10) @@ -4977,7 +4977,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-6): 07 00 00 00 c5 7f 40 40 40 40 40 40 40 40 40 c0 ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca 0a TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 512 bytes Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-9) last_mcs(MCS-6) demanded_mcs(MCS-9) cs_trans(MCS-9) arq_type(1) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 @@ -4991,7 +4991,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-9): 07 00 00 02 20 50 fc 07 04 04 04 04 04 04 04 04 04 ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac 14 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 2, CS=MCS-9 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 2, MCS-9): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -5004,7 +5004,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 2, MCS-9): 07 80 00 02 00 05 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 14 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=17 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==4) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 4, CS=MCS-9 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 4, MCS-9): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -5017,7 +5017,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 4, MCS-9): 07 00 01 02 00 05 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 14 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=21 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==6) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 6, CS=MCS-9 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 6, MCS-9): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23219 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I1b154d82c4a3e09f7fe7ef771de2abca0160cc7b Gerrit-Change-Number: 23219 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 Mar 3 20:06:11 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 3 Mar 2021 20:06:11 +0000 Subject: Change in osmo-pcu[master]: TODO-RELEASE: document requirement of master libosmocore References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23220 ) Change subject: TODO-RELEASE: document requirement of master libosmocore ...................................................................... TODO-RELEASE: document requirement of master libosmocore Recent commit started using ->is_sgsn field which is only available as of current libosmocore master (> 1.5.1) Fixes: 423bf8c408237df5bc77a9efcd2ccc1445c2d480 Change-Id: I3d579bd253363efc3cf183a922d6affca1a499e0 --- M TODO-RELEASE 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/20/23220/1 diff --git a/TODO-RELEASE b/TODO-RELEASE index cbfda24..716f713 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 +libosmocore struct bssgp_bvc_ctx->is_sgsn field used available only on libosmocore >1.5.1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23220 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I3d579bd253363efc3cf183a922d6affca1a499e0 Gerrit-Change-Number: 23220 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 Mar 4 00:49:56 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 4 Mar 2021 00:49:56 +0000 Subject: Change in osmo-pcu[master]: gprs_ms: Use standarized logging on more messages In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23217 ) Change subject: gprs_ms: Use standarized logging on more messages ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23217 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: If7f471f4932c2347cd857cd59f761a36d9e735d1 Gerrit-Change-Number: 23217 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 04 Mar 2021 00:49:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 4 00:50:14 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 4 Mar 2021 00:50:14 +0000 Subject: Change in osmo-pcu[master]: ms: clarify delayed MS release process related code and logging In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23216 ) Change subject: ms: clarify delayed MS release process related code and logging ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23216 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ieaea6ab07b4b2822bcf394f2d0e9298b9f3c5854 Gerrit-Change-Number: 23216 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 04 Mar 2021 00:50:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Thu Mar 4 02:44:47 2021 From: admin at opensuse.org (OBS Notification) Date: Thu, 04 Mar 2021 02:44:47 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <604049b762ec0_6772ac5bdd365f0227819b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_20.04/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_20.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 193s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 193s] [COMPILING libboard/qmod/source/card_pres.c] [ 193s] [COMPILING libboard/qmod/source/wwan_led.c] [ 193s] [COMPILING libboard/qmod/source/i2c.c] [ 193s] [COMPILING libboard/qmod/source/board_qmod.c] [ 193s] [COMPILING apps/dfu/main.c] [ 194s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 194s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 194s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 194s] Memory region Used Size Region Size %age Used [ 194s] rom: 16588 B 16 KB 101.25% [ 194s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 194s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 204 bytes [ 194s] collect2: error: ld returned 1 exit status [ 194s] % [ 194s] make[2]: *** [Makefile:234: flash] Error 1 [ 194s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 194s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 194s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 194s] dh_auto_build: error: make -j1 returned exit code 2 [ 194s] make: *** [debian/rules:16: build] Error 25 [ 194s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 194s] ### VM INTERACTION START ### [ 198s] [ 185.160132] sysrq: Power Off [ 198s] [ 185.166465] reboot: Power down [ 198s] ### VM INTERACTION END ### [ 198s] [ 198s] lamb07 failed "build simtrace2_0.7.0.70.657c.dsc" at Thu Mar 4 02:44:46 UTC 2021. [ 198s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Mar 4 02:48:14 2021 From: admin at opensuse.org (OBS Notification) Date: Thu, 04 Mar 2021 02:48:14 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.10/x86_64 In-Reply-To: References: Message-ID: <60404a861430b_6772ac5bdd365f02278883@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_20.10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_20.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 169s] [COMPILING apps/dfu/main.c] [ 169s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 169s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 169s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 170s] Memory region Used Size Region Size %age Used [ 170s] rom: 16580 B 16 KB 101.20% [ 170s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 170s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 170s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 170s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 170s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 170s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 170s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 196 bytes [ 170s] collect2: error: ld returned 1 exit status [ 170s] % [ 170s] make[2]: *** [Makefile:234: flash] Error 1 [ 170s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 170s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 170s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 170s] dh_auto_build: error: make -j1 returned exit code 2 [ 170s] make: *** [debian/rules:16: build] Error 25 [ 170s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 170s] ### VM INTERACTION START ### [ 173s] [ 159.154186] sysrq: Power Off [ 173s] [ 159.163893] reboot: Power down [ 173s] ### VM INTERACTION END ### [ 173s] [ 173s] sheep88 failed "build simtrace2_0.7.0.70.657c.dsc" at Thu Mar 4 02:48:01 UTC 2021. [ 173s] -- 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 Mar 4 08:56:32 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 4 Mar 2021 08:56:32 +0000 Subject: Change in libosmocore[master]: cosmetic: ssn: some more comments References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/23221 ) Change subject: cosmetic: ssn: some more comments ...................................................................... cosmetic: ssn: some more comments Change-Id: I87f76ab19d834d96a268b0d47b9dfe2424151d63 --- M src/gb/gprs_ns2_sns.c 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/21/23221/1 diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index a82da95..698f60a 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -79,10 +79,10 @@ GPRS_SNS_EV_RX_ADD, GPRS_SNS_EV_RX_DELETE, GPRS_SNS_EV_RX_CHANGE_WEIGHT, - GPRS_SNS_EV_REQ_NO_NSVC, + GPRS_SNS_EV_REQ_NO_NSVC, /*!< no more NS-VC remaining (all dead) */ GPRS_SNS_EV_REQ_NSVC_ALIVE, /*!< a NS-VC became alive */ - GPRS_SNS_EV_REQ_ADD_BIND, - GPRS_SNS_EV_REQ_DELETE_BIND, + GPRS_SNS_EV_REQ_ADD_BIND, /*!< add a new local bind to this NSE */ + GPRS_SNS_EV_REQ_DELETE_BIND, /*!< remove a local bind from this NSE */ }; static const struct value_string gprs_sns_event_names[] = { -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23221 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I87f76ab19d834d96a268b0d47b9dfe2424151d63 Gerrit-Change-Number: 23221 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 Mar 4 08:56:33 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 4 Mar 2021 08:56:33 +0000 Subject: Change in libosmocore[master]: gprs_ns2: Log all transmitted SNS messages References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/23222 ) Change subject: gprs_ns2: Log all transmitted SNS messages ...................................................................... gprs_ns2: Log all transmitted SNS messages We already have similar log statements for all NS-{RESET,BLOCK,UNBLOCK,...} and it's confusing that even a debug-level NS log file doesn't show transmitting SNS messages at all. Change-Id: I0d31c3911d3acd6ac7296c370e920d53412d8289 --- M src/gb/gprs_ns2_message.c 1 file changed, 15 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/22/23222/1 diff --git a/src/gb/gprs_ns2_message.c b/src/gb/gprs_ns2_message.c index ddf7285..cf075ec 100644 --- a/src/gb/gprs_ns2_message.c +++ b/src/gb/gprs_ns2_message.c @@ -515,6 +515,9 @@ return -EIO; } + LOGNSVC(nsvc, LOGL_INFO, "Tx SNS-ACK (trans_id=%u, cause=%s, num_ip4=%u, num_ip6=%u)\n", + trans_id, cause ? gprs_ns2_cause_str(*cause) : "NULL", num_ip4_elems, num_ip6_elems); + nsei = osmo_htons(nsvc->nse->nsei); msg->l2h = msgb_put(msg, sizeof(*nsh)); @@ -573,6 +576,9 @@ return -EIO; } + LOGNSVC(nsvc, LOGL_INFO, "Tx SNS-CONFIG (end_flag=%u, num_ip4=%u, num_ip6=%u)\n", + end_flag, num_ip4_elems, num_ip6_elems); + nsei = osmo_htons(nsvc->nse->nsei); msg->l2h = msgb_put(msg, sizeof(*nsh)); @@ -621,6 +627,9 @@ return -EIO; } + LOGNSVC(nsvc, LOGL_INFO, "Tx SNS-CONFIG-ACK (cause=%s)\n", + cause ? gprs_ns2_cause_str(*cause) : "NULL"); + nsei = osmo_htons(nsvc->nse->nsei); msg->l2h = msgb_put(msg, sizeof(*nsh)); @@ -666,6 +675,9 @@ return -EIO; } + LOGNSVC(nsvc, LOGL_INFO, "Tx SNS-SIZE (reset=%u, max_nr_nsvc=%u, num_ip4=%u, num_ip6=%u)\n", + reset_flag, max_nr_nsvc, ip4_ep_nr, ip6_ep_nr); + nsei = osmo_htons(nsvc->nse->nsei); msg->l2h = msgb_put(msg, sizeof(*nsh)); @@ -705,6 +717,9 @@ return -EIO; } + LOGNSVC(nsvc, LOGL_INFO, "Tx SNS-SIZEG-ACK (cause=%s)\n", + cause ? gprs_ns2_cause_str(*cause) : "NULL"); + nsei = osmo_htons(nsvc->nse->nsei); msg->l2h = msgb_put(msg, sizeof(*nsh)); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23222 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0d31c3911d3acd6ac7296c370e920d53412d8289 Gerrit-Change-Number: 23222 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 Mar 4 08:56:33 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 4 Mar 2021 08:56:33 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Dispatch inbound SNS-ACK to FSM References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/23223 ) Change subject: gprs_ns2_sns: Dispatch inbound SNS-ACK to FSM ...................................................................... gprs_ns2_sns: Dispatch inbound SNS-ACK to FSM We don't really handle inbound SNS-ACK yet (as we don't originate SNS ADD/DEL/CHGWEIGHT procedures yet). However, the message receive code should already dispatch those events to the FSM, just like we do for the (equally unimplemented) handling of inbound SNS-SIZE which is already dispatched to the FSM. Change-Id: If6d5f96d85e6f05534fe49376f4473d912535ad4 --- M src/gb/gprs_ns2_sns.c 1 file changed, 3 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/23/23223/1 diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index 698f60a..0bb7422 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -79,6 +79,7 @@ GPRS_SNS_EV_RX_ADD, GPRS_SNS_EV_RX_DELETE, GPRS_SNS_EV_RX_CHANGE_WEIGHT, + GPRS_SNS_EV_RX_ACK, /*!< Rx of SNS-ACK (response to ADD/DELETE/CHG_WEIGHT */ GPRS_SNS_EV_REQ_NO_NSVC, /*!< no more NS-VC remaining (all dead) */ GPRS_SNS_EV_REQ_NSVC_ALIVE, /*!< a NS-VC became alive */ GPRS_SNS_EV_REQ_ADD_BIND, /*!< add a new local bind to this NSE */ @@ -94,6 +95,7 @@ { GPRS_SNS_EV_RX_CONFIG_ACK, "RX_CONFIG_ACK" }, { GPRS_SNS_EV_RX_ADD, "RX_ADD" }, { GPRS_SNS_EV_RX_DELETE, "RX_DELETE" }, + { GPRS_SNS_EV_RX_ACK, "RX_ACK" }, { GPRS_SNS_EV_RX_CHANGE_WEIGHT, "RX_CHANGE_WEIGHT" }, { GPRS_SNS_EV_REQ_NO_NSVC, "REQ_NO_NSVC" }, { GPRS_SNS_EV_REQ_NSVC_ALIVE, "REQ_NSVC_ALIVE"}, @@ -1599,8 +1601,7 @@ osmo_fsm_inst_dispatch(fi, GPRS_SNS_EV_RX_CHANGE_WEIGHT, tp); break; case SNS_PDUT_ACK: - LOGPFSML(fi, LOGL_NOTICE, "NSEI=%u Rx unsupported SNS PDU type %s\n", nsei, - get_value_string(gprs_ns_pdu_strings, nsh->pdu_type)); + osmo_fsm_inst_dispatch(fi, GPRS_SNS_EV_RX_ACK, tp); break; default: LOGPFSML(fi, LOGL_ERROR, "NSEI=%u Rx unknown SNS PDU type %s\n", nsei, -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23223 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If6d5f96d85e6f05534fe49376f4473d912535ad4 Gerrit-Change-Number: 23223 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 Mar 4 08:56:33 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 4 Mar 2021 08:56:33 +0000 Subject: Change in libosmocore[master]: gprs_ns2: Pass peer/remote sockaddr argument to ns2_create_vc() References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/23224 ) Change subject: gprs_ns2: Pass peer/remote sockaddr argument to ns2_create_vc() ...................................................................... gprs_ns2: Pass peer/remote sockaddr argument to ns2_create_vc() This is a preparation towards auto-creating SNS NS-VCs in SGSN role Change-Id: Idf92712079cd9b7e4ff2cf8df314b372d63e6e52 --- M src/gb/gprs_ns2.c M src/gb/gprs_ns2_frgre.c M src/gb/gprs_ns2_internal.h M src/gb/gprs_ns2_udp.c 4 files changed, 5 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/24/23224/1 diff --git a/src/gb/gprs_ns2.c b/src/gb/gprs_ns2.c index a79dd05..4a98374 100644 --- a/src/gb/gprs_ns2.c +++ b/src/gb/gprs_ns2.c @@ -868,12 +868,14 @@ /*! Create a new NS-VC based on a [received] message. Depending on the bind it might create a NSE. * \param[in] bind the bind through which msg was received * \param[in] msg the actual received message + * \param[in] remote address of remote peer sending message * \param[in] logname A name to describe the VC. E.g. ip address pair * \param[out] reject A message filled to be sent back. Only used in failure cases. * \param[out] success A pointer which will be set to the new VC on success * \return enum value indicating the status, e.g. GPRS_NS2_CS_CREATED */ enum ns2_cs ns2_create_vc(struct gprs_ns2_vc_bind *bind, struct msgb *msg, + const struct osmo_sockaddr *remote, const char *logname, struct msgb **reject, struct gprs_ns2_vc **success) diff --git a/src/gb/gprs_ns2_frgre.c b/src/gb/gprs_ns2_frgre.c index 62d87a4..76c0b92 100644 --- a/src/gb/gprs_ns2_frgre.c +++ b/src/gb/gprs_ns2_frgre.c @@ -447,7 +447,7 @@ rc = ns2_find_vc_by_dlci(bind, dlci, &nsvc); if (rc) { /* VC not found */ - rc = ns2_create_vc(bind, msg, "newconnection", &reject, &nsvc); + rc = ns2_create_vc(bind, msg, &saddr, "newconnection", &reject, &nsvc); switch (rc) { case NS2_CS_FOUND: break; diff --git a/src/gb/gprs_ns2_internal.h b/src/gb/gprs_ns2_internal.h index 7e235be..80e664c 100644 --- a/src/gb/gprs_ns2_internal.h +++ b/src/gb/gprs_ns2_internal.h @@ -279,6 +279,7 @@ enum ns2_cs ns2_create_vc(struct gprs_ns2_vc_bind *bind, struct msgb *msg, + const struct osmo_sockaddr *remote, const char *logname, struct msgb **reject, struct gprs_ns2_vc **success); diff --git a/src/gb/gprs_ns2_udp.c b/src/gb/gprs_ns2_udp.c index 3081680..5765c77 100644 --- a/src/gb/gprs_ns2_udp.c +++ b/src/gb/gprs_ns2_udp.c @@ -231,7 +231,7 @@ nsvc = gprs_ns2_nsvc_by_sockaddr_bind(bind, &saddr); if (!nsvc) { /* VC not found */ - rc = ns2_create_vc(bind, msg, "newconnection", &reject, &nsvc); + rc = ns2_create_vc(bind, msg, &saddr, "newconnection", &reject, &nsvc); switch (rc) { case NS2_CS_FOUND: break; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23224 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Idf92712079cd9b7e4ff2cf8df314b372d63e6e52 Gerrit-Change-Number: 23224 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 Mar 4 09:06:52 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 4 Mar 2021 09:06:52 +0000 Subject: Change in libosmocore[master]: gprs_ns2: Log all transmitted SNS messages 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/+/23222 to look at the new patch set (#2). Change subject: gprs_ns2: Log all transmitted SNS messages ...................................................................... gprs_ns2: Log all transmitted SNS messages We already have similar log statements for all NS-{RESET,BLOCK,UNBLOCK,...} and it's confusing that even a debug-level NS log file doesn't show transmitting SNS messages at all. Change-Id: I0d31c3911d3acd6ac7296c370e920d53412d8289 --- M src/gb/gprs_ns2_message.c 1 file changed, 15 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/22/23222/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23222 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0d31c3911d3acd6ac7296c370e920d53412d8289 Gerrit-Change-Number: 23222 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 Thu Mar 4 09:06:53 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 4 Mar 2021 09:06:53 +0000 Subject: Change in libosmocore[master]: gprs_ns2: Remove any references to DNS; we use DLNS in NS2. References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/23225 ) Change subject: gprs_ns2: Remove any references to DNS; we use DLNS in NS2. ...................................................................... gprs_ns2: Remove any references to DNS; we use DLNS in NS2. Related: OS#5058 Change-Id: I1f047e022a029d5f982deae0b30fec9e5a00d1ac --- M src/gb/gprs_ns2_sns.c M src/gb/gprs_ns2_vc_fsm.c 2 files changed, 0 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/25/23225/1 diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index 0bb7422..a8baa28 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -1516,7 +1516,6 @@ .allstate_action = ns2_sns_st_all_action, .cleanup = NULL, .timer_cb = ns2_sns_fsm_bss_timer_cb, - /* .log_subsys = DNS, "is not constant" */ .event_names = gprs_sns_event_names, .pre_term = NULL, .log_subsys = DLNS, diff --git a/src/gb/gprs_ns2_vc_fsm.c b/src/gb/gprs_ns2_vc_fsm.c index 40c8984..cca724f 100644 --- a/src/gb/gprs_ns2_vc_fsm.c +++ b/src/gb/gprs_ns2_vc_fsm.c @@ -49,8 +49,6 @@ #define S(x) (1 << (x)) -#define DNS 10 - struct gprs_ns2_vc_priv { struct gprs_ns2_vc *nsvc; /* how often the timer was triggered */ @@ -687,7 +685,6 @@ .allstate_action = ns2_vc_fsm_allstate_action, .cleanup = ns2_vc_fsm_clean, .timer_cb = ns2_vc_fsm_timer_cb, - /* .log_subsys = DNS, "is not constant" */ .event_names = ns2_vc_event_names, .pre_term = NULL, .log_subsys = DLNS, -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23225 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1f047e022a029d5f982deae0b30fec9e5a00d1ac Gerrit-Change-Number: 23225 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 Mar 4 09:08:05 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 4 Mar 2021 09:08:05 +0000 Subject: Change in libosmocore[master]: cosmetic: ssn: some more comments In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23221 ) Change subject: cosmetic: ssn: some more comments ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23221 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I87f76ab19d834d96a268b0d47b9dfe2424151d63 Gerrit-Change-Number: 23221 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 04 Mar 2021 09: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 Thu Mar 4 09:08:46 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 4 Mar 2021 09:08:46 +0000 Subject: Change in libosmocore[master]: gprs_ns2: Remove any references to DNS; we use DLNS in NS2. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23225 ) Change subject: gprs_ns2: Remove any references to DNS; we use DLNS in NS2. ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23225 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1f047e022a029d5f982deae0b30fec9e5a00d1ac Gerrit-Change-Number: 23225 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Thu, 04 Mar 2021 09:08: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 Mar 4 09:09:13 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 4 Mar 2021 09:09:13 +0000 Subject: Change in libosmocore[master]: cosmetic: ssn: some more comments In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23221 ) Change subject: cosmetic: ssn: some more comments ...................................................................... cosmetic: ssn: some more comments Change-Id: I87f76ab19d834d96a268b0d47b9dfe2424151d63 --- M src/gb/gprs_ns2_sns.c 1 file changed, 3 insertions(+), 3 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index a82da95..698f60a 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -79,10 +79,10 @@ GPRS_SNS_EV_RX_ADD, GPRS_SNS_EV_RX_DELETE, GPRS_SNS_EV_RX_CHANGE_WEIGHT, - GPRS_SNS_EV_REQ_NO_NSVC, + GPRS_SNS_EV_REQ_NO_NSVC, /*!< no more NS-VC remaining (all dead) */ GPRS_SNS_EV_REQ_NSVC_ALIVE, /*!< a NS-VC became alive */ - GPRS_SNS_EV_REQ_ADD_BIND, - GPRS_SNS_EV_REQ_DELETE_BIND, + GPRS_SNS_EV_REQ_ADD_BIND, /*!< add a new local bind to this NSE */ + GPRS_SNS_EV_REQ_DELETE_BIND, /*!< remove a local bind from this NSE */ }; static const struct value_string gprs_sns_event_names[] = { -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23221 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I87f76ab19d834d96a268b0d47b9dfe2424151d63 Gerrit-Change-Number: 23221 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 Thu Mar 4 09:09:52 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 4 Mar 2021 09:09:52 +0000 Subject: Change in osmo-pcu[master]: ms: clarify delayed MS release process related code and logging In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23216 ) Change subject: ms: clarify delayed MS release process related code and logging ...................................................................... ms: clarify delayed MS release process related code and logging Change-Id: Ieaea6ab07b4b2822bcf394f2d0e9298b9f3c5854 --- M src/gprs_ms.c M tests/ms/MsTest.err M tests/tbf/TbfTest.err 3 files changed, 16 insertions(+), 11 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/src/gprs_ms.c b/src/gprs_ms.c index ab1a067..2250fa9 100644 --- a/src/gprs_ms.c +++ b/src/gprs_ms.c @@ -79,11 +79,10 @@ .ms_active = gprs_default_cb_ms_active, }; -void ms_timeout(void *data) +static void ms_release_timer_cb(void *data) { struct GprsMs *ms = (struct GprsMs *) data; - LOGP(DRLCMAC, LOGL_INFO, "Timeout for MS object, TLLI = 0x%08x\n", - ms_tlli(ms)); + LOGPMS(ms, DRLCMAC, LOGL_INFO, "Release timer expired\n"); if (ms->timer.data) { ms->timer.data = NULL; @@ -116,7 +115,7 @@ ms->imsi[0] = '\0'; memset(&ms->timer, 0, sizeof(ms->timer)); - ms->timer.cb = ms_timeout; + ms->timer.cb = ms_release_timer_cb; llc_queue_init(&ms->llc_queue); ms_set_mode(ms, GPRS); @@ -218,22 +217,26 @@ ms_update_status(ms); } -void ms_start_timer(struct GprsMs *ms) +static void ms_release_timer_start(struct GprsMs *ms) { if (ms->delay == 0) return; + LOGPMS(ms, DRLCMAC, LOGL_DEBUG, "Schedule MS release in %u secs\n", ms->delay); + if (!ms->timer.data) ms->timer.data = ms_ref(ms); osmo_timer_schedule(&ms->timer, ms->delay, 0); } -void ms_stop_timer(struct GprsMs *ms) +static void ms_release_timer_stop(struct GprsMs *ms) { if (!ms->timer.data) return; + LOGPMS(ms, DRLCMAC, LOGL_DEBUG, "Cancel scheduled MS release\n"); + osmo_timer_del(&ms->timer); ms->timer.data = NULL; ms_unref(ms); @@ -306,7 +309,7 @@ ms->ul_tbf = tbf; if (tbf) - ms_stop_timer(ms); + ms_release_timer_stop(ms); ms_unref(ms); } @@ -327,7 +330,7 @@ ms->dl_tbf = tbf; if (tbf) - ms_stop_timer(ms); + ms_release_timer_stop(ms); ms_unref(ms); } @@ -374,7 +377,7 @@ ms_set_reserved_slots(ms, NULL, 0, 0); if (ms_tlli(ms) != 0) - ms_start_timer(ms); + ms_release_timer_start(ms); } ms_update_status(ms); @@ -386,7 +389,7 @@ "Clearing MS object, TLLI: 0x%08x, IMSI: '%s'\n", ms_tlli(ms), ms_imsi(ms)); - ms_stop_timer(ms); + ms_release_timer_stop(ms); ms->tlli = GSM_RESERVED_TMSI; ms->new_dl_tlli = ms->tlli; diff --git a/tests/ms/MsTest.err b/tests/ms/MsTest.err index 51ab68d..261a026 100644 --- a/tests/ms/MsTest.err +++ b/tests/ms/MsTest.err @@ -52,7 +52,7 @@ Attaching TBF to MS object, TLLI = 0xffeeddbb, TBF = TBF(TFI=0 TLLI=0xffeeddbb DIR=DL STATE=NULL) Detaching TBF from MS object, TLLI = 0xffeeddbb, TBF = TBF(TFI=0 TLLI=0xffeeddbb DIR=UL STATE=NULL) Detaching TBF from MS object, TLLI = 0xffeeddbb, TBF = TBF(TFI=0 TLLI=0xffeeddbb DIR=DL STATE=NULL) -Timeout for MS object, TLLI = 0xffeeddbb +MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0,) Release timer expired Destroying MS object, TLLI = 0xffeeddbb Creating MS object, TLLI = 0xffeeddbb Attaching TBF to MS object, TLLI = 0xffeeddbb, TBF = TBF(TFI=0 TLLI=0xffeeddbb DIR=DL STATE=NULL) diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index 0f802a7..5185c7d 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -1382,6 +1382,7 @@ TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=RELEASING) free PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=RELEASING), 0 TBFs, USFs = 00, TFIs = 00000000. Detaching TBF from MS object, TLLI = 0xc0123456, TBF = TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=RELEASING) +MS(TLLI=0xc0123456, IMSI=001001000123456, TA=0, 45/0,) Schedule MS release in 10 secs ********** DL-TBF ends here ********** MS(TLLI=0xc0123456, IMSI=001001000123456, TA=0, 45/0,) ********** DL-TBF starts here ********** MS(TLLI=0xc0123456, IMSI=001001000123456, TA=0, 45/0,) Allocating DL TBF @@ -1398,6 +1399,7 @@ TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 Attaching TBF to MS object, TLLI = 0xc0123456, TBF = TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) +MS(TLLI=0xc0123456, IMSI=001001000123456, TA=0, 45/0, DL) Cancel scheduled MS release TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000123456) TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) changes state from NULL to ASSIGN -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23216 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ieaea6ab07b4b2822bcf394f2d0e9298b9f3c5854 Gerrit-Change-Number: 23216 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 4 09:09:53 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 4 Mar 2021 09:09:53 +0000 Subject: Change in osmo-pcu[master]: gprs_ms: Use standarized logging on more messages In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23217 ) Change subject: gprs_ms: Use standarized logging on more messages ...................................................................... gprs_ms: Use standarized logging on more messages Change-Id: If7f471f4932c2347cd857cd59f761a36d9e735d1 --- M src/gprs_ms.c M tests/app_info/AppInfoTest.err M tests/ms/MsTest.err M tests/tbf/TbfTest.err 4 files changed, 229 insertions(+), 233 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/src/gprs_ms.c b/src/gprs_ms.c index 2250fa9..0d6be4d 100644 --- a/src/gprs_ms.c +++ b/src/gprs_ms.c @@ -147,7 +147,7 @@ { struct llist_item *pos, *tmp; - LOGP(DRLCMAC, LOGL_INFO, "Destroying MS object, TLLI = 0x%08x\n", ms_tlli(ms)); + LOGPMS(ms, DRLCMAC, LOGL_INFO, "Destroying MS object\n"); ms_set_reserved_slots(ms, NULL, 0, 0); @@ -298,8 +298,7 @@ if (ms->ul_tbf == tbf) return; - LOGP(DRLCMAC, LOGL_INFO, "Attaching TBF to MS object, TLLI = 0x%08x, TBF = %s\n", - ms_tlli(ms), tbf_name((struct gprs_rlcmac_tbf *)tbf)); + LOGPMS(ms, DRLCMAC, LOGL_INFO, "Attaching UL TBF: %s\n", tbf_name((struct gprs_rlcmac_tbf *)tbf)); ms_ref(ms); @@ -319,8 +318,7 @@ if (ms->dl_tbf == tbf) return; - LOGP(DRLCMAC, LOGL_INFO, "Attaching TBF to MS object, TLLI = 0x%08x, TBF = %s\n", - ms_tlli(ms), tbf_name((struct gprs_rlcmac_tbf *)tbf)); + LOGPMS(ms, DRLCMAC, LOGL_INFO, "Attaching DL TBF: %s\n", tbf_name((struct gprs_rlcmac_tbf *)tbf)); ms_ref(ms); @@ -367,8 +365,8 @@ return; } - LOGP(DRLCMAC, LOGL_INFO, "Detaching TBF from MS object, TLLI = 0x%08x, TBF = %s\n", - ms_tlli(ms), tbf_name(tbf)); + LOGPMS(ms, DRLCMAC, LOGL_INFO, "Detaching TBF: %s\n", + tbf_name(tbf)); if (tbf_ms(tbf) == ms) tbf_set_ms(tbf, NULL); @@ -385,9 +383,7 @@ void ms_reset(struct GprsMs *ms) { - LOGP(DRLCMAC, LOGL_INFO, - "Clearing MS object, TLLI: 0x%08x, IMSI: '%s'\n", - ms_tlli(ms), ms_imsi(ms)); + LOGPMS(ms, DRLCMAC, LOGL_INFO, "Clearing MS object\n"); ms_release_timer_stop(ms); diff --git a/tests/app_info/AppInfoTest.err b/tests/app_info/AppInfoTest.err index 4ad4528..36234cb 100644 --- a/tests/app_info/AppInfoTest.err +++ b/tests/app_info/AppInfoTest.err @@ -19,7 +19,7 @@ PDCH(bts=0,trx=0,ts=5) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. PDCH(bts=0,trx=0,ts=6) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) +MS(TLLI=0xffffffff, IMSI=, TA=220, 10/11,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) ws(64) Creating MS object, TLLI = 0xffffffff Modifying MS object, TLLI = 0xffffffff, MS class 0 -> 12 @@ -29,7 +29,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=1 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS), 2 TBFs, USFs = 00, TFIs = 00000003. PDCH(bts=0,trx=0,ts=5) Attaching TBF(TFI=1 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS), 2 TBFs, USFs = 00, TFIs = 00000003. PDCH(bts=0,trx=0,ts=6) Attaching TBF(TFI=1 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS), 2 TBFs, USFs = 00, TFIs = 00000003. -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=1 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) +MS(TLLI=0xffffffff, IMSI=, TA=220, 12/13,) Attaching DL TBF: TBF(TFI=1 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) ws(64) --- test_sched_app_info_ok --- @@ -56,10 +56,10 @@ PDCH(bts=0,trx=0,ts=5) Detaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=RELEASING EGPRS), 1 TBFs, USFs = 00, TFIs = 00000002. PDCH(bts=0,trx=0,ts=6) Detaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=RELEASING EGPRS), 1 TBFs, USFs = 00, TFIs = 00000002. PDCH(bts=0,trx=0,ts=7) Detaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=RELEASING EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=RELEASING EGPRS) +MS(TLLI=0xffffffff, IMSI=, TA=220, 10/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=RELEASING EGPRS) PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=1 TLLI=0xffffffff DIR=DL STATE=RELEASING EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. PDCH(bts=0,trx=0,ts=5) Detaching TBF(TFI=1 TLLI=0xffffffff DIR=DL STATE=RELEASING EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. PDCH(bts=0,trx=0,ts=6) Detaching TBF(TFI=1 TLLI=0xffffffff DIR=DL STATE=RELEASING EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xffffffff, TBF = TBF(TFI=1 TLLI=0xffffffff DIR=DL STATE=RELEASING EGPRS) -Destroying MS object, TLLI = 0xffffffff -Destroying MS object, TLLI = 0xffffffff +MS(TLLI=0xffffffff, IMSI=, TA=220, 12/13,) Detaching TBF: TBF(TFI=1 TLLI=0xffffffff DIR=DL STATE=RELEASING EGPRS) +MS(TLLI=0xffffffff, IMSI=, TA=220, 12/13,) Destroying MS object +MS(TLLI=0xffffffff, IMSI=, TA=220, 10/11,) Destroying MS object diff --git a/tests/ms/MsTest.err b/tests/ms/MsTest.err index 261a026..9561ec8 100644 --- a/tests/ms/MsTest.err +++ b/tests/ms/MsTest.err @@ -1,23 +1,23 @@ Creating MS object, TLLI = 0xffeeddbb -Attaching TBF to MS object, TLLI = 0xffeeddbb, TBF = TBF(TFI=0 TLLI=0xffeeddbb DIR=UL STATE=NULL) -Attaching TBF to MS object, TLLI = 0xffeeddbb, TBF = TBF(TFI=0 TLLI=0xffeeddbb DIR=DL STATE=NULL) -Detaching TBF from MS object, TLLI = 0xffeeddbb, TBF = TBF(TFI=0 TLLI=0xffeeddbb DIR=UL STATE=NULL) -Detaching TBF from MS object, TLLI = 0xffeeddbb, TBF = TBF(TFI=0 TLLI=0xffeeddbb DIR=DL STATE=NULL) -Destroying MS object, TLLI = 0xffeeddbb +MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xffeeddbb DIR=UL STATE=NULL) +MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0, UL) Attaching DL TBF: TBF(TFI=0 TLLI=0xffeeddbb DIR=DL STATE=NULL) +MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0, DL) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddbb DIR=UL STATE=NULL) +MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddbb DIR=DL STATE=NULL) +MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0,) Destroying MS object Creating MS object, TLLI = 0xffeeddbb -Attaching TBF to MS object, TLLI = 0xffeeddbb, TBF = TBF(TFI=0 TLLI=0xffeeddbb DIR=UL STATE=NULL) -Attaching TBF to MS object, TLLI = 0xffeeddbb, TBF = TBF(TFI=0 TLLI=0xffeeddbb DIR=DL STATE=NULL) -Detaching TBF from MS object, TLLI = 0xffeeddbb, TBF = TBF(TFI=0 TLLI=0xffeeddbb DIR=UL STATE=NULL) -Detaching TBF from MS object, TLLI = 0xffeeddbb, TBF = TBF(TFI=0 TLLI=0xffeeddbb DIR=DL STATE=NULL) -Destroying MS object, TLLI = 0xffeeddbb +MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xffeeddbb DIR=UL STATE=NULL) +MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0, UL) Attaching DL TBF: TBF(TFI=0 TLLI=0xffeeddbb DIR=DL STATE=NULL) +MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0, DL) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddbb DIR=UL STATE=NULL) +MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddbb DIR=DL STATE=NULL) +MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0,) Destroying MS object Creating MS object, TLLI = 0xffeeddbb -Attaching TBF to MS object, TLLI = 0xffeeddbb, TBF = TBF(TFI=0 TLLI=0xffeeddbb DIR=DL STATE=NULL) -Attaching TBF to MS object, TLLI = 0xffeeddbb, TBF = TBF(TFI=0 TLLI=0xffeeddbb DIR=DL STATE=NULL) -Attaching TBF to MS object, TLLI = 0xffeeddbb, TBF = TBF(TFI=0 TLLI=0xffeeddbb DIR=UL STATE=NULL) -Detaching TBF from MS object, TLLI = 0xffeeddbb, TBF = TBF(TFI=0 TLLI=0xffeeddbb DIR=UL STATE=NULL) -Detaching TBF from MS object, TLLI = 0xffeeddbb, TBF = TBF(TFI=0 TLLI=0xffeeddbb DIR=DL STATE=NULL) -Detaching TBF from MS object, TLLI = 0xffeeddbb, TBF = TBF(TFI=0 TLLI=0xffeeddbb DIR=DL STATE=NULL) -Destroying MS object, TLLI = 0xffeeddbb +MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffeeddbb DIR=DL STATE=NULL) +MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0, DL) Attaching DL TBF: TBF(TFI=0 TLLI=0xffeeddbb DIR=DL STATE=NULL) +MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0, DL) Attaching UL TBF: TBF(TFI=0 TLLI=0xffeeddbb DIR=UL STATE=NULL) +MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0, DL) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddbb DIR=UL STATE=NULL) +MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0, DL) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddbb DIR=DL STATE=NULL) +MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddbb DIR=DL STATE=NULL) +MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0,) Destroying MS object Creating MS object, TLLI = 0xaa000000 Modifying MS object, UL TLLI: 0xaa000000 -> 0xff001111, not yet confirmed Modifying MS object, TLLI: 0xff001111 confirmed @@ -34,28 +34,28 @@ Modifying MS object, TLLI: 0xaa000000 confirmed The MS object cannot fully confirm an unexpected TLLI: 0xff001111, partly confirmed Modifying MS object, TLLI: 0xaa000000 -> 0xff001111, already confirmed partly -Destroying MS object, TLLI = 0xff001111 +MS(TLLI=0xff001111, IMSI=, TA=220, 0/0,) Destroying MS object Creating MS object, TLLI = 0xffffffff Modifying MS object, UL TLLI: 0xffffffff -> 0xffeeddbb, not yet confirmed Modifying MS object, TLLI = 0xffeeddbb, IMSI '' -> '001001987654321' Creating MS object, TLLI = 0xffffffff Modifying MS object, UL TLLI: 0xffffffff -> 0xffeeddbc, not yet confirmed Modifying MS object, TLLI = 0xffeeddbc, IMSI '' -> '001001987654322' -Attaching TBF to MS object, TLLI = 0xffeeddbb, TBF = TBF(TFI=0 TLLI=0xffeeddbb DIR=UL STATE=NULL) -Detaching TBF from MS object, TLLI = 0xffeeddbb, TBF = TBF(TFI=0 TLLI=0xffeeddbb DIR=UL STATE=NULL) -Destroying MS object, TLLI = 0xffeeddbb -Attaching TBF to MS object, TLLI = 0xffeeddbc, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) -Detaching TBF from MS object, TLLI = 0xffeeddbc, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) -Destroying MS object, TLLI = 0xffeeddbc +MS(TLLI=0xffeeddbb, IMSI=001001987654321, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xffeeddbb DIR=UL STATE=NULL) +MS(TLLI=0xffeeddbb, IMSI=001001987654321, TA=220, 0/0,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddbb DIR=UL STATE=NULL) +MS(TLLI=0xffeeddbb, IMSI=001001987654321, TA=220, 0/0,) Destroying MS object +MS(TLLI=0xffeeddbc, IMSI=001001987654322, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) +MS(TLLI=0xffeeddbc, IMSI=001001987654322, TA=220, 0/0,) Detaching TBF: TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) +MS(TLLI=0xffeeddbc, IMSI=001001987654322, TA=220, 0/0,) Destroying MS object Creating MS object, TLLI = 0xffeeddbb -Attaching TBF to MS object, TLLI = 0xffeeddbb, TBF = TBF(TFI=0 TLLI=0xffeeddbb DIR=UL STATE=NULL) -Attaching TBF to MS object, TLLI = 0xffeeddbb, TBF = TBF(TFI=0 TLLI=0xffeeddbb DIR=DL STATE=NULL) -Detaching TBF from MS object, TLLI = 0xffeeddbb, TBF = TBF(TFI=0 TLLI=0xffeeddbb DIR=UL STATE=NULL) -Detaching TBF from MS object, TLLI = 0xffeeddbb, TBF = TBF(TFI=0 TLLI=0xffeeddbb DIR=DL STATE=NULL) +MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xffeeddbb DIR=UL STATE=NULL) +MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0, UL) Attaching DL TBF: TBF(TFI=0 TLLI=0xffeeddbb DIR=DL STATE=NULL) +MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0, DL) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddbb DIR=UL STATE=NULL) +MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddbb DIR=DL STATE=NULL) MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0,) Release timer expired -Destroying MS object, TLLI = 0xffeeddbb +MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0,) Destroying MS object Creating MS object, TLLI = 0xffeeddbb -Attaching TBF to MS object, TLLI = 0xffeeddbb, TBF = TBF(TFI=0 TLLI=0xffeeddbb DIR=DL STATE=NULL) +MS(TLLI=0xffeeddbb, IMSI=, TA=220, 0/0,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffeeddbb DIR=DL STATE=NULL) Creating MS object, TLLI = 0xdeadbeef Creating MS object, TLLI = 0xdeadbef0 -Attaching TBF to MS object, TLLI = 0xdeadbef0, TBF = TBF(TFI=0 TLLI=0xdeadbef0 DIR=DL STATE=NULL) +MS(TLLI=0xdeadbef0, IMSI=, TA=220, 0/0,) Attaching DL TBF: TBF(TFI=0 TLLI=0xdeadbef0 DIR=DL STATE=NULL) diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index 5185c7d..17068f7 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -16,7 +16,7 @@ PDCH(bts=0,trx=0,ts=2) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) Setting Control TS 2 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 04, dl_slots = 04 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) +MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) The MS object cannot fully confirm an unexpected TLLI: 0x00002342, partly confirmed Modifying MS object, TLLI = 0x00002342, TA 220 -> 4 MS(TLLI=0x00002342, IMSI=, TA=4, 0/0, DL) ********** UL-TBF starts here ********** @@ -33,7 +33,7 @@ PDCH(bts=0,trx=0,ts=2) Attaching TBF(TFI=0 TLLI=0x00002342 DIR=UL STATE=NULL), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0x00002342 DIR=UL STATE=NULL) Setting Control TS 2 TBF(TFI=0 TLLI=0x00002342 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 04, dl_slots = 00 -Attaching TBF to MS object, TLLI = 0x00002342, TBF = TBF(TFI=0 TLLI=0x00002342 DIR=UL STATE=NULL) +MS(TLLI=0x00002342, IMSI=, TA=4, 0/0, DL) Attaching UL TBF: TBF(TFI=0 TLLI=0x00002342 DIR=UL STATE=NULL) Modifying MS object, TLLI: 0xffffffff -> 0x00002342, already confirmed partly The MS object cannot fully confirm an unexpected TLLI: 0x00004232, partly confirmed Modifying MS object, TLLI: 0x00002342 -> 0x00004232, already confirmed partly @@ -57,7 +57,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) +MS(TLLI=0xffffffff, IMSI=, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) changes state from NULL to FLOW @@ -106,7 +106,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=NULL), 2 TBFs, USFs = 00, TFIs = 00000003. TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=NULL) +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 45/0, DL) Attaching DL TBF: TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=NULL) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE) Trigger downlink assignment on PACCH TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=NULL) Send dowlink assignment on PACCH, because TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE) exists TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE) changes DL ASS state from GPRS_RLCMAC_DL_ASS_WAIT_ACK to GPRS_RLCMAC_DL_ASS_SEND_ASS @@ -118,15 +118,15 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING) free TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING), 1 TBFs, USFs = 00, TFIs = 00000002. -Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING) +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 45/0, DL) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING) ********** DL-TBF ends here ********** TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=ASSIGN) changes state from ASSIGN to RELEASING TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=RELEASING) free TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=RELEASING) stopping timer T0 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=RELEASING), 0 TBFs, USFs = 00, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=RELEASING) +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 45/0,) Detaching TBF: TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=RELEASING) ********** DL-TBF ends here ********** -Destroying MS object, TLLI = 0xffeeddcc +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 45/0,) Destroying MS object === end test_tbf_final_ack === === start test_tbf_final_ack === Creating MS object, TLLI = 0xffffffff @@ -146,7 +146,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) +MS(TLLI=0xffffffff, IMSI=, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) changes state from NULL to FLOW @@ -195,7 +195,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=NULL), 2 TBFs, USFs = 00, TFIs = 00000003. TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=NULL) +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 45/0, DL) Attaching DL TBF: TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=NULL) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE) Trigger downlink assignment on PACCH TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=NULL) Send dowlink assignment on PACCH, because TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE) exists TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE) changes DL ASS state from GPRS_RLCMAC_DL_ASS_WAIT_ACK to GPRS_RLCMAC_DL_ASS_SEND_ASS @@ -207,15 +207,15 @@ TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=RELEASING) free TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=RELEASING) stopping timer T0 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=RELEASING), 1 TBFs, USFs = 00, TFIs = 00000001. -Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=RELEASING) +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 45/0,) Detaching TBF: TBF(TFI=1 TLLI=0xffeeddcc DIR=DL STATE=RELEASING) ********** DL-TBF ends here ********** TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE) changes state from WAIT RELEASE to RELEASING TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING) free TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING), 0 TBFs, USFs = 00, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING) +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 45/0,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING) ********** DL-TBF ends here ********** -Destroying MS object, TLLI = 0xffeeddcc +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 45/0,) Destroying MS object === end test_tbf_final_ack === === start test_tbf_delayed_release === Creating MS object, TLLI = 0xffffffff @@ -235,7 +235,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) +MS(TLLI=0xffffffff, IMSI=, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) changes state from NULL to FLOW @@ -469,8 +469,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING) free TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING), 0 TBFs, USFs = 00, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING) -Destroying MS object, TLLI = 0xffeeddcc +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 45/0,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING) +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 45/0,) Destroying MS object ********** DL-TBF ends here ********** === end test_tbf_delayed_release === === start test_tbf_imsi === @@ -491,7 +491,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) +MS(TLLI=0xffffffff, IMSI=, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) changes state from NULL to FLOW @@ -512,7 +512,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=1 TLLI=0xffffffff DIR=DL STATE=NULL), 2 TBFs, USFs = 00, TFIs = 00000003. TBF(TFI=1 TLLI=0xffffffff DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=1 TLLI=0xffffffff DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=1 TLLI=0xffffffff DIR=DL STATE=NULL) +MS(TLLI=0xffffffff, IMSI=, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=1 TLLI=0xffffffff DIR=DL STATE=NULL) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 TBF(TFI=1 TLLI=0xffffffff DIR=DL STATE=NULL) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS TBF(TFI=1 TLLI=0xffffffff DIR=DL STATE=NULL) changes state from NULL to FLOW @@ -525,15 +525,15 @@ TBF(TFI=0 TLLI=0xf1000001 DIR=DL STATE=FLOW) changes state from FLOW to RELEASING TBF(TFI=0 TLLI=0xf1000001 DIR=DL STATE=RELEASING) free PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xf1000001 DIR=DL STATE=RELEASING), 1 TBFs, USFs = 00, TFIs = 00000002. -Detaching TBF from MS object, TLLI = 0xf1000001, TBF = TBF(TFI=0 TLLI=0xf1000001 DIR=DL STATE=RELEASING) +MS(TLLI=0xf1000001, IMSI=001001000000002, TA=0, 45/0,) Detaching TBF: TBF(TFI=0 TLLI=0xf1000001 DIR=DL STATE=RELEASING) ********** DL-TBF ends here ********** -Clearing MS object, TLLI: 0xf1000001, IMSI: '001001000000002' -Destroying MS object, TLLI = 0xffffffff +MS(TLLI=0xf1000001, IMSI=001001000000002, TA=0, 45/0,) Clearing MS object +MS(TLLI=0xffffffff, IMSI=, TA=0, 45/0,) Destroying MS object TBF(TFI=1 TLLI=0xf1000002 DIR=DL STATE=FLOW) changes state from FLOW to RELEASING TBF(TFI=1 TLLI=0xf1000002 DIR=DL STATE=RELEASING) free PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=1 TLLI=0xf1000002 DIR=DL STATE=RELEASING), 0 TBFs, USFs = 00, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xf1000002, TBF = TBF(TFI=1 TLLI=0xf1000002 DIR=DL STATE=RELEASING) -Destroying MS object, TLLI = 0xf1000002 +MS(TLLI=0xf1000002, IMSI=001001000000002, TA=0, 45/0,) Detaching TBF: TBF(TFI=1 TLLI=0xf1000002 DIR=DL STATE=RELEASING) +MS(TLLI=0xf1000002, IMSI=001001000000002, TA=0, 45/0,) Destroying MS object ********** DL-TBF ends here ********** === end test_tbf_imsi === === start test_tbf_exhaustion === @@ -555,7 +555,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=0 TLLI=0xc0000000 DIR=DL STATE=NULL), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xc0000000 DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=0 TLLI=0xc0000000 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc0000000, TBF = TBF(TFI=0 TLLI=0xc0000000 DIR=DL STATE=NULL) +MS(TLLI=0xc0000000, IMSI=001001000000000, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=0 TLLI=0xc0000000 DIR=DL STATE=NULL) TBF(TFI=0 TLLI=0xc0000000 DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=0 TLLI=0xc0000000 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000000) TBF(TFI=0 TLLI=0xc0000000 DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -580,7 +580,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=1 TLLI=0xc0000001 DIR=DL STATE=NULL), 2 TBFs, USFs = 00, TFIs = 00000003. TBF(TFI=1 TLLI=0xc0000001 DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=1 TLLI=0xc0000001 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc0000001, TBF = TBF(TFI=1 TLLI=0xc0000001 DIR=DL STATE=NULL) +MS(TLLI=0xc0000001, IMSI=001001000000001, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=1 TLLI=0xc0000001 DIR=DL STATE=NULL) TBF(TFI=1 TLLI=0xc0000001 DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=1 TLLI=0xc0000001 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000001) TBF(TFI=1 TLLI=0xc0000001 DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -605,7 +605,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=2 TLLI=0xc0000002 DIR=DL STATE=NULL), 3 TBFs, USFs = 00, TFIs = 00000007. TBF(TFI=2 TLLI=0xc0000002 DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=2 TLLI=0xc0000002 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc0000002, TBF = TBF(TFI=2 TLLI=0xc0000002 DIR=DL STATE=NULL) +MS(TLLI=0xc0000002, IMSI=001001000000002, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=2 TLLI=0xc0000002 DIR=DL STATE=NULL) TBF(TFI=2 TLLI=0xc0000002 DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=2 TLLI=0xc0000002 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000002) TBF(TFI=2 TLLI=0xc0000002 DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -630,7 +630,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=3 TLLI=0xc0000003 DIR=DL STATE=NULL), 4 TBFs, USFs = 00, TFIs = 0000000f. TBF(TFI=3 TLLI=0xc0000003 DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=3 TLLI=0xc0000003 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc0000003, TBF = TBF(TFI=3 TLLI=0xc0000003 DIR=DL STATE=NULL) +MS(TLLI=0xc0000003, IMSI=001001000000003, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=3 TLLI=0xc0000003 DIR=DL STATE=NULL) TBF(TFI=3 TLLI=0xc0000003 DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=3 TLLI=0xc0000003 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000003) TBF(TFI=3 TLLI=0xc0000003 DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -655,7 +655,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=4 TLLI=0xc0000004 DIR=DL STATE=NULL), 5 TBFs, USFs = 00, TFIs = 0000001f. TBF(TFI=4 TLLI=0xc0000004 DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=4 TLLI=0xc0000004 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc0000004, TBF = TBF(TFI=4 TLLI=0xc0000004 DIR=DL STATE=NULL) +MS(TLLI=0xc0000004, IMSI=001001000000004, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=4 TLLI=0xc0000004 DIR=DL STATE=NULL) TBF(TFI=4 TLLI=0xc0000004 DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=4 TLLI=0xc0000004 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000004) TBF(TFI=4 TLLI=0xc0000004 DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -680,7 +680,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=5 TLLI=0xc0000005 DIR=DL STATE=NULL), 6 TBFs, USFs = 00, TFIs = 0000003f. TBF(TFI=5 TLLI=0xc0000005 DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=5 TLLI=0xc0000005 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc0000005, TBF = TBF(TFI=5 TLLI=0xc0000005 DIR=DL STATE=NULL) +MS(TLLI=0xc0000005, IMSI=001001000000005, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=5 TLLI=0xc0000005 DIR=DL STATE=NULL) TBF(TFI=5 TLLI=0xc0000005 DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=5 TLLI=0xc0000005 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000005) TBF(TFI=5 TLLI=0xc0000005 DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -705,7 +705,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=6 TLLI=0xc0000006 DIR=DL STATE=NULL), 7 TBFs, USFs = 00, TFIs = 0000007f. TBF(TFI=6 TLLI=0xc0000006 DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=6 TLLI=0xc0000006 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc0000006, TBF = TBF(TFI=6 TLLI=0xc0000006 DIR=DL STATE=NULL) +MS(TLLI=0xc0000006, IMSI=001001000000006, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=6 TLLI=0xc0000006 DIR=DL STATE=NULL) TBF(TFI=6 TLLI=0xc0000006 DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=6 TLLI=0xc0000006 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000006) TBF(TFI=6 TLLI=0xc0000006 DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -730,7 +730,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=7 TLLI=0xc0000007 DIR=DL STATE=NULL), 8 TBFs, USFs = 00, TFIs = 000000ff. TBF(TFI=7 TLLI=0xc0000007 DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=7 TLLI=0xc0000007 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc0000007, TBF = TBF(TFI=7 TLLI=0xc0000007 DIR=DL STATE=NULL) +MS(TLLI=0xc0000007, IMSI=001001000000007, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=7 TLLI=0xc0000007 DIR=DL STATE=NULL) TBF(TFI=7 TLLI=0xc0000007 DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=7 TLLI=0xc0000007 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000007) TBF(TFI=7 TLLI=0xc0000007 DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -755,7 +755,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=8 TLLI=0xc0000008 DIR=DL STATE=NULL), 9 TBFs, USFs = 00, TFIs = 000001ff. TBF(TFI=8 TLLI=0xc0000008 DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=8 TLLI=0xc0000008 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc0000008, TBF = TBF(TFI=8 TLLI=0xc0000008 DIR=DL STATE=NULL) +MS(TLLI=0xc0000008, IMSI=001001000000008, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=8 TLLI=0xc0000008 DIR=DL STATE=NULL) TBF(TFI=8 TLLI=0xc0000008 DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=8 TLLI=0xc0000008 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000008) TBF(TFI=8 TLLI=0xc0000008 DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -780,7 +780,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=9 TLLI=0xc0000009 DIR=DL STATE=NULL), 10 TBFs, USFs = 00, TFIs = 000003ff. TBF(TFI=9 TLLI=0xc0000009 DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=9 TLLI=0xc0000009 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc0000009, TBF = TBF(TFI=9 TLLI=0xc0000009 DIR=DL STATE=NULL) +MS(TLLI=0xc0000009, IMSI=001001000000009, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=9 TLLI=0xc0000009 DIR=DL STATE=NULL) TBF(TFI=9 TLLI=0xc0000009 DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=9 TLLI=0xc0000009 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000009) TBF(TFI=9 TLLI=0xc0000009 DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -805,7 +805,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=10 TLLI=0xc000000a DIR=DL STATE=NULL), 11 TBFs, USFs = 00, TFIs = 000007ff. TBF(TFI=10 TLLI=0xc000000a DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=10 TLLI=0xc000000a DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc000000a, TBF = TBF(TFI=10 TLLI=0xc000000a DIR=DL STATE=NULL) +MS(TLLI=0xc000000a, IMSI=001001000000010, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=10 TLLI=0xc000000a DIR=DL STATE=NULL) TBF(TFI=10 TLLI=0xc000000a DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=10 TLLI=0xc000000a DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000010) TBF(TFI=10 TLLI=0xc000000a DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -830,7 +830,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=11 TLLI=0xc000000b DIR=DL STATE=NULL), 12 TBFs, USFs = 00, TFIs = 00000fff. TBF(TFI=11 TLLI=0xc000000b DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=11 TLLI=0xc000000b DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc000000b, TBF = TBF(TFI=11 TLLI=0xc000000b DIR=DL STATE=NULL) +MS(TLLI=0xc000000b, IMSI=001001000000011, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=11 TLLI=0xc000000b DIR=DL STATE=NULL) TBF(TFI=11 TLLI=0xc000000b DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=11 TLLI=0xc000000b DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000011) TBF(TFI=11 TLLI=0xc000000b DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -855,7 +855,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=12 TLLI=0xc000000c DIR=DL STATE=NULL), 13 TBFs, USFs = 00, TFIs = 00001fff. TBF(TFI=12 TLLI=0xc000000c DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=12 TLLI=0xc000000c DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc000000c, TBF = TBF(TFI=12 TLLI=0xc000000c DIR=DL STATE=NULL) +MS(TLLI=0xc000000c, IMSI=001001000000012, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=12 TLLI=0xc000000c DIR=DL STATE=NULL) TBF(TFI=12 TLLI=0xc000000c DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=12 TLLI=0xc000000c DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000012) TBF(TFI=12 TLLI=0xc000000c DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -880,7 +880,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=13 TLLI=0xc000000d DIR=DL STATE=NULL), 14 TBFs, USFs = 00, TFIs = 00003fff. TBF(TFI=13 TLLI=0xc000000d DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=13 TLLI=0xc000000d DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc000000d, TBF = TBF(TFI=13 TLLI=0xc000000d DIR=DL STATE=NULL) +MS(TLLI=0xc000000d, IMSI=001001000000013, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=13 TLLI=0xc000000d DIR=DL STATE=NULL) TBF(TFI=13 TLLI=0xc000000d DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=13 TLLI=0xc000000d DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000013) TBF(TFI=13 TLLI=0xc000000d DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -905,7 +905,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=14 TLLI=0xc000000e DIR=DL STATE=NULL), 15 TBFs, USFs = 00, TFIs = 00007fff. TBF(TFI=14 TLLI=0xc000000e DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=14 TLLI=0xc000000e DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc000000e, TBF = TBF(TFI=14 TLLI=0xc000000e DIR=DL STATE=NULL) +MS(TLLI=0xc000000e, IMSI=001001000000014, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=14 TLLI=0xc000000e DIR=DL STATE=NULL) TBF(TFI=14 TLLI=0xc000000e DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=14 TLLI=0xc000000e DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000014) TBF(TFI=14 TLLI=0xc000000e DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -930,7 +930,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=15 TLLI=0xc000000f DIR=DL STATE=NULL), 16 TBFs, USFs = 00, TFIs = 0000ffff. TBF(TFI=15 TLLI=0xc000000f DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=15 TLLI=0xc000000f DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc000000f, TBF = TBF(TFI=15 TLLI=0xc000000f DIR=DL STATE=NULL) +MS(TLLI=0xc000000f, IMSI=001001000000015, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=15 TLLI=0xc000000f DIR=DL STATE=NULL) TBF(TFI=15 TLLI=0xc000000f DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=15 TLLI=0xc000000f DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000015) TBF(TFI=15 TLLI=0xc000000f DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -955,7 +955,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=16 TLLI=0xc0000010 DIR=DL STATE=NULL), 17 TBFs, USFs = 00, TFIs = 0001ffff. TBF(TFI=16 TLLI=0xc0000010 DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=16 TLLI=0xc0000010 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc0000010, TBF = TBF(TFI=16 TLLI=0xc0000010 DIR=DL STATE=NULL) +MS(TLLI=0xc0000010, IMSI=001001000000016, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=16 TLLI=0xc0000010 DIR=DL STATE=NULL) TBF(TFI=16 TLLI=0xc0000010 DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=16 TLLI=0xc0000010 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000016) TBF(TFI=16 TLLI=0xc0000010 DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -980,7 +980,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=17 TLLI=0xc0000011 DIR=DL STATE=NULL), 18 TBFs, USFs = 00, TFIs = 0003ffff. TBF(TFI=17 TLLI=0xc0000011 DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=17 TLLI=0xc0000011 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc0000011, TBF = TBF(TFI=17 TLLI=0xc0000011 DIR=DL STATE=NULL) +MS(TLLI=0xc0000011, IMSI=001001000000017, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=17 TLLI=0xc0000011 DIR=DL STATE=NULL) TBF(TFI=17 TLLI=0xc0000011 DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=17 TLLI=0xc0000011 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000017) TBF(TFI=17 TLLI=0xc0000011 DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -1005,7 +1005,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=18 TLLI=0xc0000012 DIR=DL STATE=NULL), 19 TBFs, USFs = 00, TFIs = 0007ffff. TBF(TFI=18 TLLI=0xc0000012 DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=18 TLLI=0xc0000012 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc0000012, TBF = TBF(TFI=18 TLLI=0xc0000012 DIR=DL STATE=NULL) +MS(TLLI=0xc0000012, IMSI=001001000000018, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=18 TLLI=0xc0000012 DIR=DL STATE=NULL) TBF(TFI=18 TLLI=0xc0000012 DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=18 TLLI=0xc0000012 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000018) TBF(TFI=18 TLLI=0xc0000012 DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -1030,7 +1030,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=19 TLLI=0xc0000013 DIR=DL STATE=NULL), 20 TBFs, USFs = 00, TFIs = 000fffff. TBF(TFI=19 TLLI=0xc0000013 DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=19 TLLI=0xc0000013 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc0000013, TBF = TBF(TFI=19 TLLI=0xc0000013 DIR=DL STATE=NULL) +MS(TLLI=0xc0000013, IMSI=001001000000019, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=19 TLLI=0xc0000013 DIR=DL STATE=NULL) TBF(TFI=19 TLLI=0xc0000013 DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=19 TLLI=0xc0000013 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000019) TBF(TFI=19 TLLI=0xc0000013 DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -1055,7 +1055,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=20 TLLI=0xc0000014 DIR=DL STATE=NULL), 21 TBFs, USFs = 00, TFIs = 001fffff. TBF(TFI=20 TLLI=0xc0000014 DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=20 TLLI=0xc0000014 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc0000014, TBF = TBF(TFI=20 TLLI=0xc0000014 DIR=DL STATE=NULL) +MS(TLLI=0xc0000014, IMSI=001001000000020, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=20 TLLI=0xc0000014 DIR=DL STATE=NULL) TBF(TFI=20 TLLI=0xc0000014 DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=20 TLLI=0xc0000014 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000020) TBF(TFI=20 TLLI=0xc0000014 DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -1080,7 +1080,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=21 TLLI=0xc0000015 DIR=DL STATE=NULL), 22 TBFs, USFs = 00, TFIs = 003fffff. TBF(TFI=21 TLLI=0xc0000015 DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=21 TLLI=0xc0000015 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc0000015, TBF = TBF(TFI=21 TLLI=0xc0000015 DIR=DL STATE=NULL) +MS(TLLI=0xc0000015, IMSI=001001000000021, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=21 TLLI=0xc0000015 DIR=DL STATE=NULL) TBF(TFI=21 TLLI=0xc0000015 DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=21 TLLI=0xc0000015 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000021) TBF(TFI=21 TLLI=0xc0000015 DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -1105,7 +1105,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=22 TLLI=0xc0000016 DIR=DL STATE=NULL), 23 TBFs, USFs = 00, TFIs = 007fffff. TBF(TFI=22 TLLI=0xc0000016 DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=22 TLLI=0xc0000016 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc0000016, TBF = TBF(TFI=22 TLLI=0xc0000016 DIR=DL STATE=NULL) +MS(TLLI=0xc0000016, IMSI=001001000000022, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=22 TLLI=0xc0000016 DIR=DL STATE=NULL) TBF(TFI=22 TLLI=0xc0000016 DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=22 TLLI=0xc0000016 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000022) TBF(TFI=22 TLLI=0xc0000016 DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -1130,7 +1130,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=23 TLLI=0xc0000017 DIR=DL STATE=NULL), 24 TBFs, USFs = 00, TFIs = 00ffffff. TBF(TFI=23 TLLI=0xc0000017 DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=23 TLLI=0xc0000017 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc0000017, TBF = TBF(TFI=23 TLLI=0xc0000017 DIR=DL STATE=NULL) +MS(TLLI=0xc0000017, IMSI=001001000000023, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=23 TLLI=0xc0000017 DIR=DL STATE=NULL) TBF(TFI=23 TLLI=0xc0000017 DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=23 TLLI=0xc0000017 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000023) TBF(TFI=23 TLLI=0xc0000017 DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -1155,7 +1155,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=24 TLLI=0xc0000018 DIR=DL STATE=NULL), 25 TBFs, USFs = 00, TFIs = 01ffffff. TBF(TFI=24 TLLI=0xc0000018 DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=24 TLLI=0xc0000018 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc0000018, TBF = TBF(TFI=24 TLLI=0xc0000018 DIR=DL STATE=NULL) +MS(TLLI=0xc0000018, IMSI=001001000000024, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=24 TLLI=0xc0000018 DIR=DL STATE=NULL) TBF(TFI=24 TLLI=0xc0000018 DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=24 TLLI=0xc0000018 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000024) TBF(TFI=24 TLLI=0xc0000018 DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -1180,7 +1180,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=25 TLLI=0xc0000019 DIR=DL STATE=NULL), 26 TBFs, USFs = 00, TFIs = 03ffffff. TBF(TFI=25 TLLI=0xc0000019 DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=25 TLLI=0xc0000019 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc0000019, TBF = TBF(TFI=25 TLLI=0xc0000019 DIR=DL STATE=NULL) +MS(TLLI=0xc0000019, IMSI=001001000000025, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=25 TLLI=0xc0000019 DIR=DL STATE=NULL) TBF(TFI=25 TLLI=0xc0000019 DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=25 TLLI=0xc0000019 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000025) TBF(TFI=25 TLLI=0xc0000019 DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -1205,7 +1205,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=26 TLLI=0xc000001a DIR=DL STATE=NULL), 27 TBFs, USFs = 00, TFIs = 07ffffff. TBF(TFI=26 TLLI=0xc000001a DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=26 TLLI=0xc000001a DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc000001a, TBF = TBF(TFI=26 TLLI=0xc000001a DIR=DL STATE=NULL) +MS(TLLI=0xc000001a, IMSI=001001000000026, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=26 TLLI=0xc000001a DIR=DL STATE=NULL) TBF(TFI=26 TLLI=0xc000001a DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=26 TLLI=0xc000001a DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000026) TBF(TFI=26 TLLI=0xc000001a DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -1230,7 +1230,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=27 TLLI=0xc000001b DIR=DL STATE=NULL), 28 TBFs, USFs = 00, TFIs = 0fffffff. TBF(TFI=27 TLLI=0xc000001b DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=27 TLLI=0xc000001b DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc000001b, TBF = TBF(TFI=27 TLLI=0xc000001b DIR=DL STATE=NULL) +MS(TLLI=0xc000001b, IMSI=001001000000027, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=27 TLLI=0xc000001b DIR=DL STATE=NULL) TBF(TFI=27 TLLI=0xc000001b DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=27 TLLI=0xc000001b DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000027) TBF(TFI=27 TLLI=0xc000001b DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -1255,7 +1255,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=28 TLLI=0xc000001c DIR=DL STATE=NULL), 29 TBFs, USFs = 00, TFIs = 1fffffff. TBF(TFI=28 TLLI=0xc000001c DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=28 TLLI=0xc000001c DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc000001c, TBF = TBF(TFI=28 TLLI=0xc000001c DIR=DL STATE=NULL) +MS(TLLI=0xc000001c, IMSI=001001000000028, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=28 TLLI=0xc000001c DIR=DL STATE=NULL) TBF(TFI=28 TLLI=0xc000001c DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=28 TLLI=0xc000001c DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000028) TBF(TFI=28 TLLI=0xc000001c DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -1280,7 +1280,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=29 TLLI=0xc000001d DIR=DL STATE=NULL), 30 TBFs, USFs = 00, TFIs = 3fffffff. TBF(TFI=29 TLLI=0xc000001d DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=29 TLLI=0xc000001d DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc000001d, TBF = TBF(TFI=29 TLLI=0xc000001d DIR=DL STATE=NULL) +MS(TLLI=0xc000001d, IMSI=001001000000029, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=29 TLLI=0xc000001d DIR=DL STATE=NULL) TBF(TFI=29 TLLI=0xc000001d DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=29 TLLI=0xc000001d DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000029) TBF(TFI=29 TLLI=0xc000001d DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -1305,7 +1305,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=30 TLLI=0xc000001e DIR=DL STATE=NULL), 31 TBFs, USFs = 00, TFIs = 7fffffff. TBF(TFI=30 TLLI=0xc000001e DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=30 TLLI=0xc000001e DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc000001e, TBF = TBF(TFI=30 TLLI=0xc000001e DIR=DL STATE=NULL) +MS(TLLI=0xc000001e, IMSI=001001000000030, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=30 TLLI=0xc000001e DIR=DL STATE=NULL) TBF(TFI=30 TLLI=0xc000001e DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=30 TLLI=0xc000001e DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000030) TBF(TFI=30 TLLI=0xc000001e DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -1330,7 +1330,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=31 TLLI=0xc000001f DIR=DL STATE=NULL), 32 TBFs, USFs = 00, TFIs = ffffffff. TBF(TFI=31 TLLI=0xc000001f DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=31 TLLI=0xc000001f DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc000001f, TBF = TBF(TFI=31 TLLI=0xc000001f DIR=DL STATE=NULL) +MS(TLLI=0xc000001f, IMSI=001001000000031, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=31 TLLI=0xc000001f DIR=DL STATE=NULL) TBF(TFI=31 TLLI=0xc000001f DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=31 TLLI=0xc000001f DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000031) TBF(TFI=31 TLLI=0xc000001f DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -1348,7 +1348,7 @@ TBF(TFI=0 TLLI=0xc0000020 DIR=DL STATE=NULL) Timeslot Allocation failed: trx = -1, single_slot = 1 MS(TLLI=0xc0000020, IMSI=001001000000032, TA=220, 45/0,) No PDCH resource === end test_tbf_exhaustion === -Destroying MS object, TLLI = 0xc0000020 +MS(TLLI=0xc0000020, IMSI=001001000000032, TA=220, 45/0,) Destroying MS object === start test_tbf_dl_llc_loss === Creating MS object, TLLI = 0xffffffff Modifying MS object, TLLI = 0xffffffff, MS class 0 -> 45 @@ -1368,7 +1368,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc0123456, TBF = TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) +MS(TLLI=0xc0123456, IMSI=001001000123456, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000123456) TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -1381,7 +1381,7 @@ TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=RELEASING) unset ass. type CCCH [prev CCCH:1, PACCH:0] TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=RELEASING) free PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=RELEASING), 0 TBFs, USFs = 00, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xc0123456, TBF = TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=RELEASING) +MS(TLLI=0xc0123456, IMSI=001001000123456, TA=0, 45/0,) Detaching TBF: TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=RELEASING) MS(TLLI=0xc0123456, IMSI=001001000123456, TA=0, 45/0,) Schedule MS release in 10 secs ********** DL-TBF ends here ********** MS(TLLI=0xc0123456, IMSI=001001000123456, TA=0, 45/0,) ********** DL-TBF starts here ********** @@ -1398,7 +1398,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc0123456, TBF = TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) +MS(TLLI=0xc0123456, IMSI=001001000123456, TA=0, 45/0,) Attaching DL TBF: TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) MS(TLLI=0xc0123456, IMSI=001001000123456, TA=0, 45/0, DL) Cancel scheduled MS release TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000123456) @@ -1458,7 +1458,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) Setting Control TS 7 TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) +MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] @@ -1502,7 +1502,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Setting Control TS 7 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 80 -Attaching TBF to MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) +MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 0/0, UL) Attaching DL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=0011223344) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -1537,7 +1537,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) Setting Control TS 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 -Attaching TBF to MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) +MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654270 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. @@ -1581,7 +1581,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Setting Control TS 7 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 80 -Attaching TBF to MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) +MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL) Attaching DL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Send dowlink assignment on PACCH, because TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) exists TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS @@ -1617,7 +1617,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) Setting Control TS 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 -Attaching TBF to MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) +MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654270 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. @@ -1660,7 +1660,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Setting Control TS 7 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 80 -Attaching TBF to MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) +MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL) Attaching DL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Send dowlink assignment on PACCH, because TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) exists TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS @@ -1743,7 +1743,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=NULL), 2 TBFs, USFs = 03, TFIs = 00000003. TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=NULL) Setting Control TS 7 TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 -Attaching TBF to MS object, TLLI = 0xf5667788, TBF = TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=NULL) +MS(TLLI=0xf5667788, IMSI=, TA=7, 1/0,) Attaching UL TBF: TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=NULL) TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654335 TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. @@ -1773,9 +1773,9 @@ Old MS: TLLI = 0xf1223344, TA = 7, IMSI = 0011223344, LLC = 0 There is a new MS object for the same MS: (0xf1223344, '0011223344') -> (0xf5667788, '') IMSI 0011223344, old TBF TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED): moving DL TBF to new MS object -Detaching TBF from MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) -Attaching TBF to MS object, TLLI = 0xf5667788, TBF = TBF(TFI=0 TLLI=0xf5667788 DIR=DL STATE=FINISHED) -Clearing MS object, TLLI: 0xf1223344, IMSI: '0011223344' +MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL) Detaching TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) +MS(TLLI=0xf5667788, IMSI=, TA=7, 1/0, UL) Attaching DL TBF: TBF(TFI=0 TLLI=0xf5667788 DIR=DL STATE=FINISHED) +MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL) Clearing MS object Modifying MS object, TLLI: 0xf5667788 confirmed TBF(TFI=0 TLLI=0xf5667788 DIR=DL STATE=FINISHED) appending 4 bytes New MS: TLLI = 0xf5667788, TA = 7, IMSI = 0011223344, LLC = 1 @@ -1807,7 +1807,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) Setting Control TS 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 -Attaching TBF to MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) +MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654270 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. @@ -1852,7 +1852,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Setting Control TS 7 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 80 -Attaching TBF to MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) +MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL) Attaching DL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Send dowlink assignment on PACCH, because TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) exists TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS @@ -1866,7 +1866,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) free TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) stopping timer T3169 [freeing TBF] PDCH(bts=0,trx=0,ts=7) Detaching TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), 0 TBFs, USFs = 00, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, DL) Detaching TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) ********** UL-TBF ends here ********** MS requests Uplink resource on CCCH/RACH: ra=0x73 (8 bit) Fn=2654224 qta=31 MS requests single block allocation @@ -1890,7 +1890,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) Setting Control TS 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 -Attaching TBF to MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) +MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, DL) Attaching UL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654327 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. @@ -1945,7 +1945,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) Setting Control TS 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 -Attaching TBF to MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) +MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654270 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. @@ -1990,7 +1990,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Setting Control TS 7 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 80 -Attaching TBF to MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) +MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL) Attaching DL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Send dowlink assignment on PACCH, because TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) exists TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS @@ -2004,7 +2004,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) free TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) stopping timer T3169 [freeing TBF] PDCH(bts=0,trx=0,ts=7) Detaching TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW), 0 TBFs, USFs = 00, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, DL) Detaching TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) ********** UL-TBF ends here ********** Found first unallocated TRX=0 TFI=0 MS requests Uplink resource on CCCH/RACH: ra=0x03 (8 bit) Fn=2654275 qta=31 @@ -2023,7 +2023,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) Setting Control TS 7 TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) +MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] @@ -2041,11 +2041,11 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=RELEASING) free TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=RELEASING) stopping timer T0 [freeing TBF] PDCH(bts=0,trx=0,ts=7) Detaching TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=RELEASING), 0 TBFs, USFs = 01, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=RELEASING) +MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0,) Detaching TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=RELEASING) ********** DL-TBF ends here ********** Modifying MS object, TLLI = 0xffffffff, MS class 0 -> 1 -Clearing MS object, TLLI: 0xf1223344, IMSI: '0011223344' -Destroying MS object, TLLI = 0xffffffff +MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0,) Clearing MS object +MS(TLLI=0xffffffff, IMSI=, TA=7, 1/0,) Destroying MS object Modifying MS object, UL TLLI: 0xffffffff -> 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 @@ -2087,7 +2087,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) Setting Control TS 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 -Attaching TBF to MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) +MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654270 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. @@ -2132,7 +2132,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Setting Control TS 7 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 80 -Attaching TBF to MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) +MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL) Attaching DL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Send dowlink assignment on PACCH, because TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) exists TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS @@ -2764,7 +2764,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=NULL), 2 TBFs, USFs = 01, TFIs = 00000003. TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=NULL) Setting Control TS 7 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 80 -Attaching TBF to MS object, TLLI = 0xf1223344, TBF = TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=NULL) +MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL DL) Attaching DL TBF: TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=NULL) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) Trigger downlink assignment on PACCH TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=NULL) Send dowlink assignment on PACCH, because TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) exists TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS @@ -2787,7 +2787,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=RELEASING) free TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=RELEASING) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=7) Detaching TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=RELEASING), 1 TBFs, USFs = 01, TFIs = 00000002. -Detaching TBF from MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=RELEASING) +MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL DL) Detaching TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=RELEASING) ********** DL-TBF ends here ********** TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) changes state from ASSIGN to FLOW TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) stopping timer T0 [control acked (DL-TBF)] @@ -3012,7 +3012,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=0 TLLI=0xc0006789 DIR=DL STATE=NULL), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xc0006789 DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=0 TLLI=0xc0006789 DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xc0006789, TBF = TBF(TFI=0 TLLI=0xc0006789 DIR=DL STATE=NULL) +MS(TLLI=0xc0006789, IMSI=001001123456789, TA=220, 45/0,) Attaching DL TBF: TBF(TFI=0 TLLI=0xc0006789 DIR=DL STATE=NULL) TBF(TFI=0 TLLI=0xc0006789 DIR=DL STATE=NULL) [DOWNLINK] START TBF(TFI=0 TLLI=0xc0006789 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001123456789) TBF(TFI=0 TLLI=0xc0006789 DIR=DL STATE=NULL) changes state from NULL to ASSIGN @@ -3047,7 +3047,7 @@ PDCH(bts=0,trx=0,ts=5) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) Setting Control TS 4 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) Allocated: trx = 0, ul_slots = 10, dl_slots = 3c -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) +MS(TLLI=0xffffffff, IMSI=, TA=220, 12/0,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) DL TBF slots: 0x3c, N: 4, WS: 64 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL) changes state from NULL to RELEASING TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=RELEASING) free @@ -3055,8 +3055,8 @@ PDCH(bts=0,trx=0,ts=3) Detaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=RELEASING), 0 TBFs, USFs = 00, TFIs = 00000000. PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=RELEASING), 0 TBFs, USFs = 00, TFIs = 00000000. PDCH(bts=0,trx=0,ts=5) Detaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=RELEASING), 0 TBFs, USFs = 00, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=RELEASING) -Destroying MS object, TLLI = 0xffffffff +MS(TLLI=0xffffffff, IMSI=, TA=220, 12/0,) Detaching TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=RELEASING) +MS(TLLI=0xffffffff, IMSI=, TA=220, 12/0,) Destroying MS object ********** DL-TBF ends here ********** Creating MS object, TLLI = 0xffffffff Modifying MS object, TLLI = 0xffffffff, MS class 0 -> 12 @@ -3086,7 +3086,7 @@ PDCH(bts=0,trx=0,ts=5) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Setting Control TS 4 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 10, dl_slots = 3c -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) +MS(TLLI=0xffffffff, IMSI=, TA=220, 12/12,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 384, base(128) slots(4) ws_pdch(64) ws(384) DL TBF slots: 0x3c, N: 4, WS: 384 @@ -3096,8 +3096,8 @@ PDCH(bts=0,trx=0,ts=3) Detaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=RELEASING EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=RELEASING EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. PDCH(bts=0,trx=0,ts=5) Detaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=RELEASING EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=RELEASING EGPRS) -Destroying MS object, TLLI = 0xffffffff +MS(TLLI=0xffffffff, IMSI=, TA=220, 12/12,) Detaching TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=RELEASING EGPRS) +MS(TLLI=0xffffffff, IMSI=, TA=220, 12/12,) Destroying MS object ********** DL-TBF ends here ********** === end test_tbf_ws === === start test_tbf_egprs_two_phase === @@ -3129,7 +3129,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) Setting Control TS 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 -Attaching TBF to MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) +MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1,) Attaching UL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) changes state from NULL to ASSIGN @@ -3177,7 +3177,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) Setting Control TS 7 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 80, dl_slots = 80 -Attaching TBF to MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) +MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/1, UL) Attaching DL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) [DOWNLINK] START @@ -3217,7 +3217,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) Setting Control TS 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 -Attaching TBF to MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) +MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1,) Attaching UL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) changes state from NULL to ASSIGN @@ -3383,7 +3383,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) Setting Control TS 7 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 80, dl_slots = 80 -Attaching TBF to MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) +MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/1, UL) Attaching DL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) [DOWNLINK] START @@ -3415,7 +3415,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Setting Control TS 4 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) +MS(TLLI=0xffffffff, IMSI=, TA=220, 11/11,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 @@ -3698,8 +3698,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) -Destroying MS object, TLLI = 0xffeeddcc +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object ********** DL-TBF ends here ********** Testing MCS-2 Creating MS object, TLLI = 0xffffffff @@ -3721,7 +3721,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Setting Control TS 4 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) +MS(TLLI=0xffffffff, IMSI=, TA=220, 11/11,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 @@ -3954,8 +3954,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) -Destroying MS object, TLLI = 0xffeeddcc +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object ********** DL-TBF ends here ********** Testing MCS-3 Creating MS object, TLLI = 0xffffffff @@ -3977,7 +3977,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Setting Control TS 4 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) +MS(TLLI=0xffffffff, IMSI=, TA=220, 11/11,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 @@ -4160,8 +4160,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) -Destroying MS object, TLLI = 0xffeeddcc +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object ********** DL-TBF ends here ********** Testing MCS-4 Creating MS object, TLLI = 0xffffffff @@ -4183,7 +4183,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Setting Control TS 4 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) +MS(TLLI=0xffffffff, IMSI=, TA=220, 11/11,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 @@ -4346,8 +4346,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) -Destroying MS object, TLLI = 0xffeeddcc +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object ********** DL-TBF ends here ********** Testing MCS-5 Creating MS object, TLLI = 0xffffffff @@ -4369,7 +4369,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Setting Control TS 4 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) +MS(TLLI=0xffffffff, IMSI=, TA=220, 11/11,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 @@ -4512,8 +4512,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) -Destroying MS object, TLLI = 0xffeeddcc +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object ********** DL-TBF ends here ********** Testing MCS-6 Creating MS object, TLLI = 0xffffffff @@ -4535,7 +4535,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Setting Control TS 4 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) +MS(TLLI=0xffffffff, IMSI=, TA=220, 11/11,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 @@ -4648,8 +4648,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) -Destroying MS object, TLLI = 0xffeeddcc +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object ********** DL-TBF ends here ********** Testing MCS-7 Creating MS object, TLLI = 0xffffffff @@ -4671,7 +4671,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Setting Control TS 4 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) +MS(TLLI=0xffffffff, IMSI=, TA=220, 11/11,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 @@ -4791,8 +4791,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) -Destroying MS object, TLLI = 0xffeeddcc +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object ********** DL-TBF ends here ********** Testing MCS-8 Creating MS object, TLLI = 0xffffffff @@ -4814,7 +4814,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Setting Control TS 4 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) +MS(TLLI=0xffffffff, IMSI=, TA=220, 11/11,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 @@ -4923,8 +4923,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) -Destroying MS object, TLLI = 0xffeeddcc +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object ********** DL-TBF ends here ********** Testing MCS-9 Creating MS object, TLLI = 0xffffffff @@ -4946,7 +4946,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Setting Control TS 4 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) +MS(TLLI=0xffffffff, IMSI=, TA=220, 11/11,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 @@ -5042,8 +5042,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) -Destroying MS object, TLLI = 0xffeeddcc +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object ********** DL-TBF ends here ********** === end test_tbf_egprs_dl === === start test_tbf_egprs_retx_dl === @@ -5067,7 +5067,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Setting Control TS 4 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) +MS(TLLI=0xffffffff, IMSI=, TA=220, 11/11,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 @@ -5099,8 +5099,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) -Destroying MS object, TLLI = 0xffeeddcc +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object ********** DL-TBF ends here ********** Testing retx for MCS 1 - 9 Creating MS object, TLLI = 0xffffffff @@ -5122,7 +5122,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Setting Control TS 4 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) +MS(TLLI=0xffffffff, IMSI=, TA=220, 11/11,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 @@ -5154,8 +5154,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) -Destroying MS object, TLLI = 0xffeeddcc +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object ********** DL-TBF ends here ********** Testing retx for MCS 2 - 8 Creating MS object, TLLI = 0xffffffff @@ -5177,7 +5177,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Setting Control TS 4 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) +MS(TLLI=0xffffffff, IMSI=, TA=220, 11/11,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 @@ -5209,8 +5209,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) -Destroying MS object, TLLI = 0xffeeddcc +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object ********** DL-TBF ends here ********** Testing retx for MCS 5 - 7 Creating MS object, TLLI = 0xffffffff @@ -5232,7 +5232,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Setting Control TS 4 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) +MS(TLLI=0xffffffff, IMSI=, TA=220, 11/11,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 @@ -5280,8 +5280,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) -Destroying MS object, TLLI = 0xffeeddcc +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object ********** DL-TBF ends here ********** Testing retx for MCS 6 - 9 Creating MS object, TLLI = 0xffffffff @@ -5303,7 +5303,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Setting Control TS 4 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) +MS(TLLI=0xffffffff, IMSI=, TA=220, 11/11,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 @@ -5351,8 +5351,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) -Destroying MS object, TLLI = 0xffeeddcc +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object ********** DL-TBF ends here ********** Testing retx for MCS 7 - 5 Creating MS object, TLLI = 0xffffffff @@ -5374,7 +5374,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Setting Control TS 4 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) +MS(TLLI=0xffffffff, IMSI=, TA=220, 11/11,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 @@ -5422,8 +5422,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) -Destroying MS object, TLLI = 0xffeeddcc +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object ********** DL-TBF ends here ********** Testing retx for MCS 9 - 6 Creating MS object, TLLI = 0xffffffff @@ -5445,7 +5445,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Setting Control TS 4 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) +MS(TLLI=0xffffffff, IMSI=, TA=220, 11/11,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 @@ -5493,8 +5493,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) -Destroying MS object, TLLI = 0xffeeddcc +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object ********** DL-TBF ends here ********** === end test_tbf_egprs_retx_dl === === start test_tbf_egprs_spb_dl === @@ -5518,7 +5518,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Setting Control TS 4 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) +MS(TLLI=0xffffffff, IMSI=, TA=220, 11/11,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 @@ -5557,8 +5557,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) -Destroying MS object, TLLI = 0xffeeddcc +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object ********** DL-TBF ends here ********** Testing retx for MCS 5 to reseg_mcs 2 Creating MS object, TLLI = 0xffffffff @@ -5580,7 +5580,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Setting Control TS 4 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) +MS(TLLI=0xffffffff, IMSI=, TA=220, 11/11,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 @@ -5619,8 +5619,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) -Destroying MS object, TLLI = 0xffeeddcc +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object ********** DL-TBF ends here ********** Testing retx for MCS 4 to reseg_mcs 1 Creating MS object, TLLI = 0xffffffff @@ -5642,7 +5642,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Setting Control TS 4 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) +MS(TLLI=0xffffffff, IMSI=, TA=220, 11/11,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 @@ -5681,8 +5681,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) -Destroying MS object, TLLI = 0xffeeddcc +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object ********** DL-TBF ends here ********** Testing retx for MCS 6 to reseg_mcs 3 Creating MS object, TLLI = 0xffffffff @@ -5704,7 +5704,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Setting Control TS 4 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) +MS(TLLI=0xffffffff, IMSI=, TA=220, 11/11,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 @@ -5750,8 +5750,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) -Destroying MS object, TLLI = 0xffeeddcc +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object ********** DL-TBF ends here ********** === end test_tbf_egprs_spb_dl === === start test_tbf_puan_urbb_len === @@ -5783,7 +5783,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) Setting Control TS 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 -Attaching TBF to MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) +MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1,) Attaching UL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) changes state from NULL to ASSIGN @@ -5848,7 +5848,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) Setting Control TS 7 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 80, dl_slots = 80 -Attaching TBF to MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) +MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/1, UL) Attaching DL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) [DOWNLINK] START @@ -5882,7 +5882,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Setting Control TS 4 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) +MS(TLLI=0xffffffff, IMSI=, TA=220, 11/11,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 192, base(128) slots(1) ws_pdch(64) ws(192) DL TBF slots: 0x10, N: 1, WS: 192 @@ -5909,8 +5909,8 @@ PDCH(bts=0,trx=0,ts=3) Detaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=RELEASING EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=RELEASING EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. PDCH(bts=0,trx=0,ts=5) Detaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=RELEASING EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=RELEASING EGPRS) -Destroying MS object, TLLI = 0xffffffff +MS(TLLI=0xffffffff, IMSI=, TA=220, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=RELEASING EGPRS) +MS(TLLI=0xffffffff, IMSI=, TA=220, 11/11,) Destroying MS object ********** DL-TBF ends here ********** === end test_tbf_update_ws === === start test_tbf_li_decoding === @@ -5942,7 +5942,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) Setting Control TS 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 -Attaching TBF to MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) +MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1,) Attaching UL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) changes state from NULL to ASSIGN @@ -6002,7 +6002,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) Setting Control TS 7 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 80, dl_slots = 80 -Attaching TBF to MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) +MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/1, UL) Attaching DL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) [DOWNLINK] START @@ -6033,7 +6033,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Setting Control TS 4 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) +MS(TLLI=0xffffffff, IMSI=, TA=220, 11/11,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 @@ -6048,8 +6048,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to RELEASING TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS), 0 TBFs, USFs = 00, TFIs = 00000000. -Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) -Destroying MS object, TLLI = 0xffeeddcc +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) +MS(TLLI=0xffeeddcc, IMSI=, TA=0, 11/11,) Destroying MS object ********** DL-TBF ends here ********** === end test_tbf_epdan_out_of_rx_window === === start test_immediate_assign_rej_multi_block === @@ -6069,7 +6069,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) Setting Control TS 7 TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) +MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] @@ -6091,7 +6091,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=1 TLLI=0xffffffff DIR=UL STATE=NULL), 2 TBFs, USFs = 03, TFIs = 00000003. TBF(TFI=1 TLLI=0xffffffff DIR=UL STATE=NULL) Setting Control TS 7 TBF(TFI=1 TLLI=0xffffffff DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=1 TLLI=0xffffffff DIR=UL STATE=NULL) +MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=1 TLLI=0xffffffff DIR=UL STATE=NULL) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 TBF(TFI=1 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=1 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] @@ -6113,7 +6113,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=2 TLLI=0xffffffff DIR=UL STATE=NULL), 3 TBFs, USFs = 07, TFIs = 00000007. TBF(TFI=2 TLLI=0xffffffff DIR=UL STATE=NULL) Setting Control TS 7 TBF(TFI=2 TLLI=0xffffffff DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=2 TLLI=0xffffffff DIR=UL STATE=NULL) +MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=2 TLLI=0xffffffff DIR=UL STATE=NULL) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 TBF(TFI=2 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=2 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] @@ -6135,7 +6135,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=3 TLLI=0xffffffff DIR=UL STATE=NULL), 4 TBFs, USFs = 0f, TFIs = 0000000f. TBF(TFI=3 TLLI=0xffffffff DIR=UL STATE=NULL) Setting Control TS 7 TBF(TFI=3 TLLI=0xffffffff DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=3 TLLI=0xffffffff DIR=UL STATE=NULL) +MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=3 TLLI=0xffffffff DIR=UL STATE=NULL) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 TBF(TFI=3 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=3 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] @@ -6157,7 +6157,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=4 TLLI=0xffffffff DIR=UL STATE=NULL), 5 TBFs, USFs = 1f, TFIs = 0000001f. TBF(TFI=4 TLLI=0xffffffff DIR=UL STATE=NULL) Setting Control TS 7 TBF(TFI=4 TLLI=0xffffffff DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=4 TLLI=0xffffffff DIR=UL STATE=NULL) +MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=4 TLLI=0xffffffff DIR=UL STATE=NULL) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 TBF(TFI=4 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=4 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] @@ -6179,7 +6179,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=5 TLLI=0xffffffff DIR=UL STATE=NULL), 6 TBFs, USFs = 3f, TFIs = 0000003f. TBF(TFI=5 TLLI=0xffffffff DIR=UL STATE=NULL) Setting Control TS 7 TBF(TFI=5 TLLI=0xffffffff DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=5 TLLI=0xffffffff DIR=UL STATE=NULL) +MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=5 TLLI=0xffffffff DIR=UL STATE=NULL) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 TBF(TFI=5 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=5 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] @@ -6201,7 +6201,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=6 TLLI=0xffffffff DIR=UL STATE=NULL), 7 TBFs, USFs = 7f, TFIs = 0000007f. TBF(TFI=6 TLLI=0xffffffff DIR=UL STATE=NULL) Setting Control TS 7 TBF(TFI=6 TLLI=0xffffffff DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=6 TLLI=0xffffffff DIR=UL STATE=NULL) +MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=6 TLLI=0xffffffff DIR=UL STATE=NULL) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 TBF(TFI=6 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=6 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] @@ -6224,7 +6224,7 @@ TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) Timeslot Allocation failed: trx = -1, single_slot = 1 No PDCH resource for Uplink TBF Tx Immediate Assignment Reject on AGCH -Destroying MS object, TLLI = 0xffffffff +MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Destroying MS object === end test_immediate_assign_rej_multi_block === === start test_immediate_assign_rej_single_block === MS requests Uplink resource on CCCH/RACH: ra=0x70 (8 bit) Fn=2654167 qta=31 @@ -6262,7 +6262,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) Setting Control TS 7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 -Attaching TBF to MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) +MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1,) Attaching UL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) setting EGPRS UL window size to 192, base(128) slots(1) ws_pdch(64) ws(192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=NULL EGPRS) changes state from NULL to ASSIGN @@ -6799,7 +6799,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) Setting Control TS 7 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 80, dl_slots = 80 -Attaching TBF to MS object, TLLI = 0xf1223344, TBF = TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) +MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/1, UL) Attaching DL TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 192, base(128) slots(1) ws_pdch(64) ws(192) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) [DOWNLINK] START @@ -7473,7 +7473,7 @@ PDCH(bts=0,trx=0,ts=4) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS), 1 TBFs, USFs = 00, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Setting Control TS 4 TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) Allocated: trx = 0, ul_slots = 10, dl_slots = 10 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) +MS(TLLI=0xffffffff, IMSI=, TA=220, 11/11,) Attaching DL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) setting EGPRS DL window size to 64, base(64) slots(1) ws_pdch(0) ws(64) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 0 @@ -7500,7 +7500,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL), 1 TBFs, USFs = 01, TFIs = 00000001. TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) Setting Control TS 7 TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) +MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] @@ -7522,7 +7522,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=1 TLLI=0xffffffff DIR=UL STATE=NULL), 2 TBFs, USFs = 03, TFIs = 00000003. TBF(TFI=1 TLLI=0xffffffff DIR=UL STATE=NULL) Setting Control TS 7 TBF(TFI=1 TLLI=0xffffffff DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=1 TLLI=0xffffffff DIR=UL STATE=NULL) +MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=1 TLLI=0xffffffff DIR=UL STATE=NULL) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 TBF(TFI=1 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=1 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] @@ -7544,7 +7544,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=2 TLLI=0xffffffff DIR=UL STATE=NULL), 3 TBFs, USFs = 07, TFIs = 00000007. TBF(TFI=2 TLLI=0xffffffff DIR=UL STATE=NULL) Setting Control TS 7 TBF(TFI=2 TLLI=0xffffffff DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=2 TLLI=0xffffffff DIR=UL STATE=NULL) +MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=2 TLLI=0xffffffff DIR=UL STATE=NULL) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 TBF(TFI=2 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=2 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] @@ -7566,7 +7566,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=3 TLLI=0xffffffff DIR=UL STATE=NULL), 4 TBFs, USFs = 0f, TFIs = 0000000f. TBF(TFI=3 TLLI=0xffffffff DIR=UL STATE=NULL) Setting Control TS 7 TBF(TFI=3 TLLI=0xffffffff DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=3 TLLI=0xffffffff DIR=UL STATE=NULL) +MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=3 TLLI=0xffffffff DIR=UL STATE=NULL) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 TBF(TFI=3 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=3 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] @@ -7588,7 +7588,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=4 TLLI=0xffffffff DIR=UL STATE=NULL), 5 TBFs, USFs = 1f, TFIs = 0000001f. TBF(TFI=4 TLLI=0xffffffff DIR=UL STATE=NULL) Setting Control TS 7 TBF(TFI=4 TLLI=0xffffffff DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=4 TLLI=0xffffffff DIR=UL STATE=NULL) +MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=4 TLLI=0xffffffff DIR=UL STATE=NULL) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 TBF(TFI=4 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=4 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] @@ -7610,7 +7610,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=5 TLLI=0xffffffff DIR=UL STATE=NULL), 6 TBFs, USFs = 3f, TFIs = 0000003f. TBF(TFI=5 TLLI=0xffffffff DIR=UL STATE=NULL) Setting Control TS 7 TBF(TFI=5 TLLI=0xffffffff DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=5 TLLI=0xffffffff DIR=UL STATE=NULL) +MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=5 TLLI=0xffffffff DIR=UL STATE=NULL) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 TBF(TFI=5 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=5 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] @@ -7632,7 +7632,7 @@ PDCH(bts=0,trx=0,ts=7) Attaching TBF(TFI=6 TLLI=0xffffffff DIR=UL STATE=NULL), 7 TBFs, USFs = 7f, TFIs = 0000007f. TBF(TFI=6 TLLI=0xffffffff DIR=UL STATE=NULL) Setting Control TS 7 TBF(TFI=6 TLLI=0xffffffff DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 -Attaching TBF to MS object, TLLI = 0xffffffff, TBF = TBF(TFI=6 TLLI=0xffffffff DIR=UL STATE=NULL) +MS(TLLI=0xffffffff, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=6 TLLI=0xffffffff DIR=UL STATE=NULL) Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 TBF(TFI=6 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=6 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] @@ -7662,7 +7662,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=NULL EGPRS) Timeslot Allocation failed: trx = 0, single_slot = 0 MS(TLLI=0xffeeddcc, IMSI=, TA=220, 11/11,) No PDCH resource TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=NULL) changes state from NULL to ASSIGN -Attaching TBF to MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) +MS(TLLI=0xffeeddcc, IMSI=, TA=220, 11/11,) Attaching UL TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS_REJ Received RTS for PDCH: TRX=0 TS=7 FN=2654218 block_nr=8 scheduling USF=0 for required uplink resource of UL TFI=0 TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) starting timer T0 [reject (PACCH)] with 0 sec. 2000 microsec, cur_fn=2654270 @@ -7672,7 +7672,7 @@ Creating MS object, TLLI = 0xffffffff Modifying MS object, UL TLLI: 0xffffffff -> 0xffeeddcc, not yet confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=NULL) changes state from NULL to ASSIGN -Attaching TBF to MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) +MS(TLLI=0xffeeddcc, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS_REJ TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) starting timer T0 [reject (PACCH)] with 0 sec. 2000 microsec, cur_fn=2654167 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) (TRX=0, TS=7) @@ -7680,7 +7680,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) releasing due to PACCH assignment timeout. TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) free TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) stopping timer T0 [freeing TBF] -Detaching TBF from MS object, TLLI = 0xffeeddcc, TBF = TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) -Destroying MS object, TLLI = 0xffeeddcc +MS(TLLI=0xffeeddcc, IMSI=, TA=220, 0/0,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) +MS(TLLI=0xffeeddcc, IMSI=, TA=220, 0/0,) Destroying MS object ********** UL-TBF ends here ********** === end test_packet_access_rej_prr_no_other_tbfs === -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23217 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: If7f471f4932c2347cd857cd59f761a36d9e735d1 Gerrit-Change-Number: 23217 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 Thu Mar 4 09:10:28 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 4 Mar 2021 09:10:28 +0000 Subject: Change in osmo-pcu[master]: sched: sched_select_ctrl_msg(): Clean up param list and improve logging In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23218 ) Change subject: sched: sched_select_ctrl_msg(): Clean up param list and improve logging ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23218 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ic3ec7547cae2ddd0f9c33b82e15ec83cd941e6c8 Gerrit-Change-Number: 23218 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 04 Mar 2021 09:10:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 4 09:10:49 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 4 Mar 2021 09:10:49 +0000 Subject: Change in osmo-pcu[master]: sched: sched_select_downlink(): Clean up param list and improve logging In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23219 ) Change subject: sched: sched_select_downlink(): Clean up param list and improve logging ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23219 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I1b154d82c4a3e09f7fe7ef771de2abca0160cc7b Gerrit-Change-Number: 23219 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 04 Mar 2021 09:10: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 Mar 4 09:10:52 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 4 Mar 2021 09:10:52 +0000 Subject: Change in osmo-pcu[master]: sched: sched_select_ctrl_msg(): Clean up param list and improve logging In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23218 ) Change subject: sched: sched_select_ctrl_msg(): Clean up param list and improve logging ...................................................................... sched: sched_select_ctrl_msg(): Clean up param list and improve logging Passing TRX and TS is redundant since the info is contained in pdch object. Change-Id: Ic3ec7547cae2ddd0f9c33b82e15ec83cd941e6c8 --- M src/gprs_rlcmac_sched.cpp M tests/tbf/TbfTest.err 2 files changed, 41 insertions(+), 42 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp index eaea406..c3e44dc 100644 --- a/src/gprs_rlcmac_sched.cpp +++ b/src/gprs_rlcmac_sched.cpp @@ -164,10 +164,8 @@ return msg; } -static struct msgb *sched_select_ctrl_msg( - uint8_t trx, uint8_t ts, uint32_t fn, - uint8_t block_nr, struct gprs_rlcmac_pdch *pdch, - struct tbf_sched_candidates *tbfs) +static struct msgb *sched_select_ctrl_msg(struct gprs_rlcmac_pdch *pdch, uint32_t fn, + uint8_t block_nr, struct tbf_sched_candidates *tbfs) { struct msgb *msg = NULL; struct gprs_rlcmac_tbf *tbf = NULL; @@ -175,6 +173,7 @@ tbfs->dl_ass, tbfs->ul_ack, tbfs->nacc }; + uint8_t ts = pdch->ts_no; /* Send Packet Application Information first (ETWS primary notifications) */ msg = sched_app_info(tbfs->dl_ass); @@ -234,15 +233,15 @@ /* any message */ if (msg) { if (!tbf) { - LOGP(DRLCMACSCHED, LOGL_ERROR, - "Control message to be scheduled, but no TBF (TRX=%d, TS=%d)\n", trx, ts); + LOGPDCH(pdch, DRLCMACSCHED, LOGL_ERROR, "FN=%" PRIu32 + " Control message to be scheduled, but no TBF\n", fn); msgb_free(msg); return NULL; } tbf->rotate_in_list(); - LOGP(DRLCMACSCHED, LOGL_DEBUG, "Scheduling control " - "message at RTS for %s (TRX=%d, TS=%d)\n", - tbf_name(tbf), trx, ts); + LOGPDCH(pdch, DRLCMACSCHED, LOGL_DEBUG, "FN=%" PRIu32 + " Scheduling control message at RTS for %s\n", + fn, tbf_name(tbf)); rate_ctr_inc(&tbf->ms()->ctrs->ctr[MS_CTR_DL_CTRL_MSG_SCHED]); return msg; } @@ -250,8 +249,8 @@ /* schedule PACKET PAGING REQUEST, if any are pending */ msg = pdch->packet_paging_request(); if (msg) { - LOGP(DRLCMACSCHED, LOGL_DEBUG, "Scheduling paging request " - "message at RTS for (TRX=%d, TS=%d)\n", trx, ts); + LOGPDCH(pdch, DRLCMACSCHED, LOGL_DEBUG, "FN=%" PRIu32 + " Scheduling paging request message at RTS\n", fn); return msg; } @@ -505,7 +504,7 @@ } /* Prio 1: select control message */ - if ((msg = sched_select_ctrl_msg(trx, ts, fn, block_nr, pdch, &tbf_cand))) { + if ((msg = sched_select_ctrl_msg(pdch, fn, block_nr, &tbf_cand))) { gsmtap_cat = PCU_GSMTAP_C_DL_CTRL; } /* Prio 2: select data message for downlink */ diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index 17068f7..a5fd3d7 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -69,7 +69,7 @@ +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) -Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) (TRX=0, TS=4) +PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new block at BSN 0, CS=CS-1 @@ -158,7 +158,7 @@ +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) -Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) (TRX=0, TS=4) +PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new block at BSN 0, CS=CS-1 @@ -247,7 +247,7 @@ +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) -Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) (TRX=0, TS=4) +PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new block at BSN 0, CS=CS-1 @@ -1546,7 +1546,7 @@ +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) Scheduled UL Assignment polling on PACCH (FN=2654283, TS=7) -Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) (TRX=0, TS=7) +PDCH(bts=0,trx=0,ts=7) FN=2654270 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) RX: [PCU <- BTS] Packet Control Ack @@ -1626,7 +1626,7 @@ +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) Scheduled UL Assignment polling on PACCH (FN=2654283, TS=7) -Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) (TRX=0, TS=7) +PDCH(bts=0,trx=0,ts=7) FN=2654270 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) RX: [PCU <- BTS] Packet Control Ack @@ -1674,7 +1674,7 @@ +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Scheduled DL Assignment polling on PACCH (FN=2654288, TS=7) -Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) (TRX=0, TS=7) +PDCH(bts=0,trx=0,ts=7) FN=2654275 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) RX: [PCU <- BTS] Packet Control Ack @@ -1753,7 +1753,7 @@ +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) Scheduled UL Assignment polling on PACCH (FN=2654348, TS=7) -Scheduling control message at RTS for TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) (TRX=0, TS=7) +PDCH(bts=0,trx=0,ts=7) FN=2654335 Scheduling control message at RTS for TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) RX: [PCU <- BTS] Packet Control Ack @@ -1817,7 +1817,7 @@ +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) Scheduled UL Assignment polling on PACCH (FN=2654283, TS=7) -Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) (TRX=0, TS=7) +PDCH(bts=0,trx=0,ts=7) FN=2654270 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) RX: [PCU <- BTS] Packet Control Ack @@ -1899,7 +1899,7 @@ +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) Scheduled UL Assignment polling on PACCH (FN=2654340, TS=7) -Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) (TRX=0, TS=7) +PDCH(bts=0,trx=0,ts=7) FN=2654327 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) RX: [PCU <- BTS] Packet Control Ack @@ -1955,7 +1955,7 @@ +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) Scheduled UL Assignment polling on PACCH (FN=2654283, TS=7) -Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) (TRX=0, TS=7) +PDCH(bts=0,trx=0,ts=7) FN=2654270 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) RX: [PCU <- BTS] Packet Control Ack @@ -2097,7 +2097,7 @@ +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) Scheduled UL Assignment polling on PACCH (FN=2654283, TS=7) -Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) (TRX=0, TS=7) +PDCH(bts=0,trx=0,ts=7) FN=2654270 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) RX: [PCU <- BTS] Packet Control Ack @@ -2185,7 +2185,7 @@ +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Scheduled DL Assignment polling on PACCH (FN=2654288, TS=7) -Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) (TRX=0, TS=7) +PDCH(bts=0,trx=0,ts=7) FN=2654275 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) RX: [PCU <- BTS] Packet Control Ack @@ -2776,7 +2776,7 @@ +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) Scheduled DL Assignment polling on PACCH (FN=2654413, TS=7) -Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) (TRX=0, TS=7) +PDCH(bts=0,trx=0,ts=7) FN=2654400 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) RX: [PCU <- BTS] Packet Control Ack @@ -3141,7 +3141,7 @@ +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) Scheduled UL Assignment polling on PACCH (FN=2654283, TS=7) -Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) (TRX=0, TS=7) +PDCH(bts=0,trx=0,ts=7) FN=2654270 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) RX: [PCU <- BTS] Packet Control Ack @@ -3229,7 +3229,7 @@ +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) Scheduled UL Assignment polling on PACCH (FN=2654283, TS=7) -Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) (TRX=0, TS=7) +PDCH(bts=0,trx=0,ts=7) FN=2654270 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) RX: [PCU <- BTS] Packet Control Ack @@ -3428,7 +3428,7 @@ +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) -Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) (TRX=0, TS=4) +PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 0, CS=MCS-1 @@ -3734,7 +3734,7 @@ +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) -Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) (TRX=0, TS=4) +PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 0, CS=MCS-2 @@ -3990,7 +3990,7 @@ +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) -Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) (TRX=0, TS=4) +PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 0, CS=MCS-3 @@ -4196,7 +4196,7 @@ +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) -Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) (TRX=0, TS=4) +PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 0, CS=MCS-4 @@ -4382,7 +4382,7 @@ +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) -Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) (TRX=0, TS=4) +PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 0, CS=MCS-5 @@ -4548,7 +4548,7 @@ +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) -Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) (TRX=0, TS=4) +PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 0, CS=MCS-6 @@ -4684,7 +4684,7 @@ +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) -Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) (TRX=0, TS=4) +PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 0, CS=MCS-7 @@ -4827,7 +4827,7 @@ +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) -Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) (TRX=0, TS=4) +PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 0, CS=MCS-8 @@ -4959,7 +4959,7 @@ +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) -Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) (TRX=0, TS=4) +PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 0, CS=MCS-9 @@ -5795,7 +5795,7 @@ +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) Scheduled UL Assignment polling on PACCH (FN=2654283, TS=7) -Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) (TRX=0, TS=7) +PDCH(bts=0,trx=0,ts=7) FN=2654270 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) RX: [PCU <- BTS] Packet Control Ack @@ -5954,7 +5954,7 @@ +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) Scheduled UL Assignment polling on PACCH (FN=2654283, TS=7) -Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) (TRX=0, TS=7) +PDCH(bts=0,trx=0,ts=7) FN=2654270 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) RX: [PCU <- BTS] Packet Control Ack @@ -6274,7 +6274,7 @@ +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) Scheduled UL Assignment polling on PACCH (FN=2654283, TS=7) -Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) (TRX=0, TS=7) +PDCH(bts=0,trx=0,ts=7) FN=2654270 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) RX: [PCU <- BTS] Packet Control Ack @@ -6949,7 +6949,7 @@ +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduled DL Assignment polling on PACCH (FN=2654292, TS=7) -Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) (TRX=0, TS=7) +PDCH(bts=0,trx=0,ts=7) FN=2654279 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got 'TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS)', TA=7 Got MS: TLLI = 0xf1223344, TA = 7 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) appending 256 bytes @@ -7666,7 +7666,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS_REJ Received RTS for PDCH: TRX=0 TS=7 FN=2654218 block_nr=8 scheduling USF=0 for required uplink resource of UL TFI=0 TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) starting timer T0 [reject (PACCH)] with 0 sec. 2000 microsec, cur_fn=2654270 -Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) (TRX=0, TS=7) +PDCH(bts=0,trx=0,ts=7) FN=2654218 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) === end test_packet_access_rej_prr === === start test_packet_access_rej_prr_no_other_tbfs === Creating MS object, TLLI = 0xffffffff @@ -7675,7 +7675,7 @@ MS(TLLI=0xffeeddcc, IMSI=, TA=220, 0/0,) Attaching UL TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS_REJ TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) starting timer T0 [reject (PACCH)] with 0 sec. 2000 microsec, cur_fn=2654167 -Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) (TRX=0, TS=7) +PDCH(bts=0,trx=0,ts=7) FN=2654218 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) timer 0 expired. cur_fn=2654167 TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) releasing due to PACCH assignment timeout. TBF(TFI=0 TLLI=0xffeeddcc DIR=UL STATE=ASSIGN) free -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23218 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ic3ec7547cae2ddd0f9c33b82e15ec83cd941e6c8 Gerrit-Change-Number: 23218 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 4 09:10:53 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 4 Mar 2021 09:10:53 +0000 Subject: Change in osmo-pcu[master]: sched: sched_select_downlink(): Clean up param list and improve logging In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23219 ) Change subject: sched: sched_select_downlink(): Clean up param list and improve logging ...................................................................... sched: sched_select_downlink(): Clean up param list and improve logging Passing TRX and TS is redundant since the info is contained in pdch object. Change-Id: I1b154d82c4a3e09f7fe7ef771de2abca0160cc7b --- M src/gprs_rlcmac_sched.cpp M tests/tbf/TbfTest.err 2 files changed, 188 insertions(+), 187 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp index c3e44dc..51deb65 100644 --- a/src/gprs_rlcmac_sched.cpp +++ b/src/gprs_rlcmac_sched.cpp @@ -309,13 +309,13 @@ } } -static struct msgb *sched_select_downlink(struct gprs_rlcmac_bts *bts, - uint8_t trx, uint8_t ts, uint32_t fn, - uint8_t block_nr, struct gprs_rlcmac_pdch *pdch, enum mcs_kind req_mcs_kind, bool *is_egprs) +static struct msgb *sched_select_downlink(struct gprs_rlcmac_bts *bts, struct gprs_rlcmac_pdch *pdch, uint32_t fn, + uint8_t block_nr, enum mcs_kind req_mcs_kind, bool *is_egprs) { struct msgb *msg = NULL; struct gprs_rlcmac_dl_tbf *tbf, *prio_tbf = NULL; enum tbf_dl_prio prio, max_prio = DL_PRIO_NONE; + uint8_t ts = pdch->ts_no; uint8_t i, tfi, prio_tfi; int age; @@ -354,8 +354,9 @@ * below instead of skipping. However, downgrade can only be * done on new data BSNs (not yet sent) and control blocks. */ if (req_mcs_kind == EGPRS_GMSK && !can_produce_gmsk_data_block_next(tbf, prio)) { - LOGP(DRLCMACSCHED, LOGL_DEBUG, "%s Cannot downgrade EGPRS TBF with prio %d\n", - tbf_name(tbf), prio); + LOGPDCH(pdch, DRLCMACSCHED, LOGL_DEBUG, "FN=%" PRIu32 + " Cannot downgrade EGPRS TBF with prio %d for %s\n", + fn, prio, tbf_name(tbf)); continue; } @@ -368,9 +369,9 @@ } if (prio_tbf) { - LOGP(DRLCMACSCHED, LOGL_DEBUG, "Scheduling data message at " - "RTS for DL TFI=%d (TRX=%d, TS=%d) prio=%d mcs_mode_restrict=%s\n", - prio_tfi, trx, ts, max_prio, mode_name(req_mcs_kind)); + LOGPDCH(pdch, DRLCMACSCHED, LOGL_DEBUG, "FN=%" PRIu32 + " Scheduling data message at RTS for DL TFI=%d prio=%d mcs_mode_restrict=%s\n", + fn, prio_tfi, max_prio, mode_name(req_mcs_kind)); /* next TBF to handle resource is the next one */ pdch->next_dl_tfi = (prio_tfi + 1) & 31; /* generate DL data block */ @@ -508,7 +509,7 @@ gsmtap_cat = PCU_GSMTAP_C_DL_CTRL; } /* Prio 2: select data message for downlink */ - else if((msg = sched_select_downlink(bts, trx, ts, fn, block_nr, pdch, req_mcs_kind, &tx_is_egprs))) { + else if((msg = sched_select_downlink(bts, pdch, fn, block_nr, req_mcs_kind, &tx_is_egprs))) { gsmtap_cat = tx_is_egprs ? PCU_GSMTAP_C_DL_DATA_EGPRS : PCU_GSMTAP_C_DL_DATA_GPRS; } diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index a5fd3d7..685f9d0 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -70,7 +70,7 @@ ------------------------- TX : Packet Downlink Assignment ------------------------- TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=4 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new block at BSN 0, CS=CS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Dequeue next LLC (len=200) @@ -80,7 +80,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) msg block (BSN 0, CS-1): 07 00 01 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new block at BSN 1, CS=CS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) data block (BSN 1, CS-1): 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 @@ -159,7 +159,7 @@ ------------------------- TX : Packet Downlink Assignment ------------------------- TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=4 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new block at BSN 0, CS=CS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Dequeue next LLC (len=200) @@ -169,7 +169,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) msg block (BSN 0, CS-1): 07 00 01 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new block at BSN 1, CS=CS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) data block (BSN 1, CS-1): 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 @@ -248,7 +248,7 @@ ------------------------- TX : Packet Downlink Assignment ------------------------- TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=4 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new block at BSN 0, CS=CS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Dequeue next LLC (len=200) @@ -258,7 +258,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) msg block (BSN 0, CS-1): 07 00 01 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 12 13 Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new block at BSN 1, CS=CS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) data block (BSN 1, CS-1): 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 @@ -266,7 +266,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying data unit 0 (BSN 1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) msg block (BSN 1, CS-1): 07 00 03 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new block at BSN 2, CS=CS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) data block (BSN 2, CS-1): 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36 37 38 39 3a 3b @@ -274,7 +274,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying data unit 0 (BSN 2) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) msg block (BSN 2, CS-1): 07 00 05 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36 37 38 39 3a 3b -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=17 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==3) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new block at BSN 3, CS=CS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) data block (BSN 3, CS-1): 3c 3d 3e 3f 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f @@ -282,7 +282,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying data unit 0 (BSN 3) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) msg block (BSN 3, CS-1): 07 00 07 3c 3d 3e 3f 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=21 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==4) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new block at BSN 4, CS=CS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) data block (BSN 4, CS-1): 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f 60 61 62 63 @@ -290,7 +290,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying data unit 0 (BSN 4) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) msg block (BSN 4, CS-1): 07 00 09 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f 60 61 62 63 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=26 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==5) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new block at BSN 5, CS=CS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) data block (BSN 5, CS-1): 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 @@ -298,7 +298,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying data unit 0 (BSN 5) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) msg block (BSN 5, CS-1): 07 00 0b 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=30 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==6) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new block at BSN 6, CS=CS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) data block (BSN 6, CS-1): 78 79 7a 7b 7c 7d 7e 7f 80 81 82 83 84 85 86 87 88 89 8a 8b @@ -306,7 +306,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying data unit 0 (BSN 6) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) msg block (BSN 6, CS-1): 07 00 0d 78 79 7a 7b 7c 7d 7e 7f 80 81 82 83 84 85 86 87 88 89 8a 8b -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=34 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==7) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new block at BSN 7, CS=CS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) data block (BSN 7, CS-1): 8c 8d 8e 8f 90 91 92 93 94 95 96 97 98 99 9a 9b 9c 9d 9e 9f @@ -314,7 +314,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying data unit 0 (BSN 7) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) msg block (BSN 7, CS-1): 07 00 0f 8c 8d 8e 8f 90 91 92 93 94 95 96 97 98 99 9a 9b 9c 9d 9e 9f -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=39 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==8) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new block at BSN 8, CS=CS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) data block (BSN 8, CS-1): a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac ad ae af b0 b1 b2 b3 @@ -322,7 +322,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying data unit 0 (BSN 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) msg block (BSN 8, CS-1): 07 00 11 a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac ad ae af b0 b1 b2 b3 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=43 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==9) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new block at BSN 9, CS=CS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) data block (BSN 9, CS-1): 01 b4 b5 b6 b7 b8 b9 ba bb bc bd be bf c0 c1 c2 c3 c4 c5 c6 @@ -330,7 +330,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying data unit 0 (BSN 9) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) msg block (BSN 9, CS-1): 07 00 12 01 b4 b5 b6 b7 b8 b9 ba bb bc bd be bf c0 c1 c2 c3 c4 c5 c6 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=47 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==10) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new block at BSN 10, CS=CS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Complete DL frame, len=200 @@ -340,7 +340,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying data unit 0 (BSN 10) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) msg block (BSN 10, CS-1): 07 00 14 07 c7 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=52 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==11) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new block at BSN 11, CS=CS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) data block (BSN 11, CS-1): 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 @@ -348,7 +348,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying data unit 0 (BSN 11) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) msg block (BSN 11, CS-1): 07 00 17 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=56 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==12) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new block at BSN 12, CS=CS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) data block (BSN 12, CS-1): 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36 37 38 39 @@ -356,7 +356,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying data unit 0 (BSN 12) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) msg block (BSN 12, CS-1): 07 00 19 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36 37 38 39 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=60 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==13) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new block at BSN 13, CS=CS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) data block (BSN 13, CS-1): 3a 3b 3c 3d 3e 3f 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d @@ -364,7 +364,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying data unit 0 (BSN 13) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) msg block (BSN 13, CS-1): 07 00 1b 3a 3b 3c 3d 3e 3f 40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=65 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==14) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new block at BSN 14, CS=CS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) data block (BSN 14, CS-1): 4e 4f 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f 60 61 @@ -372,7 +372,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying data unit 0 (BSN 14) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) msg block (BSN 14, CS-1): 07 00 1d 4e 4f 50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f 60 61 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=69 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==15) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new block at BSN 15, CS=CS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) data block (BSN 15, CS-1): 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 @@ -380,7 +380,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying data unit 0 (BSN 15) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) msg block (BSN 15, CS-1): 07 00 1f 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=73 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==16) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new block at BSN 16, CS=CS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) data block (BSN 16, CS-1): 76 77 78 79 7a 7b 7c 7d 7e 7f 80 81 82 83 84 85 86 87 88 89 @@ -388,7 +388,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying data unit 0 (BSN 16) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) msg block (BSN 16, CS-1): 07 00 21 76 77 78 79 7a 7b 7c 7d 7e 7f 80 81 82 83 84 85 86 87 88 89 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=78 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==17) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new block at BSN 17, CS=CS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) data block (BSN 17, CS-1): 8a 8b 8c 8d 8e 8f 90 91 92 93 94 95 96 97 98 99 9a 9b 9c 9d @@ -396,7 +396,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying data unit 0 (BSN 17) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) msg block (BSN 17, CS-1): 07 00 23 8a 8b 8c 8d 8e 8f 90 91 92 93 94 95 96 97 98 99 9a 9b 9c 9d -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=82 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==18) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new block at BSN 18, CS=CS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) data block (BSN 18, CS-1): 9e 9f a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac ad ae af b0 b1 @@ -404,7 +404,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying data unit 0 (BSN 18) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) msg block (BSN 18, CS-1): 07 00 25 9e 9f a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac ad ae af b0 b1 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=86 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==19) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new block at BSN 19, CS=CS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) data block (BSN 19, CS-1): b2 b3 b4 b5 b6 b7 b8 b9 ba bb bc bd be bf c0 c1 c2 c3 c4 c5 @@ -412,7 +412,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying data unit 0 (BSN 19) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) msg block (BSN 19, CS-1): 07 00 27 b2 b3 b4 b5 b6 b7 b8 b9 ba bb bc bd be bf c0 c1 c2 c3 c4 c5 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=91 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==20) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new block at BSN 20, CS=CS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Complete DL frame, len=200 @@ -429,7 +429,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) ack: (BSN=85)"RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR"(BSN=20) R=ACK I=NACK TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) DL analysis, range=0:21, lost=0, recv=21, skipped=0, bsn=0, info='RRRRRRRRRRRRRRRRRRRRR...........................................' TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) V(B): (V(A)=21)""(V(S)-1=20) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=95 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==21 .. V(S)==21) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new dummy block at BSN 21, CS=CS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Empty chunk, added LLC dummy command of size 19, drained_since=4 @@ -446,7 +446,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) ack: (BSN=86)"RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR"(BSN=21) R=ACK I=NACK TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) DL analysis, range=21:22, lost=0, recv=1, skipped=0, bsn=21, info='R...............................................................' TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) V(B): (V(A)=22)""(V(S)-1=21) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=203 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==22 .. V(S)==22) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new dummy block at BSN 22, CS=CS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Empty chunk, added LLC dummy command of size 19, drained_since=112 @@ -1691,7 +1691,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654279 block_nr=10 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654279 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 0, CS=CS-4 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Dequeue next LLC (len=10) @@ -1707,7 +1707,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Scheduled Ack/Nack polling on FN=2654292, TS=7 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) msg block (BSN 0, CS-4): 0f 01 00 29 52 41 55 5f 41 43 43 45 50 54 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 00 Received RTS for PDCH: TRX=0 TS=7 FN=2654283 block_nr=11 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=7) prio=1 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654283 Scheduling data message at RTS for DL TFI=0 prio=1 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Restarting at BSN 0, because all blocks have been transmitted. TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Resending BSN 0 @@ -2202,7 +2202,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654279 block_nr=10 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654279 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 0, CS=CS-1 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Dequeue next LLC (len=13) @@ -2221,7 +2221,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654283 block_nr=11 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654283 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 1, CS=CS-1 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=13 @@ -2239,7 +2239,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654288 block_nr=0 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654288 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 2, CS=CS-1 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=13 @@ -2259,7 +2259,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654292 block_nr=1 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654292 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==3) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 3, CS=CS-1 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=13 @@ -2277,7 +2277,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654296 block_nr=2 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654296 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==4) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 4, CS=CS-1 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=13 @@ -2297,7 +2297,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654301 block_nr=3 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654301 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==5) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 5, CS=CS-1 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=13 @@ -2315,7 +2315,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654305 block_nr=4 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654305 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==6) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 6, CS=CS-1 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=13 @@ -2335,7 +2335,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654309 block_nr=5 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654309 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==7) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 7, CS=CS-1 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=13 @@ -2353,7 +2353,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654314 block_nr=6 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654314 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==8) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 8, CS=CS-1 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=13 @@ -2371,7 +2371,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654318 block_nr=7 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654318 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==9) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 9, CS=CS-1 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=13 @@ -2391,7 +2391,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654322 block_nr=8 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654322 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==10) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 10, CS=CS-1 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=13 @@ -2409,7 +2409,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654327 block_nr=9 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654327 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==11) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 11, CS=CS-1 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=13 @@ -2429,7 +2429,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654331 block_nr=10 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654331 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==12) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 12, CS=CS-1 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=13 @@ -2447,7 +2447,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654335 block_nr=11 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654335 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==13) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 13, CS=CS-1 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=13 @@ -2467,7 +2467,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654340 block_nr=0 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654340 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==14) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 14, CS=CS-1 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=13 @@ -2485,7 +2485,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654344 block_nr=1 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654344 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==15) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 15, CS=CS-1 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=13 @@ -2503,7 +2503,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654348 block_nr=2 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654348 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==16) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 16, CS=CS-1 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=13 @@ -2523,7 +2523,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654353 block_nr=3 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654353 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==17) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 17, CS=CS-1 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=13 @@ -2541,7 +2541,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654357 block_nr=4 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654357 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==18) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 18, CS=CS-1 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=13 @@ -2561,7 +2561,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654361 block_nr=5 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654361 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==19) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 19, CS=CS-1 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=13 @@ -2579,7 +2579,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654366 block_nr=6 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=7) prio=5 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654366 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==20) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 20, CS=CS-1 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=13 @@ -2602,7 +2602,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654370 block_nr=7 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654370 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==21) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 21, CS=CS-1 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=13 @@ -2620,7 +2620,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654374 block_nr=8 scheduling free USF for polling at FN=2654379 of TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=7) FN=2654374 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==22) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 22, CS=CS-1 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=13 @@ -2638,7 +2638,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654379 block_nr=9 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654379 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==23) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 23, CS=CS-1 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=13 @@ -2658,7 +2658,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654383 block_nr=10 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654383 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==24) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 24, CS=CS-1 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=13 @@ -2676,7 +2676,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654387 block_nr=11 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654387 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==25) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 25, CS=CS-1 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=13 @@ -2696,7 +2696,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654392 block_nr=0 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654392 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==26) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 26, CS=CS-1 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=13 @@ -2714,7 +2714,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654396 block_nr=1 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654396 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==27) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 27, CS=CS-1 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=13 @@ -2799,7 +2799,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654405 block_nr=3 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=1 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654405 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 0, CS=CS-1 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Dequeue next LLC (len=21) @@ -2816,7 +2816,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654409 block_nr=4 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=1 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654409 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 1, CS=CS-1 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=21 @@ -2834,7 +2834,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654413 block_nr=5 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=1 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654413 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 2, CS=CS-1 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=21 @@ -2852,7 +2852,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654418 block_nr=6 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=1 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654418 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==3) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 3, CS=CS-1 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=21 @@ -2870,7 +2870,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654422 block_nr=7 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=1 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654422 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==4) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 4, CS=CS-1 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=21 @@ -2888,7 +2888,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654426 block_nr=8 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=1 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654426 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==5) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 5, CS=CS-1 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=21 @@ -2906,7 +2906,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654431 block_nr=9 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=1 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654431 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==6) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 6, CS=CS-1 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=21 @@ -2924,7 +2924,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654435 block_nr=10 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=1 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654435 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==7) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 7, CS=CS-1 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=21 @@ -2942,7 +2942,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654439 block_nr=11 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=1 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654439 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==8) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 8, CS=CS-1 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=21 @@ -2960,7 +2960,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654444 block_nr=0 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=1 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654444 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==9) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 9, CS=CS-1 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=21 @@ -2978,7 +2978,7 @@ Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 Received RTS for PDCH: TRX=0 TS=7 FN=2654448 block_nr=1 scheduling USF=0 for required uplink resource of UL TFI=0 -Scheduling data message at RTS for DL TFI=1 (TRX=0, TS=7) prio=3 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654448 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==10) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 10, CS=CS-1 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=21 @@ -3429,7 +3429,7 @@ ------------------------- TX : Packet Downlink Assignment ------------------------- TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=4 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 0, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=10) @@ -3445,7 +3445,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-1): 07 00 00 16 28 fe 03 02 02 02 02 02 02 02 02 02 56 56 56 56 56 56 56 56 56 56 00 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 512 bytes Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 1, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=512) @@ -3456,7 +3456,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 1, MCS-1): 07 40 00 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 2, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 2, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3466,7 +3466,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 2, MCS-1): 07 80 00 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=17 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==3) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 3, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 3, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3476,7 +3476,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 3, MCS-1): 07 c0 00 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=21 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==4) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 4, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 4, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3486,7 +3486,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 4, MCS-1): 07 00 01 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=26 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==5) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 5, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 5, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3496,7 +3496,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 5, MCS-1): 07 40 01 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=30 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==6) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 6, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 6, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3506,7 +3506,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 6, MCS-1): 07 80 01 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=34 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==7) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 7, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 7, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3516,7 +3516,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 7, MCS-1): 07 c0 01 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=39 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==8) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 8, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 8, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3526,7 +3526,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 8, MCS-1): 07 00 02 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=43 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==9) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 9, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 9, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3536,7 +3536,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 9, MCS-1): 07 40 02 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=47 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==10) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 10, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 10, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3546,7 +3546,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 10, MCS-1): 07 80 02 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=52 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==11) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 11, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 11, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3556,7 +3556,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 11, MCS-1): 07 c0 02 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=56 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==12) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 12, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 12, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3566,7 +3566,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 12, MCS-1): 07 00 03 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=60 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==13) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 13, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 13, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3576,7 +3576,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 13, MCS-1): 07 40 03 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=65 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==14) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 14, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 14, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3586,7 +3586,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 14, MCS-1): 07 80 03 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=69 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==15) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 15, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 15, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3596,7 +3596,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 15, MCS-1): 07 c0 03 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=73 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==16) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 16, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 16, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3606,7 +3606,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 16, MCS-1): 07 00 04 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=78 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==17) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 17, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 17, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3616,7 +3616,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 17, MCS-1): 07 40 04 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=82 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==18) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 18, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 18, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3626,7 +3626,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 18, MCS-1): 07 80 04 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=86 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==19) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 19, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 19, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3636,7 +3636,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 19, MCS-1): 07 c0 04 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=91 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==20) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 20, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 20, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3646,7 +3646,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 20, MCS-1): 07 00 05 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=95 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==21) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 21, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 21, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3656,7 +3656,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 21, MCS-1): 07 40 05 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=99 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==22) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 22, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 22, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3666,7 +3666,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 22, MCS-1): 07 80 05 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=104 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==23) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 23, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 23, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3676,7 +3676,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 23, MCS-1): 07 c0 05 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=108 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==24) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 24, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=512 @@ -3735,7 +3735,7 @@ ------------------------- TX : Packet Downlink Assignment ------------------------- TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=4 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 0, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=10) @@ -3751,7 +3751,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-2): 07 00 00 12 28 fe 03 02 02 02 02 02 02 02 02 02 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 00 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 512 bytes Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 1, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=512) @@ -3762,7 +3762,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 1, MCS-2): 07 40 00 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 2, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 2, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3772,7 +3772,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 2, MCS-2): 07 80 00 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=17 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==3) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 3, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 3, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3782,7 +3782,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 3, MCS-2): 07 c0 00 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=21 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==4) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 4, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 4, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3792,7 +3792,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 4, MCS-2): 07 00 01 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=26 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==5) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 5, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 5, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3802,7 +3802,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 5, MCS-2): 07 40 01 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=30 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==6) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 6, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 6, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3812,7 +3812,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 6, MCS-2): 07 80 01 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=34 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==7) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 7, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 7, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3822,7 +3822,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 7, MCS-2): 07 c0 01 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=39 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==8) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 8, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 8, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3832,7 +3832,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 8, MCS-2): 07 00 02 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=43 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==9) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 9, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 9, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3842,7 +3842,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 9, MCS-2): 07 40 02 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=47 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==10) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 10, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 10, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3852,7 +3852,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 10, MCS-2): 07 80 02 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=52 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==11) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 11, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 11, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3862,7 +3862,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 11, MCS-2): 07 c0 02 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=56 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==12) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 12, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 12, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3872,7 +3872,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 12, MCS-2): 07 00 03 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=60 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==13) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 13, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 13, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3882,7 +3882,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 13, MCS-2): 07 40 03 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=65 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==14) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 14, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 14, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3892,7 +3892,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 14, MCS-2): 07 80 03 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=69 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==15) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 15, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 15, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3902,7 +3902,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 15, MCS-2): 07 c0 03 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=73 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==16) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 16, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 16, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3912,7 +3912,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 16, MCS-2): 07 00 04 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=78 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==17) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 17, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 17, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3922,7 +3922,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 17, MCS-2): 07 40 04 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=82 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==18) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 18, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 18, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3932,7 +3932,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 18, MCS-2): 07 80 04 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=86 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==19) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 19, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=512 @@ -3991,7 +3991,7 @@ ------------------------- TX : Packet Downlink Assignment ------------------------- TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=4 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 0, CS=MCS-3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=10) @@ -4007,7 +4007,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-3): 07 00 00 06 28 fe 03 02 02 02 02 02 02 02 02 02 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 00 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 512 bytes Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 1, CS=MCS-3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=512) @@ -4018,7 +4018,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 1, MCS-3): 07 40 00 86 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 2, CS=MCS-3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 2, MCS-3): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4028,7 +4028,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 2, MCS-3): 07 80 00 86 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=17 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==3) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 3, CS=MCS-3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 3, MCS-3): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4038,7 +4038,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 3, MCS-3): 07 c0 00 86 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=21 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==4) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 4, CS=MCS-3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 4, MCS-3): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4048,7 +4048,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 4, MCS-3): 07 00 01 86 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=26 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==5) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 5, CS=MCS-3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 5, MCS-3): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4058,7 +4058,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 5, MCS-3): 07 40 01 86 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=30 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==6) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 6, CS=MCS-3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 6, MCS-3): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4068,7 +4068,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 6, MCS-3): 07 80 01 86 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=34 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==7) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 7, CS=MCS-3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 7, MCS-3): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4078,7 +4078,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 7, MCS-3): 07 c0 01 86 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=39 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==8) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 8, CS=MCS-3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 8, MCS-3): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4088,7 +4088,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 8, MCS-3): 07 00 02 86 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=43 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==9) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 9, CS=MCS-3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 9, MCS-3): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4098,7 +4098,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 9, MCS-3): 07 40 02 86 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=47 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==10) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 10, CS=MCS-3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 10, MCS-3): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4108,7 +4108,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 10, MCS-3): 07 80 02 86 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=52 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==11) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 11, CS=MCS-3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 11, MCS-3): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4118,7 +4118,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 11, MCS-3): 07 c0 02 86 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=56 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==12) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 12, CS=MCS-3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 12, MCS-3): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4128,7 +4128,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 12, MCS-3): 07 00 03 86 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=60 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==13) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 13, CS=MCS-3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 13, MCS-3): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4138,7 +4138,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 13, MCS-3): 07 40 03 86 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=65 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==14) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 14, CS=MCS-3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=512 @@ -4197,7 +4197,7 @@ ------------------------- TX : Packet Downlink Assignment ------------------------- TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=4 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 0, CS=MCS-4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=10) @@ -4213,7 +4213,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-4): 07 00 00 00 28 fe 03 02 02 02 02 02 02 02 02 02 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 00 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 512 bytes Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 1, CS=MCS-4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=512) @@ -4224,7 +4224,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 1, MCS-4): 07 40 00 80 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 2, CS=MCS-4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 2, MCS-4): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4234,7 +4234,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 2, MCS-4): 07 80 00 80 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=17 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==3) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 3, CS=MCS-4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 3, MCS-4): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4244,7 +4244,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 3, MCS-4): 07 c0 00 80 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=21 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==4) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 4, CS=MCS-4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 4, MCS-4): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4254,7 +4254,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 4, MCS-4): 07 00 01 80 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=26 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==5) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 5, CS=MCS-4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 5, MCS-4): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4264,7 +4264,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 5, MCS-4): 07 40 01 80 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=30 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==6) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 6, CS=MCS-4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 6, MCS-4): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4274,7 +4274,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 6, MCS-4): 07 80 01 80 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=34 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==7) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 7, CS=MCS-4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 7, MCS-4): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4284,7 +4284,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 7, MCS-4): 07 c0 01 80 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=39 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==8) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 8, CS=MCS-4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 8, MCS-4): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4294,7 +4294,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 8, MCS-4): 07 00 02 80 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=43 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==9) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 9, CS=MCS-4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 9, MCS-4): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4304,7 +4304,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 9, MCS-4): 07 40 02 80 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=47 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==10) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 10, CS=MCS-4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 10, MCS-4): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4314,7 +4314,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 10, MCS-4): 07 80 02 80 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=52 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==11) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 11, CS=MCS-4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 11, MCS-4): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4324,7 +4324,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 11, MCS-4): 07 c0 02 80 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=56 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==12) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 12, CS=MCS-4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=512 @@ -4383,7 +4383,7 @@ ------------------------- TX : Packet Downlink Assignment ------------------------- TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=4 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 0, CS=MCS-5 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=10) @@ -4399,7 +4399,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-5): 07 00 00 08 c5 7f 40 40 40 40 40 40 40 40 40 c0 ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca 0a TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 512 bytes Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 1, CS=MCS-5 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=512) @@ -4410,7 +4410,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 1, MCS-5): 07 40 00 58 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 2, CS=MCS-5 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 2, MCS-5): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4420,7 +4420,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 2, MCS-5): 07 80 00 58 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=17 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==3) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 3, CS=MCS-5 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 3, MCS-5): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4430,7 +4430,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 3, MCS-5): 07 c0 00 58 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=21 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==4) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 4, CS=MCS-5 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 4, MCS-5): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4440,7 +4440,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 4, MCS-5): 07 00 01 58 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=26 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==5) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 5, CS=MCS-5 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 5, MCS-5): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4450,7 +4450,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 5, MCS-5): 07 40 01 58 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=30 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==6) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 6, CS=MCS-5 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 6, MCS-5): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4460,7 +4460,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 6, MCS-5): 07 80 01 58 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=34 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==7) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 7, CS=MCS-5 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 7, MCS-5): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4470,7 +4470,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 7, MCS-5): 07 c0 01 58 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=39 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==8) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 8, CS=MCS-5 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 8, MCS-5): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4480,7 +4480,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 8, MCS-5): 07 00 02 58 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=43 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==9) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 9, CS=MCS-5 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 9, MCS-5): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4490,7 +4490,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 9, MCS-5): 07 40 02 58 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=47 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==10) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 10, CS=MCS-5 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=512 @@ -4549,7 +4549,7 @@ ------------------------- TX : Packet Downlink Assignment ------------------------- TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=4 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 0, CS=MCS-6 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=10) @@ -4565,7 +4565,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-6): 07 00 00 00 c5 7f 40 40 40 40 40 40 40 40 40 c0 ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca 0a TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 512 bytes Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 1, CS=MCS-6 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=512) @@ -4576,7 +4576,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 1, MCS-6): 07 40 00 50 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 2, CS=MCS-6 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 2, MCS-6): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4586,7 +4586,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 2, MCS-6): 07 80 00 50 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=17 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==3) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 3, CS=MCS-6 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 3, MCS-6): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4596,7 +4596,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 3, MCS-6): 07 c0 00 50 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=21 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==4) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 4, CS=MCS-6 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 4, MCS-6): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4606,7 +4606,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 4, MCS-6): 07 00 01 50 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=26 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==5) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 5, CS=MCS-6 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 5, MCS-6): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4616,7 +4616,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 5, MCS-6): 07 40 01 50 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=30 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==6) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 6, CS=MCS-6 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 6, MCS-6): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4626,7 +4626,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 6, MCS-6): 07 80 01 50 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=34 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==7) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 7, CS=MCS-6 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=512 @@ -4685,7 +4685,7 @@ ------------------------- TX : Packet Downlink Assignment ------------------------- TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=4 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 0, CS=MCS-7 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=10) @@ -4702,7 +4702,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-5): 07 00 00 08 c5 7f 40 40 40 40 40 40 40 40 40 c0 ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca 0a TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 512 bytes Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-7) last_mcs(MCS-5) demanded_mcs(MCS-7) cs_trans(MCS-7) arq_type(1) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 @@ -4716,7 +4716,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-7): 07 00 00 02 b8 50 fc 07 04 04 04 04 04 04 04 04 04 ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac 14 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 2, CS=MCS-7 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 2, MCS-7): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4729,7 +4729,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 2, MCS-7): 07 80 00 02 a0 05 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 14 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=17 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==4) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 4, CS=MCS-7 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 4, MCS-7): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4742,7 +4742,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 4, MCS-7): 07 00 01 02 a0 05 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 14 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=21 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==6) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 6, CS=MCS-7 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 6, MCS-7): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4755,7 +4755,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 6, MCS-7): 07 80 01 02 a0 05 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 14 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=26 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==8) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 8, CS=MCS-7 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 8, MCS-7): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4768,7 +4768,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 8, MCS-7): 07 00 02 02 a0 05 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 14 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=30 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==10) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 10, CS=MCS-7 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=512 @@ -4828,7 +4828,7 @@ ------------------------- TX : Packet Downlink Assignment ------------------------- TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=4 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 0, CS=MCS-8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=10) @@ -4846,7 +4846,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-8): 07 00 00 00 60 50 fc 07 04 04 04 04 04 04 04 04 04 ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac 40 f1 1f 10 10 10 10 10 10 10 10 10 b0 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 02 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 512 bytes Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-8) last_mcs(MCS-8) demanded_mcs(MCS-8) cs_trans(MCS-8) arq_type(1) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 @@ -4860,7 +4860,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-8): 07 00 00 02 88 50 fc 07 04 04 04 04 04 04 04 04 04 ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac 14 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 2, CS=MCS-8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 2, MCS-8): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4873,7 +4873,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 2, MCS-8): 07 80 00 02 58 05 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 14 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=17 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==4) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 4, CS=MCS-8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 4, MCS-8): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4886,7 +4886,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 4, MCS-8): 07 00 01 02 58 05 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 14 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=21 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==6) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 6, CS=MCS-8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 6, MCS-8): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4899,7 +4899,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 6, MCS-8): 07 80 01 02 58 05 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 14 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=26 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==8) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 8, CS=MCS-8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=512 @@ -4960,7 +4960,7 @@ ------------------------- TX : Packet Downlink Assignment ------------------------- TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Assignment polling on UNKNOWN (FN=13, TS=4) PDCH(bts=0,trx=0,ts=4) FN=0 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=4 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 0, CS=MCS-9 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=10) @@ -4977,7 +4977,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-6): 07 00 00 00 c5 7f 40 40 40 40 40 40 40 40 40 c0 ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca 0a TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 512 bytes Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-9) last_mcs(MCS-6) demanded_mcs(MCS-9) cs_trans(MCS-9) arq_type(1) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 @@ -4991,7 +4991,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-9): 07 00 00 02 20 50 fc 07 04 04 04 04 04 04 04 04 04 ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac 14 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 2, CS=MCS-9 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 2, MCS-9): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -5004,7 +5004,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 2, MCS-9): 07 80 00 02 00 05 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 14 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=17 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==4) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 4, CS=MCS-9 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 4, MCS-9): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -5017,7 +5017,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 4, MCS-9): 07 00 01 02 00 05 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 14 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 00 -Scheduling data message at RTS for DL TFI=0 (TRX=0, TS=4) prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=21 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==6) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 6, CS=MCS-9 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 6, MCS-9): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23219 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I1b154d82c4a3e09f7fe7ef771de2abca0160cc7b Gerrit-Change-Number: 23219 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 4 09:11:08 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 4 Mar 2021 09:11:08 +0000 Subject: Change in osmo-pcu[master]: TODO-RELEASE: document requirement of master libosmocore In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23220 ) Change subject: TODO-RELEASE: document requirement of master libosmocore ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23220 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I3d579bd253363efc3cf183a922d6affca1a499e0 Gerrit-Change-Number: 23220 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 04 Mar 2021 09:11: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 Mar 4 09:12:00 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 4 Mar 2021 09:12:00 +0000 Subject: Change in pysim[master]: transport/pcsc: work around Python 3.5 bug: guard disconnect() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17283 ) Change subject: transport/pcsc: work around Python 3.5 bug: guard disconnect() ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17283 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I9c644bc5fe9791b141a30bfc13647d77937a82ee Gerrit-Change-Number: 17283 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 04 Mar 2021 09: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 Mar 4 09:12:28 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 4 Mar 2021 09:12:28 +0000 Subject: Change in pysim[master]: Python2 is deprecated, switch to Python3 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/15504 ) Change subject: Python2 is deprecated, switch to Python3 ...................................................................... Patch Set 20: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15504 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I430d173535e0cd5bb895b9dfc9070cbc40cfc8ff Gerrit-Change-Number: 15504 Gerrit-PatchSet: 20 Gerrit-Owner: gnutoo Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 04 Mar 2021 09:12:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 4 09:59:01 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 4 Mar 2021 09:59:01 +0000 Subject: Change in docker-playground[master]: osmo-ggsn-latest: add more kernel build depends References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/23226 ) Change subject: osmo-ggsn-latest: add more kernel build depends ...................................................................... osmo-ggsn-latest: add more kernel build depends Add everything needed to run ttcn3-ggsn-test-kernel-* jobs. osmo-ggsn-master needs less dependencies, as more get installed in the base image debian-stretch-build. Related: OS#3208 Change-Id: Iaef87c3418b8e6f1e427b2abd9d40e9e28dc63e9 --- M osmo-ggsn-latest/Dockerfile 1 file changed, 7 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/26/23226/1 diff --git a/osmo-ggsn-latest/Dockerfile b/osmo-ggsn-latest/Dockerfile index 90b12b9..7729bfc 100644 --- a/osmo-ggsn-latest/Dockerfile +++ b/osmo-ggsn-latest/Dockerfile @@ -24,11 +24,18 @@ apt-get update && \ apt-get install -y --no-install-recommends \ bc \ + bison \ bridge-utils \ busybox-static \ ca-certificates \ + flex \ + gcc \ + git \ + libc6-dev \ libelf-dev \ + libssl-dev \ linux-image-amd64 \ + make \ osmo-ggsn \ pax-utils \ qemu-system-x86 \ -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23226 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Iaef87c3418b8e6f1e427b2abd9d40e9e28dc63e9 Gerrit-Change-Number: 23226 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 4 10:00:38 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 4 Mar 2021 10:00:38 +0000 Subject: Change in docker-playground[master]: osmo-ggsn-latest: add more kernel build depends In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23226 ) Change subject: osmo-ggsn-latest: add more kernel build depends ...................................................................... Patch Set 1: Verified-1 I'd like to merge this myself after review (test if works as expected is still running) -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23226 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Iaef87c3418b8e6f1e427b2abd9d40e9e28dc63e9 Gerrit-Change-Number: 23226 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 04 Mar 2021 10:00: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 Mar 4 10:01:41 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 4 Mar 2021 10:01:41 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3: add new ggsn-test-kernel-latest jobs References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/23227 ) Change subject: jobs/ttcn3: add new ggsn-test-kernel-latest jobs ...................................................................... jobs/ttcn3: add new ggsn-test-kernel-latest jobs Add new nightly jobs, as requested in OS#3208: - ttcn3-ggsn-test-kernel-latest-torvalds - ttcn3-ggsn-test-kernel-latest-net-next Note that they are in ttcn3-testsuites.yml and not testsuites-kernel-git.yml, because the KERNEL_URL etc. parameters are not configurable. These new jobs are supposed to run every night with the same hardcoded git repositories, the other job from testsuites-kernel-git.yml is for manual runs with a freely configurable kernel URL. Depends: docker-playground Iaef87c3418b8e6f1e427b2abd9d40e9e28dc63e9 Related: OS#3208 Change-Id: I6918b953b64b0d81805fd02b1a8469a8db20f938 --- M jobs/ttcn3-testsuites.yml 1 file changed, 36 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/27/23227/1 diff --git a/jobs/ttcn3-testsuites.yml b/jobs/ttcn3-testsuites.yml index 53f18c2..e0ec179 100644 --- a/jobs/ttcn3-testsuites.yml +++ b/jobs/ttcn3-testsuites.yml @@ -40,6 +40,24 @@ timer: 20 04 * * * description: | Test osmo-ggsn latest with the Debian kernel. + - ttcn3-ggsn-test-kernel-latest-net-next: + blocking: "^(ttcn3|TTCN3-.*)-ggsn-test.*" + timer: 25 04 * * * + # Cache the linux source tree in the workspace of one node + node: ttcn3-ggsn-test-kernel-git + description: | + Test osmo-ggsn latest with the Linux kernel built from master of + + net-next.git. + - ttcn3-ggsn-test-kernel-latest-torvalds: + blocking: "^(ttcn3|TTCN3-.*)-ggsn-test.*" + timer: 30 04 * * * + # Cache the linux source tree in the workspace of one node + node: ttcn3-ggsn-test-kernel-git + description: | + Test osmo-ggsn latest with the Linux kernel built from master of + + torvalds/linux.git. - ttcn3-msc-test: blocking: "^(ttcn3|TTCN3-.*)-msc-test.*" timer: 40 04 * * * @@ -248,6 +266,24 @@ export IMAGE_SUFFIX="latest" export KERNEL_TEST=1 ;; + ttcn3-ggsn-test-kernel-latest-net-next) + DIR="ttcn3-ggsn-test" + export IMAGE_SUFFIX="latest" + export KERNEL_TEST=1 + export KERNEL_BUILD=1 + export KERNEL_URL="https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git" + export KERNEL_REMOTE_NAME="net-next" + export KERNEL_BRANCH="master" + ;; + ttcn3-ggsn-test-kernel-latest-torvalds) + DIR="ttcn3-ggsn-test" + export IMAGE_SUFFIX="latest" + export KERNEL_TEST=1 + export KERNEL_BUILD=1 + export KERNEL_URL="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git" + export KERNEL_REMOTE_NAME="torvalds" + export KERNEL_BRANCH="master" + ;; TTCN3-centos-*-latest) DIR="$(echo "{job-name}" | sed s/^TTCN3-centos\-/ttcn3-/ | sed s/\-latest$//)" export IMAGE_SUFFIX="latest-centos8" -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23227 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I6918b953b64b0d81805fd02b1a8469a8db20f938 Gerrit-Change-Number: 23227 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 4 10:01:41 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 4 Mar 2021 10:01:41 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3-testsuites-kernel-git: trigger manually References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/23228 ) Change subject: jobs/ttcn3-testsuites-kernel-git: trigger manually ...................................................................... jobs/ttcn3-testsuites-kernel-git: trigger manually Related: OS#3208 Change-Id: I3a141372b0648a03b35b2b274949a001851f6ca6 --- M jobs/ttcn3-testsuites-kernel-git.yml 1 file changed, 2 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/28/23228/1 diff --git a/jobs/ttcn3-testsuites-kernel-git.yml b/jobs/ttcn3-testsuites-kernel-git.yml index 90cdae2..cfc36f2 100644 --- a/jobs/ttcn3-testsuites-kernel-git.yml +++ b/jobs/ttcn3-testsuites-kernel-git.yml @@ -1,11 +1,12 @@ # TTCN-3 testsuite jobs with parameters to build a kernel from source (OS#3208) +# In contrary to the kernel jobs in ttcn3-testsuites.yml, here the jobs are +# manually triggered and the kernel git repository is not hardcoded. --- - project: name: 'ttcn3-testsuites-kernel-git' concurrent: false disabled: false description: "" - timer: "@midnight" node: ttcn3 blocking: "^{job-name}.*" wipe_workspace: false @@ -15,7 +16,6 @@ job-name: - ttcn3-ggsn-test-kernel-git: blocking: "^(ttcn3|TTCN3-.*)-ggsn-test.*" - timer: 30 04 * * * # Cache the linux source tree in the workspace of one node node: ttcn3-ggsn-test-kernel-git description: | @@ -85,8 +85,6 @@ git-config-name: 'Jenkins Builder' git-config-email: 'jenkins at osmocom.org' wipe-workspace: "{obj:wipe_workspace}" - triggers: - - timed: "{obj:timer}" publishers: - junit: results: '**/junit-xml-*.log' -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23228 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I3a141372b0648a03b35b2b274949a001851f6ca6 Gerrit-Change-Number: 23228 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 4 10:01:41 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 4 Mar 2021 10:01:41 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3-testsuites-kernel-git: add OSMOCOM_VERSION References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/23229 ) Change subject: jobs/ttcn3-testsuites-kernel-git: add OSMOCOM_VERSION ...................................................................... jobs/ttcn3-testsuites-kernel-git: add OSMOCOM_VERSION Let the user choose whether to run against osmo-ggsn latest or master. I chose the name "OSMOCOM_VERSION" for the variable to make this easier to use for people not familiar with the Osmocom stack / the test infrastructure, as suggested in the related issue. Related: OS#3208 Change-Id: Ifaf8ed6502b469ade670c3f436670480d27becd6 --- M jobs/ttcn3-testsuites-kernel-git.yml 1 file changed, 11 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/29/23229/1 diff --git a/jobs/ttcn3-testsuites-kernel-git.yml b/jobs/ttcn3-testsuites-kernel-git.yml index cfc36f2..fa04cb9 100644 --- a/jobs/ttcn3-testsuites-kernel-git.yml +++ b/jobs/ttcn3-testsuites-kernel-git.yml @@ -55,6 +55,16 @@ KERNEL_URL and KERNEL_REMOTE_NAME before building the kernel. default: 'master' + - choice: + name: OSMOCOM_VERSION + choices: + - latest + - master + description: | + Version of the Osmocom stack to test against the kernel. Either + latest for the latest release version, or + master for HEAD of git.osmocom.org. + default: 'latest' builders: - shell: |- @@ -65,7 +75,7 @@ case "{job-name}" in ttcn3-ggsn-test-kernel-git) DIR="ttcn3-ggsn-test" - export IMAGE_SUFFIX="master" + export IMAGE_SUFFIX="$OSMOCOM_VERSION" export KERNEL_TEST=1 export KERNEL_BUILD=1 ;; -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23229 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ifaf8ed6502b469ade670c3f436670480d27becd6 Gerrit-Change-Number: 23229 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 4 10:01:42 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 4 Mar 2021 10:01:42 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3-testsuites-kernel-git: make userfriendly References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/23230 ) Change subject: jobs/ttcn3-testsuites-kernel-git: make userfriendly ...................................................................... jobs/ttcn3-testsuites-kernel-git: make userfriendly Change the description of the job, to make it easier to use for somebody not familiar with the Osmocom stack / the testsuites. Move the BRANCH parameter to the bottom, as it is not relevant for kernel developers who want to test their kernel, and adjust the description. Related: OS#3208 Change-Id: I0968ae716c8e3f32db6f589b28d6066d95ad85ea --- M jobs/ttcn3-testsuites-kernel-git.yml 1 file changed, 14 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/30/23230/1 diff --git a/jobs/ttcn3-testsuites-kernel-git.yml b/jobs/ttcn3-testsuites-kernel-git.yml index fa04cb9..ec04261 100644 --- a/jobs/ttcn3-testsuites-kernel-git.yml +++ b/jobs/ttcn3-testsuites-kernel-git.yml @@ -19,8 +19,13 @@ # Cache the linux source tree in the workspace of one node node: ttcn3-ggsn-test-kernel-git description: | - Test osmo-ggsn master with a kernel built from source (see build - parameters, by default: net-next.git from kernel.org). + Run the + + Osmocom Titan TTCN-3 testsuite against + + OsmoGGSN with the GTP kernel module. The kernel is built + from the git repository and branch provided as parameters when + starting this job. - job-template: name: '{job-name}' @@ -31,12 +36,6 @@ node: '{obj:node}' parameters: - string: - name: BRANCH - description: | - Branch of docker-playground.git. - Only modify if you are hacking on the docker-playground scripts. - default: '*/master' - - string: name: KERNEL_URL description: | Remote URL of git repository, from which the kernel will be @@ -65,6 +64,13 @@ latest for the latest release version, or master for HEAD of git.osmocom.org. default: 'latest' + - string: + name: BRANCH + description: | + (For development of the test infrastructure, don't change this + when testing kernel trees) Branch of + docker-playground.git + default: '*/master' builders: - shell: |- -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23230 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I0968ae716c8e3f32db6f589b28d6066d95ad85ea Gerrit-Change-Number: 23230 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 4 10:01:42 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 4 Mar 2021 10:01:42 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3-testsuites-kernel-git: remove wrong comment References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/23231 ) Change subject: jobs/ttcn3-testsuites-kernel-git: remove wrong comment ...................................................................... jobs/ttcn3-testsuites-kernel-git: remove wrong comment Here, the job names are not the same as the directory names of docker-playground.git Related: OS#3208 Change-Id: Idbcb7267ce38cbdc2df5631df404f908487f827b --- M jobs/ttcn3-testsuites-kernel-git.yml 1 file changed, 0 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/31/23231/1 diff --git a/jobs/ttcn3-testsuites-kernel-git.yml b/jobs/ttcn3-testsuites-kernel-git.yml index ec04261..8ab684e 100644 --- a/jobs/ttcn3-testsuites-kernel-git.yml +++ b/jobs/ttcn3-testsuites-kernel-git.yml @@ -12,7 +12,6 @@ wipe_workspace: false jobs: - "{job-name}" - # Folders from docker-playground.git job-name: - ttcn3-ggsn-test-kernel-git: blocking: "^(ttcn3|TTCN3-.*)-ggsn-test.*" -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23231 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Idbcb7267ce38cbdc2df5631df404f908487f827b Gerrit-Change-Number: 23231 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 4 10:02:07 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 4 Mar 2021 10:02:07 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3: add new ggsn-test-kernel-latest jobs In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23227 ) Change subject: jobs/ttcn3: add new ggsn-test-kernel-latest jobs ...................................................................... Patch Set 1: Verified-1 Mind the docker-playground dependency -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23227 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I6918b953b64b0d81805fd02b1a8469a8db20f938 Gerrit-Change-Number: 23227 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 04 Mar 2021 10:02:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 4 10:08:50 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 4 Mar 2021 10:08:50 +0000 Subject: Change in docker-playground[master]: osmo-ggsn-latest: add more kernel build depends In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23226 ) Change subject: osmo-ggsn-latest: add more kernel build depends ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23226 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Iaef87c3418b8e6f1e427b2abd9d40e9e28dc63e9 Gerrit-Change-Number: 23226 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 04 Mar 2021 10:08: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 Mar 4 11:24:50 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 4 Mar 2021 11:24:50 +0000 Subject: Change in osmo-pcu[master]: TODO-RELEASE: document requirement of master libosmocore In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23220 ) Change subject: TODO-RELEASE: document requirement of master libosmocore ...................................................................... TODO-RELEASE: document requirement of master libosmocore Recent commit started using ->is_sgsn field which is only available as of current libosmocore master (> 1.5.1) Fixes: 423bf8c408237df5bc77a9efcd2ccc1445c2d480 Change-Id: I3d579bd253363efc3cf183a922d6affca1a499e0 --- M TODO-RELEASE 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/TODO-RELEASE b/TODO-RELEASE index cbfda24..716f713 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 +libosmocore struct bssgp_bvc_ctx->is_sgsn field used available only on libosmocore >1.5.1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23220 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I3d579bd253363efc3cf183a922d6affca1a499e0 Gerrit-Change-Number: 23220 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 4 11:27:19 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 4 Mar 2021 11:27:19 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3: add new ggsn-test-kernel-latest jobs In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23227 ) Change subject: jobs/ttcn3: add new ggsn-test-kernel-latest jobs ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23227 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I6918b953b64b0d81805fd02b1a8469a8db20f938 Gerrit-Change-Number: 23227 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 04 Mar 2021 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 Thu Mar 4 11:27:43 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 4 Mar 2021 11:27:43 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3-testsuites-kernel-git: trigger manually In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23228 ) Change subject: jobs/ttcn3-testsuites-kernel-git: trigger manually ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23228 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I3a141372b0648a03b35b2b274949a001851f6ca6 Gerrit-Change-Number: 23228 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 04 Mar 2021 11:27:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 4 11:28:11 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 4 Mar 2021 11:28:11 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3-testsuites-kernel-git: add OSMOCOM_VERSION In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23229 ) Change subject: jobs/ttcn3-testsuites-kernel-git: add OSMOCOM_VERSION ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23229 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ifaf8ed6502b469ade670c3f436670480d27becd6 Gerrit-Change-Number: 23229 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 04 Mar 2021 11:28: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 Thu Mar 4 11:29:19 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 4 Mar 2021 11:29:19 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3-testsuites-kernel-git: make userfriendly In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23230 ) Change subject: jobs/ttcn3-testsuites-kernel-git: make userfriendly ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-ci/+/23230/1/jobs/ttcn3-testsuites-kernel-git.yml File jobs/ttcn3-testsuites-kernel-git.yml: https://gerrit.osmocom.org/c/osmo-ci/+/23230/1/jobs/ttcn3-testsuites-kernel-git.yml at 70 PS1, Line 70: (For development of the test infrastructure, don't change this paranthesis part at the end instead of at the start of the description? -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23230 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I0968ae716c8e3f32db6f589b28d6066d95ad85ea Gerrit-Change-Number: 23230 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 04 Mar 2021 11:29: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 Thu Mar 4 11:29:46 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 4 Mar 2021 11:29:46 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3-testsuites-kernel-git: remove wrong comment In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23231 ) Change subject: jobs/ttcn3-testsuites-kernel-git: remove wrong comment ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23231 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Idbcb7267ce38cbdc2df5631df404f908487f827b Gerrit-Change-Number: 23231 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 04 Mar 2021 11:29: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 Mar 4 11:31:00 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 4 Mar 2021 11:31:00 +0000 Subject: Change in docker-playground[master]: osmo-ggsn-latest: add more kernel build depends In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23226 ) Change subject: osmo-ggsn-latest: add more kernel build depends ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23226 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Iaef87c3418b8e6f1e427b2abd9d40e9e28dc63e9 Gerrit-Change-Number: 23226 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 04 Mar 2021 11:31: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 Mar 4 11:32:15 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 4 Mar 2021 11:32:15 +0000 Subject: Change in libosmocore[master]: gprs_ns2: Log all transmitted SNS messages In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23222 ) Change subject: gprs_ns2: Log all transmitted SNS messages ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23222 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0d31c3911d3acd6ac7296c370e920d53412d8289 Gerrit-Change-Number: 23222 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 04 Mar 2021 11:32:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 4 11:33:29 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 4 Mar 2021 11:33:29 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Dispatch inbound SNS-ACK to FSM In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23223 ) Change subject: gprs_ns2_sns: Dispatch inbound SNS-ACK to FSM ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23223 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If6d5f96d85e6f05534fe49376f4473d912535ad4 Gerrit-Change-Number: 23223 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 04 Mar 2021 11:33:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 4 11:34:40 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 4 Mar 2021 11:34:40 +0000 Subject: Change in libosmocore[master]: gprs_ns2: Pass peer/remote sockaddr argument to ns2_create_vc() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23224 ) Change subject: gprs_ns2: Pass peer/remote sockaddr argument to ns2_create_vc() ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23224 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Idf92712079cd9b7e4ff2cf8df314b372d63e6e52 Gerrit-Change-Number: 23224 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 04 Mar 2021 11: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 Thu Mar 4 11:58:08 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 4 Mar 2021 11:58:08 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce test TC_dl_no_ack_retrans_imm_ass In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23199 to look at the new patch set (#3). Change subject: pcu: Introduce test TC_dl_no_ack_retrans_imm_ass ...................................................................... pcu: Introduce test TC_dl_no_ack_retrans_imm_ass Change-Id: I1c1d89f3de9ba158f802e7759ef78dc84f48218f --- M pcu/PCU_Tests.ttcn 1 file changed, 92 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/99/23199/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23199 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1c1d89f3de9ba158f802e7759ef78dc84f48218f Gerrit-Change-Number: 23199 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 4 11:58:08 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 4 Mar 2021 11:58:08 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce test TC_n3105_max_t3195 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/+/23215 to look at the new patch set (#2). Change subject: pcu: Introduce test TC_n3105_max_t3195 ...................................................................... pcu: Introduce test TC_n3105_max_t3195 Related: OS#3928 Change-Id: I6f756c928509364fee14c552279f01b4e4f0e060 --- M pcu/PCU_Tests.ttcn 1 file changed, 121 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/15/23215/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23215 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6f756c928509364fee14c552279f01b4e4f0e060 Gerrit-Change-Number: 23215 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 Mar 4 12:34:27 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 4 Mar 2021 12:34:27 +0000 Subject: Change in libosmocore[master]: gprs_ns2: Log all transmitted SNS messages In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23222 ) Change subject: gprs_ns2: Log all transmitted SNS messages ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23222 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0d31c3911d3acd6ac7296c370e920d53412d8289 Gerrit-Change-Number: 23222 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 04 Mar 2021 12:34: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 Mar 4 12:34:32 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 4 Mar 2021 12:34:32 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Dispatch inbound SNS-ACK to FSM In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23223 ) Change subject: gprs_ns2_sns: Dispatch inbound SNS-ACK to FSM ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23223 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If6d5f96d85e6f05534fe49376f4473d912535ad4 Gerrit-Change-Number: 23223 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 04 Mar 2021 12:34:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 4 12:34:41 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 4 Mar 2021 12:34:41 +0000 Subject: Change in libosmocore[master]: gprs_ns2: Pass peer/remote sockaddr argument to ns2_create_vc() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23224 ) Change subject: gprs_ns2: Pass peer/remote sockaddr argument to ns2_create_vc() ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23224 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Idf92712079cd9b7e4ff2cf8df314b372d63e6e52 Gerrit-Change-Number: 23224 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 04 Mar 2021 12:34: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 Mar 4 12:35:26 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 4 Mar 2021 12:35:26 +0000 Subject: Change in libosmocore[master]: gprs_ns2: Pass peer/remote sockaddr argument to ns2_create_vc() In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/23224 to look at the new patch set (#3). Change subject: gprs_ns2: Pass peer/remote sockaddr argument to ns2_create_vc() ...................................................................... gprs_ns2: Pass peer/remote sockaddr argument to ns2_create_vc() This is a preparation towards auto-creating SNS NS-VCs in SGSN role Related: OS#3373 Change-Id: Idf92712079cd9b7e4ff2cf8df314b372d63e6e52 --- M src/gb/gprs_ns2.c M src/gb/gprs_ns2_frgre.c M src/gb/gprs_ns2_internal.h M src/gb/gprs_ns2_udp.c 4 files changed, 5 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/24/23224/3 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23224 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Idf92712079cd9b7e4ff2cf8df314b372d63e6e52 Gerrit-Change-Number: 23224 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 4 12:35:53 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 4 Mar 2021 12:35:53 +0000 Subject: Change in libosmocore[master]: gprs_ns2: Pass peer/remote sockaddr argument to ns2_create_vc() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23224 ) Change subject: gprs_ns2: Pass peer/remote sockaddr argument to ns2_create_vc() ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23224 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Idf92712079cd9b7e4ff2cf8df314b372d63e6e52 Gerrit-Change-Number: 23224 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 04 Mar 2021 12:35:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 4 12:41:54 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 4 Mar 2021 12:41:54 +0000 Subject: Change in libosmocore[master]: gprs_ns2: Log all transmitted SNS messages In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23222 ) Change subject: gprs_ns2: Log all transmitted SNS messages ...................................................................... gprs_ns2: Log all transmitted SNS messages We already have similar log statements for all NS-{RESET,BLOCK,UNBLOCK,...} and it's confusing that even a debug-level NS log file doesn't show transmitting SNS messages at all. Change-Id: I0d31c3911d3acd6ac7296c370e920d53412d8289 --- M src/gb/gprs_ns2_message.c 1 file changed, 15 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/src/gb/gprs_ns2_message.c b/src/gb/gprs_ns2_message.c index ddf7285..535d5be 100644 --- a/src/gb/gprs_ns2_message.c +++ b/src/gb/gprs_ns2_message.c @@ -515,6 +515,9 @@ return -EIO; } + LOGNSVC(nsvc, LOGL_INFO, "Tx SNS-ACK (trans_id=%u, cause=%s, num_ip4=%u, num_ip6=%u)\n", + trans_id, cause ? gprs_ns2_cause_str(*cause) : "NULL", num_ip4_elems, num_ip6_elems); + nsei = osmo_htons(nsvc->nse->nsei); msg->l2h = msgb_put(msg, sizeof(*nsh)); @@ -573,6 +576,9 @@ return -EIO; } + LOGNSVC(nsvc, LOGL_INFO, "Tx SNS-CONFIG (end_flag=%u, num_ip4=%u, num_ip6=%u)\n", + end_flag, num_ip4_elems, num_ip6_elems); + nsei = osmo_htons(nsvc->nse->nsei); msg->l2h = msgb_put(msg, sizeof(*nsh)); @@ -621,6 +627,9 @@ return -EIO; } + LOGNSVC(nsvc, LOGL_INFO, "Tx SNS-CONFIG-ACK (cause=%s)\n", + cause ? gprs_ns2_cause_str(*cause) : "NULL"); + nsei = osmo_htons(nsvc->nse->nsei); msg->l2h = msgb_put(msg, sizeof(*nsh)); @@ -666,6 +675,9 @@ return -EIO; } + LOGNSVC(nsvc, LOGL_INFO, "Tx SNS-SIZE (reset=%u, max_nr_nsvc=%u, num_ip4=%u, num_ip6=%u)\n", + reset_flag, max_nr_nsvc, ip4_ep_nr, ip6_ep_nr); + nsei = osmo_htons(nsvc->nse->nsei); msg->l2h = msgb_put(msg, sizeof(*nsh)); @@ -705,6 +717,9 @@ return -EIO; } + LOGNSVC(nsvc, LOGL_INFO, "Tx SNS-SIZE-ACK (cause=%s)\n", + cause ? gprs_ns2_cause_str(*cause) : "NULL"); + nsei = osmo_htons(nsvc->nse->nsei); msg->l2h = msgb_put(msg, sizeof(*nsh)); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23222 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I0d31c3911d3acd6ac7296c370e920d53412d8289 Gerrit-Change-Number: 23222 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 Thu Mar 4 12:41:54 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 4 Mar 2021 12:41:54 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Dispatch inbound SNS-ACK to FSM In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23223 ) Change subject: gprs_ns2_sns: Dispatch inbound SNS-ACK to FSM ...................................................................... gprs_ns2_sns: Dispatch inbound SNS-ACK to FSM We don't really handle inbound SNS-ACK yet (as we don't originate SNS ADD/DEL/CHGWEIGHT procedures yet). However, the message receive code should already dispatch those events to the FSM, just like we do for the (equally unimplemented) handling of inbound SNS-SIZE which is already dispatched to the FSM. Change-Id: If6d5f96d85e6f05534fe49376f4473d912535ad4 --- M src/gb/gprs_ns2_sns.c 1 file changed, 3 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/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index 698f60a..0bb7422 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -79,6 +79,7 @@ GPRS_SNS_EV_RX_ADD, GPRS_SNS_EV_RX_DELETE, GPRS_SNS_EV_RX_CHANGE_WEIGHT, + GPRS_SNS_EV_RX_ACK, /*!< Rx of SNS-ACK (response to ADD/DELETE/CHG_WEIGHT */ GPRS_SNS_EV_REQ_NO_NSVC, /*!< no more NS-VC remaining (all dead) */ GPRS_SNS_EV_REQ_NSVC_ALIVE, /*!< a NS-VC became alive */ GPRS_SNS_EV_REQ_ADD_BIND, /*!< add a new local bind to this NSE */ @@ -94,6 +95,7 @@ { GPRS_SNS_EV_RX_CONFIG_ACK, "RX_CONFIG_ACK" }, { GPRS_SNS_EV_RX_ADD, "RX_ADD" }, { GPRS_SNS_EV_RX_DELETE, "RX_DELETE" }, + { GPRS_SNS_EV_RX_ACK, "RX_ACK" }, { GPRS_SNS_EV_RX_CHANGE_WEIGHT, "RX_CHANGE_WEIGHT" }, { GPRS_SNS_EV_REQ_NO_NSVC, "REQ_NO_NSVC" }, { GPRS_SNS_EV_REQ_NSVC_ALIVE, "REQ_NSVC_ALIVE"}, @@ -1599,8 +1601,7 @@ osmo_fsm_inst_dispatch(fi, GPRS_SNS_EV_RX_CHANGE_WEIGHT, tp); break; case SNS_PDUT_ACK: - LOGPFSML(fi, LOGL_NOTICE, "NSEI=%u Rx unsupported SNS PDU type %s\n", nsei, - get_value_string(gprs_ns_pdu_strings, nsh->pdu_type)); + osmo_fsm_inst_dispatch(fi, GPRS_SNS_EV_RX_ACK, tp); break; default: LOGPFSML(fi, LOGL_ERROR, "NSEI=%u Rx unknown SNS PDU type %s\n", nsei, -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23223 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If6d5f96d85e6f05534fe49376f4473d912535ad4 Gerrit-Change-Number: 23223 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 Thu Mar 4 12:41:55 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 4 Mar 2021 12:41:55 +0000 Subject: Change in libosmocore[master]: gprs_ns2: Remove any references to DNS; we use DLNS in NS2. In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23225 ) Change subject: gprs_ns2: Remove any references to DNS; we use DLNS in NS2. ...................................................................... gprs_ns2: Remove any references to DNS; we use DLNS in NS2. Related: OS#5058 Change-Id: I1f047e022a029d5f982deae0b30fec9e5a00d1ac --- M src/gb/gprs_ns2_sns.c M src/gb/gprs_ns2_vc_fsm.c 2 files changed, 0 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index 0bb7422..a8baa28 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -1516,7 +1516,6 @@ .allstate_action = ns2_sns_st_all_action, .cleanup = NULL, .timer_cb = ns2_sns_fsm_bss_timer_cb, - /* .log_subsys = DNS, "is not constant" */ .event_names = gprs_sns_event_names, .pre_term = NULL, .log_subsys = DLNS, diff --git a/src/gb/gprs_ns2_vc_fsm.c b/src/gb/gprs_ns2_vc_fsm.c index 40c8984..cca724f 100644 --- a/src/gb/gprs_ns2_vc_fsm.c +++ b/src/gb/gprs_ns2_vc_fsm.c @@ -49,8 +49,6 @@ #define S(x) (1 << (x)) -#define DNS 10 - struct gprs_ns2_vc_priv { struct gprs_ns2_vc *nsvc; /* how often the timer was triggered */ @@ -687,7 +685,6 @@ .allstate_action = ns2_vc_fsm_allstate_action, .cleanup = ns2_vc_fsm_clean, .timer_cb = ns2_vc_fsm_timer_cb, - /* .log_subsys = DNS, "is not constant" */ .event_names = ns2_vc_event_names, .pre_term = NULL, .log_subsys = DLNS, -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23225 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1f047e022a029d5f982deae0b30fec9e5a00d1ac Gerrit-Change-Number: 23225 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 Thu Mar 4 12:41:56 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 4 Mar 2021 12:41:56 +0000 Subject: Change in libosmocore[master]: gprs_ns2: Pass peer/remote sockaddr argument to ns2_create_vc() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23224 ) Change subject: gprs_ns2: Pass peer/remote sockaddr argument to ns2_create_vc() ...................................................................... gprs_ns2: Pass peer/remote sockaddr argument to ns2_create_vc() This is a preparation towards auto-creating SNS NS-VCs in SGSN role Related: OS#3373 Change-Id: Idf92712079cd9b7e4ff2cf8df314b372d63e6e52 --- M src/gb/gprs_ns2.c M src/gb/gprs_ns2_frgre.c M src/gb/gprs_ns2_internal.h M src/gb/gprs_ns2_udp.c 4 files changed, 5 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/gb/gprs_ns2.c b/src/gb/gprs_ns2.c index c56b0b5..e19ae78 100644 --- a/src/gb/gprs_ns2.c +++ b/src/gb/gprs_ns2.c @@ -868,12 +868,14 @@ /*! Create a new NS-VC based on a [received] message. Depending on the bind it might create a NSE. * \param[in] bind the bind through which msg was received * \param[in] msg the actual received message + * \param[in] remote address of remote peer sending message * \param[in] logname A name to describe the VC. E.g. ip address pair * \param[out] reject A message filled to be sent back. Only used in failure cases. * \param[out] success A pointer which will be set to the new VC on success * \return enum value indicating the status, e.g. GPRS_NS2_CS_CREATED */ enum ns2_cs ns2_create_vc(struct gprs_ns2_vc_bind *bind, struct msgb *msg, + const struct osmo_sockaddr *remote, const char *logname, struct msgb **reject, struct gprs_ns2_vc **success) diff --git a/src/gb/gprs_ns2_frgre.c b/src/gb/gprs_ns2_frgre.c index 62d87a4..76c0b92 100644 --- a/src/gb/gprs_ns2_frgre.c +++ b/src/gb/gprs_ns2_frgre.c @@ -447,7 +447,7 @@ rc = ns2_find_vc_by_dlci(bind, dlci, &nsvc); if (rc) { /* VC not found */ - rc = ns2_create_vc(bind, msg, "newconnection", &reject, &nsvc); + rc = ns2_create_vc(bind, msg, &saddr, "newconnection", &reject, &nsvc); switch (rc) { case NS2_CS_FOUND: break; diff --git a/src/gb/gprs_ns2_internal.h b/src/gb/gprs_ns2_internal.h index 7e235be..80e664c 100644 --- a/src/gb/gprs_ns2_internal.h +++ b/src/gb/gprs_ns2_internal.h @@ -279,6 +279,7 @@ enum ns2_cs ns2_create_vc(struct gprs_ns2_vc_bind *bind, struct msgb *msg, + const struct osmo_sockaddr *remote, const char *logname, struct msgb **reject, struct gprs_ns2_vc **success); diff --git a/src/gb/gprs_ns2_udp.c b/src/gb/gprs_ns2_udp.c index 3081680..5765c77 100644 --- a/src/gb/gprs_ns2_udp.c +++ b/src/gb/gprs_ns2_udp.c @@ -231,7 +231,7 @@ nsvc = gprs_ns2_nsvc_by_sockaddr_bind(bind, &saddr); if (!nsvc) { /* VC not found */ - rc = ns2_create_vc(bind, msg, "newconnection", &reject, &nsvc); + rc = ns2_create_vc(bind, msg, &saddr, "newconnection", &reject, &nsvc); switch (rc) { case NS2_CS_FOUND: break; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23224 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Idf92712079cd9b7e4ff2cf8df314b372d63e6e52 Gerrit-Change-Number: 23224 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 Thu Mar 4 12:55:05 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 4 Mar 2021 12:55:05 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce test TC_n3101_max_t3169 References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23232 ) Change subject: pcu: Introduce test TC_n3101_max_t3169 ...................................................................... pcu: Introduce test TC_n3101_max_t3169 This test currently fails to pass in master osmo-pcu (and latest) due to T3169 not being implemented exactly as per specs (due to limitations in detecting lost UL blocks with assigned USF). Related: OS#5033 Change-Id: I56177850f084cdaf4fcac63ebdcdff9cef4e7a5d --- M pcu/GPRS_Components.ttcn M pcu/PCU_Tests.ttcn 2 files changed, 121 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/32/23232/1 diff --git a/pcu/GPRS_Components.ttcn b/pcu/GPRS_Components.ttcn index 5266743..57cd837 100644 --- a/pcu/GPRS_Components.ttcn +++ b/pcu/GPRS_Components.ttcn @@ -701,6 +701,20 @@ return 0; /* make compiler happy */ } +function f_rlcmac_dl_block_get_usf(RlcmacDlBlock dl_block) +runs on MS_BTS_IFACE_CT return uint3_t { + if (ischosen(dl_block.data)) { + return dl_block.data.mac_hdr.mac_hdr.usf; + } else if (ischosen(dl_block.data_egprs)) { + return dl_block.data_egprs.mac_hdr.usf; + } else { /* Ctrl block */ + return dl_block.ctrl.mac_hdr.usf; + } + setverdict(fail, "DlBlock doesn't contain a USF:", dl_block); + f_shutdown(__BFILE__, __LINE__); + return 0; /* make compiler happy */ +} + /* Get the Chan coding command from a dl block containing PACCH UL Assignment */ function f_rlcmac_dl_block_get_assigned_ul_cs_mcs(RlcmacDlBlock dl_block) runs on MS_BTS_IFACE_CT return CodingScheme { diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index c60e49e..e0fe36f 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -1313,6 +1313,112 @@ f_shutdown(__BFILE__, __LINE__, final := true); } +/* Validate what happens when RACH to get UL TBF and then PCU receives no UL + * data. It should end up in N3101 reaching N3101_MAX and finally triggering + * T3169. See OS#5033 */ +testcase TC_n3101_max_t3169() runs on RAW_PCU_Test_CT { + var PCUIF_info_ind info_ind; + var template (value) TsTrxBtsNum nr; + var BTS_PDTCH_Block data_msg; + var GprsMS ms; + var uint3_t rx_usf; + const integer N3101_MAX := 9; /* N3101 shall be reat than 8 */ + var integer n3101 := 0; + timer T_3169 := 1.0; + + /* Initialize NS/BSSGP side */ + f_init_bssgp(); + /* Initialize GPRS MS side */ + f_init_gprs_ms(); + ms := g_ms[0]; /* We only use first MS in this test */ + + /* Initialize the PCU interface abstraction */ + info_ind := valueof(ts_PCUIF_INFO_default(c_PCUIF_Flags_noMCS)); + info_ind.n3101 := N3101_MAX; /* N3101 shall be reat than 8 */ + info_ind.t3169 := 1; + f_init_raw(testcasename(), info_ind); + + /* Establish BSSGP connection to the PCU */ + f_bssgp_establish(); + f_bssgp_client_llgmm_assign(TLLI_UNUSED, ms.tlli); + + /* Establish UL TBF */ + f_ms_establish_ul_tbf(ms); + + /* Now we wait for PCU to transmit our USF */ + nr := ts_TsTrxBtsNum; + BTS.send(ts_PCUIF_RTS_REQ(nr.bts_nr, nr.trx_nr, nr.ts_nr, + sapi := PCU_IF_SAPI_PDTCH, fn := 0, + arfcn := f_trxnr2arfcn(valueof(nr.trx_nr)), + block_nr := nr.blk_nr)); + + alt { + [] BTS.receive(tr_PCUIF_DATA_PDTCH(nr.bts_nr, + tr_PCUIF_DATA(nr.trx_nr, nr.ts_nr, sapi := PCU_IF_SAPI_PDTCH), + ?)) -> value data_msg { + if (ms.ul_tbf.usf[valueof(nr.ts_nr)] == USF_UNUSED) { + setverdict(fail, "Unexpected ts_nr ", valueof(nr.ts_nr), " without USF allocated"); + f_shutdown(__BFILE__, __LINE__); + } + + rx_usf := f_rlcmac_dl_block_get_usf(data_msg.dl_block); + if (rx_usf == ms.ul_tbf.usf[valueof(nr.ts_nr)]) { + log("PCU requests our USF ", rx_usf, ", n3101=", n3101); + n3101 := n3101 + 1; + //"if (n3101 > N3101_MAX) {" -> start timer T3169 + if (n3101 > N3101_MAX) { + setverdict(fail, "Reached ", n3101, " > ", N3101_MAX, " (N3101_MAX) and PCU still sends us USFs"); + f_shutdown(__BFILE__, __LINE__); + } + } else if (rx_usf == USF_UNUSED and n3101 == N3101_MAX) { + /* If we already received USFs for us and we don't receive them anymore, that means the TBF entered T3169 */ + log("PCU stopped requesting USF ", ms.ul_tbf.usf[valueof(nr.ts_nr)]); + if (not T_3169.running) { + log("T3169 started"); + T_3169.start; + } + } else if(rx_usf == USF_UNUSED and n3101 > 0) { + setverdict(fail, "PCU stopped requesting USFs too early: ", n3101, " < ", N3101_MAX, " (N3101_MAX)"); + f_shutdown(__BFILE__, __LINE__); + } else { + log("PCU requests ", rx_usf, ", we have ", ms.ul_tbf.usf[valueof(nr.ts_nr)]); + } + nr := ts_TsTrxBtsNum; + BTS.send(ts_PCUIF_RTS_REQ(nr.bts_nr, nr.trx_nr, nr.ts_nr, + sapi := PCU_IF_SAPI_PDTCH, fn := 0, + arfcn := f_trxnr2arfcn(valueof(nr.trx_nr)), + block_nr := nr.blk_nr)); + repeat; + } + [] T_3169.timeout { + log("T_3169 expired"); + /* Done in alt */ + } + [] BTS.receive { + setverdict(fail, "Unexpected BTS message"); + f_shutdown(__BFILE__, __LINE__); + } + } + + /* Now that T3169 has expired, establishing a Ul TBF should provide same + /* USFs as per previous TBF since they were freed at expiration time: */ + var uint3_t old_usf[8] := ms.ul_tbf.usf; + var uint5_t old_tfi := ms.ul_tbf.tfi; + f_ms_establish_ul_tbf(ms); + if (old_tfi != ms.ul_tbf.tfi) { + setverdict(fail, "Unexpected TFI change: ", ms.ul_tbf.tfi, " vs exp ", old_tfi); + f_shutdown(__BFILE__, __LINE__); + } + for (var integer i := 0; i < 8; i := i +1) { + if (ms.ul_tbf.usf[i] != old_usf[i]) { + setverdict(fail, "Unexpected USF change: ", ms.ul_tbf.usf[i], " vs exp ", old_usf[i]); + f_shutdown(__BFILE__, __LINE__); + } + } + + f_shutdown(__BFILE__, __LINE__, final := true); +} + /* Verify that a Downlink TBF is kept available until T3191 fires, at which * point the TBF is no longer available. In order to get to start of T3191, we * have to wait for x2031 since that marks the IDLE TBF time, that is, the delay @@ -5530,6 +5636,7 @@ execute( TC_mcs_initial_dl() ); execute( TC_mcs_max_dl() ); execute( TC_t3169() ); + execute( TC_n3101_max_t3169() ); execute( TC_x2031_t3191() ); execute( TC_zero_x2031_t3191() ); execute( TC_t3193() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23232 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I56177850f084cdaf4fcac63ebdcdff9cef4e7a5d Gerrit-Change-Number: 23232 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 Mar 4 13:11:42 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 4 Mar 2021 13:11:42 +0000 Subject: Change in osmo-pcu[master]: tbf: Log N310* counter increments References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23233 ) Change subject: tbf: Log N310* counter increments ...................................................................... tbf: Log N310* counter increments Change-Id: Iacd2fb894b4f2a9aade7e66aa40969fea031c3b2 --- M src/tbf.cpp M tests/tbf/TbfTest.err 2 files changed, 6 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/33/23233/1 diff --git a/src/tbf.cpp b/src/tbf.cpp index 5ca34f4..15d3fa1 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -414,9 +414,11 @@ LOGPTBF(this, LOGL_NOTICE, "%s exceeded MAX (%u)\n", get_value_string(tbf_counters_names, n), chk); return true; + } else { + LOGPTBF(this, LOGL_DEBUG, "%s %" PRIu8 " => %" PRIu8 " (< MAX %" PRIu8 ")\n", + get_value_string(tbf_counters_names, n), Narr[n] - 1, Narr[n], chk); + return false; } - - return false; } void gprs_rlcmac_tbf::t_stop(enum tbf_timers t, const char *reason) diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index 685f9d0..5a8b5bb 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -1721,7 +1721,9 @@ Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=-1 USF=7 Found first unallocated TRX=0 TFI=1 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) poll timeout for FN=2654292, TS=7 (curr FN 2654335) +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) N3101 0 => 1 (< MAX 10) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) N3105 0 => 1 (< MAX 8) PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0xffffffff -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23233 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iacd2fb894b4f2a9aade7e66aa40969fea031c3b2 Gerrit-Change-Number: 23233 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 Mar 4 13:14:26 2021 From: gerrit-no-reply at lists.osmocom.org (iedemam) Date: Thu, 4 Mar 2021 13:14:26 +0000 Subject: Change in osmo-bsc[master]: stats: add BTS uptime counter References: Message-ID: iedemam has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23234 ) Change subject: stats: add BTS uptime counter ...................................................................... stats: add BTS uptime counter Change-Id: Ib17674bbe95e828cebff12de9e0b30f06447ef6c --- M include/osmocom/bsc/bts.h M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/bsc_init.c M src/osmo-bsc/bts.c M src/osmo-bsc/bts_ipaccess_nanobts.c 5 files changed, 33 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/34/23234/1 diff --git a/include/osmocom/bsc/bts.h b/include/osmocom/bsc/bts.h index 6b58c7e..dae5eff 100644 --- a/include/osmocom/bsc/bts.h +++ b/include/osmocom/bsc/bts.h @@ -17,6 +17,7 @@ #include "osmocom/bsc/bts_sm.h" enum bts_counter_id { + BTS_CTR_UPTIME_SEC, BTS_CTR_CHREQ_TOTAL, BTS_CTR_CHREQ_ATTEMPTED_EMERG, BTS_CTR_CHREQ_ATTEMPTED_CALL, @@ -670,3 +671,6 @@ enum gsm_bts_type_variant str2btsvariant(const char *arg); const char *btsvariant2str(enum gsm_bts_type_variant v); + +#define BTS_UPTIME_SAMPLE_INTERVAL 1 /* in seconds */ +void bts_update_uptime(struct gsm_bts *bts); diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index af1c8e8..c2de815 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -1209,6 +1209,9 @@ /* Timer for periodic channel load measurements to maintain each BTS's T3122. */ struct osmo_timer_list t3122_chan_load_timer; + /* Timer to update each BTS's uptime counter. */ + struct osmo_timer_list bts_uptime_timer; + struct { struct mgcp_client_conf *conf; struct mgcp_client *client; diff --git a/src/osmo-bsc/bsc_init.c b/src/osmo-bsc/bsc_init.c index b959c9f..0012129 100644 --- a/src/osmo-bsc/bsc_init.c +++ b/src/osmo-bsc/bsc_init.c @@ -85,6 +85,18 @@ osmo_timer_schedule(&net->t3122_chan_load_timer, T3122_CHAN_LOAD_SAMPLE_INTERVAL, 0); } +static void update_bts_uptime_timer(void *data) +{ + struct gsm_network *net = data; + struct gsm_bts *bts; + + llist_for_each_entry(bts, &net->bts_list, list) + bts_update_uptime(bts); + + /* Keep this timer ticking. */ + osmo_timer_schedule(&net->bts_uptime_timer, BTS_UPTIME_SAMPLE_INTERVAL, 0); +} + static struct gsm_network *bsc_network_init(void *ctx) { struct gsm_network *net = gsm_network_init(ctx); @@ -129,6 +141,10 @@ osmo_timer_setup(&net->t3122_chan_load_timer, update_t3122_chan_load_timer, net); osmo_timer_schedule(&net->t3122_chan_load_timer, T3122_CHAN_LOAD_SAMPLE_INTERVAL, 0); + /* init uptime tracking timer */ + osmo_timer_setup(&net->bts_uptime_timer, update_bts_uptime_timer, net); + osmo_timer_schedule(&net->bts_uptime_timer, BTS_UPTIME_SAMPLE_INTERVAL, 0); + net->cbc->net = net; net->cbc->mode = BSC_CBC_LINK_MODE_DISABLED; net->cbc->server.local_addr = bsc_cbc_default_server_local_addr; diff --git a/src/osmo-bsc/bts.c b/src/osmo-bsc/bts.c index 1d0979d..5be4d79 100644 --- a/src/osmo-bsc/bts.c +++ b/src/osmo-bsc/bts.c @@ -762,6 +762,9 @@ } const struct rate_ctr_desc bts_ctr_description[] = { + [BTS_CTR_UPTIME_SEC] = \ + { "uptime:sec", + "Uptime in seconds" }, [BTS_CTR_CHREQ_TOTAL] = \ { "chreq:total", "Received channel requests" }, diff --git a/src/osmo-bsc/bts_ipaccess_nanobts.c b/src/osmo-bsc/bts_ipaccess_nanobts.c index 16fa201..5b0e7e4 100644 --- a/src/osmo-bsc/bts_ipaccess_nanobts.c +++ b/src/osmo-bsc/bts_ipaccess_nanobts.c @@ -64,6 +64,13 @@ return "disconnected"; } +void bts_update_uptime(struct gsm_bts *bts) +{ + if (bts->oml_link && all_trx_rsl_connected_unlocked(bts)) { + rate_ctr_add(&bts->bts_ctrs->ctr[BTS_CTR_UPTIME_SEC], BTS_UPTIME_SAMPLE_INTERVAL); + } +} + struct gsm_bts_model bts_model_nanobts = { .type = GSM_BTS_TYPE_NANOBTS, .name = "nanobts", -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23234 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib17674bbe95e828cebff12de9e0b30f06447ef6c Gerrit-Change-Number: 23234 Gerrit-PatchSet: 1 Gerrit-Owner: iedemam Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 4 13:22:03 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 4 Mar 2021 13:22:03 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3-testsuites-kernel-git: make userfriendly In-Reply-To: References: Message-ID: osmith has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-ci/+/23230 ) Change subject: jobs/ttcn3-testsuites-kernel-git: make userfriendly ...................................................................... jobs/ttcn3-testsuites-kernel-git: make userfriendly Change the description of the job, to make it easier to use for somebody not familiar with the Osmocom stack / the testsuites. Move the BRANCH parameter to the bottom, as it is not relevant for kernel developers who want to test their kernel, and adjust the description. Related: OS#3208 Change-Id: I0968ae716c8e3f32db6f589b28d6066d95ad85ea --- M jobs/ttcn3-testsuites-kernel-git.yml 1 file changed, 14 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/30/23230/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23230 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I0968ae716c8e3f32db6f589b28d6066d95ad85ea Gerrit-Change-Number: 23230 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 4 13:22:31 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 4 Mar 2021 13:22:31 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3-testsuites-kernel-git: make userfriendly In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23230 ) Change subject: jobs/ttcn3-testsuites-kernel-git: make userfriendly ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-ci/+/23230/1/jobs/ttcn3-testsuites-kernel-git.yml File jobs/ttcn3-testsuites-kernel-git.yml: https://gerrit.osmocom.org/c/osmo-ci/+/23230/1/jobs/ttcn3-testsuites-kernel-git.yml at 70 PS1, Line 70: (For development of the test infrastructure, don't change this > paranthesis part at the end instead of at the start of the description? Done -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23230 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I0968ae716c8e3f32db6f589b28d6066d95ad85ea Gerrit-Change-Number: 23230 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 04 Mar 2021 13:22: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 Thu Mar 4 13:26:40 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 4 Mar 2021 13:26:40 +0000 Subject: Change in osmo-bsc[master]: stats: add BTS uptime counter In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23234 ) Change subject: stats: add BTS uptime counter ...................................................................... Patch Set 1: Code-Review-1 I'm not really liking this approach. I think you are abusing the CTR/stats to store some information which doesn't belong here. First of all, the way you count uptime is for sure going to skew after a while from real time, since you don't account for delays in timer scheduling (so let's say you sum 1 second to counter, but you are doing that after eg 1.00XXX seconds every time). Second, "uptime" to me doesn't mean all TRX are unlocked, I would think "uptime" more as "at least 1 TRX serving". In any case, as I said, I have my doubts using counters for counting time is the way to go. IIRC there's already a CTRL command to get the uptime or the status of a given BTS. If you need more speciifc information, you can add new CTRL commands for that (eg uptime start timestamp stored per BTS and then now() - timestmap is provided). -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23234 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib17674bbe95e828cebff12de9e0b30f06447ef6c Gerrit-Change-Number: 23234 Gerrit-PatchSet: 1 Gerrit-Owner: iedemam Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 04 Mar 2021 13:26: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 Mar 4 13:27:26 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 4 Mar 2021 13:27:26 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3-testsuites-kernel-git: make userfriendly In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23230 ) Change subject: jobs/ttcn3-testsuites-kernel-git: make userfriendly ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23230 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I0968ae716c8e3f32db6f589b28d6066d95ad85ea Gerrit-Change-Number: 23230 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 04 Mar 2021 13:27: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 Mar 4 13:38:49 2021 From: gerrit-no-reply at lists.osmocom.org (iedemam) Date: Thu, 4 Mar 2021 13:38:49 +0000 Subject: Change in osmo-bsc[master]: stats: add BTS uptime counter In-Reply-To: References: Message-ID: iedemam has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23234 ) Change subject: stats: add BTS uptime counter ...................................................................... Patch Set 1: Hello, > I'm not really liking this approach. I think you are abusing the CTR/stats to store some information which doesn't belong here. Thanks for the review. I agree this approach is not yet acceptable. However, I do think that storing BTS uptime in the stats system is a valid use of the stats system and a desirable feature for many people. It is shown in the VTY output alongside other metrics already recorded in stat counters. My goal here is to efficiently translate that uptime output into a new statsd counter. > First of all, the way you count uptime is for sure going to skew after a while from real time, since you don't account for delays in timer scheduling (so let's say you sum 1 second to counter, but you are doing that after eg 1.00XXX seconds every time). > Second, "uptime" to me doesn't mean all TRX are unlocked, I would think "uptime" more as "at least 1 TRX serving". I can add precise increments to the counter based on actual elapsed time and not rely on timer scheduling. I can also change uptime to represent your suggestion of "at least 1 TRX serving". Let me know if there is, in general, a more preferable way to add these "non-event" driven metrics to the stats counters. For now I will improve the two things you mention. Thanks again for your time, -Michael -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23234 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib17674bbe95e828cebff12de9e0b30f06447ef6c Gerrit-Change-Number: 23234 Gerrit-PatchSet: 1 Gerrit-Owner: iedemam Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 04 Mar 2021 13:38:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 4 14:08:49 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 4 Mar 2021 14:08:49 +0000 Subject: Change in docker-playground[master]: osmo-msc-latest: implicit libdbd-sqlite3 install References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/23235 ) Change subject: osmo-msc-latest: implicit libdbd-sqlite3 install ...................................................................... osmo-msc-latest: implicit libdbd-sqlite3 install Remove the explicit mention of libdbd-sqlite3, as it is in the depends of osmo-msc now. Related: OS#3771 Change-Id: I0b6d8ea4295021ce5470ee342ed7d89b42886348 --- M osmo-msc-latest/Dockerfile 1 file changed, 1 insertion(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/35/23235/1 diff --git a/osmo-msc-latest/Dockerfile b/osmo-msc-latest/Dockerfile index 2c42e3d..f1710d0 100644 --- a/osmo-msc-latest/Dockerfile +++ b/osmo-msc-latest/Dockerfile @@ -18,13 +18,11 @@ rm /tmp/Release.key && \ echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-latest.list -# libdbd-sqlite3: workaround for OS#3771 ADD $OSMOCOM_REPO/Release /tmp/Release RUN apt-get update && \ apt-get install -y --no-install-recommends \ osmo-msc \ - telnet \ - libdbd-sqlite3 && \ + telnet && \ apt-get clean WORKDIR /tmp -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23235 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I0b6d8ea4295021ce5470ee342ed7d89b42886348 Gerrit-Change-Number: 23235 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 4 14:08:50 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 4 Mar 2021 14:08:50 +0000 Subject: Change in docker-playground[master]: debian-stretch-obs-latest: new container References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/23236 ) Change subject: debian-stretch-obs-latest: new container ...................................................................... debian-stretch-obs-latest: new container Move common code from osmo-*-latest to debian-stretch-obs-latest: * add the OBS repository key * add the OBS repository with "latest" feed * install telnet * invalidate the cache once the repository is updated This is in preparation to make osmo-*-latest work with centos8, preventing the following issues we would have without this refactoring: * avoid need to read the repository index of both debian-stretch and centos8, and to invalidate the cache if either of them changes (instead of just the relevant one). This is currently a problem in osmo-*-master/Dockerfile, Id69f3eaf37f823bac0947366f27a25edd277a4cb will fix it there. * no need to add boilerplate code to install the centos8 repository to each osmo-*-latest/Dockerfile While at it, also remove deprecated MAINTAINER lines. Related: OS#5049 Related: https://docs.docker.com/engine/reference/builder/#maintainer-deprecated Change-Id: I443d52eba416ea298cc5421e280ad2f4ca59283b --- A debian-stretch-obs-latest/Dockerfile A debian-stretch-obs-latest/Makefile R debian-stretch-obs-latest/Release.key M jenkins-common.sh M osmo-bsc-latest/Dockerfile D osmo-bsc-latest/Release.key M osmo-bts-latest/Dockerfile M osmo-cbc-latest/Dockerfile D osmo-cbc-latest/Release.key M osmo-cn-latest/Dockerfile D osmo-cn-latest/Release.key M osmo-gbproxy-latest/Dockerfile D osmo-gbproxy-latest/Release.key M osmo-ggsn-latest/Dockerfile D osmo-ggsn-latest/Release.key M osmo-hlr-latest/Dockerfile D osmo-hlr-latest/Release.key M osmo-hnbgw-latest/Dockerfile D osmo-hnbgw-latest/Release.key M osmo-mgw-latest/Dockerfile D osmo-mgw-latest/Release.key M osmo-msc-latest/Dockerfile M osmo-nitb-latest/Dockerfile D osmo-nitb-latest/Release.key M osmo-pcu-latest/Dockerfile D osmo-pcu-latest/Release.key M osmo-remsim-latest/Dockerfile D osmo-remsim-latest/Release.key M osmo-sgsn-latest/Dockerfile D osmo-sgsn-latest/Release.key M osmo-sip-latest/Dockerfile D osmo-sip-latest/Release.key M osmo-smlc-latest/Dockerfile D osmo-smlc-latest/Release.key M osmo-stp-latest/Dockerfile D osmo-stp-latest/Release.key 36 files changed, 90 insertions(+), 659 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/36/23236/1 diff --git a/debian-stretch-obs-latest/Dockerfile b/debian-stretch-obs-latest/Dockerfile new file mode 100644 index 0000000..3bef05c --- /dev/null +++ b/debian-stretch-obs-latest/Dockerfile @@ -0,0 +1,22 @@ +ARG REGISTRY=docker.io +ARG UPSTREAM_DISTRO=debian:stretch +FROM ${REGISTRY}/${UPSTREAM_DISTRO} +# Arguments used after FROM must be specified again +ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" +ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/latest/Debian_9.0/" + +RUN apt-get update && \ + apt-get upgrade -y && \ + apt-get install -y --no-install-recommends \ + telnet \ + gnupg \ + && \ + apt-get clean + +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-latest.list + +# Invalidate cache once the repository is updated +ADD $OSMOCOM_REPO/Release /tmp/Release diff --git a/debian-stretch-obs-latest/Makefile b/debian-stretch-obs-latest/Makefile new file mode 100644 index 0000000..8d0e10b --- /dev/null +++ b/debian-stretch-obs-latest/Makefile @@ -0,0 +1 @@ +include ../make/Makefile diff --git a/osmo-bts-latest/Release.key b/debian-stretch-obs-latest/Release.key similarity index 100% rename from osmo-bts-latest/Release.key rename to debian-stretch-obs-latest/Release.key diff --git a/jenkins-common.sh b/jenkins-common.sh index 25d5426..b8fc3a2 100644 --- a/jenkins-common.sh +++ b/jenkins-common.sh @@ -8,6 +8,7 @@ docker_depends() { case "$1" in osmo-*-centos8) echo "centos8-build" ;; + osmo-*-latest) echo "debian-stretch-obs-latest" ;; osmo-*) echo "debian-stretch-build" ;; ttcn3-*) echo "debian-stretch-titan" ;; esac diff --git a/osmo-bsc-latest/Dockerfile b/osmo-bsc-latest/Dockerfile index d327a24..bbc3934 100644 --- a/osmo-bsc-latest/Dockerfile +++ b/osmo-bsc-latest/Dockerfile @@ -1,27 +1,10 @@ -ARG REGISTRY=docker.io -ARG UPSTREAM_DISTRO=debian:stretch -FROM ${REGISTRY}/${UPSTREAM_DISTRO} +ARG USER +ARG DISTRO +FROM $USER/$DISTRO-obs-latest # Arguments used after FROM must be specified again -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" - -MAINTAINER Harald Welte - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/latest/Debian_9.0/" - -COPY Release.key /tmp/Release.key RUN apt-get update && \ apt-get install -y --no-install-recommends \ - gnupg - -RUN apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-latest.list - -ADD $OSMOCOM_REPO/Release /tmp/Release -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - telnet \ osmo-bsc \ osmo-bsc-ipaccess-utils && \ apt-get clean diff --git a/osmo-bsc-latest/Release.key b/osmo-bsc-latest/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-bsc-latest/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-bts-latest/Dockerfile b/osmo-bts-latest/Dockerfile index 87d1f23..b576e72 100644 --- a/osmo-bts-latest/Dockerfile +++ b/osmo-bts-latest/Dockerfile @@ -1,28 +1,10 @@ -ARG REGISTRY=docker.io -ARG UPSTREAM_DISTRO=debian:stretch -FROM ${REGISTRY}/${UPSTREAM_DISTRO} +ARG USER +ARG DISTRO +FROM $USER/$DISTRO-obs-latest # Arguments used after FROM must be specified again -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" -MAINTAINER Harald Welte - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/latest/Debian_9.0/" - -COPY Release.key /tmp/Release.key - -ADD $OSMOCOM_REPO/Release /tmp/Release RUN apt-get update && \ apt-get install -y --no-install-recommends \ - gnupg - -RUN apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-latest.list - -ADD $OSMOCOM_REPO/Release /tmp/Release -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - telnet \ osmo-bts-trx \ osmo-bts-virtual && \ apt-get clean diff --git a/osmo-cbc-latest/Dockerfile b/osmo-cbc-latest/Dockerfile index 0b87b1f..91458d8 100644 --- a/osmo-cbc-latest/Dockerfile +++ b/osmo-cbc-latest/Dockerfile @@ -1,28 +1,11 @@ -ARG REGISTRY=docker.io -ARG UPSTREAM_DISTRO=debian:stretch -FROM ${REGISTRY}/${UPSTREAM_DISTRO} +ARG USER +ARG DISTRO +FROM $USER/$DISTRO-obs-latest # Arguments used after FROM must be specified again -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" - -MAINTAINER Harald Welte - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/latest/Debian_9.0/" - -COPY Release.key /tmp/Release.key RUN apt-get update && \ apt-get install -y --no-install-recommends \ - gnupg - -RUN apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-latest.list - -ADD $OSMOCOM_REPO/Release /tmp/Release -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - osmo-cbc \ - telnet && \ + osmo-cbc && \ apt-get clean WORKDIR /data diff --git a/osmo-cbc-latest/Release.key b/osmo-cbc-latest/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-cbc-latest/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-cn-latest/Dockerfile b/osmo-cn-latest/Dockerfile index b2c2a78..3da7175 100644 --- a/osmo-cn-latest/Dockerfile +++ b/osmo-cn-latest/Dockerfile @@ -1,28 +1,18 @@ -ARG REGISTRY=docker.io -ARG UPSTREAM_DISTRO=debian:stretch -FROM ${REGISTRY}/${UPSTREAM_DISTRO} +ARG USER +ARG DISTRO +FROM $USER/$DISTRO-obs-latest # Arguments used after FROM must be specified again -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" - -MAINTAINER Daniel Willmann - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/latest/Debian_9.0/" - -COPY Release.key /tmp/Release.key RUN apt-get update && \ apt-get install -y --no-install-recommends \ - gnupg - -RUN apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-latest.list - -ADD $OSMOCOM_REPO/Release /tmp/Release -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - osmo-msc osmo-hlr osmo-sgsn osmo-ggsn osmo-mgw osmo-stp \ - runit telnet iptables && \ + iptables \ + osmo-ggsn \ + osmo-hlr \ + osmo-mgw \ + osmo-msc \ + osmo-sgsn \ + osmo-stp \ + runit && \ apt-get clean WORKDIR /tmp diff --git a/osmo-cn-latest/Release.key b/osmo-cn-latest/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-cn-latest/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-gbproxy-latest/Dockerfile b/osmo-gbproxy-latest/Dockerfile index 1e53113..22904a1 100644 --- a/osmo-gbproxy-latest/Dockerfile +++ b/osmo-gbproxy-latest/Dockerfile @@ -1,45 +1,19 @@ -ARG REGISTRY=docker.io -ARG UPSTREAM_DISTRO=debian:stretch -FROM ${REGISTRY}/${UPSTREAM_DISTRO} -# Arguments used after FROM must be specified again -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" +ARG USER ARG DISTRO +FROM $USER/$DISTRO-obs-latest +# Arguments used after FROM must be specified again -MAINTAINER Harald Welte - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/latest/Debian_9.0/" - -COPY Release.key /tmp/Release.key - -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - gnupg - -RUN case "$DISTRO" in \ - debian*) \ - apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-latest.list \ - ;; \ - esac - -# we need to add this to invalidate the cache once the repository is updated. -# unfortunately Dockerfiles don't support a conditional ARG, so we need to add both DPKG + RPM -ADD $OSMOCOM_REPO/Release /tmp/Release -ADD $OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/latest/CentOS_8/repodata/repomd.xml /tmp/repomd.xml RUN case "$DISTRO" in \ debian*) \ apt-get update && \ apt-get install -y --no-install-recommends \ osmo-gbproxy \ - telnet \ && \ apt-get clean \ ;; \ centos*) \ dnf install -y \ osmo-gbproxy \ - telnet \ ;; \ *) \ echo "Unsupported distribution $DISTRO" \ diff --git a/osmo-gbproxy-latest/Release.key b/osmo-gbproxy-latest/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-gbproxy-latest/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-ggsn-latest/Dockerfile b/osmo-ggsn-latest/Dockerfile index 7729bfc..82bbef2 100644 --- a/osmo-ggsn-latest/Dockerfile +++ b/osmo-ggsn-latest/Dockerfile @@ -1,24 +1,8 @@ -ARG REGISTRY=docker.io -ARG UPSTREAM_DISTRO=debian:stretch -FROM ${REGISTRY}/${UPSTREAM_DISTRO} +ARG USER +ARG DISTRO +FROM $USER/$DISTRO-obs-latest # Arguments used after FROM must be specified again -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" -MAINTAINER Harald Welte - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/latest/Debian_9.0/" - -COPY Release.key /tmp/Release.key - -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - gnupg - -RUN apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-latest.list - -ADD $OSMOCOM_REPO/Release /tmp/Release # Disable update-initramfs to save time during apt-get install RUN ln -s /bin/true /usr/local/bin/update-initramfs && \ apt-get update && \ @@ -38,8 +22,7 @@ make \ osmo-ggsn \ pax-utils \ - qemu-system-x86 \ - telnet && \ + qemu-system-x86 && \ apt-get clean WORKDIR /tmp diff --git a/osmo-ggsn-latest/Release.key b/osmo-ggsn-latest/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-ggsn-latest/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-hlr-latest/Dockerfile b/osmo-hlr-latest/Dockerfile index 9468634..ed83ac3 100644 --- a/osmo-hlr-latest/Dockerfile +++ b/osmo-hlr-latest/Dockerfile @@ -1,29 +1,12 @@ -ARG REGISTRY=docker.io -ARG UPSTREAM_DISTRO=debian:stretch -FROM ${REGISTRY}/${UPSTREAM_DISTRO} +ARG USER +ARG DISTRO +FROM $USER/$DISTRO-obs-latest # Arguments used after FROM must be specified again -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" -MAINTAINER Harald Welte - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/latest/Debian_9.0/" - -COPY Release.key /tmp/Release.key - -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - gnupg - -RUN apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-latest.list - -ADD $OSMOCOM_REPO/Release /tmp/Release RUN apt-get update && \ apt-get install -y --no-install-recommends \ libdbd-sqlite3 \ - osmo-hlr \ - telnet && \ + osmo-hlr && \ apt-get clean WORKDIR /tmp diff --git a/osmo-hlr-latest/Release.key b/osmo-hlr-latest/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-hlr-latest/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-hnbgw-latest/Dockerfile b/osmo-hnbgw-latest/Dockerfile index 33f9808..81fdead 100644 --- a/osmo-hnbgw-latest/Dockerfile +++ b/osmo-hnbgw-latest/Dockerfile @@ -1,27 +1,10 @@ -ARG REGISTRY=docker.io -ARG UPSTREAM_DISTRO=debian:stretch -FROM ${REGISTRY}/${UPSTREAM_DISTRO} +ARG USER +ARG DISTRO +FROM $USER/$DISTRO-obs-latest # Arguments used after FROM must be specified again -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" - -MAINTAINER Harald Welte - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/latest/Debian_9.0/" - -COPY Release.key /tmp/Release.key RUN apt-get update && \ apt-get install -y --no-install-recommends \ - gnupg - -RUN apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-latest.list - -ADD $OSMOCOM_REPO/Release /tmp/Release -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - telnet \ osmo-hnbgw && \ apt-get clean diff --git a/osmo-hnbgw-latest/Release.key b/osmo-hnbgw-latest/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-hnbgw-latest/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-mgw-latest/Dockerfile b/osmo-mgw-latest/Dockerfile index 4e81a72..52cca6e 100644 --- a/osmo-mgw-latest/Dockerfile +++ b/osmo-mgw-latest/Dockerfile @@ -1,27 +1,10 @@ -ARG REGISTRY=docker.io -ARG UPSTREAM_DISTRO=debian:stretch -FROM ${REGISTRY}/${UPSTREAM_DISTRO} +ARG USER +ARG DISTRO +FROM $USER/$DISTRO-obs-latest # Arguments used after FROM must be specified again -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" - -MAINTAINER Harald Welte - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/latest/Debian_9.0/" - -COPY Release.key /tmp/Release.key RUN apt-get update && \ apt-get install -y --no-install-recommends \ - gnupg - -RUN apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-latest.list - -ADD $OSMOCOM_REPO/Release /tmp/Release -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - telnet \ osmo-mgw && \ apt-get clean diff --git a/osmo-mgw-latest/Release.key b/osmo-mgw-latest/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-mgw-latest/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-msc-latest/Dockerfile b/osmo-msc-latest/Dockerfile index f1710d0..4ff86d3 100644 --- a/osmo-msc-latest/Dockerfile +++ b/osmo-msc-latest/Dockerfile @@ -1,28 +1,11 @@ -ARG REGISTRY=docker.io -ARG UPSTREAM_DISTRO=debian:stretch -FROM ${REGISTRY}/${UPSTREAM_DISTRO} +ARG USER +ARG DISTRO +FROM $USER/$DISTRO-obs-latest # Arguments used after FROM must be specified again -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" - -MAINTAINER Harald Welte - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/latest/Debian_9.0/" - -COPY Release.key /tmp/Release.key RUN apt-get update && \ apt-get install -y --no-install-recommends \ - gnupg - -RUN apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-latest.list - -ADD $OSMOCOM_REPO/Release /tmp/Release -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - osmo-msc \ - telnet && \ + osmo-msc && \ apt-get clean WORKDIR /tmp diff --git a/osmo-nitb-latest/Dockerfile b/osmo-nitb-latest/Dockerfile index aae7f84..c711f8d 100644 --- a/osmo-nitb-latest/Dockerfile +++ b/osmo-nitb-latest/Dockerfile @@ -1,24 +1,8 @@ -ARG REGISTRY=docker.io -ARG UPSTREAM_DISTRO=debian:stretch -FROM ${REGISTRY}/${UPSTREAM_DISTRO} +ARG USER +ARG DISTRO +FROM $USER/$DISTRO-obs-latest # Arguments used after FROM must be specified again -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" -MAINTAINER Harald Welte - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/latest/Debian_9.0/" - -COPY Release.key /tmp/Release.key - -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - gnupg - -RUN apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-latest.list - -ADD $OSMOCOM_REPO/Release /tmp/Release RUN apt-get update && \ apt-get install -y --no-install-recommends \ osmocom-nitb \ diff --git a/osmo-nitb-latest/Release.key b/osmo-nitb-latest/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-nitb-latest/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-pcu-latest/Dockerfile b/osmo-pcu-latest/Dockerfile index c259d3c..4714bf2 100644 --- a/osmo-pcu-latest/Dockerfile +++ b/osmo-pcu-latest/Dockerfile @@ -1,28 +1,10 @@ -ARG REGISTRY=docker.io -ARG UPSTREAM_DISTRO=debian:stretch -FROM ${REGISTRY}/${UPSTREAM_DISTRO} +ARG USER +ARG DISTRO +FROM $USER/$DISTRO-obs-latest # Arguments used after FROM must be specified again -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" -MAINTAINER Harald Welte - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/latest/Debian_9.0/" - -COPY Release.key /tmp/Release.key - -ADD $OSMOCOM_REPO/Release /tmp/Release RUN apt-get update && \ apt-get install -y --no-install-recommends \ - gnupg - -RUN apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-latest.list - -ADD $OSMOCOM_REPO/Release /tmp/Release -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - telnet \ osmo-pcu && \ apt-get clean diff --git a/osmo-pcu-latest/Release.key b/osmo-pcu-latest/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-pcu-latest/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-remsim-latest/Dockerfile b/osmo-remsim-latest/Dockerfile index 56ae863..db1aa05 100644 --- a/osmo-remsim-latest/Dockerfile +++ b/osmo-remsim-latest/Dockerfile @@ -1,28 +1,10 @@ -ARG REGISTRY=docker.io -ARG UPSTREAM_DISTRO=debian:stretch -FROM ${REGISTRY}/${UPSTREAM_DISTRO} +ARG USER +ARG DISTRO +FROM $USER/$DISTRO-obs-latest # Arguments used after FROM must be specified again -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" -MAINTAINER Harald Welte - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/latest/Debian_9.0/" - -COPY Release.key /tmp/Release.key - -ADD $OSMOCOM_REPO/Release /tmp/Release RUN apt-get update && \ apt-get install -y --no-install-recommends \ - gnupg - -RUN apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-latest.list - -ADD $OSMOCOM_REPO/Release /tmp/Release -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - telnet \ osmo-remsim-server \ osmo-remsim-client \ osmo-remsim-bankd && \ diff --git a/osmo-remsim-latest/Release.key b/osmo-remsim-latest/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-remsim-latest/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-sgsn-latest/Dockerfile b/osmo-sgsn-latest/Dockerfile index 324b1be..c3b1410 100644 --- a/osmo-sgsn-latest/Dockerfile +++ b/osmo-sgsn-latest/Dockerfile @@ -1,27 +1,10 @@ -ARG REGISTRY=docker.io -ARG UPSTREAM_DISTRO=debian:stretch -FROM ${REGISTRY}/${UPSTREAM_DISTRO} +ARG USER +ARG DISTRO +FROM $USER/$DISTRO-obs-latest # Arguments used after FROM must be specified again -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" - -MAINTAINER Harald Welte - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/latest/Debian_9.0/" - -COPY Release.key /tmp/Release.key RUN apt-get update && \ apt-get install -y --no-install-recommends \ - gnupg - -RUN apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-latest.list - -ADD $OSMOCOM_REPO/Release /tmp/Release -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - telnet \ osmo-sgsn && \ apt-get clean diff --git a/osmo-sgsn-latest/Release.key b/osmo-sgsn-latest/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-sgsn-latest/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-sip-latest/Dockerfile b/osmo-sip-latest/Dockerfile index 7b3bc2c..79dbf55 100644 --- a/osmo-sip-latest/Dockerfile +++ b/osmo-sip-latest/Dockerfile @@ -1,28 +1,11 @@ -ARG REGISTRY=docker.io -ARG UPSTREAM_DISTRO=debian:stretch -FROM ${REGISTRY}/${UPSTREAM_DISTRO} +ARG USER +ARG DISTRO +FROM $USER/$DISTRO-obs-latest # Arguments used after FROM must be specified again -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" - -MAINTAINER Harald Welte - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/latest/Debian_9.0/" - -COPY Release.key /tmp/Release.key RUN apt-get update && \ apt-get install -y --no-install-recommends \ - gnupg - -RUN apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-latest.list - -ADD $OSMOCOM_REPO/Release /tmp/Release -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - osmo-sip-connector \ - telnet && \ + osmo-sip-connector && \ apt-get clean WORKDIR /tmp diff --git a/osmo-sip-latest/Release.key b/osmo-sip-latest/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-sip-latest/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-smlc-latest/Dockerfile b/osmo-smlc-latest/Dockerfile index d367ee4..51e290a 100644 --- a/osmo-smlc-latest/Dockerfile +++ b/osmo-smlc-latest/Dockerfile @@ -1,28 +1,11 @@ -ARG REGISTRY=docker.io -ARG UPSTREAM_DISTRO=debian:stretch -FROM ${REGISTRY}/${UPSTREAM_DISTRO} +ARG USER +ARG DISTRO +FROM $USER/$DISTRO-obs-latest # Arguments used after FROM must be specified again -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" - -MAINTAINER Harald Welte - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/latest/Debian_9.0/" - -COPY Release.key /tmp/Release.key RUN apt-get update && \ apt-get install -y --no-install-recommends \ - gnupg - -RUN apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-latest.list - -ADD $OSMOCOM_REPO/Release /tmp/Release -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - osmo-smlc \ - telnet && \ + osmo-smlc && \ apt-get clean WORKDIR /data diff --git a/osmo-smlc-latest/Release.key b/osmo-smlc-latest/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-smlc-latest/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-stp-latest/Dockerfile b/osmo-stp-latest/Dockerfile index 1a55ee8..c139af4 100644 --- a/osmo-stp-latest/Dockerfile +++ b/osmo-stp-latest/Dockerfile @@ -1,28 +1,11 @@ -ARG REGISTRY=docker.io -ARG UPSTREAM_DISTRO=debian:stretch -FROM ${REGISTRY}/${UPSTREAM_DISTRO} +ARG USER +ARG DISTRO +FROM $USER/$DISTRO-obs-latest # Arguments used after FROM must be specified again -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" - -MAINTAINER Harald Welte - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/latest/Debian_9.0/" - -COPY Release.key /tmp/Release.key RUN apt-get update && \ apt-get install -y --no-install-recommends \ - gnupg - -RUN apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-latest.list - -ADD $OSMOCOM_REPO/Release /tmp/Release -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - osmo-stp \ - telnet && \ + osmo-stp && \ apt-get clean WORKDIR /data diff --git a/osmo-stp-latest/Release.key b/osmo-stp-latest/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-stp-latest/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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----- -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23236 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I443d52eba416ea298cc5421e280ad2f4ca59283b Gerrit-Change-Number: 23236 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 4 14:08:50 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 4 Mar 2021 14:08:50 +0000 Subject: Change in docker-playground[master]: osmo-*-latest: support centos8 References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/23237 ) Change subject: osmo-*-latest: support centos8 ...................................................................... osmo-*-latest: support centos8 Add a new centos8-obs-latest container with shared code (just like debian-stretch-obs-latest) and adjust the package install blocks in osmo-*-latest. Related: OS#5049 Change-Id: I274b31d4903df07e99fd434af25bdb72991f6923 --- A centos8-obs-latest/Dockerfile A centos8-obs-latest/Makefile M jenkins-common.sh M osmo-bsc-latest/Dockerfile M osmo-bts-latest/Dockerfile M osmo-cbc-latest/Dockerfile M osmo-gbproxy-latest/Dockerfile M osmo-ggsn-latest/Dockerfile M osmo-hlr-latest/Dockerfile M osmo-mgw-latest/Dockerfile M osmo-msc-latest/Dockerfile M osmo-nitb-latest/Dockerfile M osmo-pcu-latest/Dockerfile M osmo-sgsn-latest/Dockerfile M osmo-sip-latest/Dockerfile M osmo-smlc-latest/Dockerfile M osmo-stp-latest/Dockerfile 17 files changed, 205 insertions(+), 67 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/37/23237/1 diff --git a/centos8-obs-latest/Dockerfile b/centos8-obs-latest/Dockerfile new file mode 100644 index 0000000..4b2357b --- /dev/null +++ b/centos8-obs-latest/Dockerfile @@ -0,0 +1,21 @@ +ARG REGISTRY=docker.io +ARG UPSTREAM_DISTRO=centos:centos8 +FROM ${REGISTRY}/${UPSTREAM_DISTRO} +# Arguments used after FROM must be specified again +ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" + +# Let package metadata expire after 60 seconds instead of 48 hours +RUN echo "metadata_expire=60" >> /etc/dnf/dnf.conf && cat /etc/dnf/dnf.conf + +# Make additional development libraries available from PowerTools and set up +# Osmocom latest OBS repository +RUN dnf install -y dnf-utils wget && \ + yum config-manager --set-enabled powertools && \ + cd /etc/yum.repos.d/ && \ + wget $OSMOCOM_REPO_MIRROR/repositories/network:osmocom:latest/CentOS_8/network:osmocom:latest.repo + +RUN dnf install -y \ + telnet + +# Invalidate cache once the repository is updated +ADD $OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/latest/CentOS_8/repodata/repomd.xml /tmp/repomd.xml diff --git a/centos8-obs-latest/Makefile b/centos8-obs-latest/Makefile new file mode 100644 index 0000000..cba5cee --- /dev/null +++ b/centos8-obs-latest/Makefile @@ -0,0 +1,3 @@ +UPSTREAM_DISTRO:=centos:centos8 +DISTRO:=centos8 +include ../make/Makefile diff --git a/jenkins-common.sh b/jenkins-common.sh index b8fc3a2..6c27fae 100644 --- a/jenkins-common.sh +++ b/jenkins-common.sh @@ -7,6 +7,7 @@ docker_depends() { case "$1" in + osmo-*-latest-centos8) echo "centos8-obs-latest" ;; osmo-*-centos8) echo "centos8-build" ;; osmo-*-latest) echo "debian-stretch-obs-latest" ;; osmo-*) echo "debian-stretch-build" ;; diff --git a/osmo-bsc-latest/Dockerfile b/osmo-bsc-latest/Dockerfile index bbc3934..3352ed2 100644 --- a/osmo-bsc-latest/Dockerfile +++ b/osmo-bsc-latest/Dockerfile @@ -2,12 +2,22 @@ ARG DISTRO FROM $USER/$DISTRO-obs-latest # Arguments used after FROM must be specified again +ARG DISTRO -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - osmo-bsc \ - osmo-bsc-ipaccess-utils && \ - apt-get clean +RUN case "$DISTRO" in \ + debian*) \ + apt-get update && \ + apt-get install -y --no-install-recommends \ + osmo-bsc \ + osmo-bsc-ipaccess-utils && \ + apt-get clean \ + ;; \ + centos*) \ + dnf install -y \ + osmo-bsc \ + osmo-bsc-ipaccess-utils \ + ;; \ + esac WORKDIR /tmp diff --git a/osmo-bts-latest/Dockerfile b/osmo-bts-latest/Dockerfile index b576e72..6e835d5 100644 --- a/osmo-bts-latest/Dockerfile +++ b/osmo-bts-latest/Dockerfile @@ -2,12 +2,22 @@ ARG DISTRO FROM $USER/$DISTRO-obs-latest # Arguments used after FROM must be specified again +ARG DISTRO -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - osmo-bts-trx \ - osmo-bts-virtual && \ - apt-get clean +RUN case "$DISTRO" in \ + debian*) \ + apt-get update && \ + apt-get install -y --no-install-recommends \ + osmo-bts-trx \ + osmo-bts-virtual && \ + apt-get clean \ + ;; \ + centos*) \ + dnf install -y \ + osmo-bts \ + osmo-bts-virtual \ + ;; \ + esac ADD respawn.sh /usr/local/bin/respawn.sh diff --git a/osmo-cbc-latest/Dockerfile b/osmo-cbc-latest/Dockerfile index 91458d8..d919dae 100644 --- a/osmo-cbc-latest/Dockerfile +++ b/osmo-cbc-latest/Dockerfile @@ -2,11 +2,20 @@ ARG DISTRO FROM $USER/$DISTRO-obs-latest # Arguments used after FROM must be specified again +ARG DISTRO -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - osmo-cbc && \ - apt-get clean +RUN case "$DISTRO" in \ + debian*) \ + apt-get update && \ + apt-get install -y --no-install-recommends \ + osmo-cbc && \ + apt-get clean \ + ;; \ + centos*) \ + dnf install -y \ + osmo-cbc \ + ;; \ + esac WORKDIR /data diff --git a/osmo-gbproxy-latest/Dockerfile b/osmo-gbproxy-latest/Dockerfile index 22904a1..7c729a5 100644 --- a/osmo-gbproxy-latest/Dockerfile +++ b/osmo-gbproxy-latest/Dockerfile @@ -2,6 +2,7 @@ ARG DISTRO FROM $USER/$DISTRO-obs-latest # Arguments used after FROM must be specified again +ARG DISTRO RUN case "$DISTRO" in \ debian*) \ diff --git a/osmo-ggsn-latest/Dockerfile b/osmo-ggsn-latest/Dockerfile index 82bbef2..0da9703 100644 --- a/osmo-ggsn-latest/Dockerfile +++ b/osmo-ggsn-latest/Dockerfile @@ -2,28 +2,38 @@ ARG DISTRO FROM $USER/$DISTRO-obs-latest # Arguments used after FROM must be specified again +ARG DISTRO +# Install additional debian depends for kernel module test (OS#3208) # Disable update-initramfs to save time during apt-get install -RUN ln -s /bin/true /usr/local/bin/update-initramfs && \ - apt-get update && \ - apt-get install -y --no-install-recommends \ - bc \ - bison \ - bridge-utils \ - busybox-static \ - ca-certificates \ - flex \ - gcc \ - git \ - libc6-dev \ - libelf-dev \ - libssl-dev \ - linux-image-amd64 \ - make \ - osmo-ggsn \ - pax-utils \ - qemu-system-x86 && \ - apt-get clean +RUN case "$DISTRO" in \ + debian*) \ + ln -s /bin/true /usr/local/bin/update-initramfs && \ + apt-get update && \ + apt-get install -y --no-install-recommends \ + bc \ + bison \ + bridge-utils \ + busybox-static \ + ca-certificates \ + flex \ + gcc \ + git \ + libc6-dev \ + libelf-dev \ + libssl-dev \ + linux-image-amd64 \ + make \ + osmo-ggsn \ + pax-utils \ + qemu-system-x86 && \ + apt-get clean \ + ;; \ + centos*) \ + dnf install -y \ + osmo-ggsn \ + ;; \ + esac WORKDIR /tmp diff --git a/osmo-hlr-latest/Dockerfile b/osmo-hlr-latest/Dockerfile index ed83ac3..ece7aa6 100644 --- a/osmo-hlr-latest/Dockerfile +++ b/osmo-hlr-latest/Dockerfile @@ -2,12 +2,21 @@ ARG DISTRO FROM $USER/$DISTRO-obs-latest # Arguments used after FROM must be specified again +ARG DISTRO -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - libdbd-sqlite3 \ - osmo-hlr && \ - apt-get clean +RUN case "$DISTRO" in \ + debian*) \ + apt-get update && \ + apt-get install -y --no-install-recommends \ + libdbd-sqlite3 \ + osmo-hlr && \ + apt-get clean \ + ;; \ + centos*) \ + dnf install -y \ + osmo-hlr \ + ;; \ + esac WORKDIR /tmp diff --git a/osmo-mgw-latest/Dockerfile b/osmo-mgw-latest/Dockerfile index 52cca6e..5b01fe8 100644 --- a/osmo-mgw-latest/Dockerfile +++ b/osmo-mgw-latest/Dockerfile @@ -2,11 +2,20 @@ ARG DISTRO FROM $USER/$DISTRO-obs-latest # Arguments used after FROM must be specified again +ARG DISTRO -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - osmo-mgw && \ - apt-get clean +RUN case "$DISTRO" in \ + debian*) \ + apt-get update && \ + apt-get install -y --no-install-recommends \ + osmo-mgw && \ + apt-get clean \ + ;; \ + centos*) \ + dnf install -y \ + osmo-mgw \ + ;; \ + esac WORKDIR /tmp diff --git a/osmo-msc-latest/Dockerfile b/osmo-msc-latest/Dockerfile index 4ff86d3..d2c1107 100644 --- a/osmo-msc-latest/Dockerfile +++ b/osmo-msc-latest/Dockerfile @@ -2,11 +2,20 @@ ARG DISTRO FROM $USER/$DISTRO-obs-latest # Arguments used after FROM must be specified again +ARG DISTRO -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - osmo-msc && \ - apt-get clean +RUN case "$DISTRO" in \ + debian*) \ + apt-get update && \ + apt-get install -y --no-install-recommends \ + osmo-msc && \ + apt-get clean \ + ;; \ + centos*) \ + dnf install -y \ + osmo-msc \ + ;; \ + esac WORKDIR /tmp diff --git a/osmo-nitb-latest/Dockerfile b/osmo-nitb-latest/Dockerfile index c711f8d..8c3acb8 100644 --- a/osmo-nitb-latest/Dockerfile +++ b/osmo-nitb-latest/Dockerfile @@ -2,6 +2,7 @@ ARG DISTRO FROM $USER/$DISTRO-obs-latest # Arguments used after FROM must be specified again +ARG DISTRO RUN apt-get update && \ apt-get install -y --no-install-recommends \ diff --git a/osmo-pcu-latest/Dockerfile b/osmo-pcu-latest/Dockerfile index 4714bf2..622f933 100644 --- a/osmo-pcu-latest/Dockerfile +++ b/osmo-pcu-latest/Dockerfile @@ -2,11 +2,20 @@ ARG DISTRO FROM $USER/$DISTRO-obs-latest # Arguments used after FROM must be specified again +ARG DISTRO -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - osmo-pcu && \ - apt-get clean +RUN case "$DISTRO" in \ + debian*) \ + apt-get update && \ + apt-get install -y --no-install-recommends \ + osmo-pcu && \ + apt-get clean \ + ;; \ + centos*) \ + dnf install -y \ + osmo-pcu \ + ;; \ + esac ADD respawn.sh /usr/local/bin/respawn.sh diff --git a/osmo-sgsn-latest/Dockerfile b/osmo-sgsn-latest/Dockerfile index c3b1410..21728c9 100644 --- a/osmo-sgsn-latest/Dockerfile +++ b/osmo-sgsn-latest/Dockerfile @@ -2,11 +2,20 @@ ARG DISTRO FROM $USER/$DISTRO-obs-latest # Arguments used after FROM must be specified again +ARG DISTRO -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - osmo-sgsn && \ - apt-get clean +RUN case "$DISTRO" in \ + debian*) \ + apt-get update && \ + apt-get install -y --no-install-recommends \ + osmo-sgsn && \ + apt-get clean \ + ;; \ + centos*) \ + dnf install -y \ + osmo-sgsn \ + ;; \ + esac WORKDIR /tmp diff --git a/osmo-sip-latest/Dockerfile b/osmo-sip-latest/Dockerfile index 79dbf55..825735c 100644 --- a/osmo-sip-latest/Dockerfile +++ b/osmo-sip-latest/Dockerfile @@ -2,11 +2,20 @@ ARG DISTRO FROM $USER/$DISTRO-obs-latest # Arguments used after FROM must be specified again +ARG DISTRO -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - osmo-sip-connector && \ - apt-get clean +RUN case "$DISTRO" in \ + debian*) \ + apt-get update && \ + apt-get install -y --no-install-recommends \ + osmo-sip-connector && \ + apt-get clean \ + ;; \ + centos*) \ + dnf install -y \ + osmo-sip-connector \ + ;; \ + esac WORKDIR /tmp diff --git a/osmo-smlc-latest/Dockerfile b/osmo-smlc-latest/Dockerfile index 51e290a..12487ec 100644 --- a/osmo-smlc-latest/Dockerfile +++ b/osmo-smlc-latest/Dockerfile @@ -2,11 +2,20 @@ ARG DISTRO FROM $USER/$DISTRO-obs-latest # Arguments used after FROM must be specified again +ARG DISTRO -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - osmo-smlc && \ - apt-get clean +RUN case "$DISTRO" in \ + debian*) \ + apt-get update && \ + apt-get install -y --no-install-recommends \ + osmo-smlc && \ + apt-get clean \ + ;; \ + centos*) \ + dnf install -y \ + osmo-smlc \ + ;; \ + esac WORKDIR /data diff --git a/osmo-stp-latest/Dockerfile b/osmo-stp-latest/Dockerfile index c139af4..d3279f0 100644 --- a/osmo-stp-latest/Dockerfile +++ b/osmo-stp-latest/Dockerfile @@ -2,11 +2,20 @@ ARG DISTRO FROM $USER/$DISTRO-obs-latest # Arguments used after FROM must be specified again +ARG DISTRO -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - osmo-stp && \ - apt-get clean +RUN case "$DISTRO" in \ + debian*) \ + apt-get update && \ + apt-get install -y --no-install-recommends \ + osmo-stp && \ + apt-get clean \ + ;; \ + centos*) \ + dnf install -y \ + osmo-stp \ + ;; \ + esac WORKDIR /data -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23237 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I274b31d4903df07e99fd434af25bdb72991f6923 Gerrit-Change-Number: 23237 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 4 14:08:50 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 4 Mar 2021 14:08:50 +0000 Subject: Change in docker-playground[master]: osmo-*-master: move common code to *-build References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/23238 ) Change subject: osmo-*-master: move common code to *-build ...................................................................... osmo-*-master: move common code to *-build Move common code from osmo-*-master to debian-stretch-build and centos8-build: * add the OBS repository key (debian only) * add the OBS repository with "nightly" feed (debian only, already done for centos8) * install telnet * invalidate the cache once the repository is updated While at it, remove deprecated MAINTAINER lines. This fixes the need to read both the repository index of debian-stretch and centos8 and having to invalidate the cache if either of them changes (instead of reading just the relevant index and invalidating the cache only if the relevant one changes). A similar change was done with osmo-*-latest in I443d52eba416ea298cc5421e280ad2f4ca59283b. Related: OS#5049 Related: https://docs.docker.com/engine/reference/builder/#maintainer-deprecated Change-Id: Id69f3eaf37f823bac0947366f27a25edd277a4cb --- M centos8-build/Dockerfile M debian-stretch-build/Dockerfile R debian-stretch-build/Release.key M osmo-bsc-master/Dockerfile M osmo-bts-master/Dockerfile D osmo-bts-master/Release.key M osmo-cbc-master/Dockerfile D osmo-cbc-master/Release.key M osmo-gbproxy-master/Dockerfile D osmo-gbproxy-master/Release.key M osmo-ggsn-master/Dockerfile D osmo-ggsn-master/Release.key M osmo-hlr-master/Dockerfile D osmo-hlr-master/Release.key M osmo-hnbgw-master/Dockerfile D osmo-hnbgw-master/Release.key M osmo-mgw-master/Dockerfile D osmo-mgw-master/Release.key M osmo-msc-master/Dockerfile D osmo-msc-master/Release.key M osmo-nitb-master/Dockerfile D osmo-nitb-master/Release.key M osmo-pcu-master/Dockerfile D osmo-pcu-master/Release.key M osmo-remsim-master/Dockerfile D osmo-remsim-master/Release.key M osmo-sgsn-master/Dockerfile D osmo-sgsn-master/Release.key M osmo-sip-master/Dockerfile D osmo-sip-master/Release.key M osmo-smlc-master/Dockerfile D osmo-smlc-master/Release.key M osmo-stp-master/Dockerfile D osmo-stp-master/Release.key M osmo-uecups-master/Dockerfile D osmo-uecups-master/Release.key 36 files changed, 25 insertions(+), 677 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/38/23238/1 diff --git a/centos8-build/Dockerfile b/centos8-build/Dockerfile index 1130f34..412816c 100644 --- a/centos8-build/Dockerfile +++ b/centos8-build/Dockerfile @@ -1,6 +1,7 @@ ARG REGISTRY=docker.io ARG UPSTREAM_DISTRO=centos:centos8 FROM ${REGISTRY}/${UPSTREAM_DISTRO} +# Arguments used after FROM must be specified again ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" # Let package metadata expire after 60 seconds instead of 48 hours @@ -46,4 +47,8 @@ pkg-config \ readline-devel \ sqlite \ - sqlite-devel + sqlite-devel \ + telnet + +# Invalidate cache once the repository is updated +ADD $OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/latest/CentOS_8/repodata/repomd.xml /tmp/repomd.xml diff --git a/debian-stretch-build/Dockerfile b/debian-stretch-build/Dockerfile index 96e92de..a98fa3e 100644 --- a/debian-stretch-build/Dockerfile +++ b/debian-stretch-build/Dockerfile @@ -1,8 +1,9 @@ ARG REGISTRY=docker.io ARG UPSTREAM_DISTRO=debian:stretch FROM ${REGISTRY}/${UPSTREAM_DISTRO} - -MAINTAINER Harald Welte +# Arguments used after FROM must be specified again +ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" +ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/Debian_9.0/" RUN apt-get update && \ apt-get upgrade -y && \ @@ -53,5 +54,14 @@ pkg-config \ sqlite3 \ stow \ + telnet \ wget && \ apt-get clean + +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 + +# Invalidate cache once the repository is updated +ADD $OSMOCOM_REPO/Release /tmp/Release diff --git a/osmo-bsc-master/Release.key b/debian-stretch-build/Release.key similarity index 100% rename from osmo-bsc-master/Release.key rename to debian-stretch-build/Release.key diff --git a/osmo-bsc-master/Dockerfile b/osmo-bsc-master/Dockerfile index 1c0b04a..32ded30 100644 --- a/osmo-bsc-master/Dockerfile +++ b/osmo-bsc-master/Dockerfile @@ -1,34 +1,13 @@ ARG USER ARG DISTRO -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" FROM $USER/$DISTRO-build # Arguments used after FROM must be specified again ARG DISTRO -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" -MAINTAINER Harald Welte - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/Debian_9.0/" - -COPY Release.key /tmp/Release.key - -RUN case "$DISTRO" in \ - debian*) \ - apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list \ - ;; \ - esac - -# we need to add this to invalidate the cache once the repository is updated. -# unfortunately Dockerfiles don't support a conditional ARG, so we need to add both DPKG + RPM -ADD $OSMOCOM_REPO/Release /tmp/Release -ADD $OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/CentOS_8/repodata/repomd.xml /tmp/repomd.xml RUN case "$DISTRO" in \ debian*) \ apt-get update && \ apt-get install -y --no-install-recommends \ - telnet \ libosmocore-dev \ libosmo-abis-dev \ libosmo-netif-dev \ diff --git a/osmo-bts-master/Dockerfile b/osmo-bts-master/Dockerfile index 4699b2b..13df628 100644 --- a/osmo-bts-master/Dockerfile +++ b/osmo-bts-master/Dockerfile @@ -1,34 +1,13 @@ ARG USER ARG DISTRO -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" FROM $USER/$DISTRO-build # Arguments used after FROM must be specified again ARG DISTRO -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" -MAINTAINER Harald Welte - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/Debian_9.0/" - -COPY Release.key /tmp/Release.key - -RUN case "$DISTRO" in \ - debian*) \ - apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list \ - ;; \ - esac - -# we need to add this to invalidate the cache once the repository is updated. -# unfortunately Dockerfiles don't support a conditional ARG, so we need to add both DPKG + RPM -ADD $OSMOCOM_REPO/Release /tmp/Release -ADD $OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/CentOS_8/repodata/repomd.xml /tmp/repomd.xml RUN case "$DISTRO" in \ debian*) \ apt-get update && \ apt-get install -y --no-install-recommends \ - telnet \ libosmocore-dev \ libosmo-abis-dev \ libosmo-netif-dev \ @@ -48,7 +27,6 @@ "pkgconfig(libosmogsm)" \ "pkgconfig(libosmotrau)" \ "pkgconfig(libosmovty)" \ - telnet \ ;; \ esac diff --git a/osmo-bts-master/Release.key b/osmo-bts-master/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-bts-master/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-cbc-master/Dockerfile b/osmo-cbc-master/Dockerfile index c305ac4..7b2811f 100644 --- a/osmo-cbc-master/Dockerfile +++ b/osmo-cbc-master/Dockerfile @@ -1,34 +1,13 @@ ARG USER ARG DISTRO -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" FROM $USER/$DISTRO-build # Arguments used after FROM must be specified again ARG DISTRO -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" -MAINTAINER Harald Welte - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/Debian_9.0/" - -COPY Release.key /tmp/Release.key - -RUN case "$DISTRO" in \ - debian*) \ - apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list \ - ;; \ - esac - -# we need to add this to invalidate the cache once the repository is updated. -# unfortunately Dockerfiles don't support a conditional ARG, so we need to add both DPKG + RPM -ADD $OSMOCOM_REPO/Release /tmp/Release -ADD $OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/CentOS_8/repodata/repomd.xml /tmp/repomd.xml RUN case "$DISTRO" in \ debian*) \ apt-get update && \ apt-get install -y --no-install-recommends \ - telnet \ libosmocore-dev \ libosmo-netif-dev \ libulfius-dev \ diff --git a/osmo-cbc-master/Release.key b/osmo-cbc-master/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-cbc-master/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-gbproxy-master/Dockerfile b/osmo-gbproxy-master/Dockerfile index 9df1ee7..61463c5 100644 --- a/osmo-gbproxy-master/Dockerfile +++ b/osmo-gbproxy-master/Dockerfile @@ -3,31 +3,11 @@ FROM $USER/$DISTRO-build # Arguments used after FROM must be specified again ARG DISTRO -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" -MAINTAINER Harald Welte - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/Debian_9.0/" - -COPY Release.key /tmp/Release.key - -RUN case "$DISTRO" in \ - debian*) \ - apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list \ - ;; \ - esac - -# we need to add this to invalidate the cache once the repository is updated. -# unfortunately Dockerfiles don't support a conditional ARG, so we need to add both DPKG + RPM -ADD $OSMOCOM_REPO/Release /tmp/Release -ADD $OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/CentOS_8/repodata/repomd.xml /tmp/repomd.xml RUN case "$DISTRO" in \ debian*) \ apt-get update && \ apt-get install -y --no-install-recommends \ - telnet \ libosmocore-dev \ libosmo-abis-dev \ libosmo-netif-dev \ @@ -36,7 +16,6 @@ ;; \ centos*) \ dnf install -y \ - telnet \ "pkgconfig(libosmo-netif)" \ "pkgconfig(libosmoabis)" \ "pkgconfig(libosmocore)" \ diff --git a/osmo-gbproxy-master/Release.key b/osmo-gbproxy-master/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-gbproxy-master/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-ggsn-master/Dockerfile b/osmo-ggsn-master/Dockerfile index 72dcafe..c3afb68 100644 --- a/osmo-ggsn-master/Dockerfile +++ b/osmo-ggsn-master/Dockerfile @@ -1,29 +1,9 @@ ARG USER ARG DISTRO -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" FROM $USER/$DISTRO-build # Arguments used after FROM must be specified again ARG DISTRO -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" -MAINTAINER Harald Welte - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/Debian_9.0/" - -COPY Release.key /tmp/Release.key - -RUN case "$DISTRO" in \ - debian*) \ - apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list \ - ;; \ - esac - -# we need to add this to invalidate the cache once the repository is updated. -# unfortunately Dockerfiles don't support a conditional ARG, so we need to add both DPKG + RPM -ADD $OSMOCOM_REPO/Release /tmp/Release -ADD $OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/CentOS_8/repodata/repomd.xml /tmp/repomd.xml # Disable update-initramfs to save time during apt-get install RUN case "$DISTRO" in \ debian*) \ @@ -39,13 +19,11 @@ libosmocore-dev \ linux-image-amd64 \ pax-utils \ - qemu-system-x86 \ - telnet && \ + qemu-system-x86 && \ apt-get clean \ ;; \ centos*) \ dnf install -y \ - telnet \ "pkgconfig(libgtpnl)" \ "pkgconfig(libmnl)" \ "pkgconfig(libosmocore)" \ diff --git a/osmo-ggsn-master/Release.key b/osmo-ggsn-master/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-ggsn-master/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-hlr-master/Dockerfile b/osmo-hlr-master/Dockerfile index 2f7a165..9ddc193 100644 --- a/osmo-hlr-master/Dockerfile +++ b/osmo-hlr-master/Dockerfile @@ -1,29 +1,9 @@ ARG USER ARG DISTRO -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" FROM $USER/$DISTRO-build # Arguments used after FROM must be specified again ARG DISTRO -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" -MAINTAINER Harald Welte - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/Debian_9.0/" - -COPY Release.key /tmp/Release.key - -RUN case "$DISTRO" in \ - debian*) \ - apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list \ - ;; \ - esac - -# we need to add this to invalidate the cache once the repository is updated. -# unfortunately Dockerfiles don't support a conditional ARG, so we need to add both DPKG + RPM -ADD $OSMOCOM_REPO/Release /tmp/Release -ADD $OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/CentOS_8/repodata/repomd.xml /tmp/repomd.xml RUN case "$DISTRO" in \ debian*) \ apt-get update && \ @@ -32,8 +12,7 @@ libosmo-abis-dev \ libosmo-netif-dev \ libosmo-sigtran-dev \ - libosmocore-dev \ - telnet && \ + libosmocore-dev && \ apt-get clean \ ;; \ centos*) \ @@ -44,7 +23,6 @@ "pkgconfig(libosmogsm)" \ "pkgconfig(libosmovty)" \ python3 \ - telnet \ ;; \ esac diff --git a/osmo-hlr-master/Release.key b/osmo-hlr-master/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-hlr-master/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-hnbgw-master/Dockerfile b/osmo-hnbgw-master/Dockerfile index ed35431..9101e0c 100644 --- a/osmo-hnbgw-master/Dockerfile +++ b/osmo-hnbgw-master/Dockerfile @@ -1,27 +1,11 @@ ARG USER ARG DISTRO -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" FROM $USER/$DISTRO-build # Arguments used after FROM must be specified again -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" +ARG DISTRO -MAINTAINER Harald Welte - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/Debian_9.0/" - -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 - -# we need to add this to invalidate the cache once the repository is updated. -# unfortunately Dockerfiles don't support a conditional ARG, so we need to add both DPKG + RPM -ADD $OSMOCOM_REPO/Release /tmp/Release -ADD $OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/CentOS_8/repodata/repomd.xml /tmp/repomd.xml RUN apt-get update && \ apt-get install -y --no-install-recommends \ - telnet \ libosmocore-dev \ libosmo-abis-dev \ libosmo-netif-dev \ diff --git a/osmo-hnbgw-master/Release.key b/osmo-hnbgw-master/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-hnbgw-master/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-mgw-master/Dockerfile b/osmo-mgw-master/Dockerfile index 02337ca..dea4951 100644 --- a/osmo-mgw-master/Dockerfile +++ b/osmo-mgw-master/Dockerfile @@ -1,34 +1,13 @@ ARG USER ARG DISTRO -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" FROM $USER/$DISTRO-build # Arguments used after FROM must be specified again ARG DISTRO -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" -MAINTAINER Harald Welte - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/Debian_9.0/" - -COPY Release.key /tmp/Release.key - -RUN case "$DISTRO" in \ - debian*) \ - apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list \ - ;; \ - esac - -# we need to add this to invalidate the cache once the repository is updated. -# unfortunately Dockerfiles don't support a conditional ARG, so we need to add both DPKG + RPM -ADD $OSMOCOM_REPO/Release /tmp/Release -ADD $OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/CentOS_8/repodata/repomd.xml /tmp/repomd.xml RUN case "$DISTRO" in \ debian*) \ apt-get update && \ apt-get install -y --no-install-recommends \ - telnet \ libosmocore-dev \ libosmo-abis-dev \ libosmo-netif-dev \ @@ -37,7 +16,6 @@ ;; \ centos*) \ dnf install -y \ - telnet \ "pkgconfig(libosmo-netif)" \ "pkgconfig(libosmocore)" \ "pkgconfig(libosmoctrl)" \ diff --git a/osmo-mgw-master/Release.key b/osmo-mgw-master/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-mgw-master/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-msc-master/Dockerfile b/osmo-msc-master/Dockerfile index 7f9e6f5..1ad4684 100644 --- a/osmo-msc-master/Dockerfile +++ b/osmo-msc-master/Dockerfile @@ -1,29 +1,9 @@ ARG USER ARG DISTRO -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" FROM $USER/$DISTRO-build # Arguments used after FROM must be specified again ARG DISTRO -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" -MAINTAINER Harald Welte - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/Debian_9.0/" - -COPY Release.key /tmp/Release.key - -RUN case "$DISTRO" in \ - debian*) \ - apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list \ - ;; \ - esac - -# we need to add this to invalidate the cache once the repository is updated. -# unfortunately Dockerfiles don't support a conditional ARG, so we need to add both DPKG + RPM -ADD $OSMOCOM_REPO/Release /tmp/Release -ADD $OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/CentOS_8/repodata/repomd.xml /tmp/repomd.xml RUN case "$DISTRO" in \ debian*) \ apt-get update && \ @@ -39,13 +19,11 @@ libosmo-sccp-dev \ libosmo-sigtran-dev \ libosmocore-dev \ - libsmpp34-dev \ - telnet && \ + libsmpp34-dev && \ apt-get clean \ ;; \ centos*) \ dnf install -y \ - telnet \ "pkgconfig(libasn1c)" \ "pkgconfig(libosmo-gsup-client)" \ "pkgconfig(libosmo-mgcp-client)" \ diff --git a/osmo-msc-master/Release.key b/osmo-msc-master/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-msc-master/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-nitb-master/Dockerfile b/osmo-nitb-master/Dockerfile index c0d3405..43a8d22 100644 --- a/osmo-nitb-master/Dockerfile +++ b/osmo-nitb-master/Dockerfile @@ -1,28 +1,11 @@ ARG USER ARG DISTRO -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" FROM $USER/$DISTRO-build # Arguments used after FROM must be specified again ARG DISTRO -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" -MAINTAINER Harald Welte - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/Debian_9.0/" - -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 - -# we need to add this to invalidate the cache once the repository is updated. -# unfortunately Dockerfiles don't support a conditional ARG, so we need to add both DPKG + RPM -ADD $OSMOCOM_REPO/Release /tmp/Release -ADD $OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/CentOS_8/repodata/repomd.xml /tmp/repomd.xml RUN apt-get update && \ apt-get install -y --no-install-recommends \ - telnet \ libosmocore-dev \ libosmo-abis-dev \ libosmo-netif-dev \ diff --git a/osmo-nitb-master/Release.key b/osmo-nitb-master/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-nitb-master/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-pcu-master/Dockerfile b/osmo-pcu-master/Dockerfile index 0d07522..f8e6ded 100644 --- a/osmo-pcu-master/Dockerfile +++ b/osmo-pcu-master/Dockerfile @@ -1,40 +1,18 @@ ARG USER ARG DISTRO -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" FROM $USER/$DISTRO-build # Arguments used after FROM must be specified again ARG DISTRO -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" -MAINTAINER Harald Welte - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/Debian_9.0/" - -COPY Release.key /tmp/Release.key - -RUN case "$DISTRO" in \ - debian*) \ - apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list \ - ;; \ - esac - -# we need to add this to invalidate the cache once the repository is updated. -# unfortunately Dockerfiles don't support a conditional ARG, so we need to add both DPKG + RPM -ADD $OSMOCOM_REPO/Release /tmp/Release -ADD $OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/CentOS_8/repodata/repomd.xml /tmp/repomd.xml RUN case "$DISTRO" in \ debian*) \ apt-get update && \ apt-get install -y --no-install-recommends \ - telnet \ libosmocore-dev && \ apt-get clean \ ;; \ centos*) \ dnf install -y \ - telnet \ "pkgconfig(libosmocore)" \ "pkgconfig(libosmogb)" \ "pkgconfig(libosmogsm)" \ diff --git a/osmo-pcu-master/Release.key b/osmo-pcu-master/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-pcu-master/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-remsim-master/Dockerfile b/osmo-remsim-master/Dockerfile index 4542537..6ebc40d 100644 --- a/osmo-remsim-master/Dockerfile +++ b/osmo-remsim-master/Dockerfile @@ -1,12 +1,8 @@ ARG USER ARG DISTRO -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" FROM $USER/$DISTRO-build # Arguments used after FROM must be specified again ARG DISTRO -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" - -MAINTAINER Harald Welte # PC/SC required for testing of bankd (with vpcd) # autoconf, automake, libtool, pkg-config, m4, help2man required for virtualsmartcard @@ -32,28 +28,10 @@ RUN git clone https://github.com/frankmorgner/vsmartcard.git RUN cd vsmartcard/virtualsmartcard && autoreconf -fi && ./configure && make "-j$(nproc)" install - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/Debian_9.0/" - -COPY Release.key /tmp/Release.key - -RUN case "$DISTRO" in \ - debian*) \ - apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list \ - ;; \ - esac - -# we need to add this to invalidate the cache once the repository is updated. -# unfortunately Dockerfiles don't support a conditional ARG, so we need to add both DPKG + RPM -ADD $OSMOCOM_REPO/Release /tmp/Release -ADD $OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/CentOS_8/repodata/repomd.xml /tmp/repomd.xml RUN case "$DISTRO" in \ debian*) \ apt-get update && \ apt-get install -y --no-install-recommends \ - telnet \ libosmocore-dev \ libosmo-simtrace2-dev \ libosmo-abis-dev \ @@ -67,7 +45,6 @@ ;; \ centos*) \ dnf install -y \ - telnet \ "pkgconfig(libasn1c)" \ "pkgconfig(libosmoabis)" \ "pkgconfig(libosmocore)" \ diff --git a/osmo-remsim-master/Release.key b/osmo-remsim-master/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-remsim-master/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-sgsn-master/Dockerfile b/osmo-sgsn-master/Dockerfile index fb25f84..55d9695 100644 --- a/osmo-sgsn-master/Dockerfile +++ b/osmo-sgsn-master/Dockerfile @@ -1,34 +1,13 @@ ARG USER ARG DISTRO -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" FROM $USER/$DISTRO-build # Arguments used after FROM must be specified again ARG DISTRO -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" -MAINTAINER Harald Welte - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/Debian_9.0/" - -COPY Release.key /tmp/Release.key - -RUN case "$DISTRO" in \ - debian*) \ - apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list \ - ;; \ - esac - -# we need to add this to invalidate the cache once the repository is updated. -# unfortunately Dockerfiles don't support a conditional ARG, so we need to add both DPKG + RPM -ADD $OSMOCOM_REPO/Release /tmp/Release -ADD $OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/CentOS_8/repodata/repomd.xml /tmp/repomd.xml RUN case "$DISTRO" in \ debian*) \ apt-get update && \ apt-get install -y --no-install-recommends \ - telnet \ libosmocore-dev \ libosmo-abis-dev \ libosmo-gsup-client-dev \ @@ -43,7 +22,6 @@ ;; \ centos*) \ dnf install -y \ - telnet \ "pkgconfig(libasn1c)" \ "pkgconfig(libcrypto)" \ "pkgconfig(libgtp)" \ diff --git a/osmo-sgsn-master/Release.key b/osmo-sgsn-master/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-sgsn-master/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-sip-master/Dockerfile b/osmo-sip-master/Dockerfile index 064432e..3261a55 100644 --- a/osmo-sip-master/Dockerfile +++ b/osmo-sip-master/Dockerfile @@ -1,29 +1,9 @@ ARG USER ARG DISTRO -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" FROM $USER/$DISTRO-build # Arguments used after FROM must be specified again ARG DISTRO -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" -MAINTAINER Harald Welte - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/Debian_9.0/" - -COPY Release.key /tmp/Release.key - -RUN case "$DISTRO" in \ - debian*) \ - apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list \ - ;; \ - esac - -# we need to add this to invalidate the cache once the repository is updated. -# unfortunately Dockerfiles don't support a conditional ARG, so we need to add both DPKG + RPM -ADD $OSMOCOM_REPO/Release /tmp/Release -ADD $OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/CentOS_8/repodata/repomd.xml /tmp/repomd.xml RUN case "$DISTRO" in \ debian*) \ apt-get update && \ @@ -38,7 +18,6 @@ "pkgconfig(libosmogsm)" \ "pkgconfig(libosmovty)" \ "pkgconfig(sofia-sip-ua-glib)" \ - telnet \ ;; \ esac diff --git a/osmo-sip-master/Release.key b/osmo-sip-master/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-sip-master/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-smlc-master/Dockerfile b/osmo-smlc-master/Dockerfile index 38cd41b..b814f7a 100644 --- a/osmo-smlc-master/Dockerfile +++ b/osmo-smlc-master/Dockerfile @@ -1,34 +1,13 @@ ARG USER ARG DISTRO -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" FROM $USER/$DISTRO-build # Arguments used after FROM must be specified again ARG DISTRO -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" -MAINTAINER Harald Welte - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/Debian_9.0/" - -COPY Release.key /tmp/Release.key - -RUN case "$DISTRO" in \ - debian*) \ - apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list \ - ;; \ - esac - -# we need to add this to invalidate the cache once the repository is updated. -# unfortunately Dockerfiles don't support a conditional ARG, so we need to add both DPKG + RPM -ADD $OSMOCOM_REPO/Release /tmp/Release -ADD $OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/CentOS_8/repodata/repomd.xml /tmp/repomd.xml RUN case "$DISTRO" in \ debian*) \ apt-get update && \ apt-get install -y --no-install-recommends \ - telnet \ libosmocore-dev \ libosmo-netif-dev \ libosmo-sccp-dev \ diff --git a/osmo-smlc-master/Release.key b/osmo-smlc-master/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-smlc-master/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-stp-master/Dockerfile b/osmo-stp-master/Dockerfile index 39363bc..7061e89 100644 --- a/osmo-stp-master/Dockerfile +++ b/osmo-stp-master/Dockerfile @@ -1,41 +1,19 @@ ARG USER ARG DISTRO -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" FROM $USER/$DISTRO-build # Arguments used after FROM must be specified again ARG DISTRO -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" -MAINTAINER Harald Welte - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/Debian_9.0/" - -COPY Release.key /tmp/Release.key - -RUN case "$DISTRO" in \ - debian*) \ - apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list \ - ;; \ - esac - -# we need to add this to invalidate the cache once the repository is updated. -# unfortunately Dockerfiles don't support a conditional ARG, so we need to add both DPKG + RPM -ADD $OSMOCOM_REPO/Release /tmp/Release -ADD $OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/CentOS_8/repodata/repomd.xml /tmp/repomd.xml RUN case "$DISTRO" in \ debian*) \ apt-get update && \ apt-get install -y --no-install-recommends \ - telnet \ libosmocore-dev \ libosmo-netif-dev && \ apt-get clean \ ;; \ centos*) \ dnf install -y \ - telnet \ "pkgconfig(libosmo-netif)" \ "pkgconfig(libosmocore)" \ "pkgconfig(libosmogsm)" \ diff --git a/osmo-stp-master/Release.key b/osmo-stp-master/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-stp-master/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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/Dockerfile b/osmo-uecups-master/Dockerfile index fb86563..deaedc7 100644 --- a/osmo-uecups-master/Dockerfile +++ b/osmo-uecups-master/Dockerfile @@ -1,19 +1,9 @@ ARG USER -FROM $USER/debian-buster-build +ARG DISTRO +FROM $USER/$DISTRO-build # Arguments used after FROM must be specified again -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" +ARG DISTRO -MAINTAINER Harald Welte - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/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 \ diff --git a/osmo-uecups-master/Release.key b/osmo-uecups-master/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-uecups-master/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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----- -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23238 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Id69f3eaf37f823bac0947366f27a25edd277a4cb Gerrit-Change-Number: 23238 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 4 14:08:59 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 4 Mar 2021 14:08:59 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3: add TTCN3-centos-*-latest References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/23239 ) Change subject: jobs/ttcn3: add TTCN3-centos-*-latest ...................................................................... jobs/ttcn3: add TTCN3-centos-*-latest Depends: docker-playground I274b31d4903df07e99fd434af25bdb72991f6923 Related: OS#5049 Change-Id: I9a29fddc93789cd285d85445830cc26016af9768 --- M jobs/ttcn3-testsuites.yml 1 file changed, 54 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/39/23239/1 diff --git a/jobs/ttcn3-testsuites.yml b/jobs/ttcn3-testsuites.yml index e0ec179..393c552 100644 --- a/jobs/ttcn3-testsuites.yml +++ b/jobs/ttcn3-testsuites.yml @@ -220,12 +220,6 @@ - TTCN3-centos-stp-test: blocking: "^(ttcn3|TTCN3-.*)-stp-test.*" timer: 30 09 * * * - #- TTCN3-sccp-test-latest: - # blocking: "^(ttcn3|TTCN3-.*)-sccp-test.*" - # timer: 00 10 * * * - - TTCN3-centos-smlc-test-latest: - blocking: "^(ttcn3|TTCN3-.*)-smlc-test.*" - timer: 10 10 * * * - TTCN3-centos-gbproxy-test: blocking: "^(ttcn3|TTCN3-.*)-gbproxy-test.*" timer: 20 10 * * * @@ -233,6 +227,60 @@ blocking: "^(ttcn3|TTCN3-.*)-cbc-test.*" timer: 40 10 * * * + # centos8 latest stable + - TTCN3-centos-ggsn-test-latest: + blocking: "^(ttcn3|TTCN3-.*)-ggsn-test.*" + timer: 00 04 * * * + - TTCN3-centos-msc-test-latest: + blocking: "^(ttcn3|TTCN3-.*)-msc-test.*" + timer: 30 04 * * * + - TTCN3-centos-pcu-test-latest: + blocking: "^(ttcn3|TTCN3-.*)-pcu-test.*" + timer: 00 05 * * * + - TTCN3-centos-pcu-test-sns-latest: + blocking: "^(ttcn3|TTCN3-.*)-pcu-test.*" + timer: 15 05 * * * + - TTCN3-centos-sgsn-test-latest: + blocking: "^(ttcn3|TTCN3-.*)-sgsn-test.*" + timer: 30 05 * * * + - TTCN3-centos-bsc-test-latest: + blocking: "^(ttcn3|TTCN3-.*)-bsc-test.*" + timer: 00 06 * * * + - TTCN3-centos-mgw-test-latest: + blocking: "^(ttcn3|TTCN3-.*)-mgw-test.*" + timer: 30 06 * * * + - TTCN3-centos-hlr-test-latest: + blocking: "^(ttcn3|TTCN3-.*)-hlr-test.*" + timer: 45 06 * * * + - TTCN3-centos-bts-test-latest: + blocking: "^(ttcn3|TTCN3-.*)-bts-test.*" + timer: 00 07 * * * + - TTCN3-centos-sip-test-latest: + blocking: "^(ttcn3|TTCN3-.*)-sip-test.*" + timer: 30 07 * * * + - TTCN3-centos-bsc-test-sccplite-latest: + blocking: "^(ttcn3|TTCN3-.*)-bsc-test.*" + timer: 30 08 * * * + # No osmo-remsim packages for centos8 + #- TTCN3-centos-remsim-test-latest: + # blocking: "^(ttcn3|TTCN3-.*)-remsim-test.*" + # timer: 00 09 * * * + - TTCN3-centos-stp-test-latest: + blocking: "^(ttcn3|TTCN3-.*)-stp-test.*" + timer: 30 09 * * * + - TTCN3-centos-smlc-test-latest: + blocking: "^(ttcn3|TTCN3-.*)-smlc-test.*" + timer: 10 10 * * * + #- TTCN3-centos-sccp-test-latest: + # blocking: "^(ttcn3|TTCN3-.*)-sccp-test.*" + # timer: 00 10 * * * + - TTCN3-centos-gbproxy-test-latest: + blocking: "^(ttcn3|TTCN3-.*)-gbproxy-test.*" + timer: 20 10 * * * + - TTCN3-centos-cbc-test-latest: + blocking: "^(ttcn3|TTCN3-.*)-cbc-test.*" + timer: 40 10 * * * + - job-template: name: '{job-name}' -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23239 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I9a29fddc93789cd285d85445830cc26016af9768 Gerrit-Change-Number: 23239 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 4 14:52:42 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 4 Mar 2021 14:52:42 +0000 Subject: Change in docker-playground[master]: osmo-msc-latest: implicit libdbd-sqlite3 install In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23235 ) Change subject: osmo-msc-latest: implicit libdbd-sqlite3 install ...................................................................... Patch Set 1: IIRC it depends on generic libdbd but we still need to install a backend? or we depend on -sqlite3 one explicitly? -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23235 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I0b6d8ea4295021ce5470ee342ed7d89b42886348 Gerrit-Change-Number: 23235 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 04 Mar 2021 14:52:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 4 14:53:42 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 4 Mar 2021 14:53:42 +0000 Subject: Change in docker-playground[master]: debian-stretch-obs-latest: new container In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23236 ) Change subject: debian-stretch-obs-latest: new container ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23236 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I443d52eba416ea298cc5421e280ad2f4ca59283b Gerrit-Change-Number: 23236 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 04 Mar 2021 14:53:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 4 14:54:03 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 4 Mar 2021 14:54:03 +0000 Subject: Change in docker-playground[master]: osmo-*-latest: support centos8 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23237 ) Change subject: osmo-*-latest: support centos8 ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23237 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I274b31d4903df07e99fd434af25bdb72991f6923 Gerrit-Change-Number: 23237 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 04 Mar 2021 14:54:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 4 14:54:33 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 4 Mar 2021 14:54:33 +0000 Subject: Change in docker-playground[master]: osmo-*-master: move common code to *-build In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23238 ) Change subject: osmo-*-master: move common code to *-build ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23238 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Id69f3eaf37f823bac0947366f27a25edd277a4cb Gerrit-Change-Number: 23238 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 04 Mar 2021 14:54: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 Mar 4 14:54:49 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 4 Mar 2021 14:54:49 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3: add TTCN3-centos-*-latest In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23239 ) Change subject: jobs/ttcn3: add TTCN3-centos-*-latest ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23239 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I9a29fddc93789cd285d85445830cc26016af9768 Gerrit-Change-Number: 23239 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 04 Mar 2021 14: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 Thu Mar 4 14:56:18 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 4 Mar 2021 14:56:18 +0000 Subject: Change in docker-playground[master]: osmo-msc-latest: implicit libdbd-sqlite3 install In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23235 ) Change subject: osmo-msc-latest: implicit libdbd-sqlite3 install ...................................................................... Patch Set 1: > Patch Set 1: > > IIRC it depends on generic libdbd but we still need to install a backend? or we depend on -sqlite3 one explicitly? We depend on the -sqlite3 one explicity: https://gerrit.osmocom.org/c/osmo-msc/+/13043/ -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23235 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I0b6d8ea4295021ce5470ee342ed7d89b42886348 Gerrit-Change-Number: 23235 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 04 Mar 2021 14:56: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 Thu Mar 4 14:57:09 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 4 Mar 2021 14:57:09 +0000 Subject: Change in docker-playground[master]: osmo-msc-latest: implicit libdbd-sqlite3 install In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23235 ) Change subject: osmo-msc-latest: implicit libdbd-sqlite3 install ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23235 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I0b6d8ea4295021ce5470ee342ed7d89b42886348 Gerrit-Change-Number: 23235 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 04 Mar 2021 14:57:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 4 19:07:47 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Thu, 4 Mar 2021 19:07:47 +0000 Subject: Change in pysim[master]: Python2 is deprecated, switch to Python3 In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/15504 ) Change subject: Python2 is deprecated, switch to Python3 ...................................................................... Patch Set 20: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15504 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I430d173535e0cd5bb895b9dfc9070cbc40cfc8ff Gerrit-Change-Number: 15504 Gerrit-PatchSet: 20 Gerrit-Owner: gnutoo Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 04 Mar 2021 19:07:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 4 20:12:57 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 4 Mar 2021 20:12:57 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce test TC_n3105_max_t3195 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23215 ) Change subject: pcu: Introduce test TC_n3105_max_t3195 ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23215/1/pcu/PCU_Tests.ttcn File pcu/PCU_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23215/1/pcu/PCU_Tests.ttcn at 1619 PS1, Line 1619: nr := ts_TsTrxBtsNum; > This variable is already set above, why do you re-initialize it here and below? Does it change? It doesn't change now, but I prefer leaving it there in case we want to improve infrastructure to do something like f_ms_tr_TsTrxBtsNum(ms) which would return tn to be any of the TNs with a USF set. Not really needed here since we use 1 TS, but still easier to understand imho that in theory nr should be updated here in general. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23215 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6f756c928509364fee14c552279f01b4e4f0e060 Gerrit-Change-Number: 23215 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-Comment-Date: Thu, 04 Mar 2021 20:12:57 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Fri Mar 5 01:37:31 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 05 Mar 2021 01:37:31 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.10/x86_64 In-Reply-To: References: Message-ID: <60418b6acb5e6_6de82aeb6d49a60021472a@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_20.10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_20.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 83s] [COMPILING apps/dfu/main.c] [ 83s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 83s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 84s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 84s] Memory region Used Size Region Size %age Used [ 84s] rom: 16580 B 16 KB 101.20% [ 84s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 84s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 84s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 84s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 84s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 84s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 84s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 196 bytes [ 84s] collect2: error: ld returned 1 exit status [ 84s] % [ 84s] make[2]: *** [Makefile:234: flash] Error 1 [ 84s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 84s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 84s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 84s] dh_auto_build: error: make -j1 returned exit code 2 [ 84s] make: *** [debian/rules:16: build] Error 25 [ 84s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 84s] ### VM INTERACTION START ### [ 87s] [ 79.405580] sysrq: Power Off [ 87s] [ 79.412813] reboot: Power down [ 87s] ### VM INTERACTION END ### [ 87s] [ 87s] goat15 failed "build simtrace2_0.7.0.70.657c.dsc" at Fri Mar 5 01:37:30 UTC 2021. [ 87s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 5 01:37:48 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 05 Mar 2021 01:37:48 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <60418b822ae12_6de82aeb6d49a600215021@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_20.04/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_20.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 160s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 160s] [COMPILING libboard/qmod/source/card_pres.c] [ 160s] [COMPILING libboard/qmod/source/wwan_led.c] [ 160s] [COMPILING libboard/qmod/source/i2c.c] [ 160s] [COMPILING libboard/qmod/source/board_qmod.c] [ 161s] [COMPILING apps/dfu/main.c] [ 161s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 161s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 161s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 161s] Memory region Used Size Region Size %age Used [ 161s] rom: 16588 B 16 KB 101.25% [ 161s] ram: 11672 B 48 KB 23.75/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 161s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 204 bytes [ 161s] collect2: error: ld returned 1 exit status [ 161s] % [ 161s] make[2]: *** [Makefile:234: flash] Error 1 [ 161s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 161s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 161s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 161s] dh_auto_build: error: make -j1 returned exit code 2 [ 161s] make: *** [debian/rules:16: build] Error 25 [ 161s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 161s] ### VM INTERACTION START ### [ 164s] [ 152.713184] sysrq: Power Off [ 164s] [ 152.720625] reboot: Power down [ 165s] ### VM INTERACTION END ### [ 165s] [ 165s] lamb26 failed "build simtrace2_0.7.0.70.657c.dsc" at Fri Mar 5 01:37:43 UTC 2021. [ 165s] -- 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 Mar 5 07:57:35 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 5 Mar 2021 07:57:35 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce test TC_dl_no_ack_retrans_imm_ass In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23199 ) Change subject: pcu: Introduce test TC_dl_no_ack_retrans_imm_ass ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23199 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1c1d89f3de9ba158f802e7759ef78dc84f48218f Gerrit-Change-Number: 23199 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Fri, 05 Mar 2021 07:57:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 5 07:57:59 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 5 Mar 2021 07:57:59 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce test TC_n3105_max_t3195 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23215 ) Change subject: pcu: Introduce test TC_n3105_max_t3195 ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23215 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6f756c928509364fee14c552279f01b4e4f0e060 Gerrit-Change-Number: 23215 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Fri, 05 Mar 2021 07:57: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 Fri Mar 5 07:58:19 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 5 Mar 2021 07:58:19 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce test TC_n3101_max_t3169 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23232 ) Change subject: pcu: Introduce test TC_n3101_max_t3169 ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23232 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I56177850f084cdaf4fcac63ebdcdff9cef4e7a5d Gerrit-Change-Number: 23232 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 05 Mar 2021 07:58: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 Mar 5 09:41:09 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 5 Mar 2021 09:41:09 +0000 Subject: Change in libosmocore[master]: TODO-RELEASE: Request increasing _LAST_OSMOVTY_NODE next release References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/23240 ) Change subject: TODO-RELEASE: Request increasing _LAST_OSMOVTY_NODE next release ...................................................................... TODO-RELEASE: Request increasing _LAST_OSMOVTY_NODE next release We've used up all but one "library reserved" VTY nodes at this point, and we should definitely add some more reserved nodes in the next libosmovty ABI version / release. Change-Id: Idfe1e7d97f3f29fc219e80dcb6ce6bb768733adf --- M TODO-RELEASE 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/40/23240/1 diff --git a/TODO-RELEASE b/TODO-RELEASE index 8ccfa49..bc157bd 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 +libosmovty _LAST_OSMOVTY_NODE Raise _LAST_OSMOVTY_NODE by introducing some RESERVED*_NODE -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23240 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Idfe1e7d97f3f29fc219e80dcb6ce6bb768733adf Gerrit-Change-Number: 23240 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 Mar 5 09:41:10 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 5 Mar 2021 09:41:10 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Implement error log in case no binds found for NSE References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/23241 ) Change subject: gprs_ns2_sns: Implement error log in case no binds found for NSE ...................................................................... gprs_ns2_sns: Implement error log in case no binds found for NSE Change-Id: I66ce4b429ad2597343b48210fdcbc95a1f34cbcd --- M src/gb/gprs_ns2_sns.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/41/23241/1 diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index a8baa28..715dd8e 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -756,7 +756,7 @@ /* count how many bindings are available (only UDP binds) */ count = llist_count(&gss->binds); if (count == 0) { - /* TODO: logging */ + LOGPFSML(fi, LOGL_ERROR, "No local binds for this NSE -> cannot determine IP endpoints\n"); return; } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23241 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I66ce4b429ad2597343b48210fdcbc95a1f34cbcd Gerrit-Change-Number: 23241 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 Mar 5 09:41:11 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 5 Mar 2021 09:41:11 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Remove TODO (spec agrees, the correct cause code is used) References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/23242 ) Change subject: gprs_ns2_sns: Remove TODO (spec agrees, the correct cause code is used) ...................................................................... gprs_ns2_sns: Remove TODO (spec agrees, the correct cause code is used) Change-Id: I6c431ba9e30d19425bf1cc1cc4d081949058610b --- M src/gb/gprs_ns2_sns.c 1 file changed, 0 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/42/23242/1 diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index 715dd8e..04cebf4 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -446,7 +446,6 @@ if (memcmp(&gss->ip4_remote[i], ip4, sizeof(*ip4))) continue; /* TODO: log message duplicate */ - /* TODO: check if this is the correct cause code */ return -NS_CAUSE_PROTO_ERR_UNSPEC; } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23242 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6c431ba9e30d19425bf1cc1cc4d081949058610b Gerrit-Change-Number: 23242 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 Mar 5 09:41:11 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 5 Mar 2021 09:41:11 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vty: Clarify VTY help string wording References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/23243 ) Change subject: gprs_ns2_vty: Clarify VTY help string wording ...................................................................... gprs_ns2_vty: Clarify VTY help string wording Change-Id: I7d70f8cc811c2f4aabf9fc00e4e612dfc4b031d3 --- M src/gb/gprs_ns2_vty.c 1 file changed, 9 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/43/23243/1 diff --git a/src/gb/gprs_ns2_vty.c b/src/gb/gprs_ns2_vty.c index 6214907..97e8413 100644 --- a/src/gb/gprs_ns2_vty.c +++ b/src/gb/gprs_ns2_vty.c @@ -352,9 +352,9 @@ /* TODO: add fr/gre */ DEFUN(cfg_ns_bind, cfg_ns_bind_cmd, "bind (fr|udp) ID", - "Binding\n" + "Configure local Bind\n" "Frame Relay\n" "UDP/IP\n" - "a unique identifier for this bind to reference NS-VCs\n" + "unique identifier for this bind (to reference from NS-VCs, NSEs, ...)\n" ) { const char *nstype = argv[0]; @@ -398,8 +398,8 @@ DEFUN(cfg_no_ns_bind, cfg_no_ns_bind_cmd, "no bind ID", NO_STR - "Delete a binding\n" - "a unique identifier for this bind to reference NS-VCs\n" + "Delete a bind\n" + "unique identifier for this bind\n" ) { struct vty_bind *vbind; @@ -599,9 +599,9 @@ DEFUN(cfg_ns_bind_listen, cfg_ns_bind_listen_cmd, "listen " VTY_IPV46_CMD " <1-65535>", - "Binding\n" - "IPv4 Address\n" "IPv6 Address\n" - "Port\n" + "Configure local IP + Port of this bind\n" + "Local IPv4 Address\n" "Local IPv6 Address\n" + "Local UDP Port\n" ) { struct vty_bind *vbind = vty->index; @@ -1540,7 +1540,7 @@ DEFUN(cfg_ns_nse_ip_sns_bind, cfg_ns_nse_ip_sns_bind_cmd, "ip-sns-bind BINDID", "IP SNS binds\n" - "A udp bind which this SNS will be used. The bind must be already exists. Can be given multiple times.\n") + "Name of NS udp bind whose IP endpoint will be used as IP-SNS local endpoint. Can be given multiple times.\n") { struct gprs_ns2_nse *nse = vty->index; struct gprs_ns2_vc_bind *bind; @@ -1641,7 +1641,7 @@ "no ip-sns-bind BINDID", NO_STR "IP SNS binds\n" - "A udp bind which this SNS will be used.\n") + "Name of NS udp bind whose IP endpoint will not be used as IP-SNS local endpoint\n") { struct gprs_ns2_nse *nse = vty->index; struct gprs_ns2_vc_bind *bind; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23243 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I7d70f8cc811c2f4aabf9fc00e4e612dfc4b031d3 Gerrit-Change-Number: 23243 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 Mar 5 09:41:12 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 5 Mar 2021 09:41:12 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: refactor ns2_sns_st_size_onenter() References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/23244 ) Change subject: gprs_ns2_sns: refactor ns2_sns_st_size_onenter() ...................................................................... gprs_ns2_sns: refactor ns2_sns_st_size_onenter() Let's move computing of the local IP endpoints to a separate function, so it can not only be used when entering the SNS_SIZE state. Preparation for SGSN-side IP-SNS. Change-Id: I5d7ce419135a8ef538cf9abcb76a49049ed7d5f9 Related: OS#3373 --- M src/gb/gprs_ns2_sns.c 1 file changed, 40 insertions(+), 31 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/44/23244/1 diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index 04cebf4..1d4d069 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -723,8 +723,7 @@ } } -/* setup all dynamic SNS settings, create a new nsvc and send the SIZE */ -static void ns2_sns_st_size_onenter(struct osmo_fsm_inst *fi, uint32_t old_state) +static void ns2_sns_compute_local_ep_from_binds(struct osmo_fsm_inst *fi) { struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; struct gprs_ns_ie_ip4_elem *ip4_elems; @@ -736,14 +735,6 @@ struct osmo_sockaddr local; int count; - /* on a generic failure, the timer callback will recover */ - if (old_state != GPRS_SNS_ST_UNCONFIGURED) - ns2_prim_status_ind(gss->nse, NULL, 0, GPRS_NS2_AFF_CAUSE_SNS_FAILURE); - if (old_state != GPRS_SNS_ST_SIZE) - gss->N = 0; - - - gss->alive = false; ns2_clear_ipv46_entries(gss); /* no initial available */ @@ -759,27 +750,6 @@ return; } - /* take the first bind or take the next bind */ - if (!gss->initial_bind) { - gss->initial_bind = llist_first_entry(&gss->binds, struct ns2_sns_bind, list); - } else { - if (gss->initial_bind->list.next != &gss->binds) { - gss->initial_bind = llist_entry(gss->initial_bind->list.next, struct ns2_sns_bind, list); - } else { - gss->initial_bind = llist_first_entry(&gss->binds, struct ns2_sns_bind, list); - } - } - - bind = gss->initial_bind->bind; - - /* setup the NSVC */ - if (!gss->sns_nsvc) { - gss->sns_nsvc = ns2_ip_bind_connect(bind, gss->nse, remote); - if (!gss->sns_nsvc) - return; - gss->sns_nsvc->sns_only = true; - } - switch (gss->ip) { case IPv4: ip4_elems = talloc_zero_size(fi, sizeof(struct gprs_ns_ie_ip4_elem) * count); @@ -854,6 +824,45 @@ gss->num_max_nsvcs = OSMO_MAX(gss->num_max_ip6_remote * gss->num_ip6_local, 8); break; } +} + +/* setup all dynamic SNS settings, create a new nsvc and send the SIZE */ +static void ns2_sns_st_size_onenter(struct osmo_fsm_inst *fi, uint32_t old_state) +{ + struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; + + /* on a generic failure, the timer callback will recover */ + if (old_state != GPRS_SNS_ST_UNCONFIGURED) + ns2_prim_status_ind(gss->nse, NULL, 0, GPRS_NS2_AFF_CAUSE_SNS_FAILURE); + if (old_state != GPRS_SNS_ST_SIZE) + gss->N = 0; + + gss->alive = false; + + ns2_sns_compute_local_ep_from_binds(fi); + + /* take the first bind or take the next bind */ + if (!gss->initial_bind) { + gss->initial_bind = llist_first_entry(&gss->binds, struct ns2_sns_bind, list); + } else { + if (gss->initial_bind->list.next != &gss->binds) { + gss->initial_bind = llist_entry(gss->initial_bind->list.next, struct ns2_sns_bind, list); + } else { + gss->initial_bind = llist_first_entry(&gss->binds, struct ns2_sns_bind, list); + } + } + + + /* setup the NSVC */ + if (!gss->sns_nsvc) { + struct gprs_ns2_vc_bind *bind = gss->initial_bind->bind; + struct osmo_sockaddr *remote = &gss->initial->saddr; + gss->sns_nsvc = ns2_ip_bind_connect(bind, gss->nse, remote); + if (!gss->sns_nsvc) + return; + gss->sns_nsvc->sns_only = true; + } + if (gss->num_max_ip4_remote > 0) ns2_tx_sns_size(gss->sns_nsvc, true, gss->num_max_nsvcs, gss->num_max_ip4_remote, -1); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23244 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I5d7ce419135a8ef538cf9abcb76a49049ed7d5f9 Gerrit-Change-Number: 23244 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 Mar 5 09:41:12 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 5 Mar 2021 09:41:12 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Unify handling of SNS-CONFIG for IPv4 + IPv6 References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/23245 ) Change subject: gprs_ns2_sns: Unify handling of SNS-CONFIG for IPv4 + IPv6 ...................................................................... gprs_ns2_sns: Unify handling of SNS-CONFIG for IPv4 + IPv6 Related: OS#3373 Change-Id: I49e5ca4a09bc772ef5a0cd5c2a76c8b200e56d1b --- M src/gb/gprs_ns2_sns.c 1 file changed, 70 insertions(+), 108 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/45/23245/1 diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index 1d4d069..e008d0f 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -3,7 +3,7 @@ * 3GPP TS 08.16 version 8.0.1 Release 1999 / ETSI TS 101 299 V8.0.1 (2002-05) * as well as its successor 3GPP TS 48.016 */ -/* (C) 2018 by Harald Welte +/* (C) 2018-2021 by Harald Welte * (C) 2020 by sysmocom - s.f.m.c. GmbH * Author: Alexander Couzens * @@ -205,6 +205,14 @@ #define ip6_weight_sum_data(x,y) ip6_weight_sum(x, y, true) #define ip6_weight_sum_sig(x,y) ip6_weight_sum(x, y, false) +static int nss_weight_sum(const struct ns2_sns_state *nss, bool data_weight) +{ + return ip4_weight_sum(nss->ip4_remote, nss->num_ip4_remote, data_weight) + + ip6_weight_sum(nss->ip6_remote, nss->num_ip6_remote, data_weight); +} +#define nss_weight_sum_data(nss) nss_weight_sum(nss, true) +#define nss_weight_sum_sig(nss) nss_weight_sum(nss, false) + static struct gprs_ns2_vc *nsvc_by_ip4_elem(struct gprs_ns2_nse *nse, const struct gprs_ns_ie_ip4_elem *ip4) { @@ -926,105 +934,51 @@ return secs; } -static void ns_sns_st_config_sgsn_ip4(struct osmo_fsm_inst *fi, uint32_t event, void *data) +/* append the remote endpoints from the parsed TLV array to the ns2_sns_state */ +static int ns_sns_append_remote_eps(struct osmo_fsm_inst *fi, const struct tlv_parsed *tp) { struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; - struct gprs_ns2_nse *nse = nse_inst_from_fi(fi); - const struct gprs_ns_ie_ip4_elem *v4_list; - unsigned int num_v4; - struct tlv_parsed *tp = NULL; - uint8_t cause; + if (TLVP_PRESENT(tp, NS_IE_IPv4_LIST)) { + const struct gprs_ns_ie_ip4_elem *v4_list; + unsigned int num_v4; + v4_list = (const struct gprs_ns_ie_ip4_elem *) TLVP_VAL(tp, NS_IE_IPv4_LIST); + num_v4 = TLVP_LEN(tp, NS_IE_IPv4_LIST) / sizeof(*v4_list); - tp = (struct tlv_parsed *) data; + if (num_v4 && gss->ip6_remote) + return -NS_CAUSE_INVAL_NR_IPv4_EP; - if (!TLVP_PRESENT(tp, NS_IE_IPv4_LIST)) { - cause = NS_CAUSE_INVAL_NR_IPv4_EP; - ns2_tx_sns_config_ack(gss->sns_nsvc, &cause); - osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_UNCONFIGURED, 0, 0); - return; + /* realloc to the new size */ + gss->ip4_remote = talloc_realloc(gss, gss->ip4_remote, + struct gprs_ns_ie_ip4_elem, + gss->num_ip4_remote+num_v4); + /* append the new entries to the end of the list */ + memcpy(&gss->ip4_remote[gss->num_ip4_remote], v4_list, num_v4*sizeof(*v4_list)); + gss->num_ip4_remote += num_v4; + + LOGPFSML(fi, LOGL_INFO, "Rx SNS-CONFIG: Remote IPv4 list now %u entries\n", + gss->num_ip4_remote); } - v4_list = (const struct gprs_ns_ie_ip4_elem *) TLVP_VAL(tp, NS_IE_IPv4_LIST); - num_v4 = TLVP_LEN(tp, NS_IE_IPv4_LIST) / sizeof(*v4_list); - /* realloc to the new size */ - gss->ip4_remote = talloc_realloc(gss, gss->ip4_remote, - struct gprs_ns_ie_ip4_elem, - gss->num_ip4_remote+num_v4); - /* append the new entries to the end of the list */ - memcpy(&gss->ip4_remote[gss->num_ip4_remote], v4_list, num_v4*sizeof(*v4_list)); - gss->num_ip4_remote += num_v4; - LOGPFSML(fi, LOGL_INFO, "Rx SNS-CONFIG: Remote IPv4 list now %u entries\n", - gss->num_ip4_remote); - if (event == GPRS_SNS_EV_RX_CONFIG_END) { - /* check if sum of data / sig weights == 0 */ - if (ip4_weight_sum_data(gss->ip4_remote, gss->num_ip4_remote) == 0 || - ip4_weight_sum_sig(gss->ip4_remote, gss->num_ip4_remote) == 0) { - cause = NS_CAUSE_INVAL_WEIGH; - ns2_tx_sns_config_ack(gss->sns_nsvc, &cause); - osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_UNCONFIGURED, 0, 0); - return; - } - create_missing_nsvcs(fi); - ns2_tx_sns_config_ack(gss->sns_nsvc, NULL); - /* start the test procedure on ALL NSVCs! */ - gprs_ns2_start_alive_all_nsvcs(nse); - osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_CONFIGURED, ns_sns_configured_timeout(fi), 4); - } else { - /* just send CONFIG-ACK */ - ns2_tx_sns_config_ack(gss->sns_nsvc, NULL); - osmo_timer_schedule(&fi->timer, nse->nsi->timeout[NS_TOUT_TSNS_PROV], 0); - } -} + if (TLVP_PRESENT(tp, NS_IE_IPv6_LIST)) { + const struct gprs_ns_ie_ip6_elem *v6_list; + unsigned int num_v6; + v6_list = (const struct gprs_ns_ie_ip6_elem *) TLVP_VAL(tp, NS_IE_IPv6_LIST); + num_v6 = TLVP_LEN(tp, NS_IE_IPv6_LIST) / sizeof(*v6_list); -static void ns_sns_st_config_sgsn_ip6(struct osmo_fsm_inst *fi, uint32_t event, void *data) -{ - struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; - struct gprs_ns2_nse *nse = nse_inst_from_fi(fi); - const struct gprs_ns_ie_ip6_elem *v6_list; - unsigned int num_v6; - struct tlv_parsed *tp = NULL; + if (num_v6 && gss->ip4_remote) + return -NS_CAUSE_INVAL_NR_IPv6_EP; - uint8_t cause; + /* realloc to the new size */ + gss->ip6_remote = talloc_realloc(gss, gss->ip6_remote, + struct gprs_ns_ie_ip6_elem, + gss->num_ip6_remote+num_v6); + /* append the new entries to the end of the list */ + memcpy(&gss->ip6_remote[gss->num_ip6_remote], v6_list, num_v6*sizeof(*v6_list)); + gss->num_ip6_remote += num_v6; - tp = (struct tlv_parsed *) data; - - if (!TLVP_PRESENT(tp, NS_IE_IPv6_LIST)) { - cause = NS_CAUSE_INVAL_NR_IPv6_EP; - ns2_tx_sns_config_ack(gss->sns_nsvc, &cause); - osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_UNCONFIGURED, 0, 0); - return; - } - v6_list = (const struct gprs_ns_ie_ip6_elem *) TLVP_VAL(tp, NS_IE_IPv6_LIST); - num_v6 = TLVP_LEN(tp, NS_IE_IPv6_LIST) / sizeof(*v6_list); - /* realloc to the new size */ - gss->ip6_remote = talloc_realloc(gss, gss->ip6_remote, - struct gprs_ns_ie_ip6_elem, - gss->num_ip6_remote+num_v6); - /* append the new entries to the end of the list */ - memcpy(&gss->ip6_remote[gss->num_ip6_remote], v6_list, num_v6*sizeof(*v6_list)); - gss->num_ip6_remote += num_v6; - - LOGPFSML(fi, LOGL_INFO, "Rx SNS-CONFIG: Remote IPv6 list now %u entries\n", - gss->num_ip6_remote); - if (event == GPRS_SNS_EV_RX_CONFIG_END) { - /* check if sum of data / sig weights == 0 */ - if (ip6_weight_sum_data(gss->ip6_remote, gss->num_ip6_remote) == 0 || - ip6_weight_sum_sig(gss->ip6_remote, gss->num_ip6_remote) == 0) { - cause = NS_CAUSE_INVAL_WEIGH; - ns2_tx_sns_config_ack(gss->sns_nsvc, &cause); - osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_UNCONFIGURED, 0, 0); - return; - } - create_missing_nsvcs(fi); - ns2_tx_sns_config_ack(gss->sns_nsvc, NULL); - /* start the test procedure on ALL NSVCs! */ - gprs_ns2_start_alive_all_nsvcs(nse); - osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_CONFIGURED, 0, 0); - } else { - /* just send CONFIG-ACK */ - ns2_tx_sns_config_ack(gss->sns_nsvc, NULL); - osmo_timer_schedule(&fi->timer, nse->nsi->timeout[NS_TOUT_TSNS_PROV], 0); + LOGPFSML(fi, LOGL_INFO, "Rx SNS-CONFIG: Remote IPv6 list now %u entries\n", + gss->num_ip6_remote); } } @@ -1039,29 +993,37 @@ static void ns2_sns_st_config_sgsn(struct osmo_fsm_inst *fi, uint32_t event, void *data) { struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; + struct gprs_ns2_nse *nse = nse_inst_from_fi(fi); + uint8_t cause; + int rc; switch (event) { case GPRS_SNS_EV_RX_CONFIG_END: case GPRS_SNS_EV_RX_CONFIG: - -#if 0 /* part of incoming SNS-SIZE (doesn't happen on BSS side */ - if (TLVP_PRESENT(tp, NS_IE_RESET_FLAG)) { - /* reset all existing config */ - if (gss->ip4_remote) - talloc_free(gss->ip4_remote); - gss->num_ip4_remote = 0; + rc = ns_sns_append_remote_eps(fi, data); + if (rc < 0) { + cause = -rc; + ns2_tx_sns_config_ack(gss->sns_nsvc, &cause); + osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_UNCONFIGURED, 0, 0); + return; } -#endif - /* TODO: reject IPv6 elements on IPv4 mode and vice versa */ - switch (gss->ip) { - case IPv4: - ns_sns_st_config_sgsn_ip4(fi, event, data); - break; - case IPv6: - ns_sns_st_config_sgsn_ip6(fi, event, data); - break; - default: - OSMO_ASSERT(0); + if (event == GPRS_SNS_EV_RX_CONFIG_END) { + /* check if sum of data / sig weights == 0 */ + if (nss_weight_sum_data(gss) == 0 || nss_weight_sum_sig(gss) == 0) { + cause = NS_CAUSE_INVAL_WEIGH; + ns2_tx_sns_config_ack(gss->sns_nsvc, &cause); + osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_UNCONFIGURED, 0, 0); + return; + } + create_missing_nsvcs(fi); + ns2_tx_sns_config_ack(gss->sns_nsvc, NULL); + /* start the test procedure on ALL NSVCs! */ + gprs_ns2_start_alive_all_nsvcs(nse); + osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_CONFIGURED, 0, 0); + } else { + /* just send CONFIG-ACK */ + ns2_tx_sns_config_ack(gss->sns_nsvc, NULL); + osmo_timer_schedule(&fi->timer, nse->nsi->timeout[NS_TOUT_TSNS_PROV], 0); } break; default: -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23245 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I49e5ca4a09bc772ef5a0cd5c2a76c8b200e56d1b Gerrit-Change-Number: 23245 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 Mar 5 09:41:13 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 5 Mar 2021 09:41:13 +0000 Subject: Change in libosmocore[master]: gprs_ns2: Encapsulate setting NSE dialect References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/23246 ) Change subject: gprs_ns2: Encapsulate setting NSE dialect ...................................................................... gprs_ns2: Encapsulate setting NSE dialect Setting the NSE dialect possibly involves the creating (or destruction) of a IP-SNS FSM. Encapsulate that, rather than having every caller re-implement that. Change-Id: I24fdc26fbcfda039bd58ea166f4d5c2fd1801da1 --- M src/gb/gprs_ns2.c M src/gb/gprs_ns2_internal.h M src/gb/gprs_ns2_vty.c 3 files changed, 52 insertions(+), 37 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/46/23246/1 diff --git a/src/gb/gprs_ns2.c b/src/gb/gprs_ns2.c index e19ae78..67403f4 100644 --- a/src/gb/gprs_ns2.c +++ b/src/gb/gprs_ns2.c @@ -781,7 +781,6 @@ enum gprs_ns2_ll linklayer, enum gprs_ns2_dialect dialect) { struct gprs_ns2_nse *nse; - char sns[16]; nse = gprs_ns2_nse_by_nsei(nsi, nsei); if (nse) { @@ -792,17 +791,13 @@ nse = talloc_zero(nsi, struct gprs_ns2_nse); if (!nse) return NULL; + nse->dialect = GPRS_NS2_DIALECT_UNDEF; - if (dialect == GPRS_NS2_DIALECT_SNS) { - snprintf(sns, sizeof(sns), "NSE%05u-SNS", nsei); - nse->bss_sns_fi = ns2_sns_bss_fsm_alloc(nse, sns); - if (!nse->bss_sns_fi) { - talloc_free(nse); - return NULL; - } + if (ns2_nse_set_dialect(nse, dialect) < 0) { + talloc_free(nse); + return NULL; } - nse->dialect = dialect; nse->ll = linklayer; nse->nsei = nsei; nse->nsi = nsi; @@ -814,6 +809,37 @@ return nse; } +int ns2_nse_set_dialect(struct gprs_ns2_nse *nse, enum gprs_ns2_dialect dialect) +{ + char sns[16]; + + if (nse->dialect == dialect) + return 0; + + switch (nse->dialect) { + case GPRS_NS2_DIALECT_UNDEF: + if (dialect == GPRS_NS2_DIALECT_SNS) { + snprintf(sns, sizeof(sns), "NSE%05u-SNS", nse->nsei); + nse->bss_sns_fi = ns2_sns_bss_fsm_alloc(nse, sns); + if (!nse->bss_sns_fi) + return -1; + } + nse->dialect = dialect; + break; + default: + if (dialect == GPRS_NS2_DIALECT_UNDEF) { + osmo_fsm_inst_term(nse->bss_sns_fi, OSMO_FSM_TERM_REQUEST, NULL); + nse->bss_sns_fi = NULL; + nse->dialect = GPRS_NS2_DIALECT_UNDEF; + } else { + /* we don't support arbitrary changes without going through UNDEF first */ + return -EPERM; + } + } + + return 0; +} + /*! Return the NSEI * \param[in] nse NS Entity * \return the nsei. diff --git a/src/gb/gprs_ns2_internal.h b/src/gb/gprs_ns2_internal.h index 80e664c..688a587 100644 --- a/src/gb/gprs_ns2_internal.h +++ b/src/gb/gprs_ns2_internal.h @@ -306,6 +306,7 @@ enum gprs_ns2_affecting_cause cause); void ns2_nse_notify_alive(struct gprs_ns2_vc *nsvc, bool alive); void ns2_nse_update_mtu(struct gprs_ns2_nse *nse); +int ns2_nse_set_dialect(struct gprs_ns2_nse *nse, enum gprs_ns2_dialect dialect); /* message */ int ns2_validate(struct gprs_ns2_vc *nsvc, diff --git a/src/gb/gprs_ns2_vty.c b/src/gb/gprs_ns2_vty.c index 97e8413..f4a1ff2 100644 --- a/src/gb/gprs_ns2_vty.c +++ b/src/gb/gprs_ns2_vty.c @@ -900,7 +900,7 @@ } if (nse->dialect == GPRS_NS2_DIALECT_UNDEF) { - nse->dialect = GPRS_NS2_DIALECT_STATIC_RESETBLOCK; + ns2_nse_set_dialect(nse, GPRS_NS2_DIALECT_STATIC_RESETBLOCK); dialect_modified = true; } @@ -935,7 +935,7 @@ if (ll_modified) nse->ll = GPRS_NS2_LL_UNDEF; if (dialect_modified) - nse->dialect = GPRS_NS2_DIALECT_UNDEF; + ns2_nse_set_dialect(nse, GPRS_NS2_DIALECT_UNDEF); return CMD_WARNING; } @@ -986,7 +986,7 @@ gprs_ns2_free_nsvc(nsvc); if (llist_empty(&nse->nsvc)) { nse->ll = GPRS_NS2_LL_UNDEF; - nse->dialect = GPRS_NS2_DIALECT_UNDEF; + ns2_nse_set_dialect(nse, GPRS_NS2_DIALECT_UNDEF); } return CMD_SUCCESS; @@ -1032,7 +1032,7 @@ gprs_ns2_free_nsvc(nsvc); if (llist_empty(&nse->nsvc)) { nse->ll = GPRS_NS2_LL_UNDEF; - nse->dialect = GPRS_NS2_DIALECT_UNDEF; + ns2_nse_set_dialect(nse, GPRS_NS2_DIALECT_UNDEF); } return CMD_SUCCESS; @@ -1056,7 +1056,7 @@ } if (nse->dialect == GPRS_NS2_DIALECT_UNDEF) { - nse->dialect = GPRS_NS2_DIALECT_STATIC_ALIVE; + ns2_nse_set_dialect(nse, GPRS_NS2_DIALECT_STATIC_ALIVE); dialect_modified = true; } @@ -1117,7 +1117,7 @@ if (ll_modified) nse->ll = GPRS_NS2_LL_UNDEF; if (dialect_modified) - nse->dialect = GPRS_NS2_DIALECT_UNDEF; + ns2_nse_set_dialect(nse, GPRS_NS2_DIALECT_UNDEF); return CMD_WARNING; } @@ -1232,7 +1232,7 @@ gprs_ns2_free_nsvc(nsvc); if (llist_empty(&nse->nsvc)) { nse->ll = GPRS_NS2_LL_UNDEF; - nse->dialect = GPRS_NS2_DIALECT_UNDEF; + ns2_nse_set_dialect(nse, GPRS_NS2_DIALECT_UNDEF); } return CMD_SUCCESS; @@ -1267,7 +1267,7 @@ } if (nse->dialect == GPRS_NS2_DIALECT_UNDEF) { - nse->dialect = GPRS_NS2_DIALECT_IPACCESS; + ns2_nse_set_dialect(nse, GPRS_NS2_DIALECT_IPACCESS); dialect_modified = true; } @@ -1317,7 +1317,7 @@ if (ll_modified) nse->ll = GPRS_NS2_LL_UNDEF; if (dialect_modified) - nse->dialect = GPRS_NS2_DIALECT_UNDEF; + ns2_nse_set_dialect(nse, GPRS_NS2_DIALECT_UNDEF); return CMD_WARNING; } @@ -1407,7 +1407,7 @@ gprs_ns2_free_nsvc(nsvc); if (llist_empty(&nse->nsvc)) { nse->ll = GPRS_NS2_LL_UNDEF; - nse->dialect = GPRS_NS2_DIALECT_UNDEF; + ns2_nse_set_dialect(nse, GPRS_NS2_DIALECT_UNDEF); } return CMD_SUCCESS; @@ -1436,12 +1436,8 @@ } if (nse->dialect == GPRS_NS2_DIALECT_UNDEF) { - char sns[16]; - snprintf(sns, sizeof(sns), "NSE%05u-SNS", nse->nsei); - nse->bss_sns_fi = ns2_sns_bss_fsm_alloc(nse, sns); - if (!nse->bss_sns_fi) + if (ns2_nse_set_dialect(nse, GPRS_NS2_DIALECT_SNS) < 0) goto err; - nse->dialect = GPRS_NS2_DIALECT_SNS; dialect_modified = true; } @@ -1481,7 +1477,7 @@ if (ll_modified) nse->ll = GPRS_NS2_LL_UNDEF; if (dialect_modified) - nse->dialect = GPRS_NS2_DIALECT_UNDEF; + ns2_nse_set_dialect(nse, GPRS_NS2_DIALECT_UNDEF); return CMD_WARNING; } @@ -1528,10 +1524,8 @@ return CMD_SUCCESS; } else { /* clean up nse to allow other nsvc commands */ - osmo_fsm_inst_term(nse->bss_sns_fi, OSMO_FSM_TERM_REQUEST, NULL); - nse->bss_sns_fi = NULL; + ns2_nse_set_dialect(nse, GPRS_NS2_DIALECT_UNDEF); nse->ll = GPRS_NS2_LL_UNDEF; - nse->dialect = GPRS_NS2_DIALECT_UNDEF; } return CMD_SUCCESS; @@ -1557,12 +1551,8 @@ } if (nse->dialect == GPRS_NS2_DIALECT_UNDEF) { - char sns[16]; - snprintf(sns, sizeof(sns), "NSE%05u-SNS", nse->nsei); - nse->bss_sns_fi = ns2_sns_bss_fsm_alloc(nse, sns); - if (!nse->bss_sns_fi) + if (ns2_nse_set_dialect(nse, GPRS_NS2_DIALECT_SNS) < 0) goto err; - nse->dialect = GPRS_NS2_DIALECT_SNS; dialect_modified = true; } @@ -1632,7 +1622,7 @@ if (ll_modified) nse->ll = GPRS_NS2_LL_UNDEF; if (dialect_modified) - nse->dialect = GPRS_NS2_DIALECT_UNDEF; + ns2_nse_set_dialect(nse, GPRS_NS2_DIALECT_UNDEF); return CMD_WARNING; } @@ -1698,10 +1688,8 @@ if (!vty_nse_check_sns(nse)) { /* clean up nse to allow other nsvc commands */ - osmo_fsm_inst_term(nse->bss_sns_fi, OSMO_FSM_TERM_REQUEST, NULL); - nse->bss_sns_fi = NULL; + ns2_nse_set_dialect(nse, GPRS_NS2_DIALECT_UNDEF); nse->ll = GPRS_NS2_LL_UNDEF; - nse->dialect = GPRS_NS2_DIALECT_UNDEF; } return CMD_SUCCESS; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23246 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I24fdc26fbcfda039bd58ea166f4d5c2fd1801da1 Gerrit-Change-Number: 23246 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 Mar 5 09:41:13 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 5 Mar 2021 09:41:13 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Split allstate action in generic and BSS-specific part References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/23247 ) Change subject: gprs_ns2_sns: Split allstate action in generic and BSS-specific part ...................................................................... gprs_ns2_sns: Split allstate action in generic and BSS-specific part Related: OS#3373 Change-Id: Icd40bd76df12795b4efcaf5865c6cf00da145f94 --- M src/gb/gprs_ns2_sns.c 1 file changed, 50 insertions(+), 37 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/47/23247/1 diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index e008d0f..c47004c 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -1385,49 +1385,14 @@ return 0; } +/* common allstate-action for both roles */ static void ns2_sns_st_all_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) { - struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; struct gprs_ns2_nse *nse = nse_inst_from_fi(fi); struct ns2_sns_bind *sbind; struct gprs_ns2_vc *nsvc, *nsvc2; - /* reset when receiving GPRS_SNS_EV_REQ_NO_NSVC */ switch (event) { - case GPRS_SNS_EV_REQ_NO_NSVC: - /* ignore reselection running */ - if (gss->reselection_running) - break; - - LOGPFSML(fi, LOGL_ERROR, "NSE %d: no remaining NSVC, resetting SNS FSM\n", nse->nsei); - osmo_fsm_inst_dispatch(fi, GPRS_SNS_EV_REQ_SELECT_ENDPOINT, NULL); - break; - case GPRS_SNS_EV_REQ_SELECT_ENDPOINT: - /* tear down previous state - * gprs_ns2_free_nsvcs() will trigger NO_NSVC, prevent this from triggering a reselection */ - gss->reselection_running = true; - gprs_ns2_free_nsvcs(nse); - ns2_clear_ipv46_entries(gss); - - /* Choose the next sns endpoint. */ - if (llist_empty(&gss->sns_endpoints) || llist_empty(&gss->binds)) { - gss->initial = NULL; - ns2_prim_status_ind(gss->nse, NULL, 0, GPRS_NS2_AFF_CAUSE_SNS_NO_ENDPOINTS); - osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_UNCONFIGURED, 0, 3); - return; - } else if (!gss->initial) { - gss->initial = llist_first_entry(&gss->sns_endpoints, struct sns_endpoint, list); - } else if (gss->initial->list.next == &gss->sns_endpoints) { - /* last entry, continue with first */ - gss->initial = llist_first_entry(&gss->sns_endpoints, struct sns_endpoint, list); - } else { - /* next element is an entry */ - gss->initial = llist_entry(gss->initial->list.next, struct sns_endpoint, list); - } - - gss->reselection_running = false; - osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_SIZE, nse->nsi->timeout[NS_TOUT_TSNS_PROV], 1); - break; case GPRS_SNS_EV_REQ_ADD_BIND: sbind = data; switch (fi->state) { @@ -1475,6 +1440,54 @@ } } +/* allstate-action for BSS role */ +static void ns2_sns_st_all_action_bss(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; + struct gprs_ns2_nse *nse = nse_inst_from_fi(fi); + + /* reset when receiving GPRS_SNS_EV_REQ_NO_NSVC */ + switch (event) { + case GPRS_SNS_EV_REQ_NO_NSVC: + /* ignore reselection running */ + if (gss->reselection_running) + break; + + LOGPFSML(fi, LOGL_ERROR, "NSE %d: no remaining NSVC, resetting SNS FSM\n", nse->nsei); + osmo_fsm_inst_dispatch(fi, GPRS_SNS_EV_REQ_SELECT_ENDPOINT, NULL); + break; + case GPRS_SNS_EV_REQ_SELECT_ENDPOINT: + /* tear down previous state + * gprs_ns2_free_nsvcs() will trigger NO_NSVC, prevent this from triggering a reselection */ + gss->reselection_running = true; + gprs_ns2_free_nsvcs(nse); + ns2_clear_ipv46_entries(gss); + + /* Choose the next sns endpoint. */ + if (llist_empty(&gss->sns_endpoints) || llist_empty(&gss->binds)) { + gss->initial = NULL; + ns2_prim_status_ind(gss->nse, NULL, 0, GPRS_NS2_AFF_CAUSE_SNS_NO_ENDPOINTS); + osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_UNCONFIGURED, 0, 3); + return; + } else if (!gss->initial) { + gss->initial = llist_first_entry(&gss->sns_endpoints, struct sns_endpoint, list); + } else if (gss->initial->list.next == &gss->sns_endpoints) { + /* last entry, continue with first */ + gss->initial = llist_first_entry(&gss->sns_endpoints, struct sns_endpoint, list); + } else { + /* next element is an entry */ + gss->initial = llist_entry(gss->initial->list.next, struct sns_endpoint, list); + } + + gss->reselection_running = false; + osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_SIZE, nse->nsi->timeout[NS_TOUT_TSNS_PROV], 1); + break; + default: + ns2_sns_st_all_action(fi, event, data); + break; + } +} + static struct osmo_fsm gprs_ns2_sns_bss_fsm = { .name = "GPRS-NS2-SNS-BSS", .states = ns2_sns_bss_states, @@ -1483,7 +1496,7 @@ S(GPRS_SNS_EV_REQ_SELECT_ENDPOINT) | S(GPRS_SNS_EV_REQ_ADD_BIND) | S(GPRS_SNS_EV_REQ_DELETE_BIND), - .allstate_action = ns2_sns_st_all_action, + .allstate_action = ns2_sns_st_all_action_bss, .cleanup = NULL, .timer_cb = ns2_sns_fsm_bss_timer_cb, .event_names = gprs_sns_event_names, -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23247 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Icd40bd76df12795b4efcaf5865c6cf00da145f94 Gerrit-Change-Number: 23247 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 Mar 5 09:56:54 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 5 Mar 2021 09:56:54 +0000 Subject: Change in osmo-sgsn[master]: Remove bogus DNS log category References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/23248 ) Change subject: Remove bogus DNS log category ...................................................................... Remove bogus DNS log category When we switched to the libosmogb NS2 implementation, we should have removed the DNS category, as NS2 uses DLNS internally and hence DNS is unused. Change-Id: Ia4723ab344ad6a1927029a2d5d0dda020266b39d Closes: OS#5058 --- M include/osmocom/sgsn/debug.h M src/sgsn/sgsn_main.c M tests/sgsn/sgsn_test.c 3 files changed, 0 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/48/23248/1 diff --git a/include/osmocom/sgsn/debug.h b/include/osmocom/sgsn/debug.h index 37e4a09..80c5d9f 100644 --- a/include/osmocom/sgsn/debug.h +++ b/include/osmocom/sgsn/debug.h @@ -13,7 +13,6 @@ DMEAS, DREF, DGPRS, - DNS, DLLC, DSNDCP, DSLHC, diff --git a/src/sgsn/sgsn_main.c b/src/sgsn/sgsn_main.c index 2cabbf3..97309dd 100644 --- a/src/sgsn/sgsn_main.c +++ b/src/sgsn/sgsn_main.c @@ -310,11 +310,6 @@ .description = "GPRS Packet Service", .enabled = 1, .loglevel = LOGL_NOTICE, }, - [DNS] = { - .name = "DNS", - .description = "GPRS Network Service (NS)", - .enabled = 1, .loglevel = LOGL_NOTICE, - }, [DLLC] = { .name = "DLLC", .description = "GPRS Logical Link Control Protocol (LLC)", diff --git a/tests/sgsn/sgsn_test.c b/tests/sgsn/sgsn_test.c index 0574620..63a7f3e 100644 --- a/tests/sgsn/sgsn_test.c +++ b/tests/sgsn/sgsn_test.c @@ -1620,11 +1620,6 @@ .description = "GPRS Packet Service", .enabled = 1, .loglevel = LOGL_DEBUG, }, - [DNS] = { - .name = "DNS", - .description = "GPRS Network Service (NS)", - .enabled = 1, .loglevel = LOGL_INFO, - }, [DLLC] = { .name = "DLLC", .description = "GPRS Logical Link Control Protocol (LLC)", -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/23248 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ia4723ab344ad6a1927029a2d5d0dda020266b39d Gerrit-Change-Number: 23248 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 Mar 5 10:12:16 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 5 Mar 2021 10:12:16 +0000 Subject: Change in osmo-sgsn[master]: Remove bogus DNS log category In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/23248 ) Change subject: Remove bogus DNS log category ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/23248 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ia4723ab344ad6a1927029a2d5d0dda020266b39d Gerrit-Change-Number: 23248 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 05 Mar 2021 10:12: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 Mar 5 10:15:58 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 5 Mar 2021 10:15:58 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Unify handling of SNS-CONFIG for IPv4 + IPv6 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/+/23245 to look at the new patch set (#2). Change subject: gprs_ns2_sns: Unify handling of SNS-CONFIG for IPv4 + IPv6 ...................................................................... gprs_ns2_sns: Unify handling of SNS-CONFIG for IPv4 + IPv6 Related: OS#3373 Change-Id: I49e5ca4a09bc772ef5a0cd5c2a76c8b200e56d1b --- M src/gb/gprs_ns2_sns.c 1 file changed, 74 insertions(+), 110 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/45/23245/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23245 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I49e5ca4a09bc772ef5a0cd5c2a76c8b200e56d1b Gerrit-Change-Number: 23245 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 Fri Mar 5 10:18:49 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 5 Mar 2021 10:18:49 +0000 Subject: Change in libosmocore[master]: TODO-RELEASE: Request increasing _LAST_OSMOVTY_NODE next release In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23240 ) Change subject: TODO-RELEASE: Request increasing _LAST_OSMOVTY_NODE next release ...................................................................... Patch Set 1: I only see the comment in TODO-RELEASE? I would have expected also the change itself. It's enough work to do the release itself, so let's no delay extra jobs until that time. The TODO-RELEASE file is useful to know which stuff already done triggers some required change during release time. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23240 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Idfe1e7d97f3f29fc219e80dcb6ce6bb768733adf Gerrit-Change-Number: 23240 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 05 Mar 2021 10:18:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 5 10:19:25 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 5 Mar 2021 10:19:25 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Implement error log in case no binds found for NSE In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23241 ) Change subject: gprs_ns2_sns: Implement error log in case no binds found for NSE ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23241 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I66ce4b429ad2597343b48210fdcbc95a1f34cbcd Gerrit-Change-Number: 23241 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 05 Mar 2021 10:19:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 5 10:20:12 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 5 Mar 2021 10:20:12 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Implement error log in case no binds found for NSE In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23241 ) Change subject: gprs_ns2_sns: Implement error log in case no binds found for NSE ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/23241/1/src/gb/gprs_ns2_sns.c File src/gb/gprs_ns2_sns.c: https://gerrit.osmocom.org/c/libosmocore/+/23241/1/src/gb/gprs_ns2_sns.c at 760 PS1, Line 760: return; looks like we may need to move to some other state here? or we simply wait here in this state for some event to retrigger something like the code below? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23241 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I66ce4b429ad2597343b48210fdcbc95a1f34cbcd Gerrit-Change-Number: 23241 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 05 Mar 2021 10:20: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 Mar 5 10:23:27 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 5 Mar 2021 10:23:27 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vty: Clarify VTY help string wording In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23243 ) Change subject: gprs_ns2_vty: Clarify VTY help string wording ...................................................................... Patch Set 1: (3 comments) https://gerrit.osmocom.org/c/libosmocore/+/23243/1/src/gb/gprs_ns2_vty.c File src/gb/gprs_ns2_vty.c: https://gerrit.osmocom.org/c/libosmocore/+/23243/1/src/gb/gprs_ns2_vty.c at 357 PS1, Line 357: "unique identifier for this bind (to reference from NS-VCs, NSEs, ...)\n" Unique https://gerrit.osmocom.org/c/libosmocore/+/23243/1/src/gb/gprs_ns2_vty.c at 402 PS1, Line 402: "unique identifier for this bind\n" caps in first letter? https://gerrit.osmocom.org/c/libosmocore/+/23243/1/src/gb/gprs_ns2_vty.c at 603 PS1, Line 603: "Local IPv4 Address\n" "Local IPv6 Address\n" IP_STR IPV6_STR -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23243 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I7d70f8cc811c2f4aabf9fc00e4e612dfc4b031d3 Gerrit-Change-Number: 23243 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 05 Mar 2021 10:23: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 Fri Mar 5 10:23:43 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 5 Mar 2021 10:23:43 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Remove TODO (spec agrees, the correct cause code is used) In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23242 ) Change subject: gprs_ns2_sns: Remove TODO (spec agrees, the correct cause code is used) ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23242 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6c431ba9e30d19425bf1cc1cc4d081949058610b Gerrit-Change-Number: 23242 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 05 Mar 2021 10:23: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 Mar 5 10:24:19 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 5 Mar 2021 10:24:19 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: refactor ns2_sns_st_size_onenter() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23244 ) Change subject: gprs_ns2_sns: refactor ns2_sns_st_size_onenter() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23244 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I5d7ce419135a8ef538cf9abcb76a49049ed7d5f9 Gerrit-Change-Number: 23244 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 05 Mar 2021 10:24: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 Mar 5 10:30:58 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 5 Mar 2021 10:30:58 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Unify handling of SNS-CONFIG for IPv4 + IPv6 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23245 ) Change subject: gprs_ns2_sns: Unify handling of SNS-CONFIG for IPv4 + IPv6 ...................................................................... Patch Set 2: Code-Review+1 (2 comments) https://gerrit.osmocom.org/c/libosmocore/+/23245/2/src/gb/gprs_ns2_sns.c File src/gb/gprs_ns2_sns.c: https://gerrit.osmocom.org/c/libosmocore/+/23245/2/src/gb/gprs_ns2_sns.c at 954 PS2, Line 954: gss->num_ip4_remote+num_v4); space in "+" (I know it was already like that, but it's incredibly annoying to read otherwise) https://gerrit.osmocom.org/c/libosmocore/+/23245/2/src/gb/gprs_ns2_sns.c at 975 PS2, Line 975: gss->num_ip6_remote+num_v6); same -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23245 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I49e5ca4a09bc772ef5a0cd5c2a76c8b200e56d1b Gerrit-Change-Number: 23245 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 05 Mar 2021 10:30:58 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 5 11:22:06 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 5 Mar 2021 11:22:06 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Fix PCU_Tests_SNS.TC_sns_so_bvc_reset_unknown_bvci References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23250 ) Change subject: pcu: Fix PCU_Tests_SNS.TC_sns_so_bvc_reset_unknown_bvci ...................................................................... pcu: Fix PCU_Tests_SNS.TC_sns_so_bvc_reset_unknown_bvci All BSS-originated BVC-Reset for PTP BVC must contain a Cell Identifier. This test is not respecting that rule libosmogb correctly detects this and discards the RESET, which is not what is intended here: 20210305120722368 DLBSSGP ERROR BSSGP BVCI=1235 Rx RESET missing mandatory IE (gprs_bssgp.c:392) Change-Id: I57ebfc50befc47d0690021d73b52c504f0df4f9a Related: OS#3879 Fixes: Iea5519b453dd544c5a78b3b16ddb5132d20cf67c --- M pcu/PCU_Tests_SNS.ttcn 1 file changed, 4 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/50/23250/1 diff --git a/pcu/PCU_Tests_SNS.ttcn b/pcu/PCU_Tests_SNS.ttcn index 34aec72..b63b51e 100644 --- a/pcu/PCU_Tests_SNS.ttcn +++ b/pcu/PCU_Tests_SNS.ttcn @@ -278,8 +278,10 @@ f_ns_exp(pdu); /* Send a BVC-RESET on the wrong BVC */ - var PDU_BSSGP bssgp_tx := valueof(ts_BVC_RESET(BSSGP_CAUSE_NET_SV_CAP_MOD_GT_ZERO_KBPS, mp_gb_cfg.bvc[0].bvci + 1, - omit)); + var BssgpCellId cell_id := mp_gb_cfg.bvc[0].cell_id; + cell_id.cell_id := cell_id.cell_id + 1; + var PDU_BSSGP bssgp_tx := valueof(ts_BVC_RESET(BSSGP_CAUSE_NET_SV_CAP_MOD_GT_ZERO_KBPS, + mp_gb_cfg.bvc[0].bvci + 1, cell_id)); NSCP[0].send(ts_NS_UNITDATA(t_SduCtrlB, 0, enc_PDU_BSSGP(bssgp_tx))); NSCP[0].receive(tr_NS_UNITDATA(t_SduCtrlB, 0, decmatch tr_BSSGP_STATUS(mp_gb_cfg.bvc[0].bvci + 1, BSSGP_CAUSE_BVCI_UNKNOWN, *))); setverdict(pass); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23250 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I57ebfc50befc47d0690021d73b52c504f0df4f9a Gerrit-Change-Number: 23250 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 Mar 5 11:27:09 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 5 Mar 2021 11:27:09 +0000 Subject: Change in libosmocore[master]: gprs_ns2: Encapsulate setting NSE dialect 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/+/23246 to look at the new patch set (#3). Change subject: gprs_ns2: Encapsulate setting NSE dialect ...................................................................... gprs_ns2: Encapsulate setting NSE dialect Setting the NSE dialect possibly involves the creating (or destruction) of a IP-SNS FSM. Encapsulate that, rather than having every caller re-implement that. Change-Id: I24fdc26fbcfda039bd58ea166f4d5c2fd1801da1 --- M src/gb/gprs_ns2.c M src/gb/gprs_ns2_internal.h M src/gb/gprs_ns2_vty.c 3 files changed, 53 insertions(+), 37 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/46/23246/3 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23246 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I24fdc26fbcfda039bd58ea166f4d5c2fd1801da1 Gerrit-Change-Number: 23246 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 Fri Mar 5 11:28:41 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 5 Mar 2021 11:28:41 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Fix PCU_Tests_SNS.TC_sns_so_bvc_reset_unknown_bvci In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23250 ) Change subject: pcu: Fix PCU_Tests_SNS.TC_sns_so_bvc_reset_unknown_bvci ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23250 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I57ebfc50befc47d0690021d73b52c504f0df4f9a Gerrit-Change-Number: 23250 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 05 Mar 2021 11:28:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 5 11:49:55 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 5 Mar 2021 11:49:55 +0000 Subject: Change in osmo-pcu[master]: tbf: Log N310* counter increments In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23233 ) Change subject: tbf: Log N310* counter increments ...................................................................... Patch Set 1: Code-Review+1 describing why would be useful for the commit message, but LGTM. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23233 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iacd2fb894b4f2a9aade7e66aa40969fea031c3b2 Gerrit-Change-Number: 23233 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 05 Mar 2021 11:49: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 Mar 5 11:57:23 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 5 Mar 2021 11:57:23 +0000 Subject: Change in osmo-pcu[master]: tbf: Log N310* counter increments In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23233 ) Change subject: tbf: Log N310* counter increments ...................................................................... Patch Set 1: Well I think it's clear, to debug increments of such counters ;P -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23233 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iacd2fb894b4f2a9aade7e66aa40969fea031c3b2 Gerrit-Change-Number: 23233 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 05 Mar 2021 11:57: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 Fri Mar 5 12:48:31 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 5 Mar 2021 12:48:31 +0000 Subject: Change in libosmocore[master]: TODO-RELEASE: Request increasing _LAST_OSMOVTY_NODE next release In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23240 ) Change subject: TODO-RELEASE: Request increasing _LAST_OSMOVTY_NODE next release ...................................................................... Patch Set 1: > Patch Set 1: > > I only see the comment in TODO-RELEASE? I would have expected also the change itself. > It's enough work to do the release itself, so let's no delay extra jobs until that time. The TODO-RELEASE file is useful to know which stuff already done triggers some required change during release time. The point is: This should always be done just ahead of a release, every time we increment the SO version, there should be some new reserved logging groups in the header file. While we then maintain the SO version, we replace reserved groups with newly-introduced groups without breaking ABI. I can do it now but that would mean an ABI breakage right now, just after we tagged the release, and it will likely be broken again and again during further development. I've added the comment so we don't forget doing this when actually incrementing SOversion. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23240 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Idfe1e7d97f3f29fc219e80dcb6ce6bb768733adf Gerrit-Change-Number: 23240 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 05 Mar 2021 12:48:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 5 12:49:35 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 5 Mar 2021 12:49:35 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Implement error log in case no binds found for NSE In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23241 ) Change subject: gprs_ns2_sns: Implement error log in case no binds found for NSE ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/23241/1/src/gb/gprs_ns2_sns.c File src/gb/gprs_ns2_sns.c: https://gerrit.osmocom.org/c/libosmocore/+/23241/1/src/gb/gprs_ns2_sns.c at 760 PS1, Line 760: return; > looks like we may need to move to some other state here? or we simply wait here in this state for so [?] there's nothing we can do. Either the circumstances change when the next CONFIG procedure happen, or they don't, and we still have no endpoints. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23241 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I66ce4b429ad2597343b48210fdcbc95a1f34cbcd Gerrit-Change-Number: 23241 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 05 Mar 2021 12:49:35 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 5 12:52:24 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 5 Mar 2021 12:52:24 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vty: Clarify VTY help string wording In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23243 ) Change subject: gprs_ns2_vty: Clarify VTY help string wording ...................................................................... Patch Set 1: (3 comments) https://gerrit.osmocom.org/c/libosmocore/+/23243/1/src/gb/gprs_ns2_vty.c File src/gb/gprs_ns2_vty.c: https://gerrit.osmocom.org/c/libosmocore/+/23243/1/src/gb/gprs_ns2_vty.c at 357 PS1, Line 357: "unique identifier for this bind (to reference from NS-VCs, NSEs, ...)\n" > Unique same as below. https://gerrit.osmocom.org/c/libosmocore/+/23243/1/src/gb/gprs_ns2_vty.c at 402 PS1, Line 402: "unique identifier for this bind\n" > caps in first letter? there's unfortunately a lot of code in gprs_ns2 that uses lowercase. I'll clean this up in an overall patch once the actual work (SGSN-side SNS support) is merged. https://gerrit.osmocom.org/c/libosmocore/+/23243/1/src/gb/gprs_ns2_vty.c at 603 PS1, Line 603: "Local IPv4 Address\n" "Local IPv6 Address\n" > IP_STR IPV6_STR My change is to introduce "Local" to the names. Your suggestion is to keep the existing wording but us a #define. I think the "local" adds value here... -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23243 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I7d70f8cc811c2f4aabf9fc00e4e612dfc4b031d3 Gerrit-Change-Number: 23243 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 05 Mar 2021 12:52: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 Fri Mar 5 13:01:32 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 5 Mar 2021 13:01:32 +0000 Subject: Change in osmo-sgsn[master]: Remove bogus DNS log category In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/23248 ) Change subject: Remove bogus DNS log category ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/23248 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ia4723ab344ad6a1927029a2d5d0dda020266b39d Gerrit-Change-Number: 23248 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 05 Mar 2021 13:01: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 Mar 5 13:12:05 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 5 Mar 2021 13:12:05 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce tests to validate X2301 and T3191 In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23200 ) Change subject: pcu: Introduce tests to validate X2301 and T3191 ...................................................................... Patch Set 3: (2 comments) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23200/3/pcu/PCU_Tests.ttcn File pcu/PCU_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23200/3/pcu/PCU_Tests.ttcn at 1353 PS3, Line 1353: while (true) { Maybe add a ttcn-3 timer that stops the test if it takes too long? Then the test won't run forever here if osmo-pcu doesn't behave as expected. Same for the while (true) below. https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23200/3/pcu/PCU_Tests.ttcn at 1401 PS3, Line 1401: requestinb (requesting, also below) -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23200 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib6dfc5711b9c6f1fd404bce424bbf4b115fc930e Gerrit-Change-Number: 23200 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 05 Mar 2021 13:12:05 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 5 13:15:49 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 5 Mar 2021 13:15:49 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce test TC_n3105_max_t3195 In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23215 ) Change subject: pcu: Introduce test TC_n3105_max_t3195 ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23215 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6f756c928509364fee14c552279f01b4e4f0e060 Gerrit-Change-Number: 23215 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-CC: fixeria Gerrit-Comment-Date: Fri, 05 Mar 2021 13:15: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 Mar 5 13:17:30 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 5 Mar 2021 13:17:30 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce tests to validate X2301 and T3191 In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23200 ) Change subject: pcu: Introduce tests to validate X2301 and T3191 ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23200/3/pcu/PCU_Tests.ttcn File pcu/PCU_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23200/3/pcu/PCU_Tests.ttcn at 1353 PS3, Line 1353: while (true) { > Maybe add a ttcn-3 timer that stops the test if it takes too long? Then the test won't run forever h [?] We do have guard timer for that (it's started by f_init_raw()). -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23200 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib6dfc5711b9c6f1fd404bce424bbf4b115fc930e Gerrit-Change-Number: 23200 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 05 Mar 2021 13:17:30 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: osmith Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 5 13:18:22 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 5 Mar 2021 13:18:22 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce test TC_n3101_max_t3169 In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23232 ) Change subject: pcu: Introduce test TC_n3101_max_t3169 ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23232/1/pcu/PCU_Tests.ttcn File pcu/PCU_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23232/1/pcu/PCU_Tests.ttcn at 1325 PS1, Line 1325: reat reat? (also below) -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23232 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I56177850f084cdaf4fcac63ebdcdff9cef4e7a5d Gerrit-Change-Number: 23232 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: osmith Gerrit-Comment-Date: Fri, 05 Mar 2021 13:18:22 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 5 13:30:39 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 5 Mar 2021 13:30:39 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce tests to validate X2301 and T3191 In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23200 ) Change subject: pcu: Introduce tests to validate X2301 and T3191 ...................................................................... Patch Set 3: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23200/3/pcu/PCU_Tests.ttcn File pcu/PCU_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23200/3/pcu/PCU_Tests.ttcn at 1353 PS3, Line 1353: while (true) { > We do have guard timer for that (it's started by f_init_raw()). thanks! then it's fine :) -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23200 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib6dfc5711b9c6f1fd404bce424bbf4b115fc930e Gerrit-Change-Number: 23200 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 05 Mar 2021 13:30:39 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: osmith 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 Mar 5 13:43:29 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 5 Mar 2021 13:43:29 +0000 Subject: Change in libosmocore[master]: TODO-RELEASE: Request increasing _LAST_OSMOVTY_NODE next release In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23240 ) Change subject: TODO-RELEASE: Request increasing _LAST_OSMOVTY_NODE next release ...................................................................... Patch Set 1: I think we already discussed this and agreed that this kind of issues are expected with master, that is, one must ensure to always run latest master of everything if not running tagged releases. In any case, one can precisely look at TODO-RELEASE of related components to find the possible ABI breakages or any kind of changes (already done!) which may provoke those. I think it makes sense to do that instead of pretending to delay several or tons of tasks until release time and then be drown under them when trying to apply all of them at the same time, potentially breaking stuff and having to re-release, etc. So the earlier breakage happens in master imho is best, because everyone has more time to adapt to it and fix stuff in master itself. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23240 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Idfe1e7d97f3f29fc219e80dcb6ce6bb768733adf Gerrit-Change-Number: 23240 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 05 Mar 2021 13:43: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 Fri Mar 5 13:44:48 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 5 Mar 2021 13:44:48 +0000 Subject: Change in libosmocore[master]: gprs_ns2: Encapsulate setting NSE dialect In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23246 ) Change subject: gprs_ns2: Encapsulate setting NSE dialect ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23246 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I24fdc26fbcfda039bd58ea166f4d5c2fd1801da1 Gerrit-Change-Number: 23246 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 05 Mar 2021 13:44: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 Mar 5 13:45:25 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 5 Mar 2021 13:45:25 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vty: Clarify VTY help string wording In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23243 ) Change subject: gprs_ns2_vty: Clarify VTY help string wording ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23243 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I7d70f8cc811c2f4aabf9fc00e4e612dfc4b031d3 Gerrit-Change-Number: 23243 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 05 Mar 2021 13:45:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 5 14:07:09 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 5 Mar 2021 14:07:09 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce tests to validate X2301 and T3191 In-Reply-To: References: Message-ID: Hello osmith, Jenkins Builder, laforge, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23200 to look at the new patch set (#4). Change subject: pcu: Introduce tests to validate X2301 and T3191 ...................................................................... pcu: Introduce tests to validate X2301 and T3191 They are tested together since anyway in order to reach T3191 we need to go through X2301 (IDLE TBF timeout). Related: OS#3928 Change-Id: Ib6dfc5711b9c6f1fd404bce424bbf4b115fc930e --- M pcu/PCU_Tests.ttcn 1 file changed, 181 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/00/23200/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23200 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib6dfc5711b9c6f1fd404bce424bbf4b115fc930e Gerrit-Change-Number: 23200 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 5 14:07:09 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 5 Mar 2021 14:07:09 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce test TC_n3101_max_t3169 In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23232 to look at the new patch set (#2). Change subject: pcu: Introduce test TC_n3101_max_t3169 ...................................................................... pcu: Introduce test TC_n3101_max_t3169 This test currently fails to pass in master osmo-pcu (and latest) due to T3169 not being implemented exactly as per specs (due to limitations in detecting lost UL blocks with assigned USF). Related: OS#5033 Change-Id: I56177850f084cdaf4fcac63ebdcdff9cef4e7a5d --- M pcu/GPRS_Components.ttcn M pcu/PCU_Tests.ttcn 2 files changed, 121 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/32/23232/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23232 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I56177850f084cdaf4fcac63ebdcdff9cef4e7a5d Gerrit-Change-Number: 23232 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 5 15:00:31 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 5 Mar 2021 15:00:31 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce test TC_dl_no_ack_retrans_imm_ass In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23199 ) Change subject: pcu: Introduce test TC_dl_no_ack_retrans_imm_ass ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23199 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1c1d89f3de9ba158f802e7759ef78dc84f48218f Gerrit-Change-Number: 23199 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-CC: fixeria Gerrit-Comment-Date: Fri, 05 Mar 2021 15:00:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 5 15:01:00 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 5 Mar 2021 15:01:00 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce tests to validate X2301 and T3191 In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23200 ) Change subject: pcu: Introduce tests to validate X2301 and T3191 ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23200 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib6dfc5711b9c6f1fd404bce424bbf4b115fc930e Gerrit-Change-Number: 23200 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 05 Mar 2021 15:01: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 Mar 5 15:12:15 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 5 Mar 2021 15:12:15 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce test TC_n3101_max_t3169 In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23232 ) Change subject: pcu: Introduce test TC_n3101_max_t3169 ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23232/2/pcu/PCU_Tests.ttcn File pcu/PCU_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23232/2/pcu/PCU_Tests.ttcn at 1370 PS2, Line 1370: setverdict(fail, "Reached ", n3101, " > ", N3101_MAX, " (N3101_MAX) and PCU still sends us USFs"); (max line length, also few times below) -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23232 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I56177850f084cdaf4fcac63ebdcdff9cef4e7a5d Gerrit-Change-Number: 23232 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 05 Mar 2021 15:12:15 +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 Mar 5 15:17:14 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 5 Mar 2021 15:17:14 +0000 Subject: Change in simtrace2[master]: d/source/format: new file References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/23251 ) Change subject: d/source/format: new file ...................................................................... d/source/format: new file Fixes: dpkg-source: warning: no source format specified in debian/source/format, see dpkg-source(1) Related: OS#4413 Change-Id: I4c474547233ebb87a1246b01fbd7ff8879921c21 --- A debian/source/format 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/51/23251/1 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/simtrace2/+/23251 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I4c474547233ebb87a1246b01fbd7ff8879921c21 Gerrit-Change-Number: 23251 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 Fri Mar 5 15:17:15 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 5 Mar 2021 15:17:15 +0000 Subject: Change in simtrace2[master]: firmware/Makefile: fix UNKNOWN in OBS packages References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/23252 ) Change subject: firmware/Makefile: fix UNKNOWN in OBS packages ...................................................................... firmware/Makefile: fix UNKNOWN in OBS packages Fix having the version set to UNKNOWN in all packages built by OBS. The osmo-ci.git scripts generating the source packages to be built by OBS generate a ".tarball-version" file with a version string like "0.7.0.70-657c", but it did not get used because the path was wrong. Related: OS#4413 Related: https://osmocom.org/projects/cellular-infrastructure/wiki/Git-version-gen Change-Id: Ic0b06011a604beec7c1c907c2c6e4ae927456e2e --- M firmware/Makefile 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/52/23252/1 diff --git a/firmware/Makefile b/firmware/Makefile index 7be5c30..d7c64b9 100644 --- a/firmware/Makefile +++ b/firmware/Makefile @@ -28,7 +28,7 @@ # Makefile for compiling the Getting Started with SAM3S Microcontrollers project -GIT_VERSION=$(shell $(TOP)/git-version-gen $(TOP)/.tarvers) +GIT_VERSION=$(shell $(TOP)/git-version-gen $(TOP)/.tarball-version) #------------------------------------------------------------------------------- # User-modifiable options #------------------------------------------------------------------------------- -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/23252 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Ic0b06011a604beec7c1c907c2c6e4ae927456e2e Gerrit-Change-Number: 23252 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 Fri Mar 5 15:17:16 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 5 Mar 2021 15:17:16 +0000 Subject: Change in simtrace2[master]: host: use git-version-gen/tarball-v. from topdir References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/23253 ) Change subject: host: use git-version-gen/tarball-v. from topdir ...................................................................... host: use git-version-gen/tarball-v. from topdir Use .tarball-version from the topdir, because it only gets written there when generating the OBS package. Remove the duplicate git-version-gen script and use the one from the topdir to generate a version string if building from the git tree. Related: OS#4413 Change-Id: I4b197a218ab44632ff182ffbd72e15c2b20db341 --- M host/Makefile.am M host/configure.ac D host/git-version-gen 3 files changed, 2 insertions(+), 153 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/53/23253/1 diff --git a/host/Makefile.am b/host/Makefile.am index de76851..338a46b 100644 --- a/host/Makefile.am +++ b/host/Makefile.am @@ -3,7 +3,7 @@ AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/include SUBDIRS = include lib src contrib #tests examples doc -EXTRA_DIST = .version git-version-gen +EXTRA_DIST = .version pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = libosmo-simtrace2.pc diff --git a/host/configure.ac b/host/configure.ac index bcdda08..2e4dcf7 100644 --- a/host/configure.ac +++ b/host/configure.ac @@ -1,5 +1,5 @@ AC_INIT([simtrace2], - m4_esyscmd([./git-version-gen .tarball-version]), + m4_esyscmd([../git-version-gen ../.tarball-version]), [simtrace at lists.osmocom.org]) dnl *This* is the root dir, even if an install-sh exists in ../ or ../../ diff --git a/host/git-version-gen b/host/git-version-gen deleted file mode 100755 index 42cf3d2..0000000 --- a/host/git-version-gen +++ /dev/null @@ -1,151 +0,0 @@ -#!/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/simtrace2/+/23253 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I4b197a218ab44632ff182ffbd72e15c2b20db341 Gerrit-Change-Number: 23253 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 Fri Mar 5 15:17:16 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 5 Mar 2021 15:17:16 +0000 Subject: Change in simtrace2[master]: gitignore: add firmware/apps/*/usb_strings.txt.patched References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/23254 ) Change subject: gitignore: add firmware/apps/*/usb_strings.txt.patched ...................................................................... gitignore: add firmware/apps/*/usb_strings.txt.patched Change-Id: Ic99a5ae69ed755e6f74a1392678dcf71ab69e0d8 --- M .gitignore 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/54/23254/1 diff --git a/.gitignore b/.gitignore index ddcea6c..1a07453 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,4 @@ host/contrib/simtrace2.spec usb_strings_generated.h firmware/usbstring/usbstring +firmware/apps/*/usb_strings.txt.patched -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/23254 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Ic99a5ae69ed755e6f74a1392678dcf71ab69e0d8 Gerrit-Change-Number: 23254 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 Fri Mar 5 15:17:17 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 5 Mar 2021 15:17:17 +0000 Subject: Change in simtrace2[master]: firmware: create duplicate files for upload only References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/23255 ) Change subject: firmware: create duplicate files for upload only ...................................................................... firmware: create duplicate files for upload only Don't create copies of firmware files with version strings appended in the normal build. Only do this before uploading the firmware files. I have verified that "make" before this change and "make; contrib/prepare_upload.sh" after produce the same files. Close: OS#4413 Change-Id: I118a4ff397a178281c26a6b98112fa66b6f049ab --- M contrib/jenkins.sh A contrib/prepare_upload.sh M firmware/Makefile 3 files changed, 15 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/55/23255/1 diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index 7ddfa6e..2ad7a7f 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -68,6 +68,7 @@ if [ "x$publish" = "x--publish" ]; then echo echo "=============== UPLOAD BUILD ==============" + contrib/prepare_upload.sh cat > "/build/known_hosts" <$(OUTPUT)-$$@.elf.txt @$(OBJCOPY) -O binary $(OUTPUT)-$$@.elf $(OUTPUT)-$$@.bin - cp $(OUTPUT)-$$@.bin $(OUTPUT)-$$@-$(GIT_VERSION).bin - cp $(OUTPUT)-$$@.bin $(OUTPUT)-$$@-latest.bin @$(SIZE) $$^ $(OUTPUT)-$$@.elf $$(C_OBJECTS_$(1)): $(OBJ)/$(1)_%.o: %.c Makefile $(OBJ) $(BIN) -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/23255 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I118a4ff397a178281c26a6b98112fa66b6f049ab Gerrit-Change-Number: 23255 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 Fri Mar 5 15:20:47 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 5 Mar 2021 15:20:47 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce test TC_dl_no_ack_retrans_imm_ass In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23199 ) Change subject: pcu: Introduce test TC_dl_no_ack_retrans_imm_ass ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23199 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1c1d89f3de9ba158f802e7759ef78dc84f48218f Gerrit-Change-Number: 23199 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Fri, 05 Mar 2021 15:20:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 5 15:20:55 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 5 Mar 2021 15:20:55 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce tests to validate X2301 and T3191 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23200 ) Change subject: pcu: Introduce tests to validate X2301 and T3191 ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23200 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib6dfc5711b9c6f1fd404bce424bbf4b115fc930e Gerrit-Change-Number: 23200 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: Fri, 05 Mar 2021 15:20: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 Mar 5 15:21:00 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 5 Mar 2021 15:21:00 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce test TC_n3105_max_t3195 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23215 ) Change subject: pcu: Introduce test TC_n3105_max_t3195 ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23215 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6f756c928509364fee14c552279f01b4e4f0e060 Gerrit-Change-Number: 23215 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Fri, 05 Mar 2021 15:21:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 5 15:21:05 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 5 Mar 2021 15:21:05 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce test TC_n3101_max_t3169 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23232 ) Change subject: pcu: Introduce test TC_n3101_max_t3169 ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23232 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I56177850f084cdaf4fcac63ebdcdff9cef4e7a5d Gerrit-Change-Number: 23232 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 05 Mar 2021 15:21:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 5 15:21:07 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 5 Mar 2021 15:21:07 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce test TC_dl_no_ack_retrans_imm_ass In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23199 ) Change subject: pcu: Introduce test TC_dl_no_ack_retrans_imm_ass ...................................................................... pcu: Introduce test TC_dl_no_ack_retrans_imm_ass Change-Id: I1c1d89f3de9ba158f802e7759ef78dc84f48218f --- M pcu/PCU_Tests.ttcn 1 file changed, 92 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: 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/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 5d7a47a..a68acc4 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -2130,6 +2130,97 @@ f_shutdown(__BFILE__, __LINE__, final := true); } +/* Validate an Imm Assignment is retransmitted if first RRBP requesting DL + * ACK/NACK is not answered */ +testcase TC_dl_no_ack_retrans_imm_ass() runs on RAW_PCU_Test_CT { + var RlcmacDlBlock dl_block; + var octetstring data1 := f_rnd_octstring(200); + var octetstring data2 := f_rnd_octstring(10); + var uint32_t dl_fn; + var GprsMS ms; + var template (value) TsTrxBtsNum nr; + var BTS_PDTCH_Block data_msg; + + /* Initialize NS/BSSGP side */ + f_init_bssgp(); + /* Initialize GPRS MS side */ + f_init_gprs_ms(); + ms := g_ms[0]; /* We only use first MS in this test */ + + /* Initialize the PCU interface abstraction */ + f_init_raw(testcasename()) + + /* Establish BSSGP connection to the PCU */ + f_bssgp_establish(); + f_bssgp_client_llgmm_assign(TLLI_UNUSED, ms.tlli); + + /* SGSN sends some DL data, PCU will page on CCCH (PCH) */ + BSSGP[0].send(ts_BSSGP_DL_UD(ms.tlli, data1)); + f_ms_exp_dl_tbf_ass_ccch(ms, PCU_IF_SAPI_PCH); + + /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ + f_sleep(X2002); + + /* Recv DL data until receiving RRBP to DL ACK (because it's last queued DL data) */ + while (true) { + f_rx_rlcmac_dl_block_exp_data(dl_block, dl_fn, ?, ?); + + /* Keep Ack/Nack description updated (except for last BSN) */ + f_acknackdesc_ack_block(ms.dl_tbf.acknack_desc, dl_block); + + if (f_dl_block_rrbp_valid(dl_block)) { + /* Don't transmit DL ACK here on purpose ignore it */ + break; + } + } + + /* PCU starts whole process again */ + f_ms_exp_dl_tbf_ass_ccch(ms, PCU_IF_SAPI_PCH); + + /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ + f_sleep(X2002); + + /* Recv DL data until receiving RRBP to DL ACK (because it's last queued + /* DL data), after that we receive only DUMMY blocks so we are done */ + var boolean data_received := false; + nr := ts_TsTrxBtsNum; + BTS.send(ts_PCUIF_RTS_REQ(nr.bts_nr, nr.trx_nr, nr.ts_nr, + sapi := PCU_IF_SAPI_PDTCH, fn := 0, + arfcn := f_trxnr2arfcn(valueof(nr.trx_nr)), + block_nr := nr.blk_nr)); + alt { + [data_received] BTS.receive(tr_PCUIF_DATA_PDTCH(nr.bts_nr, + tr_PCUIF_DATA(nr.trx_nr, nr.ts_nr, sapi := PCU_IF_SAPI_PDTCH), + tr_RLCMAC_DUMMY_CTRL)) { /* done */ } + [] BTS.receive(tr_PCUIF_DATA_PDTCH(nr.bts_nr, + tr_PCUIF_DATA(nr.trx_nr, nr.ts_nr, sapi := PCU_IF_SAPI_PDTCH), + tr_RLCMAC_DATA)) -> value data_msg { + data_received := true; + f_acknackdesc_ack_block(ms.dl_tbf.acknack_desc, data_msg.dl_block); + if (data_msg.dl_block.data.mac_hdr.hdr_ext.fbi) { + log("Received FINAL_ACK"); + ms.dl_tbf.acknack_desc.final_ack := '1'B; + } + if (f_dl_block_rrbp_valid(data_msg.dl_block)) { + f_ms_tx_ul_block(ms, ts_RLCMAC_DL_ACK_NACK(ms.dl_tbf.tfi, ms.dl_tbf.acknack_desc), + f_dl_block_ack_fn(dl_block, data_msg.raw.fn)); + } + nr := ts_TsTrxBtsNum; + BTS.send(ts_PCUIF_RTS_REQ(nr.bts_nr, nr.trx_nr, nr.ts_nr, + sapi := PCU_IF_SAPI_PDTCH, fn := 0, + arfcn := f_trxnr2arfcn(valueof(nr.trx_nr)), + block_nr := nr.blk_nr)); + repeat; + } + [] BTS.receive { + setverdict(fail, "Unexpected BTS message"); + f_shutdown(__BFILE__, __LINE__); + } + } + + f_shutdown(__BFILE__, __LINE__, final := true); +} + /* Verify allocation and use of multislot tbf, triggered by MS class provided in SGSN. SYS#5131 */ testcase TC_dl_multislot_tbf_ms_class_from_sgsn() runs on RAW_PCU_Test_CT { var PCUIF_info_ind info_ind := valueof(ts_PCUIF_INFO_default(c_PCUIF_Flags_noMCS)); @@ -5153,6 +5244,7 @@ execute( TC_imm_ass_dl_block_retrans() ); execute( TC_dl_flow_more_blocks() ); execute( TC_ul_flow_multiple_llc_blocks() ); + execute( TC_dl_no_ack_retrans_imm_ass() ); execute( TC_paging_cs_from_bts() ); execute( TC_paging_cs_from_sgsn_sign_ptmsi() ); execute( TC_paging_cs_from_sgsn_sign() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23199 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1c1d89f3de9ba158f802e7759ef78dc84f48218f Gerrit-Change-Number: 23199 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith 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 Mar 5 15:21:08 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 5 Mar 2021 15:21:08 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce tests to validate X2301 and T3191 In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23200 ) Change subject: pcu: Introduce tests to validate X2301 and T3191 ...................................................................... pcu: Introduce tests to validate X2301 and T3191 They are tested together since anyway in order to reach T3191 we need to go through X2301 (IDLE TBF timeout). Related: OS#3928 Change-Id: Ib6dfc5711b9c6f1fd404bce424bbf4b115fc930e --- M pcu/PCU_Tests.ttcn 1 file changed, 181 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index a68acc4..64a83f4 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -1313,6 +1313,185 @@ f_shutdown(__BFILE__, __LINE__, final := true); } +/* Verify that a Downlink TBF is kept available until T3191 fires, at which + * point the TBF is no longer available. In order to get to start of T3191, we + * have to wait for x2031 since that marks the IDLE TBF time, that is, the delay + * until TBF release procedure starts after draining DL queue. */ +testcase TC_x2031_t3191() runs on RAW_PCU_Test_CT { + var PCUIF_info_ind info_ind; + var RlcmacDlBlock dl_block; + var octetstring data1 := f_rnd_octstring(200); + var octetstring data2 := f_rnd_octstring(10); + var uint32_t dl_fn; + var template (value) TsTrxBtsNum nr; + var BTS_PDTCH_Block data_msg; + var GprsMS ms; + + /* Initialize NS/BSSGP side */ + f_init_bssgp(); + /* Initialize GPRS MS side */ + f_init_gprs_ms(); + ms := g_ms[0]; /* We only use first MS in this test */ + + /* Initialize the PCU interface abstraction */ + info_ind := valueof(ts_PCUIF_INFO_default(c_PCUIF_Flags_noMCS)); + /* Set timer to 1 sec (default 5) to speedup test: */ + info_ind.t3191 := 1; + f_init_raw(testcasename(), info_ind); + + /* Establish BSSGP connection to the PCU */ + f_bssgp_establish(); + f_bssgp_client_llgmm_assign(TLLI_UNUSED, ms.tlli); + + /* SGSN sends some DL data, PCU will page on CCCH (PCH) */ + BSSGP[0].send(ts_BSSGP_DL_UD(ms.tlli, data1)); + f_ms_exp_dl_tbf_ass_ccch(ms, PCU_IF_SAPI_PCH); + + /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ + f_sleep(X2002); + + while (true) { + f_rx_rlcmac_dl_block_exp_data(dl_block, dl_fn, ?, ?); + + /* Keep Ack/Nack description updated (except for last BSN) */ + f_acknackdesc_ack_block(ms.dl_tbf.acknack_desc, dl_block); + + if (f_dl_block_rrbp_valid(dl_block)) { + f_ms_tx_ul_block(ms, ts_RLCMAC_DL_ACK_NACK(ms.dl_tbf.tfi, ms.dl_tbf.acknack_desc), + f_dl_block_ack_fn(dl_block, dl_fn)); + break; + } + } + + /* Now we wait for IDLE TBF timer (X2031) to time out and receive a FINAL ACK */ + nr := ts_TsTrxBtsNum; + BTS.send(ts_PCUIF_RTS_REQ(nr.bts_nr, nr.trx_nr, nr.ts_nr, + sapi := PCU_IF_SAPI_PDTCH, fn := 0, + arfcn := f_trxnr2arfcn(valueof(nr.trx_nr)), + block_nr := nr.blk_nr)); + alt { + [] as_ms_rx_ignore_dummy(ms, nr); + [] BTS.receive(tr_PCUIF_DATA_PDTCH(nr.bts_nr, + tr_PCUIF_DATA(nr.trx_nr, nr.ts_nr, sapi := PCU_IF_SAPI_PDTCH), + ?)) -> value data_msg { + if (data_msg.dl_block.data.mac_hdr.hdr_ext.fbi) { + log("Received FINAL_ACK"); + ms.dl_tbf.acknack_desc.final_ack := '1'B; + break; + } + if (f_dl_block_rrbp_valid(data_msg.dl_block)) { + f_acknackdesc_ack_block(ms.dl_tbf.acknack_desc, data_msg.dl_block); + f_ms_tx_ul_block(ms, ts_RLCMAC_DL_ACK_NACK(ms.dl_tbf.tfi, ms.dl_tbf.acknack_desc), + f_dl_block_ack_fn(dl_block, data_msg.raw.fn)); + } + nr := ts_TsTrxBtsNum; + BTS.send(ts_PCUIF_RTS_REQ(nr.bts_nr, nr.trx_nr, nr.ts_nr, + sapi := PCU_IF_SAPI_PDTCH, fn := 0, + arfcn := f_trxnr2arfcn(valueof(nr.trx_nr)), + block_nr := nr.blk_nr)); + repeat; + } + [] BTS.receive { + setverdict(fail, "Unexpected BTS message"); + f_shutdown(__BFILE__, __LINE__); + } + } + + /* Avoid ACKing the last RLC data block on purpose here, wait for t3191 + to time out. We simply sleep instead of requesting blocks because + otherwise retransmissions would keep restarting the timer. */ + f_sleep(int2float(info_ind.t3191)); + + /* The TBF should be freed now, so new data should trigger an Assignment: */ + BSSGP[0].send(ts_BSSGP_DL_UD(ms.tlli, data2)); + f_ms_exp_dl_tbf_ass_ccch(ms, PCU_IF_SAPI_PCH); + + /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ + f_sleep(X2002); + /* 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, dl_fn, data2, 0); + f_acknackdesc_ack_block(ms.dl_tbf.acknack_desc, dl_block, '1'B); + f_ms_tx_ul_block(ms, ts_RLCMAC_DL_ACK_NACK(ms.dl_tbf.tfi, ms.dl_tbf.acknack_desc), + f_dl_block_ack_fn(dl_block, dl_fn)); + + f_shutdown(__BFILE__, __LINE__, final := true); +} + +/* Same as TC_zero_x2031_t3191, but this time without x2031 (immediate FINAL_ACK). */ +testcase TC_zero_x2031_t3191() runs on RAW_PCU_Test_CT { + var PCUIF_info_ind info_ind; + var RlcmacDlBlock dl_block; + var octetstring data1 := f_rnd_octstring(1400); + var octetstring data2 := f_rnd_octstring(10); + var uint32_t dl_fn; + var GprsMS ms; + + /* Initialize NS/BSSGP side */ + f_init_bssgp(); + /* Initialize GPRS MS side */ + f_init_gprs_ms(); + ms := g_ms[0]; /* We only use first MS in this test */ + + /* Initialize the PCU interface abstraction */ + info_ind := valueof(ts_PCUIF_INFO_default(c_PCUIF_Flags_noMCS)); + /* Set timer to 1 sec (default 5) to speedup test: */ + info_ind.t3191 := 1; + f_init_raw(testcasename(), info_ind); + + f_vty_config2(PCUVTY, {"pcu"}, "timer X2031 0"); + + /* Establish BSSGP connection to the PCU */ + f_bssgp_establish(); + f_bssgp_client_llgmm_assign(TLLI_UNUSED, ms.tlli); + + /* SGSN sends some DL data, PCU will page on CCCH (PCH) */ + BSSGP[0].send(ts_BSSGP_DL_UD(ms.tlli, data1)); + f_ms_exp_dl_tbf_ass_ccch(ms, PCU_IF_SAPI_PCH); + + /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ + f_sleep(X2002); + + /* Send enough DL data to at least be able to DL ACK once (excl the + * FINAL_ACK one), so that PCU sees we are listening in PDCH and avoids + * other code paths like trying to Imm Assign on CCCH again, etc.. */ + while (true) { + f_rx_rlcmac_dl_block_exp_data(dl_block, dl_fn, ?, ?); + + if (dl_block.data.mac_hdr.hdr_ext.fbi) { + log("Received FINAL_ACK"); + ms.dl_tbf.acknack_desc.final_ack := '1'B; + break; + } + + /* Keep Ack/Nack description updated (except for last BSN) */ + f_acknackdesc_ack_block(ms.dl_tbf.acknack_desc, dl_block); + + if (f_dl_block_rrbp_valid(dl_block)) { + f_ms_tx_ul_block(ms, ts_RLCMAC_DL_ACK_NACK(ms.dl_tbf.tfi, ms.dl_tbf.acknack_desc), + f_dl_block_ack_fn(dl_block, dl_fn)); + } + } + + /* Avoid ACKing the last RLC data block on purpose here, wait for t3191 + to time out. We simply sleep instead of requesting blocks because + otherwise retransmissions would keep restarting the timer. */ + f_sleep(int2float(info_ind.t3191)); + + /* The TBF should be freed now, so new data should trigger an Assignment: */ + BSSGP[0].send(ts_BSSGP_DL_UD(ms.tlli, data2)); + f_ms_exp_dl_tbf_ass_ccch(ms, PCU_IF_SAPI_PCH); + + /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ + f_sleep(X2002); + /* 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, dl_fn, data2, 0); + f_acknackdesc_ack_block(ms.dl_tbf.acknack_desc, dl_block, '1'B); + f_ms_tx_ul_block(ms, ts_RLCMAC_DL_ACK_NACK(ms.dl_tbf.tfi, ms.dl_tbf.acknack_desc), + f_dl_block_ack_fn(dl_block, dl_fn)); + + f_shutdown(__BFILE__, __LINE__, final := true); +} + /* 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 */ @@ -5231,6 +5410,8 @@ execute( TC_mcs_initial_dl() ); execute( TC_mcs_max_dl() ); execute( TC_t3169() ); + execute( TC_x2031_t3191() ); + execute( TC_zero_x2031_t3191() ); execute( TC_t3193() ); execute( TC_countdown_procedure() ); execute( TC_ul_all_sizes() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23200 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib6dfc5711b9c6f1fd404bce424bbf4b115fc930e Gerrit-Change-Number: 23200 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 Fri Mar 5 15:21:09 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 5 Mar 2021 15:21:09 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce test TC_n3105_max_t3195 In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23215 ) Change subject: pcu: Introduce test TC_n3105_max_t3195 ...................................................................... pcu: Introduce test TC_n3105_max_t3195 Related: OS#3928 Change-Id: I6f756c928509364fee14c552279f01b4e4f0e060 --- M pcu/PCU_Tests.ttcn 1 file changed, 121 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved laforge: Looks good to me, but someone else must approve osmith: Looks good to me, but someone else must approve diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 64a83f4..4c7fdca 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -1547,6 +1547,126 @@ f_shutdown(__BFILE__, __LINE__, final := true); } +/* Verify after N3105_MAX is reached, T3195 is started and upon timeout TBF is + freed and no longer available. Trigger it by sending DL blocks and never DL + ACKing the data (which are requested through RRBP) */ +testcase TC_n3105_max_t3195() runs on RAW_PCU_Test_CT { + var PCUIF_info_ind info_ind; + var RlcmacDlBlock dl_block; + var octetstring data1 := f_rnd_octstring(1000); + var octetstring data2 := f_rnd_octstring(10); + var uint32_t dl_fn; + var template (value) TsTrxBtsNum nr; + var BTS_PDTCH_Block data_msg; + var GprsMS ms; + const integer N3105_MAX := 2; + var integer N3105 := 0; + timer T_3195 := 1.0; + var integer num_poll_recv := 0; + + /* Initialize NS/BSSGP side */ + f_init_bssgp(); + /* Initialize GPRS MS side */ + f_init_gprs_ms(); + ms := g_ms[0]; /* We only use first MS in this test */ + + /* Initialize the PCU interface abstraction */ + info_ind := valueof(ts_PCUIF_INFO_default(c_PCUIF_Flags_noMCS)); + /* Speedup test: */ + info_ind.n3105 := N3105_MAX; + info_ind.t3195 := 1; + f_init_raw(testcasename(), info_ind); + + /* Disable "MS delay release" timer, to avoid old DL data kept in cached + * MS and retransmitted after the TBF is released and later on created + * (because the MS is reused) */ + f_vty_config2(PCUVTY, {"pcu"}, "timer X2030 0"); + + /* Establish BSSGP connection to the PCU */ + f_bssgp_establish(); + f_bssgp_client_llgmm_assign(TLLI_UNUSED, ms.tlli); + + /* SGSN sends some DL data, PCU will page on CCCH (PCH) */ + BSSGP[0].send(ts_BSSGP_DL_UD(ms.tlli, data1)); + f_ms_exp_dl_tbf_ass_ccch(ms, PCU_IF_SAPI_PCH); + + /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ + f_sleep(X2002); + + /* Now we go on receiving DL data and not answering RRBP: */ + nr := ts_TsTrxBtsNum; + BTS.send(ts_PCUIF_RTS_REQ(nr.bts_nr, nr.trx_nr, nr.ts_nr, + sapi := PCU_IF_SAPI_PDTCH, fn := 0, + arfcn := f_trxnr2arfcn(valueof(nr.trx_nr)), + block_nr := nr.blk_nr)); + alt { + [not T_3195.running] BTS.receive(tr_PCUIF_DATA_PDTCH(nr.bts_nr, + tr_PCUIF_DATA(nr.trx_nr, nr.ts_nr, sapi := PCU_IF_SAPI_PDTCH), + tr_RLCMAC_DATA)) -> value data_msg { + if (f_dl_block_rrbp_valid(data_msg.dl_block)) { + if (num_poll_recv == 0) { + /* ACK first one so PCU detects we are there and doesn't retransmit Imm Ass */ + f_acknackdesc_ack_block(ms.dl_tbf.acknack_desc, data_msg.dl_block); + f_ms_tx_ul_block(ms, ts_RLCMAC_DL_ACK_NACK(ms.dl_tbf.tfi, ms.dl_tbf.acknack_desc), + f_dl_block_ack_fn(data_msg.dl_block, data_msg.raw.fn)); + } else { + log("Ignoring RRBP ", num_poll_recv); + N3105 := N3105 + 1; + } + num_poll_recv := num_poll_recv + 1; + } + + nr := ts_TsTrxBtsNum; + BTS.send(ts_PCUIF_RTS_REQ(nr.bts_nr, nr.trx_nr, nr.ts_nr, + sapi := PCU_IF_SAPI_PDTCH, fn := 0, + arfcn := f_trxnr2arfcn(valueof(nr.trx_nr)), + block_nr := nr.blk_nr)); + repeat; + } + /* At this point in time (N3105_MAX reached), PCU already moved TBF to + * RELEASE state so no data for it is tx'ed, hence the dummy blocks: + */ + [N3105 == N3105_MAX] BTS.receive(tr_PCUIF_DATA_PDTCH(nr.bts_nr, + tr_PCUIF_DATA(nr.trx_nr, nr.ts_nr, sapi := PCU_IF_SAPI_PDTCH), + tr_RLCMAC_DUMMY_CTRL)) -> value data_msg { + if (not T_3195.running) { + T_3195.start; + /* We even send some new data, nothing should be sent to MS */ + BSSGP[0].send(ts_BSSGP_DL_UD(ms.tlli, data1)); + } + nr := ts_TsTrxBtsNum; + BTS.send(ts_PCUIF_RTS_REQ(nr.bts_nr, nr.trx_nr, nr.ts_nr, + sapi := PCU_IF_SAPI_PDTCH, fn := 0, + arfcn := f_trxnr2arfcn(valueof(nr.trx_nr)), + block_nr := nr.blk_nr)); + repeat; + } + [] T_3195.timeout { + log("T_3195 timeout"); + /* Done in alt */ + } + [] BTS.receive { + setverdict(fail, "Unexpected BTS message"); + f_shutdown(__BFILE__, __LINE__); + } + } + + /* after T_3195 timeout, TBF is released */ + BSSGP[0].send(ts_BSSGP_DL_UD(ms.tlli, data2)); + f_ms_exp_dl_tbf_ass_ccch(ms, PCU_IF_SAPI_PCH); + + /* Wait timer X2002 and DL block is available after CCCH IMM ASS: */ + f_sleep(X2002); + f_rx_rlcmac_dl_block_exp_data(dl_block, dl_fn, data2, 0); + + /* ACK the DL block */ + f_acknackdesc_ack_block(ms.dl_tbf.acknack_desc, dl_block, '1'B); + f_ms_tx_ul_block(ms, ts_RLCMAC_DL_ACK_NACK(ms.dl_tbf.tfi, ms.dl_tbf.acknack_desc), + f_dl_block_ack_fn(dl_block, dl_fn)); + + f_shutdown(__BFILE__, __LINE__, final := true); +} + /* Verify PCU handles correctly Countdown Procedure based on BS_CV_MAX */ testcase TC_countdown_procedure() runs on RAW_PCU_Test_CT { var RlcmacDlBlock dl_block; @@ -5413,6 +5533,7 @@ execute( TC_x2031_t3191() ); execute( TC_zero_x2031_t3191() ); execute( TC_t3193() ); + execute( TC_n3105_max_t3195() ); execute( TC_countdown_procedure() ); execute( TC_ul_all_sizes() ); execute( TC_ul_data_toolong_fills_padding() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23215 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I6f756c928509364fee14c552279f01b4e4f0e060 Gerrit-Change-Number: 23215 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith 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 Mar 5 15:21:09 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 5 Mar 2021 15:21:09 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Introduce test TC_n3101_max_t3169 In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23232 ) Change subject: pcu: Introduce test TC_n3101_max_t3169 ...................................................................... pcu: Introduce test TC_n3101_max_t3169 This test currently fails to pass in master osmo-pcu (and latest) due to T3169 not being implemented exactly as per specs (due to limitations in detecting lost UL blocks with assigned USF). Related: OS#5033 Change-Id: I56177850f084cdaf4fcac63ebdcdff9cef4e7a5d --- M pcu/GPRS_Components.ttcn M pcu/PCU_Tests.ttcn 2 files changed, 121 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/pcu/GPRS_Components.ttcn b/pcu/GPRS_Components.ttcn index 5266743..57cd837 100644 --- a/pcu/GPRS_Components.ttcn +++ b/pcu/GPRS_Components.ttcn @@ -701,6 +701,20 @@ return 0; /* make compiler happy */ } +function f_rlcmac_dl_block_get_usf(RlcmacDlBlock dl_block) +runs on MS_BTS_IFACE_CT return uint3_t { + if (ischosen(dl_block.data)) { + return dl_block.data.mac_hdr.mac_hdr.usf; + } else if (ischosen(dl_block.data_egprs)) { + return dl_block.data_egprs.mac_hdr.usf; + } else { /* Ctrl block */ + return dl_block.ctrl.mac_hdr.usf; + } + setverdict(fail, "DlBlock doesn't contain a USF:", dl_block); + f_shutdown(__BFILE__, __LINE__); + return 0; /* make compiler happy */ +} + /* Get the Chan coding command from a dl block containing PACCH UL Assignment */ function f_rlcmac_dl_block_get_assigned_ul_cs_mcs(RlcmacDlBlock dl_block) runs on MS_BTS_IFACE_CT return CodingScheme { diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 4c7fdca..cac423a 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -1313,6 +1313,112 @@ f_shutdown(__BFILE__, __LINE__, final := true); } +/* Validate what happens when RACH to get UL TBF and then PCU receives no UL + * data. It should end up in N3101 reaching N3101_MAX and finally triggering + * T3169. See OS#5033 */ +testcase TC_n3101_max_t3169() runs on RAW_PCU_Test_CT { + var PCUIF_info_ind info_ind; + var template (value) TsTrxBtsNum nr; + var BTS_PDTCH_Block data_msg; + var GprsMS ms; + var uint3_t rx_usf; + const integer N3101_MAX := 9; /* N3101 shall be greater than 8 */ + var integer n3101 := 0; + timer T_3169 := 1.0; + + /* Initialize NS/BSSGP side */ + f_init_bssgp(); + /* Initialize GPRS MS side */ + f_init_gprs_ms(); + ms := g_ms[0]; /* We only use first MS in this test */ + + /* Initialize the PCU interface abstraction */ + info_ind := valueof(ts_PCUIF_INFO_default(c_PCUIF_Flags_noMCS)); + info_ind.n3101 := N3101_MAX; + info_ind.t3169 := 1; + f_init_raw(testcasename(), info_ind); + + /* Establish BSSGP connection to the PCU */ + f_bssgp_establish(); + f_bssgp_client_llgmm_assign(TLLI_UNUSED, ms.tlli); + + /* Establish UL TBF */ + f_ms_establish_ul_tbf(ms); + + /* Now we wait for PCU to transmit our USF */ + nr := ts_TsTrxBtsNum; + BTS.send(ts_PCUIF_RTS_REQ(nr.bts_nr, nr.trx_nr, nr.ts_nr, + sapi := PCU_IF_SAPI_PDTCH, fn := 0, + arfcn := f_trxnr2arfcn(valueof(nr.trx_nr)), + block_nr := nr.blk_nr)); + + alt { + [] BTS.receive(tr_PCUIF_DATA_PDTCH(nr.bts_nr, + tr_PCUIF_DATA(nr.trx_nr, nr.ts_nr, sapi := PCU_IF_SAPI_PDTCH), + ?)) -> value data_msg { + if (ms.ul_tbf.usf[valueof(nr.ts_nr)] == USF_UNUSED) { + setverdict(fail, "Unexpected ts_nr ", valueof(nr.ts_nr), " without USF allocated"); + f_shutdown(__BFILE__, __LINE__); + } + + rx_usf := f_rlcmac_dl_block_get_usf(data_msg.dl_block); + if (rx_usf == ms.ul_tbf.usf[valueof(nr.ts_nr)]) { + log("PCU requests our USF ", rx_usf, ", n3101=", n3101); + n3101 := n3101 + 1; + //"if (n3101 > N3101_MAX) {" -> start timer T3169 + if (n3101 > N3101_MAX) { + setverdict(fail, "Reached ", n3101, " > ", N3101_MAX, " (N3101_MAX) and PCU still sends us USFs"); + f_shutdown(__BFILE__, __LINE__); + } + } else if (rx_usf == USF_UNUSED and n3101 == N3101_MAX) { + /* If we already received USFs for us and we don't receive them anymore, that means the TBF entered T3169 */ + log("PCU stopped requesting USF ", ms.ul_tbf.usf[valueof(nr.ts_nr)]); + if (not T_3169.running) { + log("T3169 started"); + T_3169.start; + } + } else if(rx_usf == USF_UNUSED and n3101 > 0) { + setverdict(fail, "PCU stopped requesting USFs too early: ", n3101, " < ", N3101_MAX, " (N3101_MAX)"); + f_shutdown(__BFILE__, __LINE__); + } else { + log("PCU requests ", rx_usf, ", we have ", ms.ul_tbf.usf[valueof(nr.ts_nr)]); + } + nr := ts_TsTrxBtsNum; + BTS.send(ts_PCUIF_RTS_REQ(nr.bts_nr, nr.trx_nr, nr.ts_nr, + sapi := PCU_IF_SAPI_PDTCH, fn := 0, + arfcn := f_trxnr2arfcn(valueof(nr.trx_nr)), + block_nr := nr.blk_nr)); + repeat; + } + [] T_3169.timeout { + log("T_3169 expired"); + /* Done in alt */ + } + [] BTS.receive { + setverdict(fail, "Unexpected BTS message"); + f_shutdown(__BFILE__, __LINE__); + } + } + + /* Now that T3169 has expired, establishing a Ul TBF should provide same + /* USFs as per previous TBF since they were freed at expiration time: */ + var uint3_t old_usf[8] := ms.ul_tbf.usf; + var uint5_t old_tfi := ms.ul_tbf.tfi; + f_ms_establish_ul_tbf(ms); + if (old_tfi != ms.ul_tbf.tfi) { + setverdict(fail, "Unexpected TFI change: ", ms.ul_tbf.tfi, " vs exp ", old_tfi); + f_shutdown(__BFILE__, __LINE__); + } + for (var integer i := 0; i < 8; i := i +1) { + if (ms.ul_tbf.usf[i] != old_usf[i]) { + setverdict(fail, "Unexpected USF change: ", ms.ul_tbf.usf[i], " vs exp ", old_usf[i]); + f_shutdown(__BFILE__, __LINE__); + } + } + + f_shutdown(__BFILE__, __LINE__, final := true); +} + /* Verify that a Downlink TBF is kept available until T3191 fires, at which * point the TBF is no longer available. In order to get to start of T3191, we * have to wait for x2031 since that marks the IDLE TBF time, that is, the delay @@ -5530,6 +5636,7 @@ execute( TC_mcs_initial_dl() ); execute( TC_mcs_max_dl() ); execute( TC_t3169() ); + execute( TC_n3101_max_t3169() ); execute( TC_x2031_t3191() ); execute( TC_zero_x2031_t3191() ); execute( TC_t3193() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23232 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I56177850f084cdaf4fcac63ebdcdff9cef4e7a5d Gerrit-Change-Number: 23232 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 5 15:22:21 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 5 Mar 2021 15:22:21 +0000 Subject: Change in simtrace2[master]: d/source/format: new file In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/23251 ) Change subject: d/source/format: new file ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/23251 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I4c474547233ebb87a1246b01fbd7ff8879921c21 Gerrit-Change-Number: 23251 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 05 Mar 2021 15:22:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 5 15:22:43 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 5 Mar 2021 15:22:43 +0000 Subject: Change in simtrace2[master]: firmware/Makefile: fix UNKNOWN in OBS packages In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/23252 ) Change subject: firmware/Makefile: fix UNKNOWN in OBS packages ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/23252 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Ic0b06011a604beec7c1c907c2c6e4ae927456e2e Gerrit-Change-Number: 23252 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 05 Mar 2021 15: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 Mar 5 15:23:12 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 5 Mar 2021 15:23:12 +0000 Subject: Change in simtrace2[master]: host: use git-version-gen/tarball-v. from topdir In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/23253 ) Change subject: host: use git-version-gen/tarball-v. from topdir ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/23253 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I4b197a218ab44632ff182ffbd72e15c2b20db341 Gerrit-Change-Number: 23253 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 05 Mar 2021 15:23:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 5 15:23:24 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 5 Mar 2021 15:23:24 +0000 Subject: Change in simtrace2[master]: gitignore: add firmware/apps/*/usb_strings.txt.patched In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/23254 ) Change subject: gitignore: add firmware/apps/*/usb_strings.txt.patched ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/23254 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Ic99a5ae69ed755e6f74a1392678dcf71ab69e0d8 Gerrit-Change-Number: 23254 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 05 Mar 2021 15:23: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 Mar 5 15:23:47 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 5 Mar 2021 15:23:47 +0000 Subject: Change in simtrace2[master]: firmware: create duplicate files for upload only In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/23255 ) Change subject: firmware: create duplicate files for upload only ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/23255 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I118a4ff397a178281c26a6b98112fa66b6f049ab Gerrit-Change-Number: 23255 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 05 Mar 2021 15:23:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 5 15:30:13 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 5 Mar 2021 15:30:13 +0000 Subject: Change in simtrace2[master]: d/source/format: new file In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/23251 ) Change subject: d/source/format: new file ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/23251 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I4c474547233ebb87a1246b01fbd7ff8879921c21 Gerrit-Change-Number: 23251 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 05 Mar 2021 15:30:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 5 15:30:51 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 5 Mar 2021 15:30:51 +0000 Subject: Change in simtrace2[master]: firmware/Makefile: fix UNKNOWN in OBS packages In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/23252 ) Change subject: firmware/Makefile: fix UNKNOWN in OBS packages ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/23252 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Ic0b06011a604beec7c1c907c2c6e4ae927456e2e Gerrit-Change-Number: 23252 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 05 Mar 2021 15:30: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 Mar 5 15:32:25 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 5 Mar 2021 15:32:25 +0000 Subject: Change in simtrace2[master]: host: use git-version-gen/tarball-v. from topdir In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/23253 ) Change subject: host: use git-version-gen/tarball-v. from topdir ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/23253 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I4b197a218ab44632ff182ffbd72e15c2b20db341 Gerrit-Change-Number: 23253 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 05 Mar 2021 15:32:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 5 15:32:46 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 5 Mar 2021 15:32:46 +0000 Subject: Change in simtrace2[master]: gitignore: add firmware/apps/*/usb_strings.txt.patched In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/23254 ) Change subject: gitignore: add firmware/apps/*/usb_strings.txt.patched ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/23254 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Ic99a5ae69ed755e6f74a1392678dcf71ab69e0d8 Gerrit-Change-Number: 23254 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 05 Mar 2021 15:32:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 5 15:33:57 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 5 Mar 2021 15:33:57 +0000 Subject: Change in simtrace2[master]: firmware: create duplicate files for upload only In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/23255 ) Change subject: firmware: create duplicate files for upload only ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/23255 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I118a4ff397a178281c26a6b98112fa66b6f049ab Gerrit-Change-Number: 23255 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 05 Mar 2021 15:33: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 Mar 5 15:58:46 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 5 Mar 2021 15:58:46 +0000 Subject: Change in simtrace2[master]: d/source/format: new file In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/23251 ) Change subject: d/source/format: new file ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/23251 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I4c474547233ebb87a1246b01fbd7ff8879921c21 Gerrit-Change-Number: 23251 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 05 Mar 2021 15:58: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 Fri Mar 5 15:58:59 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 5 Mar 2021 15:58:59 +0000 Subject: Change in simtrace2[master]: d/source/format: new file In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/23251 ) Change subject: d/source/format: new file ...................................................................... d/source/format: new file Fixes: dpkg-source: warning: no source format specified in debian/source/format, see dpkg-source(1) Related: OS#4413 Change-Id: I4c474547233ebb87a1246b01fbd7ff8879921c21 --- A debian/source/format 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved 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/simtrace2/+/23251 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I4c474547233ebb87a1246b01fbd7ff8879921c21 Gerrit-Change-Number: 23251 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 5 15:59:00 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 5 Mar 2021 15:59:00 +0000 Subject: Change in simtrace2[master]: firmware/Makefile: fix UNKNOWN in OBS packages In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/23252 ) Change subject: firmware/Makefile: fix UNKNOWN in OBS packages ...................................................................... firmware/Makefile: fix UNKNOWN in OBS packages Fix having the version set to UNKNOWN in all packages built by OBS. The osmo-ci.git scripts generating the source packages to be built by OBS generate a ".tarball-version" file with a version string like "0.7.0.70-657c", but it did not get used because the path was wrong. Related: OS#4413 Related: https://osmocom.org/projects/cellular-infrastructure/wiki/Git-version-gen Change-Id: Ic0b06011a604beec7c1c907c2c6e4ae927456e2e --- M firmware/Makefile 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve fixeria: Looks good to me, approved diff --git a/firmware/Makefile b/firmware/Makefile index 7be5c30..d7c64b9 100644 --- a/firmware/Makefile +++ b/firmware/Makefile @@ -28,7 +28,7 @@ # Makefile for compiling the Getting Started with SAM3S Microcontrollers project -GIT_VERSION=$(shell $(TOP)/git-version-gen $(TOP)/.tarvers) +GIT_VERSION=$(shell $(TOP)/git-version-gen $(TOP)/.tarball-version) #------------------------------------------------------------------------------- # User-modifiable options #------------------------------------------------------------------------------- -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/23252 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Ic0b06011a604beec7c1c907c2c6e4ae927456e2e Gerrit-Change-Number: 23252 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 5 15:59:58 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 5 Mar 2021 15:59:58 +0000 Subject: Change in simtrace2[master]: host: use git-version-gen/tarball-v. from topdir In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/23253 ) Change subject: host: use git-version-gen/tarball-v. from topdir ...................................................................... host: use git-version-gen/tarball-v. from topdir Use .tarball-version from the topdir, because it only gets written there when generating the OBS package. Remove the duplicate git-version-gen script and use the one from the topdir to generate a version string if building from the git tree. Related: OS#4413 Change-Id: I4b197a218ab44632ff182ffbd72e15c2b20db341 --- M host/Makefile.am M host/configure.ac D host/git-version-gen 3 files changed, 2 insertions(+), 153 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve fixeria: Looks good to me, approved diff --git a/host/Makefile.am b/host/Makefile.am index de76851..338a46b 100644 --- a/host/Makefile.am +++ b/host/Makefile.am @@ -3,7 +3,7 @@ AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/include SUBDIRS = include lib src contrib #tests examples doc -EXTRA_DIST = .version git-version-gen +EXTRA_DIST = .version pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = libosmo-simtrace2.pc diff --git a/host/configure.ac b/host/configure.ac index bcdda08..2e4dcf7 100644 --- a/host/configure.ac +++ b/host/configure.ac @@ -1,5 +1,5 @@ AC_INIT([simtrace2], - m4_esyscmd([./git-version-gen .tarball-version]), + m4_esyscmd([../git-version-gen ../.tarball-version]), [simtrace at lists.osmocom.org]) dnl *This* is the root dir, even if an install-sh exists in ../ or ../../ diff --git a/host/git-version-gen b/host/git-version-gen deleted file mode 100755 index 42cf3d2..0000000 --- a/host/git-version-gen +++ /dev/null @@ -1,151 +0,0 @@ -#!/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/simtrace2/+/23253 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I4b197a218ab44632ff182ffbd72e15c2b20db341 Gerrit-Change-Number: 23253 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 5 15:59:59 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 5 Mar 2021 15:59:59 +0000 Subject: Change in simtrace2[master]: gitignore: add firmware/apps/*/usb_strings.txt.patched In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/23254 ) Change subject: gitignore: add firmware/apps/*/usb_strings.txt.patched ...................................................................... gitignore: add firmware/apps/*/usb_strings.txt.patched Change-Id: Ic99a5ae69ed755e6f74a1392678dcf71ab69e0d8 --- M .gitignore 1 file changed, 1 insertion(+), 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/.gitignore b/.gitignore index ddcea6c..1a07453 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,4 @@ host/contrib/simtrace2.spec usb_strings_generated.h firmware/usbstring/usbstring +firmware/apps/*/usb_strings.txt.patched -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/23254 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Ic99a5ae69ed755e6f74a1392678dcf71ab69e0d8 Gerrit-Change-Number: 23254 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 5 16:00:11 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 5 Mar 2021 16:00:11 +0000 Subject: Change in docker-playground[master]: osmo-ggsn-latest: add more kernel build depends In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23226 ) Change subject: osmo-ggsn-latest: add more kernel build depends ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23226 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Iaef87c3418b8e6f1e427b2abd9d40e9e28dc63e9 Gerrit-Change-Number: 23226 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 05 Mar 2021 16:00: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 Fri Mar 5 16:00:24 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 5 Mar 2021 16:00:24 +0000 Subject: Change in docker-playground[master]: osmo-msc-latest: implicit libdbd-sqlite3 install In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23235 ) Change subject: osmo-msc-latest: implicit libdbd-sqlite3 install ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23235 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I0b6d8ea4295021ce5470ee342ed7d89b42886348 Gerrit-Change-Number: 23235 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 05 Mar 2021 16:00:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 5 16:00:35 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 5 Mar 2021 16:00:35 +0000 Subject: Change in docker-playground[master]: osmo-msc-latest: implicit libdbd-sqlite3 install In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23235 ) Change subject: osmo-msc-latest: implicit libdbd-sqlite3 install ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23235 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I0b6d8ea4295021ce5470ee342ed7d89b42886348 Gerrit-Change-Number: 23235 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 05 Mar 2021 16:00:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 5 16:00:38 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 5 Mar 2021 16:00:38 +0000 Subject: Change in docker-playground[master]: osmo-ggsn-latest: add more kernel build depends In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23226 ) Change subject: osmo-ggsn-latest: add more kernel build depends ...................................................................... osmo-ggsn-latest: add more kernel build depends Add everything needed to run ttcn3-ggsn-test-kernel-* jobs. osmo-ggsn-master needs less dependencies, as more get installed in the base image debian-stretch-build. Related: OS#3208 Change-Id: Iaef87c3418b8e6f1e427b2abd9d40e9e28dc63e9 --- M osmo-ggsn-latest/Dockerfile 1 file changed, 7 insertions(+), 0 deletions(-) Approvals: osmith: Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/osmo-ggsn-latest/Dockerfile b/osmo-ggsn-latest/Dockerfile index 90b12b9..7729bfc 100644 --- a/osmo-ggsn-latest/Dockerfile +++ b/osmo-ggsn-latest/Dockerfile @@ -24,11 +24,18 @@ apt-get update && \ apt-get install -y --no-install-recommends \ bc \ + bison \ bridge-utils \ busybox-static \ ca-certificates \ + flex \ + gcc \ + git \ + libc6-dev \ libelf-dev \ + libssl-dev \ linux-image-amd64 \ + make \ osmo-ggsn \ pax-utils \ qemu-system-x86 \ -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23226 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Iaef87c3418b8e6f1e427b2abd9d40e9e28dc63e9 Gerrit-Change-Number: 23226 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 5 16:00:38 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 5 Mar 2021 16:00:38 +0000 Subject: Change in docker-playground[master]: osmo-msc-latest: implicit libdbd-sqlite3 install In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23235 ) Change subject: osmo-msc-latest: implicit libdbd-sqlite3 install ...................................................................... osmo-msc-latest: implicit libdbd-sqlite3 install Remove the explicit mention of libdbd-sqlite3, as it is in the depends of osmo-msc now. Related: OS#3771 Change-Id: I0b6d8ea4295021ce5470ee342ed7d89b42886348 --- M osmo-msc-latest/Dockerfile 1 file changed, 1 insertion(+), 3 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved; Verified diff --git a/osmo-msc-latest/Dockerfile b/osmo-msc-latest/Dockerfile index 2c42e3d..f1710d0 100644 --- a/osmo-msc-latest/Dockerfile +++ b/osmo-msc-latest/Dockerfile @@ -18,13 +18,11 @@ rm /tmp/Release.key && \ echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-latest.list -# libdbd-sqlite3: workaround for OS#3771 ADD $OSMOCOM_REPO/Release /tmp/Release RUN apt-get update && \ apt-get install -y --no-install-recommends \ osmo-msc \ - telnet \ - libdbd-sqlite3 && \ + telnet && \ apt-get clean WORKDIR /tmp -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23235 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I0b6d8ea4295021ce5470ee342ed7d89b42886348 Gerrit-Change-Number: 23235 Gerrit-PatchSet: 1 Gerrit-Owner: osmith 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 Mar 5 16:01:10 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 5 Mar 2021 16:01:10 +0000 Subject: Change in docker-playground[master]: debian-stretch-obs-latest: new container In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23236 ) Change subject: debian-stretch-obs-latest: new container ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23236 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I443d52eba416ea298cc5421e280ad2f4ca59283b Gerrit-Change-Number: 23236 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 05 Mar 2021 16:01:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 5 16:01:29 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 5 Mar 2021 16:01:29 +0000 Subject: Change in docker-playground[master]: osmo-*-latest: support centos8 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23237 ) Change subject: osmo-*-latest: support centos8 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23237 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I274b31d4903df07e99fd434af25bdb72991f6923 Gerrit-Change-Number: 23237 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 05 Mar 2021 16:01: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 Mar 5 16:01:55 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 5 Mar 2021 16:01:55 +0000 Subject: Change in docker-playground[master]: osmo-*-master: move common code to *-build In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23238 ) Change subject: osmo-*-master: move common code to *-build ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23238 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Id69f3eaf37f823bac0947366f27a25edd277a4cb Gerrit-Change-Number: 23238 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 05 Mar 2021 16:01: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 Mar 5 16:02:25 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 5 Mar 2021 16:02:25 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3: add new ggsn-test-kernel-latest jobs In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23227 ) Change subject: jobs/ttcn3: add new ggsn-test-kernel-latest jobs ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23227 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I6918b953b64b0d81805fd02b1a8469a8db20f938 Gerrit-Change-Number: 23227 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 05 Mar 2021 16:02:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 5 16:02:37 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 5 Mar 2021 16:02:37 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3-testsuites-kernel-git: trigger manually In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23228 ) Change subject: jobs/ttcn3-testsuites-kernel-git: trigger manually ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23228 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I3a141372b0648a03b35b2b274949a001851f6ca6 Gerrit-Change-Number: 23228 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 05 Mar 2021 16:02:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 5 16:02:47 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 5 Mar 2021 16:02:47 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3-testsuites-kernel-git: add OSMOCOM_VERSION In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23229 ) Change subject: jobs/ttcn3-testsuites-kernel-git: add OSMOCOM_VERSION ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23229 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ifaf8ed6502b469ade670c3f436670480d27becd6 Gerrit-Change-Number: 23229 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 05 Mar 2021 16:02:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 5 16:03:10 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 5 Mar 2021 16:03:10 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3-testsuites-kernel-git: make userfriendly In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23230 ) Change subject: jobs/ttcn3-testsuites-kernel-git: make userfriendly ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23230 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I0968ae716c8e3f32db6f589b28d6066d95ad85ea Gerrit-Change-Number: 23230 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 05 Mar 2021 16:03:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 5 16:03:22 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 5 Mar 2021 16:03:22 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3-testsuites-kernel-git: remove wrong comment In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23231 ) Change subject: jobs/ttcn3-testsuites-kernel-git: remove wrong comment ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23231 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Idbcb7267ce38cbdc2df5631df404f908487f827b Gerrit-Change-Number: 23231 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 05 Mar 2021 16: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 Fri Mar 5 16:03:34 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 5 Mar 2021 16:03:34 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3: add TTCN3-centos-*-latest In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23239 ) Change subject: jobs/ttcn3: add TTCN3-centos-*-latest ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23239 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I9a29fddc93789cd285d85445830cc26016af9768 Gerrit-Change-Number: 23239 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 05 Mar 2021 16:03: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 Mar 5 16:04:21 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 5 Mar 2021 16:04:21 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: transmit PCUIF DATA.ind with len=0 when no UL data to transmit References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23256 ) Change subject: pcu: transmit PCUIF DATA.ind with len=0 when no UL data to transmit ...................................................................... pcu: transmit PCUIF DATA.ind with len=0 when no UL data to transmit older osmo-pcu versions can cope well with this change, they will simply print an error upon ach data_len=0 messages received and submit a GSMTAP block, then discard it, so tests still pass. Related: OS#5020 Change-Id: Ib4f97a9bcfa68230945effeb6412218faa64ec78 --- M library/PCUIF_Types.ttcn M pcu/PCUIF_Components.ttcn 2 files changed, 56 insertions(+), 23 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/56/23256/1 diff --git a/library/PCUIF_Types.ttcn b/library/PCUIF_Types.ttcn index ef27b11..96b2bac 100644 --- a/library/PCUIF_Types.ttcn +++ b/library/PCUIF_Types.ttcn @@ -161,7 +161,7 @@ uint32_t hLayer1, PCUIF_InfoTrxTsList ts } with { variant (pdch_mask) "BITORDER(msb)" }; -private type record length(8) of PCUIF_InfoV10Trx PCUIF_InfoV10TrxList; +type record length(8) of PCUIF_InfoV10Trx PCUIF_InfoV10TrxList; /* Version <= 9 specific coding */ private type record PCUIF_InfoV09Trx { diff --git a/pcu/PCUIF_Components.ttcn b/pcu/PCUIF_Components.ttcn index 50de700..2a505d2 100644 --- a/pcu/PCUIF_Components.ttcn +++ b/pcu/PCUIF_Components.ttcn @@ -308,6 +308,8 @@ /* Whether to forward PTCCH/U burst events to the TC */ var boolean cfg_ptcch_burst_fwd := false; + + var PCUIF_info_ind g_info_ind; } /* Queue received messages from Test Case, they will eventually be scheduled and @@ -337,6 +339,55 @@ } } +/* Get first message from queue. true if non-empty, false otherwise */ +private function f_tx_data_ind_fn(integer bts_nr, integer fn) +runs on RAW_PCU_BTS_CT +{ + var PCUIF_Message pcu_msg; + var boolean has_msg, use_msg; + var PCUIF_InfoV10TrxList trx_list := g_info_ind.trx.v10; + + for (var uint8_t ts_nr := 0; ts_nr < 8; ts_nr := ts_nr + 1) { + for (var integer trx_nr := 0; trx_nr < lengthof(trx_list); trx_nr := trx_nr + 1) { + var charstring prefix := "BTS=" & int2str(bts_nr) & ",TRX=" & int2str(trx_nr) & ",TS=" & int2str(ts_nr) & ",FN=" & int2str(fn) & ": "; + if (trx_list[trx_nr].pdch_mask[ts_nr] == '0'B) { + log(prefix, "disabled"); + continue; /* TRX+TS not activated */ + } + + /* Check if we reached time to serve the first DATA.ind message in the queue: */ + has_msg := f_PCUIF_MsgQueue_first(pdtch_data_queue, pcu_msg) and + pcu_msg.u.data_ind.trx_nr == trx_nr and + pcu_msg.u.data_ind.ts_nr == ts_nr; + use_msg := has_msg and (pcu_msg.u.data_ind.fn == 0 or pcu_msg.u.data_ind.fn == fn); + if (use_msg) { + /* Dequeue a DATA.ind message */ + f_PCUIF_MsgQueue_dequeue(pdtch_data_queue, pcu_msg); + /* Patch TDMA frame / block number */ + pcu_msg.u.data_ind.fn := fn; + pcu_msg.u.data_ind.block_nr := 0; /* FIXME! */ + log(prefix, "DATA.ind"); + } else if (has_msg and pcu_msg.u.data_ind.fn < fn) { + setverdict(fail, "We are late scheduling the block! ", pcu_msg.u.data_ind.fn, " < ", fn); + mtc.stop; + } else { + /* NOPE.ind: */ + pcu_msg := valueof(ts_PCUIF_DATA_IND(bts_nr, trx_nr, ts_nr, 0 /* FIXME */, + PCU_IF_SAPI_PDTCH, ''O, fn, + trx_list[trx_nr].arfcn, + rssi := -80, ber10k := 0, + ta_offs_qbits := 0, lqual_cb := 10)); + log(prefix, "DATA.ind (len=0)"); + } + + PCUIF.send(pcu_msg); /* Send to the PCU and notify the TC */ + if (use_msg) { + TC.send(ts_RAW_PCU_CLCK_EV(TDMA_EV_PDTCH_BLOCK_SENT, fn)); + } + } + } +} + /* Handle schedule events and manage actions: Send msgs over PCUIF to PCU, * advertise Test Case about sent messages, etc. */ private altstep as_BTS_CT_TDMASched(integer bts_nr) @@ -344,7 +395,6 @@ var PCUIF_Message pcu_msg; var RAW_PCU_Event event; var integer ev_begin_fn; - var integer next_fn; [] CLCK.receive(tr_RAW_PCU_EV(TDMA_EV_PDTCH_BLOCK_BEG)) -> value event { /* If the RTS queue for PDTCH is not empty, send a message */ @@ -362,29 +412,10 @@ PCUIF.send(ts_PCUIF_TIME_IND(bts_nr, event.data.tdma_fn)); repeat; } - [lengthof(pdtch_data_queue) > 0] CLCK.receive(tr_RAW_PCU_EV(TDMA_EV_PDTCH_BLOCK_END)) -> value event { + [] CLCK.receive(tr_RAW_PCU_EV(TDMA_EV_PDTCH_BLOCK_END)) -> value event { /* FN matching the beginning of current block: */ ev_begin_fn := event.data.tdma_fn - 3; - - /* Check if we reached time to serve the first DATA.ind message in the queue: */ - f_PCUIF_MsgQueue_first(pdtch_data_queue, pcu_msg); - next_fn := pcu_msg.u.data_ind.fn; - if (next_fn != 0 and next_fn != ev_begin_fn) { - if (next_fn < ev_begin_fn) { - setverdict(fail, "We are late scheduling the block! ", next_fn, " < ", ev_begin_fn); - mtc.stop; - } - repeat; - } - /* Dequeue a DATA.ind message */ - f_PCUIF_MsgQueue_dequeue(pdtch_data_queue, pcu_msg); - - /* Patch TDMA frame / block number */ - pcu_msg.u.data_ind.fn := ev_begin_fn; - pcu_msg.u.data_ind.block_nr := 0; /* FIXME! */ - - PCUIF.send(pcu_msg); /* Send to the PCU and notify the TC */ - TC.send(ts_RAW_PCU_CLCK_EV(TDMA_EV_PDTCH_BLOCK_SENT, ev_begin_fn)); + f_tx_data_ind_fn(bts_nr, ev_begin_fn); repeat; } [lengthof(ptcch_rts_queue) > 0] CLCK.receive(tr_RAW_PCU_EV(TDMA_EV_PTCCH_DL_BLOCK)) -> value event { @@ -417,6 +448,8 @@ var BTS_PTCCH_Block pcu_msg_ptcch; var BTS_CCCH_Block pcu_msg_rr; + g_info_ind := info_ind; + /* Init TDMA clock generator (so we can stop and start it) */ vc_CLCK_GEN := RAW_PCU_ClckGen_CT.create("ClckGen-" & int2str(bts_nr)) alive; connect(vc_CLCK_GEN:CLCK, self:CLCK); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23256 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib4f97a9bcfa68230945effeb6412218faa64ec78 Gerrit-Change-Number: 23256 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 Mar 5 16:09:10 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 5 Mar 2021 16:09:10 +0000 Subject: Change in libosmocore[master]: TODO-RELEASE: Request increasing _LAST_OSMOVTY_NODE next release 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/+/23240 to look at the new patch set (#2). Change subject: TODO-RELEASE: Request increasing _LAST_OSMOVTY_NODE next release ...................................................................... TODO-RELEASE: Request increasing _LAST_OSMOVTY_NODE next release We've used up all but one "library reserved" VTY nodes at this point, and we should definitely add some more reserved nodes in the next libosmovty ABI version / release. Change-Id: Idfe1e7d97f3f29fc219e80dcb6ce6bb768733adf --- M TODO-RELEASE M include/osmocom/vty/command.h 2 files changed, 8 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/40/23240/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23240 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Idfe1e7d97f3f29fc219e80dcb6ce6bb768733adf Gerrit-Change-Number: 23240 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 Fri Mar 5 16:09:10 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 5 Mar 2021 16:09:10 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vty: Clarify VTY help string wording In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/23243 to look at the new patch set (#2). Change subject: gprs_ns2_vty: Clarify VTY help string wording ...................................................................... gprs_ns2_vty: Clarify VTY help string wording Change-Id: I7d70f8cc811c2f4aabf9fc00e4e612dfc4b031d3 --- M src/gb/gprs_ns2_vty.c 1 file changed, 9 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/43/23243/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23243 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I7d70f8cc811c2f4aabf9fc00e4e612dfc4b031d3 Gerrit-Change-Number: 23243 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 Mar 5 16:09:10 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 5 Mar 2021 16:09:10 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Unify handling of SNS-CONFIG for IPv4 + IPv6 In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/23245 to look at the new patch set (#3). Change subject: gprs_ns2_sns: Unify handling of SNS-CONFIG for IPv4 + IPv6 ...................................................................... gprs_ns2_sns: Unify handling of SNS-CONFIG for IPv4 + IPv6 Related: OS#3373 Change-Id: I49e5ca4a09bc772ef5a0cd5c2a76c8b200e56d1b --- M src/gb/gprs_ns2_sns.c 1 file changed, 74 insertions(+), 110 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/45/23245/3 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23245 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I49e5ca4a09bc772ef5a0cd5c2a76c8b200e56d1b Gerrit-Change-Number: 23245 Gerrit-PatchSet: 3 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 Mar 5 16:09:20 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 5 Mar 2021 16:09:20 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Unify handling of SNS-CONFIG for IPv4 + IPv6 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23245 ) Change subject: gprs_ns2_sns: Unify handling of SNS-CONFIG for IPv4 + IPv6 ...................................................................... Patch Set 2: (2 comments) https://gerrit.osmocom.org/c/libosmocore/+/23245/2/src/gb/gprs_ns2_sns.c File src/gb/gprs_ns2_sns.c: https://gerrit.osmocom.org/c/libosmocore/+/23245/2/src/gb/gprs_ns2_sns.c at 954 PS2, Line 954: gss->num_ip4_remote+num_v4); > space in "+" (I know it was already like that, but it's incredibly annoying to read otherwise) Done https://gerrit.osmocom.org/c/libosmocore/+/23245/2/src/gb/gprs_ns2_sns.c at 975 PS2, Line 975: gss->num_ip6_remote+num_v6); > same Done -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23245 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I49e5ca4a09bc772ef5a0cd5c2a76c8b200e56d1b Gerrit-Change-Number: 23245 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 05 Mar 2021 16:09:20 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 5 16:10:08 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 5 Mar 2021 16:10:08 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vty: Clarify VTY help string wording In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23243 ) Change subject: gprs_ns2_vty: Clarify VTY help string wording ...................................................................... Patch Set 2: (2 comments) https://gerrit.osmocom.org/c/libosmocore/+/23243/1/src/gb/gprs_ns2_vty.c File src/gb/gprs_ns2_vty.c: https://gerrit.osmocom.org/c/libosmocore/+/23243/1/src/gb/gprs_ns2_vty.c at 357 PS1, Line 357: "unique identifier for this bind (to reference from NS-VCs, NSEs, ...)\n" > same as below. Done https://gerrit.osmocom.org/c/libosmocore/+/23243/1/src/gb/gprs_ns2_vty.c at 402 PS1, Line 402: "unique identifier for this bind\n" > there's unfortunately a lot of code in gprs_ns2 that uses lowercase. [?] Done -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23243 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I7d70f8cc811c2f4aabf9fc00e4e612dfc4b031d3 Gerrit-Change-Number: 23243 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 05 Mar 2021 16:10:08 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 5 16:10:30 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 5 Mar 2021 16:10:30 +0000 Subject: Change in libosmocore[master]: TODO-RELEASE: Request increasing _LAST_OSMOVTY_NODE next release In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23240 ) Change subject: TODO-RELEASE: Request increasing _LAST_OSMOVTY_NODE next release ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23240 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Idfe1e7d97f3f29fc219e80dcb6ce6bb768733adf Gerrit-Change-Number: 23240 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 05 Mar 2021 16:10:30 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 5 16:10:50 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 5 Mar 2021 16:10:50 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Unify handling of SNS-CONFIG for IPv4 + IPv6 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23245 ) Change subject: gprs_ns2_sns: Unify handling of SNS-CONFIG for IPv4 + IPv6 ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23245 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I49e5ca4a09bc772ef5a0cd5c2a76c8b200e56d1b Gerrit-Change-Number: 23245 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 05 Mar 2021 16:10:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 5 16:11:11 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 5 Mar 2021 16:11:11 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vty: Clarify VTY help string wording In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23243 ) Change subject: gprs_ns2_vty: Clarify VTY help string wording ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23243 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I7d70f8cc811c2f4aabf9fc00e4e612dfc4b031d3 Gerrit-Change-Number: 23243 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 05 Mar 2021 16:11:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 5 16:11:39 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 5 Mar 2021 16:11:39 +0000 Subject: Change in libosmocore[master]: TODO-RELEASE: Request increasing _LAST_OSMOVTY_NODE next release In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23240 ) Change subject: TODO-RELEASE: Request increasing _LAST_OSMOVTY_NODE next release ...................................................................... Patch Set 2: Code-Review+2 > So the earlier breakage happens in master imho is best, because everyone has more time to adapt to it and fix stuff in master itself. done -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23240 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Idfe1e7d97f3f29fc219e80dcb6ce6bb768733adf Gerrit-Change-Number: 23240 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 05 Mar 2021 16:11:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 5 16:11:47 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 5 Mar 2021 16:11:47 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Implement error log in case no binds found for NSE In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23241 ) Change subject: gprs_ns2_sns: Implement error log in case no binds found for NSE ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23241 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I66ce4b429ad2597343b48210fdcbc95a1f34cbcd Gerrit-Change-Number: 23241 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 05 Mar 2021 16:11:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 5 16:11:53 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 5 Mar 2021 16:11:53 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Remove TODO (spec agrees, the correct cause code is used) In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23242 ) Change subject: gprs_ns2_sns: Remove TODO (spec agrees, the correct cause code is used) ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23242 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6c431ba9e30d19425bf1cc1cc4d081949058610b Gerrit-Change-Number: 23242 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 05 Mar 2021 16:11: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 Mar 5 16:12:00 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 5 Mar 2021 16:12:00 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vty: Clarify VTY help string wording In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23243 ) Change subject: gprs_ns2_vty: Clarify VTY help string wording ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23243 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I7d70f8cc811c2f4aabf9fc00e4e612dfc4b031d3 Gerrit-Change-Number: 23243 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 05 Mar 2021 16: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 Fri Mar 5 16:12:06 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 5 Mar 2021 16:12:06 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: refactor ns2_sns_st_size_onenter() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23244 ) Change subject: gprs_ns2_sns: refactor ns2_sns_st_size_onenter() ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23244 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I5d7ce419135a8ef538cf9abcb76a49049ed7d5f9 Gerrit-Change-Number: 23244 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 05 Mar 2021 16: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 Fri Mar 5 17:19:18 2021 From: gerrit-no-reply at lists.osmocom.org (iedemam) Date: Fri, 5 Mar 2021 17:19:18 +0000 Subject: Change in osmo-bsc[master]: stats: add BTS uptime counter In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/23234 to look at the new patch set (#2). Change subject: stats: add BTS uptime counter ...................................................................... stats: add BTS uptime counter Change-Id: Ib17674bbe95e828cebff12de9e0b30f06447ef6c --- M include/osmocom/bsc/bts.h M include/osmocom/bsc/gsm_data.h M src/osmo-bsc/bsc_init.c M src/osmo-bsc/bts.c M src/osmo-bsc/bts_ipaccess_nanobts.c M src/osmo-bsc/e1_config.c 6 files changed, 63 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/34/23234/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23234 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib17674bbe95e828cebff12de9e0b30f06447ef6c Gerrit-Change-Number: 23234 Gerrit-PatchSet: 2 Gerrit-Owner: iedemam 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 Mar 5 17:25:35 2021 From: gerrit-no-reply at lists.osmocom.org (iedemam) Date: Fri, 5 Mar 2021 17:25:35 +0000 Subject: Change in osmo-bsc[master]: stats: add BTS uptime counter In-Reply-To: References: Message-ID: iedemam has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23234 ) Change subject: stats: add BTS uptime counter ...................................................................... Patch Set 2: Hi, In this approach, I've tried to be much less intrusive in the scheduling and counting. Now it is only triggered every 10 seconds. I'd like to actually have it match the stats interval but I can't see how to pull that value out of the config yet. Each time it is triggered, we calculate change in uptime for each BTS and add it to the counter. It is stored with the same accuracy as the existing uptime outputs in VTY. I am also no longer judging what "uptime" means. I rely on the existing counters for that. Hopefully this is closer to what could land in master. I think a lot of people would find it useful to have BTS uptime exported over statsd without any further infrastructure, scripts, etc needed. Let me know what else I can refactor or reconsider. Thanks as always for your time. -Michael -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23234 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib17674bbe95e828cebff12de9e0b30f06447ef6c Gerrit-Change-Number: 23234 Gerrit-PatchSet: 2 Gerrit-Owner: iedemam Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 05 Mar 2021 17:25: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 Mar 5 17:41:00 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 5 Mar 2021 17:41:00 +0000 Subject: Change in pysim[master]: fix TypeError in derive_milenage_opc() References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/23258 ) Change subject: fix TypeError in derive_milenage_opc() ...................................................................... fix TypeError in derive_milenage_opc() In 4f6ca43e1f6726f00cfc91ff6d17db6878316c4d we started to use the bytearray type as 'b' type, but PyCrypto insists on getting a bytearray type. This fixes the following Exception: TypeError: argument 1 must be read-only bytes-like object, not bytearray Change-Id: If2a727ed417ffd56c0f7d7b4e9f633d67fde5ced Closes: OS#5060 --- M pySim/utils.py 1 file changed, 5 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/58/23258/1 diff --git a/pySim/utils.py b/pySim/utils.py index 5320b59..2d77f0f 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -244,9 +244,11 @@ from pySim.utils import b2h # We pass in hex string and now need to work on bytes - aes = AES.new(h2b(ki_hex)) - opc_bytes = aes.encrypt(h2b(op_hex)) - return b2h(strxor(opc_bytes, h2b(op_hex))) + ki_bytes = bytes(h2b(ki_hex)) + op_bytes = bytes(h2b(op_hex)) + aes = AES.new(ki_bytes) + opc_bytes = aes.encrypt(op_bytes) + return s2h(strxor(opc_bytes, op_bytes)) def calculate_luhn(cc): """ -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23258 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: If2a727ed417ffd56c0f7d7b4e9f633d67fde5ced Gerrit-Change-Number: 23258 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 Mar 5 17:41:01 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 5 Mar 2021 17:41:01 +0000 Subject: Change in pysim[master]: pySim/utils.py: Attempt to support pycryptodpme References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/23259 ) Change subject: pySim/utils.py: Attempt to support pycryptodpme ...................................................................... pySim/utils.py: Attempt to support pycryptodpme This should resolve the following error when using with pycryptodome instead of pycrypto: TypeError: new() missing 1 required positional argument: 'mode' Change-Id: Ibd3ca00d62b864909f5e89e0feb350268157a4ca Related: OS#5060 --- M pySim/utils.py 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/59/23259/1 diff --git a/pySim/utils.py b/pySim/utils.py index 2d77f0f..7225222 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -246,7 +246,7 @@ # We pass in hex string and now need to work on bytes ki_bytes = bytes(h2b(ki_hex)) op_bytes = bytes(h2b(op_hex)) - aes = AES.new(ki_bytes) + aes = AES.new(ki_bytes, AES.MODE_ECB) opc_bytes = aes.encrypt(op_bytes) return s2h(strxor(opc_bytes, op_bytes)) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23259 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ibd3ca00d62b864909f5e89e0feb350268157a4ca Gerrit-Change-Number: 23259 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 Mar 5 18:01:57 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 5 Mar 2021 18:01:57 +0000 Subject: Change in pysim[master]: fix TypeError in derive_milenage_opc() 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/+/23258 to look at the new patch set (#2). Change subject: fix TypeError in derive_milenage_opc() ...................................................................... fix TypeError in derive_milenage_opc() In 4f6ca43e1f6726f00cfc91ff6d17db6878316c4d we started to use the bytearray type as 'b' type, but PyCrypto insists on getting a bytearray type. This fixes the following Exception: TypeError: argument 1 must be read-only bytes-like object, not bytearray Change-Id: If2a727ed417ffd56c0f7d7b4e9f633d67fde5ced Closes: OS#5060 --- M pySim/utils.py 1 file changed, 5 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/58/23258/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23258 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: If2a727ed417ffd56c0f7d7b4e9f633d67fde5ced Gerrit-Change-Number: 23258 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 Fri Mar 5 18:03:01 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 5 Mar 2021 18:03:01 +0000 Subject: Change in pysim[master]: fix TypeError in derive_milenage_opc() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23258 ) Change subject: fix TypeError in derive_milenage_opc() ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23258 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: If2a727ed417ffd56c0f7d7b4e9f633d67fde5ced Gerrit-Change-Number: 23258 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 05 Mar 2021 18:03:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 5 18:03:05 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 5 Mar 2021 18:03:05 +0000 Subject: Change in pysim[master]: pySim/utils.py: Attempt to support pycryptodpme In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23259 ) Change subject: pySim/utils.py: Attempt to support pycryptodpme ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23259 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ibd3ca00d62b864909f5e89e0feb350268157a4ca Gerrit-Change-Number: 23259 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 05 Mar 2021 18:03:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 5 18:05:19 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 5 Mar 2021 18:05:19 +0000 Subject: Change in osmo-pcu[master]: pdch: Silently ignore DATA.ind with len=0 References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23260 ) Change subject: pdch: Silently ignore DATA.ind with len=0 ...................................................................... pdch: Silently ignore DATA.ind with len=0 Since recently (see Depends below), BTS side submits DATA.ind with len=0 to announce nothing was received on that UL block FN. This will allow osmo-pcu track time more accurately, and use this information to quickly find out if a UL block was expected as requested by RRBP or USF poll and increment counters such as N3101 (finally being able to properly implement timers such as T3619). Depends: osmo-bts.git Change-Id I343c7a721dab72411edbca816c8864926bc329fb Related: OS#5020 Change-Id: I17c28abf63b153448b533971ac5cf2e48daadea8 --- M src/pdch.cpp 1 file changed, 9 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/60/23260/1 diff --git a/src/pdch.cpp b/src/pdch.cpp index 46d1cae..374435c 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -794,6 +794,15 @@ int gprs_rlcmac_pdch::rcv_block(uint8_t *data, uint8_t len, uint32_t fn, struct pcu_l1_meas *meas) { + /* No successfully UL block was received during this FN: */ + if (len == 0) { + /* TODO: Here, in the future, it can be checked whether a UL block was expected for: + * - UL/DL TBFs: RRBP poll pending (bts->pollController->expireTimedout) + * - UL TBFs: USF poll pending (we don't store this info in ul_tbf yet) -> inc N3101 (OS#5033) + */ + return 0; + } + enum CodingScheme cs = mcs_get_by_size_ul(len); if (!cs) { bts_do_rate_ctr_inc(bts(), CTR_DECODE_ERRORS); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23260 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I17c28abf63b153448b533971ac5cf2e48daadea8 Gerrit-Change-Number: 23260 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 Mar 5 18:30:28 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 5 Mar 2021 18:30:28 +0000 Subject: Change in docker-playground[master]: ttcn3-pcu: Disable sending all DATA.ind on pcu -latest References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/23262 ) Change subject: ttcn3-pcu: Disable sending all DATA.ind on pcu -latest ...................................................................... ttcn3-pcu: Disable sending all DATA.ind on pcu -latest Depends: osmo-ttcn3-hacks.git Change-Id Ib4f97a9bcfa68230945effeb6412218faa64ec78 Related: OS#5020 Change-Id: Id265d08a31f6bc803c565c3ca465bc19f1088b92 --- M ttcn3-pcu-test/PCU_Tests.cfg M ttcn3-pcu-test/jenkins.sh 2 files changed, 6 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/62/23262/1 diff --git a/ttcn3-pcu-test/PCU_Tests.cfg b/ttcn3-pcu-test/PCU_Tests.cfg index 07d9c3a..9d2f36f 100644 --- a/ttcn3-pcu-test/PCU_Tests.cfg +++ b/ttcn3-pcu-test/PCU_Tests.cfg @@ -36,6 +36,7 @@ } } Osmocom_VTY_Functions.mp_prompt_prefix := "OsmoPCU"; +PCUIF_Components.mp_send_all_data_ind := true; [MAIN_CONTROLLER] diff --git a/ttcn3-pcu-test/jenkins.sh b/ttcn3-pcu-test/jenkins.sh index 11c77ad..c597e0e 100755 --- a/ttcn3-pcu-test/jenkins.sh +++ b/ttcn3-pcu-test/jenkins.sh @@ -16,6 +16,11 @@ mkdir $VOL_BASE_DIR/pcu-tester/unix cp PCU_Tests.cfg $VOL_BASE_DIR/pcu-tester/ +# Disable until osmo-pcu release > 0.9.0 +if [ "$IMAGE_SUFFIX" = "latest" ]; then + sed -i "s/^PCUIF_Components.mp_send_all_data_ind.*/PCUIF_Components.mp_send_all_data_ind := false;/" $VOL_BASE_DIR/pcu-tester/PCU_Tests.cfg +fi + mkdir $VOL_BASE_DIR/pcu mkdir $VOL_BASE_DIR/pcu/unix cp osmo-pcu.cfg $VOL_BASE_DIR/pcu/ -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23262 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Id265d08a31f6bc803c565c3ca465bc19f1088b92 Gerrit-Change-Number: 23262 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 Mar 5 19:42:07 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 5 Mar 2021 19:42:07 +0000 Subject: Change in pysim[master]: fix TypeError in derive_milenage_opc() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23258 ) Change subject: fix TypeError in derive_milenage_opc() ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/pysim/+/23258/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/pysim/+/23258/2//COMMIT_MSG at 11 PS2, Line 11: bytearray bytes -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23258 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: If2a727ed417ffd56c0f7d7b4e9f633d67fde5ced Gerrit-Change-Number: 23258 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 05 Mar 2021 19:42:07 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 5 19:42:35 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 5 Mar 2021 19:42:35 +0000 Subject: Change in pysim[master]: pySim/utils.py: Attempt to support pycryptodpme In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23259 ) Change subject: pySim/utils.py: Attempt to support pycryptodpme ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23259 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ibd3ca00d62b864909f5e89e0feb350268157a4ca Gerrit-Change-Number: 23259 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 05 Mar 2021 19:42:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 5 19:44:18 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 5 Mar 2021 19:44:18 +0000 Subject: Change in osmo-pcu[master]: tbf: Log N310* counter increments In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23233 ) Change subject: tbf: Log N310* counter increments ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23233 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iacd2fb894b4f2a9aade7e66aa40969fea031c3b2 Gerrit-Change-Number: 23233 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 05 Mar 2021 19: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 Fri Mar 5 19:45:42 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 5 Mar 2021 19:45:42 +0000 Subject: Change in osmo-pcu[master]: pdch: Silently ignore DATA.ind with len=0 In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23260 ) Change subject: pdch: Silently ignore DATA.ind with len=0 ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/23260/1/src/pdch.cpp File src/pdch.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/23260/1/src/pdch.cpp at 797 PS1, Line 797: successfully decoded? -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23260 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I17c28abf63b153448b533971ac5cf2e48daadea8 Gerrit-Change-Number: 23260 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Fri, 05 Mar 2021 19:45:42 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 5 20:38:55 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 5 Mar 2021 20:38:55 +0000 Subject: Change in pysim[master]: fix TypeError in derive_milenage_opc() In-Reply-To: References: Message-ID: Hello Jenkins Builder, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/23258 to look at the new patch set (#3). Change subject: fix TypeError in derive_milenage_opc() ...................................................................... fix TypeError in derive_milenage_opc() In 4f6ca43e1f6726f00cfc91ff6d17db6878316c4d we started to use the bytearray type as 'b' type, but PyCrypto insists on getting a bytes type. This fixes the following Exception: TypeError: argument 1 must be read-only bytes-like object, not bytearray Change-Id: If2a727ed417ffd56c0f7d7b4e9f633d67fde5ced Closes: OS#5060 --- M pySim/utils.py 1 file changed, 5 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/58/23258/3 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23258 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: If2a727ed417ffd56c0f7d7b4e9f633d67fde5ced Gerrit-Change-Number: 23258 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 Fri Mar 5 20:38:59 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 5 Mar 2021 20:38:59 +0000 Subject: Change in pysim[master]: fix TypeError in derive_milenage_opc() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23258 ) Change subject: fix TypeError in derive_milenage_opc() ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23258 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: If2a727ed417ffd56c0f7d7b4e9f633d67fde5ced Gerrit-Change-Number: 23258 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 05 Mar 2021 20:38:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 5 20:39:12 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 5 Mar 2021 20:39:12 +0000 Subject: Change in pysim[master]: fix TypeError in derive_milenage_opc() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/23258 ) Change subject: fix TypeError in derive_milenage_opc() ...................................................................... fix TypeError in derive_milenage_opc() In 4f6ca43e1f6726f00cfc91ff6d17db6878316c4d we started to use the bytearray type as 'b' type, but PyCrypto insists on getting a bytes type. This fixes the following Exception: TypeError: argument 1 must be read-only bytes-like object, not bytearray Change-Id: If2a727ed417ffd56c0f7d7b4e9f633d67fde5ced Closes: OS#5060 --- M pySim/utils.py 1 file changed, 5 insertions(+), 3 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/pySim/utils.py b/pySim/utils.py index 5320b59..13e62f0 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -244,9 +244,11 @@ from pySim.utils import b2h # We pass in hex string and now need to work on bytes - aes = AES.new(h2b(ki_hex)) - opc_bytes = aes.encrypt(h2b(op_hex)) - return b2h(strxor(opc_bytes, h2b(op_hex))) + ki_bytes = bytes(h2b(ki_hex)) + op_bytes = bytes(h2b(op_hex)) + aes = AES.new(ki_bytes) + opc_bytes = aes.encrypt(op_bytes) + return b2h(strxor(opc_bytes, op_bytes)) def calculate_luhn(cc): """ -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23258 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: If2a727ed417ffd56c0f7d7b4e9f633d67fde5ced Gerrit-Change-Number: 23258 Gerrit-PatchSet: 3 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 Fri Mar 5 20:39:22 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 5 Mar 2021 20:39:22 +0000 Subject: Change in pysim[master]: pySim/utils.py: Attempt to support pycryptodpme In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/23259 ) Change subject: pySim/utils.py: Attempt to support pycryptodpme ...................................................................... pySim/utils.py: Attempt to support pycryptodpme This should resolve the following error when using with pycryptodome instead of pycrypto: TypeError: new() missing 1 required positional argument: 'mode' Change-Id: Ibd3ca00d62b864909f5e89e0feb350268157a4ca Related: OS#5060 --- M pySim/utils.py 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/pySim/utils.py b/pySim/utils.py index 13e62f0..f7190d4 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -246,7 +246,7 @@ # We pass in hex string and now need to work on bytes ki_bytes = bytes(h2b(ki_hex)) op_bytes = bytes(h2b(op_hex)) - aes = AES.new(ki_bytes) + aes = AES.new(ki_bytes, AES.MODE_ECB) opc_bytes = aes.encrypt(op_bytes) return b2h(strxor(opc_bytes, op_bytes)) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23259 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ibd3ca00d62b864909f5e89e0feb350268157a4ca Gerrit-Change-Number: 23259 Gerrit-PatchSet: 3 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 Fri Mar 5 20:40:47 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 5 Mar 2021 20:40:47 +0000 Subject: Change in osmo-pcu[master]: tbf: Log N310* counter increments In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23233 ) Change subject: tbf: Log N310* counter increments ...................................................................... tbf: Log N310* counter increments Change-Id: Iacd2fb894b4f2a9aade7e66aa40969fea031c3b2 --- M src/tbf.cpp M tests/tbf/TbfTest.err 2 files changed, 6 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, but someone else must approve fixeria: Looks good to me, approved diff --git a/src/tbf.cpp b/src/tbf.cpp index 5ca34f4..15d3fa1 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -414,9 +414,11 @@ LOGPTBF(this, LOGL_NOTICE, "%s exceeded MAX (%u)\n", get_value_string(tbf_counters_names, n), chk); return true; + } else { + LOGPTBF(this, LOGL_DEBUG, "%s %" PRIu8 " => %" PRIu8 " (< MAX %" PRIu8 ")\n", + get_value_string(tbf_counters_names, n), Narr[n] - 1, Narr[n], chk); + return false; } - - return false; } void gprs_rlcmac_tbf::t_stop(enum tbf_timers t, const char *reason) diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index 685f9d0..5a8b5bb 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -1721,7 +1721,9 @@ Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=-1 USF=7 Found first unallocated TRX=0 TFI=1 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) poll timeout for FN=2654292, TS=7 (curr FN 2654335) +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) N3101 0 => 1 (< MAX 10) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) N3105 0 => 1 (< MAX 8) PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0xffffffff -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23233 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iacd2fb894b4f2a9aade7e66aa40969fea031c3b2 Gerrit-Change-Number: 23233 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sat Mar 6 02:12:05 2021 From: admin at opensuse.org (OBS Notification) Date: Sat, 06 Mar 2021 02:12:05 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.10/x86_64 In-Reply-To: References: Message-ID: <6042e512bad10_5ab72adbe32ae6004301d0@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_20.10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_20.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 155s] [COMPILING libboard/qmod/source/board_qmod.c] [ 155s] [COMPILING libboard/qmod/source/card_pres.c] [ 155s] [COMPILING libboard/qmod/source/i2c.c] [ 156s] [COMPILING libboard/qmod/source/wwan_led.c] [ 156s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 156s] [COMPILING apps/dfu/main.c] [ 156s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 156s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 156s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 156s] Memory region Used Size Region Size %age Used [ 156s] rom: 16592 B 16 KB 101.27% [ 156s] ram: 11680 B 48 KB 23.76/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 156s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 208 bytes [ 156s] collect2: error: ld returned 1 exit status [ 156s] % [ 156s] make[2]: *** [Makefile:234: flash] Error 1 [ 156s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 156s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 156s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 156s] dh_auto_build: error: make -j1 returned exit code 2 [ 156s] make: *** [debian/rules:16: build] Error 25 [ 156s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 156s] ### VM INTERACTION START ### [ 159s] [ 147.379348] sysrq: Power Off [ 159s] [ 147.386588] reboot: Power down [ 160s] ### VM INTERACTION END ### [ 160s] [ 160s] lamb14 failed "build simtrace2_0.7.0.74.199c.dsc" at Sat Mar 6 02:11:53 UTC 2021. [ 160s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Mar 6 02:16:05 2021 From: admin at opensuse.org (OBS Notification) Date: Sat, 06 Mar 2021 02:16:05 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <6042e5ffa071c_5ab72adbe32ae600430251@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_20.04/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_20.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 111s] [COMPILING apps/dfu/main.c] [ 111s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 111s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 111s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 111s] Memory region Used Size Region Size %age Used [ 111s] rom: 16600 B 16 KB 101.32% [ 111s] ram: 11688 B 48 KB 23.78/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 111s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 111s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 111s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 111s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 111s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 111s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 216 bytes [ 111s] collect2: error: ld returned 1 exit status [ 111s] % [ 111s] make[2]: *** [Makefile:234: flash] Error 1 [ 111s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 111s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 111s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 111s] dh_auto_build: error: make -j1 returned exit code 2 [ 111s] make: *** [debian/rules:16: build] Error 25 [ 111s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 111s] ### VM INTERACTION START ### [ 114s] [ 105.318018] sysrq: Power Off [ 114s] [ 105.322785] reboot: Power down [ 114s] ### VM INTERACTION END ### [ 114s] [ 114s] sheep88 failed "build simtrace2_0.7.0.74.199c.dsc" at Sat Mar 6 02:15:50 UTC 2021. [ 114s] -- 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 Mar 6 08:15:15 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 6 Mar 2021 08:15:15 +0000 Subject: Change in libosmocore[master]: TODO-RELEASE: Request increasing _LAST_OSMOVTY_NODE next release In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23240 ) Change subject: TODO-RELEASE: Request increasing _LAST_OSMOVTY_NODE next release ...................................................................... TODO-RELEASE: Request increasing _LAST_OSMOVTY_NODE next release We've used up all but one "library reserved" VTY nodes at this point, and we should definitely add some more reserved nodes in the next libosmovty ABI version / release. Change-Id: Idfe1e7d97f3f29fc219e80dcb6ce6bb768733adf --- M TODO-RELEASE M include/osmocom/vty/command.h 2 files changed, 8 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/TODO-RELEASE b/TODO-RELEASE index 8ccfa49..bc157bd 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 +libosmovty _LAST_OSMOVTY_NODE Raise _LAST_OSMOVTY_NODE by introducing some RESERVED*_NODE diff --git a/include/osmocom/vty/command.h b/include/osmocom/vty/command.h index bc8f2e1..228dc5b 100644 --- a/include/osmocom/vty/command.h +++ b/include/osmocom/vty/command.h @@ -106,7 +106,14 @@ * When adding new nodes to the libosmocore project, these nodes can be * used to avoid ABI changes for unrelated projects. */ + RESERVED1_NODE, /*!< Reserved for later extensions */ + RESERVED2_NODE, /*!< Reserved for later extensions */ RESERVED3_NODE, /*!< Reserved for later extensions */ + RESERVED4_NODE, /*!< Reserved for later extensions */ + RESERVED5_NODE, /*!< Reserved for later extensions */ + RESERVED6_NODE, /*!< Reserved for later extensions */ + RESERVED7_NODE, /*!< Reserved for later extensions */ + RESERVED8_NODE, /*!< Reserved for later extensions */ _LAST_OSMOVTY_NODE }; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23240 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Idfe1e7d97f3f29fc219e80dcb6ce6bb768733adf Gerrit-Change-Number: 23240 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 Sat Mar 6 08:15:17 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 6 Mar 2021 08:15:17 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Implement error log in case no binds found for NSE In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23241 ) Change subject: gprs_ns2_sns: Implement error log in case no binds found for NSE ...................................................................... gprs_ns2_sns: Implement error log in case no binds found for NSE Change-Id: I66ce4b429ad2597343b48210fdcbc95a1f34cbcd --- M src/gb/gprs_ns2_sns.c 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/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index a8baa28..715dd8e 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -756,7 +756,7 @@ /* count how many bindings are available (only UDP binds) */ count = llist_count(&gss->binds); if (count == 0) { - /* TODO: logging */ + LOGPFSML(fi, LOGL_ERROR, "No local binds for this NSE -> cannot determine IP endpoints\n"); return; } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23241 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I66ce4b429ad2597343b48210fdcbc95a1f34cbcd Gerrit-Change-Number: 23241 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 Sat Mar 6 08:15:17 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 6 Mar 2021 08:15:17 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Remove TODO (spec agrees, the correct cause code is used) In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23242 ) Change subject: gprs_ns2_sns: Remove TODO (spec agrees, the correct cause code is used) ...................................................................... gprs_ns2_sns: Remove TODO (spec agrees, the correct cause code is used) Change-Id: I6c431ba9e30d19425bf1cc1cc4d081949058610b --- M src/gb/gprs_ns2_sns.c 1 file changed, 0 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/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index 715dd8e..04cebf4 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -446,7 +446,6 @@ if (memcmp(&gss->ip4_remote[i], ip4, sizeof(*ip4))) continue; /* TODO: log message duplicate */ - /* TODO: check if this is the correct cause code */ return -NS_CAUSE_PROTO_ERR_UNSPEC; } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23242 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6c431ba9e30d19425bf1cc1cc4d081949058610b Gerrit-Change-Number: 23242 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 Sat Mar 6 08:15:17 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 6 Mar 2021 08:15:17 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vty: Clarify VTY help string wording In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23243 ) Change subject: gprs_ns2_vty: Clarify VTY help string wording ...................................................................... gprs_ns2_vty: Clarify VTY help string wording Change-Id: I7d70f8cc811c2f4aabf9fc00e4e612dfc4b031d3 --- M src/gb/gprs_ns2_vty.c 1 file changed, 9 insertions(+), 9 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/gb/gprs_ns2_vty.c b/src/gb/gprs_ns2_vty.c index 6214907..76e4434 100644 --- a/src/gb/gprs_ns2_vty.c +++ b/src/gb/gprs_ns2_vty.c @@ -352,9 +352,9 @@ /* TODO: add fr/gre */ DEFUN(cfg_ns_bind, cfg_ns_bind_cmd, "bind (fr|udp) ID", - "Binding\n" + "Configure local Bind\n" "Frame Relay\n" "UDP/IP\n" - "a unique identifier for this bind to reference NS-VCs\n" + "Unique identifier for this bind (to reference from NS-VCs, NSEs, ...)\n" ) { const char *nstype = argv[0]; @@ -398,8 +398,8 @@ DEFUN(cfg_no_ns_bind, cfg_no_ns_bind_cmd, "no bind ID", NO_STR - "Delete a binding\n" - "a unique identifier for this bind to reference NS-VCs\n" + "Delete a bind\n" + "Unique identifier for this bind\n" ) { struct vty_bind *vbind; @@ -599,9 +599,9 @@ DEFUN(cfg_ns_bind_listen, cfg_ns_bind_listen_cmd, "listen " VTY_IPV46_CMD " <1-65535>", - "Binding\n" - "IPv4 Address\n" "IPv6 Address\n" - "Port\n" + "Configure local IP + Port of this bind\n" + "Local IPv4 Address\n" "Local IPv6 Address\n" + "Local UDP Port\n" ) { struct vty_bind *vbind = vty->index; @@ -1540,7 +1540,7 @@ DEFUN(cfg_ns_nse_ip_sns_bind, cfg_ns_nse_ip_sns_bind_cmd, "ip-sns-bind BINDID", "IP SNS binds\n" - "A udp bind which this SNS will be used. The bind must be already exists. Can be given multiple times.\n") + "Name of NS udp bind whose IP endpoint will be used as IP-SNS local endpoint. Can be given multiple times.\n") { struct gprs_ns2_nse *nse = vty->index; struct gprs_ns2_vc_bind *bind; @@ -1641,7 +1641,7 @@ "no ip-sns-bind BINDID", NO_STR "IP SNS binds\n" - "A udp bind which this SNS will be used.\n") + "Name of NS udp bind whose IP endpoint will not be used as IP-SNS local endpoint\n") { struct gprs_ns2_nse *nse = vty->index; struct gprs_ns2_vc_bind *bind; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23243 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I7d70f8cc811c2f4aabf9fc00e4e612dfc4b031d3 Gerrit-Change-Number: 23243 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 Sat Mar 6 08:15:18 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 6 Mar 2021 08:15:18 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: refactor ns2_sns_st_size_onenter() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23244 ) Change subject: gprs_ns2_sns: refactor ns2_sns_st_size_onenter() ...................................................................... gprs_ns2_sns: refactor ns2_sns_st_size_onenter() Let's move computing of the local IP endpoints to a separate function, so it can not only be used when entering the SNS_SIZE state. Preparation for SGSN-side IP-SNS. Change-Id: I5d7ce419135a8ef538cf9abcb76a49049ed7d5f9 Related: OS#3373 --- M src/gb/gprs_ns2_sns.c 1 file changed, 40 insertions(+), 31 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/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index 04cebf4..1d4d069 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -723,8 +723,7 @@ } } -/* setup all dynamic SNS settings, create a new nsvc and send the SIZE */ -static void ns2_sns_st_size_onenter(struct osmo_fsm_inst *fi, uint32_t old_state) +static void ns2_sns_compute_local_ep_from_binds(struct osmo_fsm_inst *fi) { struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; struct gprs_ns_ie_ip4_elem *ip4_elems; @@ -736,14 +735,6 @@ struct osmo_sockaddr local; int count; - /* on a generic failure, the timer callback will recover */ - if (old_state != GPRS_SNS_ST_UNCONFIGURED) - ns2_prim_status_ind(gss->nse, NULL, 0, GPRS_NS2_AFF_CAUSE_SNS_FAILURE); - if (old_state != GPRS_SNS_ST_SIZE) - gss->N = 0; - - - gss->alive = false; ns2_clear_ipv46_entries(gss); /* no initial available */ @@ -759,27 +750,6 @@ return; } - /* take the first bind or take the next bind */ - if (!gss->initial_bind) { - gss->initial_bind = llist_first_entry(&gss->binds, struct ns2_sns_bind, list); - } else { - if (gss->initial_bind->list.next != &gss->binds) { - gss->initial_bind = llist_entry(gss->initial_bind->list.next, struct ns2_sns_bind, list); - } else { - gss->initial_bind = llist_first_entry(&gss->binds, struct ns2_sns_bind, list); - } - } - - bind = gss->initial_bind->bind; - - /* setup the NSVC */ - if (!gss->sns_nsvc) { - gss->sns_nsvc = ns2_ip_bind_connect(bind, gss->nse, remote); - if (!gss->sns_nsvc) - return; - gss->sns_nsvc->sns_only = true; - } - switch (gss->ip) { case IPv4: ip4_elems = talloc_zero_size(fi, sizeof(struct gprs_ns_ie_ip4_elem) * count); @@ -854,6 +824,45 @@ gss->num_max_nsvcs = OSMO_MAX(gss->num_max_ip6_remote * gss->num_ip6_local, 8); break; } +} + +/* setup all dynamic SNS settings, create a new nsvc and send the SIZE */ +static void ns2_sns_st_size_onenter(struct osmo_fsm_inst *fi, uint32_t old_state) +{ + struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; + + /* on a generic failure, the timer callback will recover */ + if (old_state != GPRS_SNS_ST_UNCONFIGURED) + ns2_prim_status_ind(gss->nse, NULL, 0, GPRS_NS2_AFF_CAUSE_SNS_FAILURE); + if (old_state != GPRS_SNS_ST_SIZE) + gss->N = 0; + + gss->alive = false; + + ns2_sns_compute_local_ep_from_binds(fi); + + /* take the first bind or take the next bind */ + if (!gss->initial_bind) { + gss->initial_bind = llist_first_entry(&gss->binds, struct ns2_sns_bind, list); + } else { + if (gss->initial_bind->list.next != &gss->binds) { + gss->initial_bind = llist_entry(gss->initial_bind->list.next, struct ns2_sns_bind, list); + } else { + gss->initial_bind = llist_first_entry(&gss->binds, struct ns2_sns_bind, list); + } + } + + + /* setup the NSVC */ + if (!gss->sns_nsvc) { + struct gprs_ns2_vc_bind *bind = gss->initial_bind->bind; + struct osmo_sockaddr *remote = &gss->initial->saddr; + gss->sns_nsvc = ns2_ip_bind_connect(bind, gss->nse, remote); + if (!gss->sns_nsvc) + return; + gss->sns_nsvc->sns_only = true; + } + if (gss->num_max_ip4_remote > 0) ns2_tx_sns_size(gss->sns_nsvc, true, gss->num_max_nsvcs, gss->num_max_ip4_remote, -1); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23244 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I5d7ce419135a8ef538cf9abcb76a49049ed7d5f9 Gerrit-Change-Number: 23244 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 admin at opensuse.org Sun Mar 7 01:55:04 2021 From: admin at opensuse.org (OBS Notification) Date: Sun, 07 Mar 2021 01:55:04 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <60443287ce621_5ab72adbe32ae6006583cc@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_20.04/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_20.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 125s] [COMPILING apps/dfu/main.c] [ 126s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 126s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 126s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 126s] Memory region Used Size Region Size %age Used [ 126s] rom: 16600 B 16 KB 101.32% [ 126s] ram: 11688 B 48 KB 23.78/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 126s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 126s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 126s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 126s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 126s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 126s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 216 bytes [ 126s] collect2: error: ld returned 1 exit status [ 126s] % [ 126s] make[2]: *** [Makefile:234: flash] Error 1 [ 126s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 126s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 126s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 126s] dh_auto_build: error: make -j1 returned exit code 2 [ 126s] make: *** [debian/rules:16: build] Error 25 [ 126s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 126s] ### VM INTERACTION START ### [ 129s] [ 119.025259] sysrq: Power Off [ 129s] [ 119.032878] reboot: Power down [ 129s] ### VM INTERACTION END ### [ 129s] [ 129s] sheep88 failed "build simtrace2_0.7.0.74.199c.dsc" at Sun Mar 7 01:55:01 UTC 2021. [ 129s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Mar 7 02:15:02 2021 From: admin at opensuse.org (OBS Notification) Date: Sun, 07 Mar 2021 02:15:02 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.10/x86_64 In-Reply-To: References: Message-ID: <60443735c2c7a_5ab72adbe32ae600661899@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_20.10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_20.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 203s] [COMPILING libboard/qmod/source/board_qmod.c] [ 203s] [COMPILING libboard/qmod/source/card_pres.c] [ 203s] [COMPILING libboard/qmod/source/i2c.c] [ 204s] [COMPILING libboard/qmod/source/wwan_led.c] [ 204s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 204s] [COMPILING apps/dfu/main.c] [ 204s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 204s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 205s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 205s] Memory region Used Size Region Size %age Used [ 205s] rom: 16592 B 16 KB 101.27% [ 205s] ram: 11680 B 48 KB 23.76/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 205s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 208 bytes [ 205s] collect2: error: ld returned 1 exit status [ 205s] % [ 205s] make[2]: *** [Makefile:234: flash] Error 1 [ 205s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 205s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 205s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 205s] dh_auto_build: error: make -j1 returned exit code 2 [ 205s] make: *** [debian/rules:16: build] Error 25 [ 205s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 205s] ### VM INTERACTION START ### [ 208s] [ 192.234112] sysrq: Power Off [ 208s] [ 192.238925] reboot: Power down [ 208s] ### VM INTERACTION END ### [ 208s] [ 208s] old-atreju3 failed "build simtrace2_0.7.0.74.199c.dsc" at Sun Mar 7 02:14:57 UTC 2021. [ 208s] -- 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 Mar 7 15:20:07 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 7 Mar 2021 15:20:07 +0000 Subject: Change in docker-playground[master]: osmo-remsim-master/Dockerfile: add missing libcsv-devel dependency References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/23263 ) Change subject: osmo-remsim-master/Dockerfile: add missing libcsv-devel dependency ...................................................................... osmo-remsim-master/Dockerfile: add missing libcsv-devel dependency Change-Id: Id15932c554e8bc3f64f0372555ec563f222efe5d --- M osmo-remsim-master/Dockerfile 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/63/23263/1 diff --git a/osmo-remsim-master/Dockerfile b/osmo-remsim-master/Dockerfile index 4542537..94d81d7 100644 --- a/osmo-remsim-master/Dockerfile +++ b/osmo-remsim-master/Dockerfile @@ -68,6 +68,7 @@ centos*) \ dnf install -y \ telnet \ + libcsv-devel \ "pkgconfig(libasn1c)" \ "pkgconfig(libosmoabis)" \ "pkgconfig(libosmocore)" \ -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23263 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Id15932c554e8bc3f64f0372555ec563f222efe5d Gerrit-Change-Number: 23263 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 Mar 7 19:26:05 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 7 Mar 2021 19:26:05 +0000 Subject: Change in pysim[master]: transport/pcsc: work around Python 3.5 bug: guard disconnect() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/17283 ) Change subject: transport/pcsc: work around Python 3.5 bug: guard disconnect() ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17283 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I9c644bc5fe9791b141a30bfc13647d77937a82ee Gerrit-Change-Number: 17283 Gerrit-PatchSet: 5 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 07 Mar 2021 19:26:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 7 19:26:08 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 7 Mar 2021 19:26:08 +0000 Subject: Change in pysim[master]: transport/pcsc: work around Python 3.5 bug: guard disconnect() In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/17283 ) Change subject: transport/pcsc: work around Python 3.5 bug: guard disconnect() ...................................................................... transport/pcsc: work around Python 3.5 bug: guard disconnect() Unfortunately, Debian ships old Python (3.5 vs 3.8) and old pyscard (1.9.4 vs 1.9.9). Calling PCSCCardConnection.disconnect() from a destructor causes warnings about ignored exceptions: AttributeError: 'NoneType' object has no attribute 'disconnect' AttributeError: 'NoneType' object has no attribute 'setChanged' AttributeError: 'NoneType' object has no attribute 'SCardDisconnect' TypeError: 'NoneType' object is not callable All these exceptions happen in pyscard's own destructors. Change-Id: I9c644bc5fe9791b141a30bfc13647d77937a82ee --- M pySim/transport/pcsc.py 1 file changed, 5 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/pySim/transport/pcsc.py b/pySim/transport/pcsc.py index fadf6f9..2c2cbb9 100644 --- a/pySim/transport/pcsc.py +++ b/pySim/transport/pcsc.py @@ -39,7 +39,11 @@ self._con = self._reader.createConnection() def __del__(self): - self._con.disconnect() + try: + # FIXME: this causes multiple warnings in Python 3.5.3 + self._con.disconnect() + except: + pass return def wait_for_card(self, timeout=None, newcardonly=False): -- To view, visit https://gerrit.osmocom.org/c/pysim/+/17283 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I9c644bc5fe9791b141a30bfc13647d77937a82ee Gerrit-Change-Number: 17283 Gerrit-PatchSet: 6 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: 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 Sun Mar 7 19:34:09 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 7 Mar 2021 19:34:09 +0000 Subject: Change in pysim[master]: Python 2 is deprecated, remove backwards compatibility chunks In-Reply-To: References: Message-ID: fixeria has uploaded a new patch set (#22) to the change originally created by gnutoo. ( https://gerrit.osmocom.org/c/pysim/+/15504 ) Change subject: Python 2 is deprecated, remove backwards compatibility chunks ...................................................................... Python 2 is deprecated, remove backwards compatibility chunks pySim has already been migrated to Python 3 in another change [1], and the build verification has been migrated to Debian 10 with Python 3.7. However, there is still some backwards compatibility code left. Let's get rid of it. [1] Ic78da9c03e99f59d142c93394051bbc2751f0205 Signed-off-by: Denis 'GNUtoo' Carikli Tweaked-by: Vadim Yanitskiy Change-Id: I430d173535e0cd5bb895b9dfc9070cbc40cfc8ff --- M pySim-prog.py M pySim/utils.py M tests/pysim-test.sh 3 files changed, 6 insertions(+), 17 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/04/15504/22 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15504 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I430d173535e0cd5bb895b9dfc9070cbc40cfc8ff Gerrit-Change-Number: 15504 Gerrit-PatchSet: 22 Gerrit-Owner: gnutoo Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 7 19:36:31 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 7 Mar 2021 19:36:31 +0000 Subject: Change in pysim[master]: Python 2 is deprecated, remove backwards compatibility chunks In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/15504 ) Change subject: Python 2 is deprecated, remove backwards compatibility chunks ...................................................................... Patch Set 22: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15504 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I430d173535e0cd5bb895b9dfc9070cbc40cfc8ff Gerrit-Change-Number: 15504 Gerrit-PatchSet: 22 Gerrit-Owner: gnutoo Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sun, 07 Mar 2021 19:36: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 Mar 7 19:36:40 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 7 Mar 2021 19:36:40 +0000 Subject: Change in pysim[master]: Python 2 is deprecated, remove backwards compatibility chunks In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/15504 ) Change subject: Python 2 is deprecated, remove backwards compatibility chunks ...................................................................... Python 2 is deprecated, remove backwards compatibility chunks pySim has already been migrated to Python 3 in another change [1], and the build verification has been migrated to Debian 10 with Python 3.7. However, there is still some backwards compatibility code left. Let's get rid of it. [1] Ic78da9c03e99f59d142c93394051bbc2751f0205 Signed-off-by: Denis 'GNUtoo' Carikli Tweaked-by: Vadim Yanitskiy Change-Id: I430d173535e0cd5bb895b9dfc9070cbc40cfc8ff --- M pySim-prog.py M pySim/utils.py M tests/pysim-test.sh 3 files changed, 6 insertions(+), 17 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/pySim-prog.py b/pySim-prog.py index 4f54963..662824c 100755 --- a/pySim-prog.py +++ b/pySim-prog.py @@ -31,12 +31,7 @@ import re import sys import traceback - -try: - import json -except ImportError: - # Python < 2.5 - import simplejson as json +import json from pySim.commands import SimCardCommands from pySim.cards import _cards_classes, card_detect diff --git a/pySim/utils.py b/pySim/utils.py index f7190d4..6dbd980 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -720,20 +720,13 @@ if not len(addr): return None - import sys - # Handle python3 and python2 - unicode - if sys.version_info[0] < 3: - addr_str = unicode(addr) - else: - addr_str = addr - addr_list = addr.split('.') # Check for IPv4/IPv6 try: import ipaddress # Throws ValueError if addr is not correct - ipa = ipaddress.ip_address(addr_str) + ipa = ipaddress.ip_address(addr) if ipa.version == 4: return 0x01 diff --git a/tests/pysim-test.sh b/tests/pysim-test.sh index 7ee9834..4004c18 100755 --- a/tests/pysim-test.sh +++ b/tests/pysim-test.sh @@ -23,6 +23,7 @@ PYSIM_PROG=../pySim-prog.py PYSIM_READ=../pySim-read.py TEMPFILE=temp.tmp +PYTHON=python3 set -e @@ -76,7 +77,7 @@ CARD_NAME=$2 echo "Verifying card ..." stat ./$CARD_NAME.ok > /dev/null - python $PYSIM_READ -p $TERMINAL > $TEMPFILE + $PYTHON $PYSIM_READ -p $TERMINAL > $TEMPFILE set +e CARD_DIFF=$(diff $TEMPFILE ./$CARD_NAME.ok) set -e @@ -106,7 +107,7 @@ function gen_ok_file { TERMINAL=$1 CARD_NAME=$2 - python $PYSIM_READ -p $TERMINAL > "$CARD_NAME.ok" + $PYTHON $PYSIM_READ -p $TERMINAL > "$CARD_NAME.ok" echo "Generated file: $CARD_NAME.ok" echo "------------8<------------" cat "$CARD_NAME.ok" @@ -166,7 +167,7 @@ ADM_OPT="-A" ADM=$ADM_HEX fi - python $PYSIM_PROG -p $I -t $CARD_NAME -o $OPC -k $KI -x $MCC -y $MNC -i $IMSI -s $ICCID --msisdn $MSISDN $ADM_OPT $ADM + $PYTHON $PYSIM_PROG -p $I -t $CARD_NAME -o $OPC -k $KI -x $MCC -y $MNC -i $IMSI -s $ICCID --msisdn $MSISDN $ADM_OPT $ADM check_card $I $CARD_NAME echo "" done -- To view, visit https://gerrit.osmocom.org/c/pysim/+/15504 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I430d173535e0cd5bb895b9dfc9070cbc40cfc8ff Gerrit-Change-Number: 15504 Gerrit-PatchSet: 22 Gerrit-Owner: gnutoo Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 7 20:53:16 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 7 Mar 2021 20:53:16 +0000 Subject: Change in pysim[master]: ts_51_011: fix bitmask compositing in EF_xPLMNwAcT.enc_act() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/23264 ) Change subject: ts_51_011: fix bitmask compositing in EF_xPLMNwAcT.enc_act() ...................................................................... ts_51_011: fix bitmask compositing in EF_xPLMNwAcT.enc_act() This commit fixes two problems (found by semgrep): * "'foo' and 'bar' in list" is incorrect, because it's interpreted as "'foo' and ('bar' in list)". Strings with a non-zero length evaluate to True, thus it's True if at least 'bar' is present. * Copy-pasted 'E-UTRAN NB-S1' checked two times. The first condition is redundant, and the whole block can be re-implemented using two independent 'if' statements. Change-Id: Iceb66160cfb571db8879d3810c55d252c763d320 --- M pySim/ts_51_011.py 1 file changed, 4 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/64/23264/1 diff --git a/pySim/ts_51_011.py b/pySim/ts_51_011.py index 03d74ad..e4a26a3 100644 --- a/pySim/ts_51_011.py +++ b/pySim/ts_51_011.py @@ -527,12 +527,10 @@ if 'cdma2000 1xRTT' in in_list: u16 |= 0x0010 # E-UTRAN - if 'E-UTRAN WB-S1' and 'E-UTRAN NB-S1' in in_list: - u16 |= 0x7000 # WB-S1 and NB-S1 - elif 'E-UTRAN NB-S1' in in_list: - u16 |= 0x6000 # only WB-S1 - elif 'E-UTRAN NB-S1' in in_list: - u16 |= 0x5000 # only NB-S1 + if 'E-UTRAN WB-S1' in in_list: + u16 |= 0x6000 + if 'E-UTRAN NB-S1' in in_list: + u16 |= 0x5000 # GSM mess if 'GSM' in in_list and 'EC-GSM-IoT' in in_list: u16 |= 0x008C -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23264 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Iceb66160cfb571db8879d3810c55d252c763d320 Gerrit-Change-Number: 23264 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Mon Mar 8 01:42:42 2021 From: admin at opensuse.org (OBS Notification) Date: Mon, 08 Mar 2021 01:42:42 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.10/x86_64 In-Reply-To: References: Message-ID: <6045812684663_5ab72adbe32ae6008831bb@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_20.10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_20.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 112s] [COMPILING libboard/qmod/source/board_qmod.c] [ 113s] [COMPILING libboard/qmod/source/card_pres.c] [ 113s] [COMPILING libboard/qmod/source/i2c.c] [ 113s] [COMPILING libboard/qmod/source/wwan_led.c] [ 113s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 113s] [COMPILING apps/dfu/main.c] [ 113s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 113s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 113s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 113s] Memory region Used Size Region Size %age Used [ 113s] rom: 16592 B 16 KB 101.27% [ 113s] ram: 11680 B 48 KB 23.76/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 113s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 208 bytes [ 113s] collect2: error: ld returned 1 exit status [ 113s] % [ 113s] make[2]: *** [Makefile:234: flash] Error 1 [ 113s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 113s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 113s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 113s] dh_auto_build: error: make -j1 returned exit code 2 [ 113s] make: *** [debian/rules:16: build] Error 25 [ 113s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 113s] ### VM INTERACTION START ### [ 117s] [ 106.286388] sysrq: Power Off [ 117s] [ 106.289528] reboot: Power down [ 117s] ### VM INTERACTION END ### [ 117s] [ 117s] sheep85 failed "build simtrace2_0.7.0.74.199c.dsc" at Mon Mar 8 01:42:20 UTC 2021. [ 117s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Mar 8 01:46:08 2021 From: admin at opensuse.org (OBS Notification) Date: Mon, 08 Mar 2021 01:46:08 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <604581f9a58a4_5ab72adbe32ae600884367@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_20.04/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_20.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 309s] [COMPILING apps/dfu/main.c] [ 309s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 310s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 310s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 310s] Memory region Used Size Region Size %age Used [ 310s] rom: 16600 B 16 KB 101.32% [ 310s] ram: 11688 B 48 KB 23.78/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 310s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 310s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 310s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 310s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 310s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 310s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 216 bytes [ 310s] collect2: error: ld returned 1 exit status [ 310s] % [ 310s] make[2]: *** [Makefile:234: flash] Error 1 [ 310s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 310s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 310s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 310s] dh_auto_build: error: make -j1 returned exit code 2 [ 310s] make: *** [debian/rules:16: build] Error 25 [ 310s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 310s] ### VM INTERACTION START ### [ 313s] [ 281.749334] sysrq: Power Off [ 313s] [ 281.756874] reboot: Power down [ 313s] ### VM INTERACTION END ### [ 313s] [ 313s] lamb02 failed "build simtrace2_0.7.0.74.199c.dsc" at Mon Mar 8 01:45:40 UTC 2021. [ 313s] -- 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 Mar 8 07:24:06 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 8 Mar 2021 07:24:06 +0000 Subject: Change in simtrace2[master]: firmware: create duplicate files for upload only In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/23255 ) Change subject: firmware: create duplicate files for upload only ...................................................................... Patch Set 1: Code-Review+2 1+1=2 -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/23255 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I118a4ff397a178281c26a6b98112fa66b6f049ab Gerrit-Change-Number: 23255 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 08 Mar 2021 07:24:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 8 07:24:12 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 8 Mar 2021 07:24:12 +0000 Subject: Change in simtrace2[master]: firmware: create duplicate files for upload only In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/23255 ) Change subject: firmware: create duplicate files for upload only ...................................................................... firmware: create duplicate files for upload only Don't create copies of firmware files with version strings appended in the normal build. Only do this before uploading the firmware files. I have verified that "make" before this change and "make; contrib/prepare_upload.sh" after produce the same files. Close: OS#4413 Change-Id: I118a4ff397a178281c26a6b98112fa66b6f049ab --- M contrib/jenkins.sh A contrib/prepare_upload.sh M firmware/Makefile 3 files changed, 15 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 osmith: Looks good to me, approved diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index 7ddfa6e..2ad7a7f 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -68,6 +68,7 @@ if [ "x$publish" = "x--publish" ]; then echo echo "=============== UPLOAD BUILD ==============" + contrib/prepare_upload.sh cat > "/build/known_hosts" <$(OUTPUT)-$$@.elf.txt @$(OBJCOPY) -O binary $(OUTPUT)-$$@.elf $(OUTPUT)-$$@.bin - cp $(OUTPUT)-$$@.bin $(OUTPUT)-$$@-$(GIT_VERSION).bin - cp $(OUTPUT)-$$@.bin $(OUTPUT)-$$@-latest.bin @$(SIZE) $$^ $(OUTPUT)-$$@.elf $$(C_OBJECTS_$(1)): $(OBJ)/$(1)_%.o: %.c Makefile $(OBJ) $(BIN) -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/23255 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: I118a4ff397a178281c26a6b98112fa66b6f049ab Gerrit-Change-Number: 23255 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From jenkins at lists.osmocom.org Mon Mar 8 07:27:36 2021 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Mon, 8 Mar 2021 07:27:36 +0000 (UTC) Subject: =?UTF-8?Q?Build_failed_in_Jenkins:_mast?= =?UTF-8?Q?er-simtrace2_=C2=BB_a1=3Ddefault,a2=3D?= =?UTF-8?Q?default,a3=3Ddefault,a4=3Ddefault,osmocom-master-debian9_#1107?= Message-ID: <1866009929.5045.1615188456589@jenkins.osmocom.org> See Changes: [Oliver Smith] firmware: create duplicate files for upload only ------------------------------------------ [...truncated 136.51 KB...] ==> transmitting APDU (HDR + PB + card-RX) UART_RX(a0) UART_RX(d2) UART_RX(00) UART_RX(00) UART_RX(07) uart_enable(uart_chan=42, TX) -I- 0: send_tpdu_header: a0 d2 00 00 07 -I- 0: flush_rx_buffer (5) [L1]> 01 06 00 00 00 00 13 00 [L2]> 01 00 00 00 05 00 a0 d2 00 00 07 flags=1, data= a0 d2 00 00 07 UART_TX(d2) uart_enable(uart_chan=42, RX) UART_RX(00) UART_RX(01) UART_RX(02) UART_RX(03) UART_RX(04) UART_RX(05) UART_RX(06) -I- 0: flush_rx_buffer (7) [L1]> 01 06 00 00 00 00 15 00 [L2]> 02 00 00 00 07 00 00 01 02 03 04 05 06 flags=2, data= 00 01 02 03 04 05 06 UART_TX(90) UART_TX(00) uart_enable(uart_chan=42, RX) uart_enable(uart_chan=42, RX) -I- 0: CLK deactivated -I- 0: CLK activated ==> transmitting APDU (HDR + PB + card-TX) UART_RX(a0) UART_RX(b2) UART_RX(00) UART_RX(00) UART_RX(0a) uart_enable(uart_chan=42, TX) -I- 0: send_tpdu_header: a0 b2 00 00 0a -I- 0: flush_rx_buffer (5) [L1]> 01 06 00 00 00 00 13 00 [L2]> 01 00 00 00 05 00 a0 b2 00 00 0a flags=1, data= a0 b2 00 00 0a UART_TX(b2) UART_TX(00) UART_TX(01) UART_TX(02) UART_TX(03) UART_TX(04) UART_TX(05) UART_TX(06) UART_TX(07) UART_TX(08) UART_TX(09) UART_TX(90) UART_TX(00) uart_enable(uart_chan=42, RX) uart_enable(uart_chan=42, RX) -I- 0: CLK deactivated -I- 0: CLK activated =============== HOST START ============== aclocal: warning: couldn't open directory 'm4': No such file or directory libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, '.'. libtoolize: copying file './ltmain.sh' libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. libtoolize: copying file 'm4/libtool.m4' libtoolize: copying file 'm4/ltoptions.m4' libtoolize: copying file 'm4/ltsugar.m4' libtoolize: copying file 'm4/ltversion.m4' libtoolize: copying file 'm4/lt~obsolete.m4' libtoolize: Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am. configure.ac:20: installing './compile' configure.ac:22: installing './config.guess' configure.ac:22: installing './config.sub' configure.ac:8: installing './install-sh' configure.ac:8: installing './missing' lib/Makefile.am: installing './depcomp' checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking whether make supports nested variables... (cached) yes checking whether make sets $(MAKE)... (cached) yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking whether gcc understands -c and -o together... yes checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking build system type... x86_64-pc-linux-gnu checking host system type... x86_64-pc-linux-gnu checking how to print strings... printf checking for a sed that does not truncate output... /bin/sed checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for fgrep... /bin/grep -F checking for ld used by gcc... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B checking the name lister (/usr/bin/nm -B) interface... BSD nm checking whether ln -s works... yes checking the maximum length of command line arguments... 1572864 checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop checking for /usr/bin/ld option to reload object files... -r checking for objdump... objdump checking how to recognize dependent libraries... pass_all checking for dlltool... no checking how to associate runtime and link libraries... printf %s\n checking for ar... ar checking for archiver @FILE support... @ checking for strip... strip checking for ranlib... ranlib checking command to parse /usr/bin/nm -B output from gcc object... ok checking for sysroot... no checking for a working dd... /bin/dd checking how to truncate binary pipes... /bin/dd bs=4096 count=1 checking for mt... no checking if : is a manifest tool... no checking how to run the C preprocessor... gcc -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking for dlfcn.h... yes checking for objdir... .libs checking if gcc supports -fno-rtti -fno-exceptions... no checking for gcc option to produce PIC... -fPIC -DPIC checking if gcc PIC flag -fPIC -DPIC works... yes checking if gcc static flag -static works... yes checking if gcc supports -c -o file.o... yes checking if gcc supports -c -o file.o... (cached) yes checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes checking whether -lc should be explicitly linked in... no checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... yes checking for pkg-config... /usr/bin/pkg-config checking for pkg-config... /usr/bin/pkg-config checking pkg-config is at least version 0.20... yes checking if gcc supports -fvisibility=hidden... yes checking for LIBOSMOCORE... yes checking for LIBOSMOSIM... yes checking for LIBOSMOUSB... yes checking for LIBUSB... yes CFLAGS="-g -O2 -Wall -fsanitize=address -fsanitize=undefined -fsanitize=address -fsanitize=undefined -Werror -Wno-error=deprecated -Wno-error=deprecated-declarations -Wno-error=cpp" CPPFLAGS=" -Wall -fsanitize=address -fsanitize=undefined -fsanitize=address -fsanitize=undefined -Werror -Wno-error=deprecated -Wno-error=deprecated-declarations -Wno-error=cpp" checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating libosmo-simtrace2.pc config.status: creating include/Makefile config.status: creating src/Makefile config.status: creating lib/Makefile config.status: creating contrib/Makefile config.status: creating contrib/simtrace2.spec config.status: creating Makefile config.status: executing tests/atconfig commands config.status: executing depfiles commands config.status: executing libtool commands echo 0.7.0.75-1031 > .version-t && mv .version-t .version make all-recursive make[1]: Entering directory '/build/host' Making all in include make[2]: Entering directory '/build/host/include' make[2]: Nothing to be done for 'all'. make[2]: Leaving directory '/build/host/include' Making all in lib make[2]: Entering directory '/build/host/lib' CC apdu_dispatch.lo CC usb_util.lo CC gsmtap.lo CC simtrace2_api.lo CCLD libosmo-simtrace2.la ar: `u' modifier ignored since `D' is the default (see `U') make[2]: Leaving directory '/build/host/lib' Making all in src make[2]: Entering directory '/build/host/src' CC simtrace2-cardem-pcsc.o CC simtrace2_usb.o CC simtrace2-sniff.o CCLD simtrace2-list CCLD simtrace2-cardem-pcsc CCLD simtrace2-sniff make[2]: Leaving directory '/build/host/src' Making all in contrib make[2]: Entering directory '/build/host/contrib' make[2]: Nothing to be done for 'all'. make[2]: Leaving directory '/build/host/contrib' make[2]: Entering directory '/build/host' make[2]: Nothing to be done for 'all-am'. make[2]: Leaving directory '/build/host' make[1]: Leaving directory '/build/host' make dist-bzip2 am__post_remove_distdir='@:' make[1]: Entering directory '/build/host' if test -d "simtrace2-0.7.0.75-1031"; then find "simtrace2-0.7.0.75-1031" -type d ! -perm -200 -exec chmod u+w {} ';' && rm -rf "simtrace2-0.7.0.75-1031" || { sleep 5 && rm -rf "simtrace2-0.7.0.75-1031"; }; else :; fi test -d "simtrace2-0.7.0.75-1031" || mkdir "simtrace2-0.7.0.75-1031" (cd include && make top_distdir=../simtrace2-0.7.0.75-1031 distdir=../simtrace2-0.7.0.75-1031/include \ am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir) make[2]: Entering directory '/build/host/include' make[2]: Leaving directory '/build/host/include' (cd lib && make top_distdir=../simtrace2-0.7.0.75-1031 distdir=../simtrace2-0.7.0.75-1031/lib \ am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir) make[2]: Entering directory '/build/host/lib' make[2]: Leaving directory '/build/host/lib' (cd src && make top_distdir=../simtrace2-0.7.0.75-1031 distdir=../simtrace2-0.7.0.75-1031/src \ am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir) make[2]: Entering directory '/build/host/src' make[2]: Leaving directory '/build/host/src' (cd contrib && make top_distdir=../simtrace2-0.7.0.75-1031 distdir=../simtrace2-0.7.0.75-1031/contrib \ am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir) make[2]: Entering directory '/build/host/contrib' make[2]: Leaving directory '/build/host/contrib' make \ top_distdir="simtrace2-0.7.0.75-1031" distdir="simtrace2-0.7.0.75-1031" \ dist-hook make[2]: Entering directory '/build/host' echo 0.7.0.75-1031 > simtrace2-0.7.0.75-1031/.tarball-version make[2]: Leaving directory '/build/host' test -n "" \ || find "simtrace2-0.7.0.75-1031" -type d ! -perm -755 \ -exec chmod u+rwx,go+rx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -exec /bin/bash /build/host/install-sh -c -m a+r {} {} \; \ || chmod -R a+r "simtrace2-0.7.0.75-1031" tardir=simtrace2-0.7.0.75-1031 && ${TAR-tar} chof - "$tardir" | BZIP2=${BZIP2--9} bzip2 -c >simtrace2-0.7.0.75-1031.tar.bz2 make[1]: Leaving directory '/build/host' if test -d "simtrace2-0.7.0.75-1031"; then find "simtrace2-0.7.0.75-1031" -type d ! -perm -200 -exec chmod u+w {} ';' && rm -rf "simtrace2-0.7.0.75-1031" || { sleep 5 && rm -rf "simtrace2-0.7.0.75-1031"; }; else :; fi =============== UPLOAD BUILD ============== /build/contrib/jenkins.sh: line 71: contrib/prepare_upload.sh: No such file or directory Build step 'Execute shell' marked build as failure [WARNINGS]Skipping publisher since build result is FAILURE From gerrit-no-reply at lists.osmocom.org Mon Mar 8 07:37:31 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 8 Mar 2021 07:37:31 +0000 Subject: Change in simtrace2[master]: contrib/prepare_upload.sh: fix cd problems References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/simtrace2/+/23265 ) Change subject: contrib/prepare_upload.sh: fix cd problems ...................................................................... contrib/prepare_upload.sh: fix cd problems Call the script from the proper directory, and cd into the topdir on top of the script. Fixes: /build/contrib/jenkins.sh: line 71: contrib/prepare_upload.sh: No such file or directory Related: OS#4413 Change-Id: Icbfaa5579aab887830ca90b24a2e322df8d98f4f --- M contrib/jenkins.sh M contrib/prepare_upload.sh 2 files changed, 3 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/simtrace2 refs/changes/65/23265/1 diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index 2ad7a7f..8268bcf 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -68,7 +68,7 @@ if [ "x$publish" = "x--publish" ]; then echo echo "=============== UPLOAD BUILD ==============" - contrib/prepare_upload.sh + $TOPDIR/contrib/prepare_upload.sh cat > "/build/known_hosts" < Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 8 07:38:32 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 8 Mar 2021 07:38:32 +0000 Subject: Change in simtrace2[master]: contrib/prepare_upload.sh: fix cd problems In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/simtrace2/+/23265 ) Change subject: contrib/prepare_upload.sh: fix cd problems ...................................................................... Patch Set 1: Verified+1 Code-Review+2 Trivial patch, fixes currently broken simtrace2 master builds. Merging directly. -- To view, visit https://gerrit.osmocom.org/c/simtrace2/+/23265 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: simtrace2 Gerrit-Branch: master Gerrit-Change-Id: Icbfaa5579aab887830ca90b24a2e322df8d98f4f Gerrit-Change-Number: 23265 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Mon, 08 Mar 2021 07:38:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 8 07:39:02 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 8 Mar 2021 07:39:02 +0000 Subject: Change in simtrace2[master]: contrib/prepare_upload.sh: fix cd problems In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/simtrace2/+/23265 ) Change subject: contrib/prepare_upload.sh: fix cd problems ...................................................................... contrib/prepare_upload.sh: fix cd problems Call the script from the proper directory, and cd into the topdir on top of the script. Fixes: /build/contrib/jenkins.sh: line 71: contrib/prepare_upload.sh: No such file or directory Related: OS#4413 Change-Id: Icbfaa5579aab887830ca90b24a2e322df8d98f4f --- M contrib/jenkins.sh M contrib/prepare_upload.sh 2 files changed, 3 insertions(+), 1 deletion(-) Approvals: osmith: Looks good to me, approved; Verified diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index 2ad7a7f..8268bcf 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -68,7 +68,7 @@ if [ "x$publish" = "x--publish" ]; then echo echo "=============== UPLOAD BUILD ==============" - contrib/prepare_upload.sh + $TOPDIR/contrib/prepare_upload.sh cat > "/build/known_hosts" < Gerrit-Reviewer: osmith Gerrit-CC: Jenkins Builder Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From jenkins at lists.osmocom.org Mon Mar 8 07:41:42 2021 From: jenkins at lists.osmocom.org (jenkins at lists.osmocom.org) Date: Mon, 8 Mar 2021 07:41:42 +0000 (UTC) Subject: =?UTF-8?Q?Jenkins_build_is_back_to_normal?= =?UTF-8?Q?_:_master-simtrace2_=C2=BB_a1=3Ddefaul?= =?UTF-8?Q?t,a2=3Ddefault,a3=3Ddefault,a4=3Ddefa?= =?UTF-8?Q?ult,osmocom-master-debian9_#1108?= In-Reply-To: <1866009929.5045.1615188456589@jenkins.osmocom.org> References: <1866009929.5045.1615188456589@jenkins.osmocom.org> Message-ID: <65470560.5046.1615189302234@jenkins.osmocom.org> See From gerrit-no-reply at lists.osmocom.org Mon Mar 8 08:31:19 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 8 Mar 2021 08:31:19 +0000 Subject: Change in docker-playground[master]: debian-stretch-obs-latest: new container In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23236 ) Change subject: debian-stretch-obs-latest: new container ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23236 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I443d52eba416ea298cc5421e280ad2f4ca59283b Gerrit-Change-Number: 23236 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 08 Mar 2021 08:31: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 Mar 8 08:32:02 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 8 Mar 2021 08:32:02 +0000 Subject: Change in docker-playground[master]: osmo-*-latest: support centos8 In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23237 ) Change subject: osmo-*-latest: support centos8 ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23237 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I274b31d4903df07e99fd434af25bdb72991f6923 Gerrit-Change-Number: 23237 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 08 Mar 2021 08:32: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 Mar 8 08:32:19 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 8 Mar 2021 08:32:19 +0000 Subject: Change in docker-playground[master]: osmo-*-master: move common code to *-build In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23238 ) Change subject: osmo-*-master: move common code to *-build ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23238 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Id69f3eaf37f823bac0947366f27a25edd277a4cb Gerrit-Change-Number: 23238 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 08 Mar 2021 08:32: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 Mar 8 08:33:06 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 8 Mar 2021 08:33:06 +0000 Subject: Change in docker-playground[master]: debian-stretch-obs-latest: new container In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23236 ) Change subject: debian-stretch-obs-latest: new container ...................................................................... debian-stretch-obs-latest: new container Move common code from osmo-*-latest to debian-stretch-obs-latest: * add the OBS repository key * add the OBS repository with "latest" feed * install telnet * invalidate the cache once the repository is updated This is in preparation to make osmo-*-latest work with centos8, preventing the following issues we would have without this refactoring: * avoid need to read the repository index of both debian-stretch and centos8, and to invalidate the cache if either of them changes (instead of just the relevant one). This is currently a problem in osmo-*-master/Dockerfile, Id69f3eaf37f823bac0947366f27a25edd277a4cb will fix it there. * no need to add boilerplate code to install the centos8 repository to each osmo-*-latest/Dockerfile While at it, also remove deprecated MAINTAINER lines. Related: OS#5049 Related: https://docs.docker.com/engine/reference/builder/#maintainer-deprecated Change-Id: I443d52eba416ea298cc5421e280ad2f4ca59283b --- A debian-stretch-obs-latest/Dockerfile A debian-stretch-obs-latest/Makefile R debian-stretch-obs-latest/Release.key M jenkins-common.sh M osmo-bsc-latest/Dockerfile D osmo-bsc-latest/Release.key M osmo-bts-latest/Dockerfile M osmo-cbc-latest/Dockerfile D osmo-cbc-latest/Release.key M osmo-cn-latest/Dockerfile D osmo-cn-latest/Release.key M osmo-gbproxy-latest/Dockerfile D osmo-gbproxy-latest/Release.key M osmo-ggsn-latest/Dockerfile D osmo-ggsn-latest/Release.key M osmo-hlr-latest/Dockerfile D osmo-hlr-latest/Release.key M osmo-hnbgw-latest/Dockerfile D osmo-hnbgw-latest/Release.key M osmo-mgw-latest/Dockerfile D osmo-mgw-latest/Release.key M osmo-msc-latest/Dockerfile M osmo-nitb-latest/Dockerfile D osmo-nitb-latest/Release.key M osmo-pcu-latest/Dockerfile D osmo-pcu-latest/Release.key M osmo-remsim-latest/Dockerfile D osmo-remsim-latest/Release.key M osmo-sgsn-latest/Dockerfile D osmo-sgsn-latest/Release.key M osmo-sip-latest/Dockerfile D osmo-sip-latest/Release.key M osmo-smlc-latest/Dockerfile D osmo-smlc-latest/Release.key M osmo-stp-latest/Dockerfile D osmo-stp-latest/Release.key 36 files changed, 90 insertions(+), 659 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved osmith: Verified diff --git a/debian-stretch-obs-latest/Dockerfile b/debian-stretch-obs-latest/Dockerfile new file mode 100644 index 0000000..3bef05c --- /dev/null +++ b/debian-stretch-obs-latest/Dockerfile @@ -0,0 +1,22 @@ +ARG REGISTRY=docker.io +ARG UPSTREAM_DISTRO=debian:stretch +FROM ${REGISTRY}/${UPSTREAM_DISTRO} +# Arguments used after FROM must be specified again +ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" +ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/latest/Debian_9.0/" + +RUN apt-get update && \ + apt-get upgrade -y && \ + apt-get install -y --no-install-recommends \ + telnet \ + gnupg \ + && \ + apt-get clean + +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-latest.list + +# Invalidate cache once the repository is updated +ADD $OSMOCOM_REPO/Release /tmp/Release diff --git a/debian-stretch-obs-latest/Makefile b/debian-stretch-obs-latest/Makefile new file mode 100644 index 0000000..8d0e10b --- /dev/null +++ b/debian-stretch-obs-latest/Makefile @@ -0,0 +1 @@ +include ../make/Makefile diff --git a/osmo-bts-latest/Release.key b/debian-stretch-obs-latest/Release.key similarity index 100% rename from osmo-bts-latest/Release.key rename to debian-stretch-obs-latest/Release.key diff --git a/jenkins-common.sh b/jenkins-common.sh index 25d5426..b8fc3a2 100644 --- a/jenkins-common.sh +++ b/jenkins-common.sh @@ -8,6 +8,7 @@ docker_depends() { case "$1" in osmo-*-centos8) echo "centos8-build" ;; + osmo-*-latest) echo "debian-stretch-obs-latest" ;; osmo-*) echo "debian-stretch-build" ;; ttcn3-*) echo "debian-stretch-titan" ;; esac diff --git a/osmo-bsc-latest/Dockerfile b/osmo-bsc-latest/Dockerfile index d327a24..bbc3934 100644 --- a/osmo-bsc-latest/Dockerfile +++ b/osmo-bsc-latest/Dockerfile @@ -1,27 +1,10 @@ -ARG REGISTRY=docker.io -ARG UPSTREAM_DISTRO=debian:stretch -FROM ${REGISTRY}/${UPSTREAM_DISTRO} +ARG USER +ARG DISTRO +FROM $USER/$DISTRO-obs-latest # Arguments used after FROM must be specified again -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" - -MAINTAINER Harald Welte - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/latest/Debian_9.0/" - -COPY Release.key /tmp/Release.key RUN apt-get update && \ apt-get install -y --no-install-recommends \ - gnupg - -RUN apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-latest.list - -ADD $OSMOCOM_REPO/Release /tmp/Release -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - telnet \ osmo-bsc \ osmo-bsc-ipaccess-utils && \ apt-get clean diff --git a/osmo-bsc-latest/Release.key b/osmo-bsc-latest/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-bsc-latest/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-bts-latest/Dockerfile b/osmo-bts-latest/Dockerfile index 87d1f23..b576e72 100644 --- a/osmo-bts-latest/Dockerfile +++ b/osmo-bts-latest/Dockerfile @@ -1,28 +1,10 @@ -ARG REGISTRY=docker.io -ARG UPSTREAM_DISTRO=debian:stretch -FROM ${REGISTRY}/${UPSTREAM_DISTRO} +ARG USER +ARG DISTRO +FROM $USER/$DISTRO-obs-latest # Arguments used after FROM must be specified again -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" -MAINTAINER Harald Welte - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/latest/Debian_9.0/" - -COPY Release.key /tmp/Release.key - -ADD $OSMOCOM_REPO/Release /tmp/Release RUN apt-get update && \ apt-get install -y --no-install-recommends \ - gnupg - -RUN apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-latest.list - -ADD $OSMOCOM_REPO/Release /tmp/Release -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - telnet \ osmo-bts-trx \ osmo-bts-virtual && \ apt-get clean diff --git a/osmo-cbc-latest/Dockerfile b/osmo-cbc-latest/Dockerfile index 0b87b1f..91458d8 100644 --- a/osmo-cbc-latest/Dockerfile +++ b/osmo-cbc-latest/Dockerfile @@ -1,28 +1,11 @@ -ARG REGISTRY=docker.io -ARG UPSTREAM_DISTRO=debian:stretch -FROM ${REGISTRY}/${UPSTREAM_DISTRO} +ARG USER +ARG DISTRO +FROM $USER/$DISTRO-obs-latest # Arguments used after FROM must be specified again -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" - -MAINTAINER Harald Welte - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/latest/Debian_9.0/" - -COPY Release.key /tmp/Release.key RUN apt-get update && \ apt-get install -y --no-install-recommends \ - gnupg - -RUN apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-latest.list - -ADD $OSMOCOM_REPO/Release /tmp/Release -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - osmo-cbc \ - telnet && \ + osmo-cbc && \ apt-get clean WORKDIR /data diff --git a/osmo-cbc-latest/Release.key b/osmo-cbc-latest/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-cbc-latest/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-cn-latest/Dockerfile b/osmo-cn-latest/Dockerfile index b2c2a78..3da7175 100644 --- a/osmo-cn-latest/Dockerfile +++ b/osmo-cn-latest/Dockerfile @@ -1,28 +1,18 @@ -ARG REGISTRY=docker.io -ARG UPSTREAM_DISTRO=debian:stretch -FROM ${REGISTRY}/${UPSTREAM_DISTRO} +ARG USER +ARG DISTRO +FROM $USER/$DISTRO-obs-latest # Arguments used after FROM must be specified again -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" - -MAINTAINER Daniel Willmann - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/latest/Debian_9.0/" - -COPY Release.key /tmp/Release.key RUN apt-get update && \ apt-get install -y --no-install-recommends \ - gnupg - -RUN apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-latest.list - -ADD $OSMOCOM_REPO/Release /tmp/Release -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - osmo-msc osmo-hlr osmo-sgsn osmo-ggsn osmo-mgw osmo-stp \ - runit telnet iptables && \ + iptables \ + osmo-ggsn \ + osmo-hlr \ + osmo-mgw \ + osmo-msc \ + osmo-sgsn \ + osmo-stp \ + runit && \ apt-get clean WORKDIR /tmp diff --git a/osmo-cn-latest/Release.key b/osmo-cn-latest/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-cn-latest/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-gbproxy-latest/Dockerfile b/osmo-gbproxy-latest/Dockerfile index 1e53113..22904a1 100644 --- a/osmo-gbproxy-latest/Dockerfile +++ b/osmo-gbproxy-latest/Dockerfile @@ -1,45 +1,19 @@ -ARG REGISTRY=docker.io -ARG UPSTREAM_DISTRO=debian:stretch -FROM ${REGISTRY}/${UPSTREAM_DISTRO} -# Arguments used after FROM must be specified again -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" +ARG USER ARG DISTRO +FROM $USER/$DISTRO-obs-latest +# Arguments used after FROM must be specified again -MAINTAINER Harald Welte - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/latest/Debian_9.0/" - -COPY Release.key /tmp/Release.key - -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - gnupg - -RUN case "$DISTRO" in \ - debian*) \ - apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-latest.list \ - ;; \ - esac - -# we need to add this to invalidate the cache once the repository is updated. -# unfortunately Dockerfiles don't support a conditional ARG, so we need to add both DPKG + RPM -ADD $OSMOCOM_REPO/Release /tmp/Release -ADD $OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/latest/CentOS_8/repodata/repomd.xml /tmp/repomd.xml RUN case "$DISTRO" in \ debian*) \ apt-get update && \ apt-get install -y --no-install-recommends \ osmo-gbproxy \ - telnet \ && \ apt-get clean \ ;; \ centos*) \ dnf install -y \ osmo-gbproxy \ - telnet \ ;; \ *) \ echo "Unsupported distribution $DISTRO" \ diff --git a/osmo-gbproxy-latest/Release.key b/osmo-gbproxy-latest/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-gbproxy-latest/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-ggsn-latest/Dockerfile b/osmo-ggsn-latest/Dockerfile index 7729bfc..82bbef2 100644 --- a/osmo-ggsn-latest/Dockerfile +++ b/osmo-ggsn-latest/Dockerfile @@ -1,24 +1,8 @@ -ARG REGISTRY=docker.io -ARG UPSTREAM_DISTRO=debian:stretch -FROM ${REGISTRY}/${UPSTREAM_DISTRO} +ARG USER +ARG DISTRO +FROM $USER/$DISTRO-obs-latest # Arguments used after FROM must be specified again -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" -MAINTAINER Harald Welte - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/latest/Debian_9.0/" - -COPY Release.key /tmp/Release.key - -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - gnupg - -RUN apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-latest.list - -ADD $OSMOCOM_REPO/Release /tmp/Release # Disable update-initramfs to save time during apt-get install RUN ln -s /bin/true /usr/local/bin/update-initramfs && \ apt-get update && \ @@ -38,8 +22,7 @@ make \ osmo-ggsn \ pax-utils \ - qemu-system-x86 \ - telnet && \ + qemu-system-x86 && \ apt-get clean WORKDIR /tmp diff --git a/osmo-ggsn-latest/Release.key b/osmo-ggsn-latest/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-ggsn-latest/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-hlr-latest/Dockerfile b/osmo-hlr-latest/Dockerfile index 9468634..ed83ac3 100644 --- a/osmo-hlr-latest/Dockerfile +++ b/osmo-hlr-latest/Dockerfile @@ -1,29 +1,12 @@ -ARG REGISTRY=docker.io -ARG UPSTREAM_DISTRO=debian:stretch -FROM ${REGISTRY}/${UPSTREAM_DISTRO} +ARG USER +ARG DISTRO +FROM $USER/$DISTRO-obs-latest # Arguments used after FROM must be specified again -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" -MAINTAINER Harald Welte - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/latest/Debian_9.0/" - -COPY Release.key /tmp/Release.key - -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - gnupg - -RUN apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-latest.list - -ADD $OSMOCOM_REPO/Release /tmp/Release RUN apt-get update && \ apt-get install -y --no-install-recommends \ libdbd-sqlite3 \ - osmo-hlr \ - telnet && \ + osmo-hlr && \ apt-get clean WORKDIR /tmp diff --git a/osmo-hlr-latest/Release.key b/osmo-hlr-latest/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-hlr-latest/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-hnbgw-latest/Dockerfile b/osmo-hnbgw-latest/Dockerfile index 33f9808..81fdead 100644 --- a/osmo-hnbgw-latest/Dockerfile +++ b/osmo-hnbgw-latest/Dockerfile @@ -1,27 +1,10 @@ -ARG REGISTRY=docker.io -ARG UPSTREAM_DISTRO=debian:stretch -FROM ${REGISTRY}/${UPSTREAM_DISTRO} +ARG USER +ARG DISTRO +FROM $USER/$DISTRO-obs-latest # Arguments used after FROM must be specified again -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" - -MAINTAINER Harald Welte - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/latest/Debian_9.0/" - -COPY Release.key /tmp/Release.key RUN apt-get update && \ apt-get install -y --no-install-recommends \ - gnupg - -RUN apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-latest.list - -ADD $OSMOCOM_REPO/Release /tmp/Release -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - telnet \ osmo-hnbgw && \ apt-get clean diff --git a/osmo-hnbgw-latest/Release.key b/osmo-hnbgw-latest/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-hnbgw-latest/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-mgw-latest/Dockerfile b/osmo-mgw-latest/Dockerfile index 4e81a72..52cca6e 100644 --- a/osmo-mgw-latest/Dockerfile +++ b/osmo-mgw-latest/Dockerfile @@ -1,27 +1,10 @@ -ARG REGISTRY=docker.io -ARG UPSTREAM_DISTRO=debian:stretch -FROM ${REGISTRY}/${UPSTREAM_DISTRO} +ARG USER +ARG DISTRO +FROM $USER/$DISTRO-obs-latest # Arguments used after FROM must be specified again -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" - -MAINTAINER Harald Welte - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/latest/Debian_9.0/" - -COPY Release.key /tmp/Release.key RUN apt-get update && \ apt-get install -y --no-install-recommends \ - gnupg - -RUN apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-latest.list - -ADD $OSMOCOM_REPO/Release /tmp/Release -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - telnet \ osmo-mgw && \ apt-get clean diff --git a/osmo-mgw-latest/Release.key b/osmo-mgw-latest/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-mgw-latest/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-msc-latest/Dockerfile b/osmo-msc-latest/Dockerfile index f1710d0..4ff86d3 100644 --- a/osmo-msc-latest/Dockerfile +++ b/osmo-msc-latest/Dockerfile @@ -1,28 +1,11 @@ -ARG REGISTRY=docker.io -ARG UPSTREAM_DISTRO=debian:stretch -FROM ${REGISTRY}/${UPSTREAM_DISTRO} +ARG USER +ARG DISTRO +FROM $USER/$DISTRO-obs-latest # Arguments used after FROM must be specified again -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" - -MAINTAINER Harald Welte - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/latest/Debian_9.0/" - -COPY Release.key /tmp/Release.key RUN apt-get update && \ apt-get install -y --no-install-recommends \ - gnupg - -RUN apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-latest.list - -ADD $OSMOCOM_REPO/Release /tmp/Release -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - osmo-msc \ - telnet && \ + osmo-msc && \ apt-get clean WORKDIR /tmp diff --git a/osmo-nitb-latest/Dockerfile b/osmo-nitb-latest/Dockerfile index aae7f84..c711f8d 100644 --- a/osmo-nitb-latest/Dockerfile +++ b/osmo-nitb-latest/Dockerfile @@ -1,24 +1,8 @@ -ARG REGISTRY=docker.io -ARG UPSTREAM_DISTRO=debian:stretch -FROM ${REGISTRY}/${UPSTREAM_DISTRO} +ARG USER +ARG DISTRO +FROM $USER/$DISTRO-obs-latest # Arguments used after FROM must be specified again -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" -MAINTAINER Harald Welte - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/latest/Debian_9.0/" - -COPY Release.key /tmp/Release.key - -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - gnupg - -RUN apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-latest.list - -ADD $OSMOCOM_REPO/Release /tmp/Release RUN apt-get update && \ apt-get install -y --no-install-recommends \ osmocom-nitb \ diff --git a/osmo-nitb-latest/Release.key b/osmo-nitb-latest/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-nitb-latest/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-pcu-latest/Dockerfile b/osmo-pcu-latest/Dockerfile index c259d3c..4714bf2 100644 --- a/osmo-pcu-latest/Dockerfile +++ b/osmo-pcu-latest/Dockerfile @@ -1,28 +1,10 @@ -ARG REGISTRY=docker.io -ARG UPSTREAM_DISTRO=debian:stretch -FROM ${REGISTRY}/${UPSTREAM_DISTRO} +ARG USER +ARG DISTRO +FROM $USER/$DISTRO-obs-latest # Arguments used after FROM must be specified again -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" -MAINTAINER Harald Welte - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/latest/Debian_9.0/" - -COPY Release.key /tmp/Release.key - -ADD $OSMOCOM_REPO/Release /tmp/Release RUN apt-get update && \ apt-get install -y --no-install-recommends \ - gnupg - -RUN apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-latest.list - -ADD $OSMOCOM_REPO/Release /tmp/Release -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - telnet \ osmo-pcu && \ apt-get clean diff --git a/osmo-pcu-latest/Release.key b/osmo-pcu-latest/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-pcu-latest/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-remsim-latest/Dockerfile b/osmo-remsim-latest/Dockerfile index 56ae863..db1aa05 100644 --- a/osmo-remsim-latest/Dockerfile +++ b/osmo-remsim-latest/Dockerfile @@ -1,28 +1,10 @@ -ARG REGISTRY=docker.io -ARG UPSTREAM_DISTRO=debian:stretch -FROM ${REGISTRY}/${UPSTREAM_DISTRO} +ARG USER +ARG DISTRO +FROM $USER/$DISTRO-obs-latest # Arguments used after FROM must be specified again -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" -MAINTAINER Harald Welte - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/latest/Debian_9.0/" - -COPY Release.key /tmp/Release.key - -ADD $OSMOCOM_REPO/Release /tmp/Release RUN apt-get update && \ apt-get install -y --no-install-recommends \ - gnupg - -RUN apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-latest.list - -ADD $OSMOCOM_REPO/Release /tmp/Release -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - telnet \ osmo-remsim-server \ osmo-remsim-client \ osmo-remsim-bankd && \ diff --git a/osmo-remsim-latest/Release.key b/osmo-remsim-latest/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-remsim-latest/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-sgsn-latest/Dockerfile b/osmo-sgsn-latest/Dockerfile index 324b1be..c3b1410 100644 --- a/osmo-sgsn-latest/Dockerfile +++ b/osmo-sgsn-latest/Dockerfile @@ -1,27 +1,10 @@ -ARG REGISTRY=docker.io -ARG UPSTREAM_DISTRO=debian:stretch -FROM ${REGISTRY}/${UPSTREAM_DISTRO} +ARG USER +ARG DISTRO +FROM $USER/$DISTRO-obs-latest # Arguments used after FROM must be specified again -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" - -MAINTAINER Harald Welte - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/latest/Debian_9.0/" - -COPY Release.key /tmp/Release.key RUN apt-get update && \ apt-get install -y --no-install-recommends \ - gnupg - -RUN apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-latest.list - -ADD $OSMOCOM_REPO/Release /tmp/Release -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - telnet \ osmo-sgsn && \ apt-get clean diff --git a/osmo-sgsn-latest/Release.key b/osmo-sgsn-latest/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-sgsn-latest/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-sip-latest/Dockerfile b/osmo-sip-latest/Dockerfile index 7b3bc2c..79dbf55 100644 --- a/osmo-sip-latest/Dockerfile +++ b/osmo-sip-latest/Dockerfile @@ -1,28 +1,11 @@ -ARG REGISTRY=docker.io -ARG UPSTREAM_DISTRO=debian:stretch -FROM ${REGISTRY}/${UPSTREAM_DISTRO} +ARG USER +ARG DISTRO +FROM $USER/$DISTRO-obs-latest # Arguments used after FROM must be specified again -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" - -MAINTAINER Harald Welte - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/latest/Debian_9.0/" - -COPY Release.key /tmp/Release.key RUN apt-get update && \ apt-get install -y --no-install-recommends \ - gnupg - -RUN apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-latest.list - -ADD $OSMOCOM_REPO/Release /tmp/Release -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - osmo-sip-connector \ - telnet && \ + osmo-sip-connector && \ apt-get clean WORKDIR /tmp diff --git a/osmo-sip-latest/Release.key b/osmo-sip-latest/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-sip-latest/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-smlc-latest/Dockerfile b/osmo-smlc-latest/Dockerfile index d367ee4..51e290a 100644 --- a/osmo-smlc-latest/Dockerfile +++ b/osmo-smlc-latest/Dockerfile @@ -1,28 +1,11 @@ -ARG REGISTRY=docker.io -ARG UPSTREAM_DISTRO=debian:stretch -FROM ${REGISTRY}/${UPSTREAM_DISTRO} +ARG USER +ARG DISTRO +FROM $USER/$DISTRO-obs-latest # Arguments used after FROM must be specified again -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" - -MAINTAINER Harald Welte - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/latest/Debian_9.0/" - -COPY Release.key /tmp/Release.key RUN apt-get update && \ apt-get install -y --no-install-recommends \ - gnupg - -RUN apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-latest.list - -ADD $OSMOCOM_REPO/Release /tmp/Release -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - osmo-smlc \ - telnet && \ + osmo-smlc && \ apt-get clean WORKDIR /data diff --git a/osmo-smlc-latest/Release.key b/osmo-smlc-latest/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-smlc-latest/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-stp-latest/Dockerfile b/osmo-stp-latest/Dockerfile index 1a55ee8..c139af4 100644 --- a/osmo-stp-latest/Dockerfile +++ b/osmo-stp-latest/Dockerfile @@ -1,28 +1,11 @@ -ARG REGISTRY=docker.io -ARG UPSTREAM_DISTRO=debian:stretch -FROM ${REGISTRY}/${UPSTREAM_DISTRO} +ARG USER +ARG DISTRO +FROM $USER/$DISTRO-obs-latest # Arguments used after FROM must be specified again -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" - -MAINTAINER Harald Welte - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/latest/Debian_9.0/" - -COPY Release.key /tmp/Release.key RUN apt-get update && \ apt-get install -y --no-install-recommends \ - gnupg - -RUN apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-latest.list - -ADD $OSMOCOM_REPO/Release /tmp/Release -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - osmo-stp \ - telnet && \ + osmo-stp && \ apt-get clean WORKDIR /data diff --git a/osmo-stp-latest/Release.key b/osmo-stp-latest/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-stp-latest/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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----- -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23236 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I443d52eba416ea298cc5421e280ad2f4ca59283b Gerrit-Change-Number: 23236 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 8 08:33:07 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 8 Mar 2021 08:33:07 +0000 Subject: Change in docker-playground[master]: osmo-*-latest: support centos8 In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23237 ) Change subject: osmo-*-latest: support centos8 ...................................................................... osmo-*-latest: support centos8 Add a new centos8-obs-latest container with shared code (just like debian-stretch-obs-latest) and adjust the package install blocks in osmo-*-latest. Related: OS#5049 Change-Id: I274b31d4903df07e99fd434af25bdb72991f6923 --- A centos8-obs-latest/Dockerfile A centos8-obs-latest/Makefile M jenkins-common.sh M osmo-bsc-latest/Dockerfile M osmo-bts-latest/Dockerfile M osmo-cbc-latest/Dockerfile M osmo-gbproxy-latest/Dockerfile M osmo-ggsn-latest/Dockerfile M osmo-hlr-latest/Dockerfile M osmo-mgw-latest/Dockerfile M osmo-msc-latest/Dockerfile M osmo-nitb-latest/Dockerfile M osmo-pcu-latest/Dockerfile M osmo-sgsn-latest/Dockerfile M osmo-sip-latest/Dockerfile M osmo-smlc-latest/Dockerfile M osmo-stp-latest/Dockerfile 17 files changed, 205 insertions(+), 67 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved osmith: Verified diff --git a/centos8-obs-latest/Dockerfile b/centos8-obs-latest/Dockerfile new file mode 100644 index 0000000..4b2357b --- /dev/null +++ b/centos8-obs-latest/Dockerfile @@ -0,0 +1,21 @@ +ARG REGISTRY=docker.io +ARG UPSTREAM_DISTRO=centos:centos8 +FROM ${REGISTRY}/${UPSTREAM_DISTRO} +# Arguments used after FROM must be specified again +ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" + +# Let package metadata expire after 60 seconds instead of 48 hours +RUN echo "metadata_expire=60" >> /etc/dnf/dnf.conf && cat /etc/dnf/dnf.conf + +# Make additional development libraries available from PowerTools and set up +# Osmocom latest OBS repository +RUN dnf install -y dnf-utils wget && \ + yum config-manager --set-enabled powertools && \ + cd /etc/yum.repos.d/ && \ + wget $OSMOCOM_REPO_MIRROR/repositories/network:osmocom:latest/CentOS_8/network:osmocom:latest.repo + +RUN dnf install -y \ + telnet + +# Invalidate cache once the repository is updated +ADD $OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/latest/CentOS_8/repodata/repomd.xml /tmp/repomd.xml diff --git a/centos8-obs-latest/Makefile b/centos8-obs-latest/Makefile new file mode 100644 index 0000000..cba5cee --- /dev/null +++ b/centos8-obs-latest/Makefile @@ -0,0 +1,3 @@ +UPSTREAM_DISTRO:=centos:centos8 +DISTRO:=centos8 +include ../make/Makefile diff --git a/jenkins-common.sh b/jenkins-common.sh index b8fc3a2..6c27fae 100644 --- a/jenkins-common.sh +++ b/jenkins-common.sh @@ -7,6 +7,7 @@ docker_depends() { case "$1" in + osmo-*-latest-centos8) echo "centos8-obs-latest" ;; osmo-*-centos8) echo "centos8-build" ;; osmo-*-latest) echo "debian-stretch-obs-latest" ;; osmo-*) echo "debian-stretch-build" ;; diff --git a/osmo-bsc-latest/Dockerfile b/osmo-bsc-latest/Dockerfile index bbc3934..3352ed2 100644 --- a/osmo-bsc-latest/Dockerfile +++ b/osmo-bsc-latest/Dockerfile @@ -2,12 +2,22 @@ ARG DISTRO FROM $USER/$DISTRO-obs-latest # Arguments used after FROM must be specified again +ARG DISTRO -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - osmo-bsc \ - osmo-bsc-ipaccess-utils && \ - apt-get clean +RUN case "$DISTRO" in \ + debian*) \ + apt-get update && \ + apt-get install -y --no-install-recommends \ + osmo-bsc \ + osmo-bsc-ipaccess-utils && \ + apt-get clean \ + ;; \ + centos*) \ + dnf install -y \ + osmo-bsc \ + osmo-bsc-ipaccess-utils \ + ;; \ + esac WORKDIR /tmp diff --git a/osmo-bts-latest/Dockerfile b/osmo-bts-latest/Dockerfile index b576e72..6e835d5 100644 --- a/osmo-bts-latest/Dockerfile +++ b/osmo-bts-latest/Dockerfile @@ -2,12 +2,22 @@ ARG DISTRO FROM $USER/$DISTRO-obs-latest # Arguments used after FROM must be specified again +ARG DISTRO -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - osmo-bts-trx \ - osmo-bts-virtual && \ - apt-get clean +RUN case "$DISTRO" in \ + debian*) \ + apt-get update && \ + apt-get install -y --no-install-recommends \ + osmo-bts-trx \ + osmo-bts-virtual && \ + apt-get clean \ + ;; \ + centos*) \ + dnf install -y \ + osmo-bts \ + osmo-bts-virtual \ + ;; \ + esac ADD respawn.sh /usr/local/bin/respawn.sh diff --git a/osmo-cbc-latest/Dockerfile b/osmo-cbc-latest/Dockerfile index 91458d8..d919dae 100644 --- a/osmo-cbc-latest/Dockerfile +++ b/osmo-cbc-latest/Dockerfile @@ -2,11 +2,20 @@ ARG DISTRO FROM $USER/$DISTRO-obs-latest # Arguments used after FROM must be specified again +ARG DISTRO -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - osmo-cbc && \ - apt-get clean +RUN case "$DISTRO" in \ + debian*) \ + apt-get update && \ + apt-get install -y --no-install-recommends \ + osmo-cbc && \ + apt-get clean \ + ;; \ + centos*) \ + dnf install -y \ + osmo-cbc \ + ;; \ + esac WORKDIR /data diff --git a/osmo-gbproxy-latest/Dockerfile b/osmo-gbproxy-latest/Dockerfile index 22904a1..7c729a5 100644 --- a/osmo-gbproxy-latest/Dockerfile +++ b/osmo-gbproxy-latest/Dockerfile @@ -2,6 +2,7 @@ ARG DISTRO FROM $USER/$DISTRO-obs-latest # Arguments used after FROM must be specified again +ARG DISTRO RUN case "$DISTRO" in \ debian*) \ diff --git a/osmo-ggsn-latest/Dockerfile b/osmo-ggsn-latest/Dockerfile index 82bbef2..0da9703 100644 --- a/osmo-ggsn-latest/Dockerfile +++ b/osmo-ggsn-latest/Dockerfile @@ -2,28 +2,38 @@ ARG DISTRO FROM $USER/$DISTRO-obs-latest # Arguments used after FROM must be specified again +ARG DISTRO +# Install additional debian depends for kernel module test (OS#3208) # Disable update-initramfs to save time during apt-get install -RUN ln -s /bin/true /usr/local/bin/update-initramfs && \ - apt-get update && \ - apt-get install -y --no-install-recommends \ - bc \ - bison \ - bridge-utils \ - busybox-static \ - ca-certificates \ - flex \ - gcc \ - git \ - libc6-dev \ - libelf-dev \ - libssl-dev \ - linux-image-amd64 \ - make \ - osmo-ggsn \ - pax-utils \ - qemu-system-x86 && \ - apt-get clean +RUN case "$DISTRO" in \ + debian*) \ + ln -s /bin/true /usr/local/bin/update-initramfs && \ + apt-get update && \ + apt-get install -y --no-install-recommends \ + bc \ + bison \ + bridge-utils \ + busybox-static \ + ca-certificates \ + flex \ + gcc \ + git \ + libc6-dev \ + libelf-dev \ + libssl-dev \ + linux-image-amd64 \ + make \ + osmo-ggsn \ + pax-utils \ + qemu-system-x86 && \ + apt-get clean \ + ;; \ + centos*) \ + dnf install -y \ + osmo-ggsn \ + ;; \ + esac WORKDIR /tmp diff --git a/osmo-hlr-latest/Dockerfile b/osmo-hlr-latest/Dockerfile index ed83ac3..ece7aa6 100644 --- a/osmo-hlr-latest/Dockerfile +++ b/osmo-hlr-latest/Dockerfile @@ -2,12 +2,21 @@ ARG DISTRO FROM $USER/$DISTRO-obs-latest # Arguments used after FROM must be specified again +ARG DISTRO -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - libdbd-sqlite3 \ - osmo-hlr && \ - apt-get clean +RUN case "$DISTRO" in \ + debian*) \ + apt-get update && \ + apt-get install -y --no-install-recommends \ + libdbd-sqlite3 \ + osmo-hlr && \ + apt-get clean \ + ;; \ + centos*) \ + dnf install -y \ + osmo-hlr \ + ;; \ + esac WORKDIR /tmp diff --git a/osmo-mgw-latest/Dockerfile b/osmo-mgw-latest/Dockerfile index 52cca6e..5b01fe8 100644 --- a/osmo-mgw-latest/Dockerfile +++ b/osmo-mgw-latest/Dockerfile @@ -2,11 +2,20 @@ ARG DISTRO FROM $USER/$DISTRO-obs-latest # Arguments used after FROM must be specified again +ARG DISTRO -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - osmo-mgw && \ - apt-get clean +RUN case "$DISTRO" in \ + debian*) \ + apt-get update && \ + apt-get install -y --no-install-recommends \ + osmo-mgw && \ + apt-get clean \ + ;; \ + centos*) \ + dnf install -y \ + osmo-mgw \ + ;; \ + esac WORKDIR /tmp diff --git a/osmo-msc-latest/Dockerfile b/osmo-msc-latest/Dockerfile index 4ff86d3..d2c1107 100644 --- a/osmo-msc-latest/Dockerfile +++ b/osmo-msc-latest/Dockerfile @@ -2,11 +2,20 @@ ARG DISTRO FROM $USER/$DISTRO-obs-latest # Arguments used after FROM must be specified again +ARG DISTRO -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - osmo-msc && \ - apt-get clean +RUN case "$DISTRO" in \ + debian*) \ + apt-get update && \ + apt-get install -y --no-install-recommends \ + osmo-msc && \ + apt-get clean \ + ;; \ + centos*) \ + dnf install -y \ + osmo-msc \ + ;; \ + esac WORKDIR /tmp diff --git a/osmo-nitb-latest/Dockerfile b/osmo-nitb-latest/Dockerfile index c711f8d..8c3acb8 100644 --- a/osmo-nitb-latest/Dockerfile +++ b/osmo-nitb-latest/Dockerfile @@ -2,6 +2,7 @@ ARG DISTRO FROM $USER/$DISTRO-obs-latest # Arguments used after FROM must be specified again +ARG DISTRO RUN apt-get update && \ apt-get install -y --no-install-recommends \ diff --git a/osmo-pcu-latest/Dockerfile b/osmo-pcu-latest/Dockerfile index 4714bf2..622f933 100644 --- a/osmo-pcu-latest/Dockerfile +++ b/osmo-pcu-latest/Dockerfile @@ -2,11 +2,20 @@ ARG DISTRO FROM $USER/$DISTRO-obs-latest # Arguments used after FROM must be specified again +ARG DISTRO -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - osmo-pcu && \ - apt-get clean +RUN case "$DISTRO" in \ + debian*) \ + apt-get update && \ + apt-get install -y --no-install-recommends \ + osmo-pcu && \ + apt-get clean \ + ;; \ + centos*) \ + dnf install -y \ + osmo-pcu \ + ;; \ + esac ADD respawn.sh /usr/local/bin/respawn.sh diff --git a/osmo-sgsn-latest/Dockerfile b/osmo-sgsn-latest/Dockerfile index c3b1410..21728c9 100644 --- a/osmo-sgsn-latest/Dockerfile +++ b/osmo-sgsn-latest/Dockerfile @@ -2,11 +2,20 @@ ARG DISTRO FROM $USER/$DISTRO-obs-latest # Arguments used after FROM must be specified again +ARG DISTRO -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - osmo-sgsn && \ - apt-get clean +RUN case "$DISTRO" in \ + debian*) \ + apt-get update && \ + apt-get install -y --no-install-recommends \ + osmo-sgsn && \ + apt-get clean \ + ;; \ + centos*) \ + dnf install -y \ + osmo-sgsn \ + ;; \ + esac WORKDIR /tmp diff --git a/osmo-sip-latest/Dockerfile b/osmo-sip-latest/Dockerfile index 79dbf55..825735c 100644 --- a/osmo-sip-latest/Dockerfile +++ b/osmo-sip-latest/Dockerfile @@ -2,11 +2,20 @@ ARG DISTRO FROM $USER/$DISTRO-obs-latest # Arguments used after FROM must be specified again +ARG DISTRO -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - osmo-sip-connector && \ - apt-get clean +RUN case "$DISTRO" in \ + debian*) \ + apt-get update && \ + apt-get install -y --no-install-recommends \ + osmo-sip-connector && \ + apt-get clean \ + ;; \ + centos*) \ + dnf install -y \ + osmo-sip-connector \ + ;; \ + esac WORKDIR /tmp diff --git a/osmo-smlc-latest/Dockerfile b/osmo-smlc-latest/Dockerfile index 51e290a..12487ec 100644 --- a/osmo-smlc-latest/Dockerfile +++ b/osmo-smlc-latest/Dockerfile @@ -2,11 +2,20 @@ ARG DISTRO FROM $USER/$DISTRO-obs-latest # Arguments used after FROM must be specified again +ARG DISTRO -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - osmo-smlc && \ - apt-get clean +RUN case "$DISTRO" in \ + debian*) \ + apt-get update && \ + apt-get install -y --no-install-recommends \ + osmo-smlc && \ + apt-get clean \ + ;; \ + centos*) \ + dnf install -y \ + osmo-smlc \ + ;; \ + esac WORKDIR /data diff --git a/osmo-stp-latest/Dockerfile b/osmo-stp-latest/Dockerfile index c139af4..d3279f0 100644 --- a/osmo-stp-latest/Dockerfile +++ b/osmo-stp-latest/Dockerfile @@ -2,11 +2,20 @@ ARG DISTRO FROM $USER/$DISTRO-obs-latest # Arguments used after FROM must be specified again +ARG DISTRO -RUN apt-get update && \ - apt-get install -y --no-install-recommends \ - osmo-stp && \ - apt-get clean +RUN case "$DISTRO" in \ + debian*) \ + apt-get update && \ + apt-get install -y --no-install-recommends \ + osmo-stp && \ + apt-get clean \ + ;; \ + centos*) \ + dnf install -y \ + osmo-stp \ + ;; \ + esac WORKDIR /data -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23237 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I274b31d4903df07e99fd434af25bdb72991f6923 Gerrit-Change-Number: 23237 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 8 08:33:07 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 8 Mar 2021 08:33:07 +0000 Subject: Change in docker-playground[master]: osmo-*-master: move common code to *-build In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23238 ) Change subject: osmo-*-master: move common code to *-build ...................................................................... osmo-*-master: move common code to *-build Move common code from osmo-*-master to debian-stretch-build and centos8-build: * add the OBS repository key (debian only) * add the OBS repository with "nightly" feed (debian only, already done for centos8) * install telnet * invalidate the cache once the repository is updated While at it, remove deprecated MAINTAINER lines. This fixes the need to read both the repository index of debian-stretch and centos8 and having to invalidate the cache if either of them changes (instead of reading just the relevant index and invalidating the cache only if the relevant one changes). A similar change was done with osmo-*-latest in I443d52eba416ea298cc5421e280ad2f4ca59283b. Related: OS#5049 Related: https://docs.docker.com/engine/reference/builder/#maintainer-deprecated Change-Id: Id69f3eaf37f823bac0947366f27a25edd277a4cb --- M centos8-build/Dockerfile M debian-stretch-build/Dockerfile R debian-stretch-build/Release.key M osmo-bsc-master/Dockerfile M osmo-bts-master/Dockerfile D osmo-bts-master/Release.key M osmo-cbc-master/Dockerfile D osmo-cbc-master/Release.key M osmo-gbproxy-master/Dockerfile D osmo-gbproxy-master/Release.key M osmo-ggsn-master/Dockerfile D osmo-ggsn-master/Release.key M osmo-hlr-master/Dockerfile D osmo-hlr-master/Release.key M osmo-hnbgw-master/Dockerfile D osmo-hnbgw-master/Release.key M osmo-mgw-master/Dockerfile D osmo-mgw-master/Release.key M osmo-msc-master/Dockerfile D osmo-msc-master/Release.key M osmo-nitb-master/Dockerfile D osmo-nitb-master/Release.key M osmo-pcu-master/Dockerfile D osmo-pcu-master/Release.key M osmo-remsim-master/Dockerfile D osmo-remsim-master/Release.key M osmo-sgsn-master/Dockerfile D osmo-sgsn-master/Release.key M osmo-sip-master/Dockerfile D osmo-sip-master/Release.key M osmo-smlc-master/Dockerfile D osmo-smlc-master/Release.key M osmo-stp-master/Dockerfile D osmo-stp-master/Release.key M osmo-uecups-master/Dockerfile D osmo-uecups-master/Release.key 36 files changed, 25 insertions(+), 677 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved osmith: Verified diff --git a/centos8-build/Dockerfile b/centos8-build/Dockerfile index 1130f34..412816c 100644 --- a/centos8-build/Dockerfile +++ b/centos8-build/Dockerfile @@ -1,6 +1,7 @@ ARG REGISTRY=docker.io ARG UPSTREAM_DISTRO=centos:centos8 FROM ${REGISTRY}/${UPSTREAM_DISTRO} +# Arguments used after FROM must be specified again ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" # Let package metadata expire after 60 seconds instead of 48 hours @@ -46,4 +47,8 @@ pkg-config \ readline-devel \ sqlite \ - sqlite-devel + sqlite-devel \ + telnet + +# Invalidate cache once the repository is updated +ADD $OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/latest/CentOS_8/repodata/repomd.xml /tmp/repomd.xml diff --git a/debian-stretch-build/Dockerfile b/debian-stretch-build/Dockerfile index 96e92de..a98fa3e 100644 --- a/debian-stretch-build/Dockerfile +++ b/debian-stretch-build/Dockerfile @@ -1,8 +1,9 @@ ARG REGISTRY=docker.io ARG UPSTREAM_DISTRO=debian:stretch FROM ${REGISTRY}/${UPSTREAM_DISTRO} - -MAINTAINER Harald Welte +# Arguments used after FROM must be specified again +ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" +ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/Debian_9.0/" RUN apt-get update && \ apt-get upgrade -y && \ @@ -53,5 +54,14 @@ pkg-config \ sqlite3 \ stow \ + telnet \ wget && \ apt-get clean + +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 + +# Invalidate cache once the repository is updated +ADD $OSMOCOM_REPO/Release /tmp/Release diff --git a/osmo-bsc-master/Release.key b/debian-stretch-build/Release.key similarity index 100% rename from osmo-bsc-master/Release.key rename to debian-stretch-build/Release.key diff --git a/osmo-bsc-master/Dockerfile b/osmo-bsc-master/Dockerfile index 1c0b04a..32ded30 100644 --- a/osmo-bsc-master/Dockerfile +++ b/osmo-bsc-master/Dockerfile @@ -1,34 +1,13 @@ ARG USER ARG DISTRO -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" FROM $USER/$DISTRO-build # Arguments used after FROM must be specified again ARG DISTRO -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" -MAINTAINER Harald Welte - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/Debian_9.0/" - -COPY Release.key /tmp/Release.key - -RUN case "$DISTRO" in \ - debian*) \ - apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list \ - ;; \ - esac - -# we need to add this to invalidate the cache once the repository is updated. -# unfortunately Dockerfiles don't support a conditional ARG, so we need to add both DPKG + RPM -ADD $OSMOCOM_REPO/Release /tmp/Release -ADD $OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/CentOS_8/repodata/repomd.xml /tmp/repomd.xml RUN case "$DISTRO" in \ debian*) \ apt-get update && \ apt-get install -y --no-install-recommends \ - telnet \ libosmocore-dev \ libosmo-abis-dev \ libosmo-netif-dev \ diff --git a/osmo-bts-master/Dockerfile b/osmo-bts-master/Dockerfile index 4699b2b..13df628 100644 --- a/osmo-bts-master/Dockerfile +++ b/osmo-bts-master/Dockerfile @@ -1,34 +1,13 @@ ARG USER ARG DISTRO -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" FROM $USER/$DISTRO-build # Arguments used after FROM must be specified again ARG DISTRO -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" -MAINTAINER Harald Welte - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/Debian_9.0/" - -COPY Release.key /tmp/Release.key - -RUN case "$DISTRO" in \ - debian*) \ - apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list \ - ;; \ - esac - -# we need to add this to invalidate the cache once the repository is updated. -# unfortunately Dockerfiles don't support a conditional ARG, so we need to add both DPKG + RPM -ADD $OSMOCOM_REPO/Release /tmp/Release -ADD $OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/CentOS_8/repodata/repomd.xml /tmp/repomd.xml RUN case "$DISTRO" in \ debian*) \ apt-get update && \ apt-get install -y --no-install-recommends \ - telnet \ libosmocore-dev \ libosmo-abis-dev \ libosmo-netif-dev \ @@ -48,7 +27,6 @@ "pkgconfig(libosmogsm)" \ "pkgconfig(libosmotrau)" \ "pkgconfig(libosmovty)" \ - telnet \ ;; \ esac diff --git a/osmo-bts-master/Release.key b/osmo-bts-master/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-bts-master/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-cbc-master/Dockerfile b/osmo-cbc-master/Dockerfile index c305ac4..7b2811f 100644 --- a/osmo-cbc-master/Dockerfile +++ b/osmo-cbc-master/Dockerfile @@ -1,34 +1,13 @@ ARG USER ARG DISTRO -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" FROM $USER/$DISTRO-build # Arguments used after FROM must be specified again ARG DISTRO -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" -MAINTAINER Harald Welte - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/Debian_9.0/" - -COPY Release.key /tmp/Release.key - -RUN case "$DISTRO" in \ - debian*) \ - apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list \ - ;; \ - esac - -# we need to add this to invalidate the cache once the repository is updated. -# unfortunately Dockerfiles don't support a conditional ARG, so we need to add both DPKG + RPM -ADD $OSMOCOM_REPO/Release /tmp/Release -ADD $OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/CentOS_8/repodata/repomd.xml /tmp/repomd.xml RUN case "$DISTRO" in \ debian*) \ apt-get update && \ apt-get install -y --no-install-recommends \ - telnet \ libosmocore-dev \ libosmo-netif-dev \ libulfius-dev \ diff --git a/osmo-cbc-master/Release.key b/osmo-cbc-master/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-cbc-master/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-gbproxy-master/Dockerfile b/osmo-gbproxy-master/Dockerfile index 9df1ee7..61463c5 100644 --- a/osmo-gbproxy-master/Dockerfile +++ b/osmo-gbproxy-master/Dockerfile @@ -3,31 +3,11 @@ FROM $USER/$DISTRO-build # Arguments used after FROM must be specified again ARG DISTRO -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" -MAINTAINER Harald Welte - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/Debian_9.0/" - -COPY Release.key /tmp/Release.key - -RUN case "$DISTRO" in \ - debian*) \ - apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list \ - ;; \ - esac - -# we need to add this to invalidate the cache once the repository is updated. -# unfortunately Dockerfiles don't support a conditional ARG, so we need to add both DPKG + RPM -ADD $OSMOCOM_REPO/Release /tmp/Release -ADD $OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/CentOS_8/repodata/repomd.xml /tmp/repomd.xml RUN case "$DISTRO" in \ debian*) \ apt-get update && \ apt-get install -y --no-install-recommends \ - telnet \ libosmocore-dev \ libosmo-abis-dev \ libosmo-netif-dev \ @@ -36,7 +16,6 @@ ;; \ centos*) \ dnf install -y \ - telnet \ "pkgconfig(libosmo-netif)" \ "pkgconfig(libosmoabis)" \ "pkgconfig(libosmocore)" \ diff --git a/osmo-gbproxy-master/Release.key b/osmo-gbproxy-master/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-gbproxy-master/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-ggsn-master/Dockerfile b/osmo-ggsn-master/Dockerfile index 72dcafe..c3afb68 100644 --- a/osmo-ggsn-master/Dockerfile +++ b/osmo-ggsn-master/Dockerfile @@ -1,29 +1,9 @@ ARG USER ARG DISTRO -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" FROM $USER/$DISTRO-build # Arguments used after FROM must be specified again ARG DISTRO -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" -MAINTAINER Harald Welte - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/Debian_9.0/" - -COPY Release.key /tmp/Release.key - -RUN case "$DISTRO" in \ - debian*) \ - apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list \ - ;; \ - esac - -# we need to add this to invalidate the cache once the repository is updated. -# unfortunately Dockerfiles don't support a conditional ARG, so we need to add both DPKG + RPM -ADD $OSMOCOM_REPO/Release /tmp/Release -ADD $OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/CentOS_8/repodata/repomd.xml /tmp/repomd.xml # Disable update-initramfs to save time during apt-get install RUN case "$DISTRO" in \ debian*) \ @@ -39,13 +19,11 @@ libosmocore-dev \ linux-image-amd64 \ pax-utils \ - qemu-system-x86 \ - telnet && \ + qemu-system-x86 && \ apt-get clean \ ;; \ centos*) \ dnf install -y \ - telnet \ "pkgconfig(libgtpnl)" \ "pkgconfig(libmnl)" \ "pkgconfig(libosmocore)" \ diff --git a/osmo-ggsn-master/Release.key b/osmo-ggsn-master/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-ggsn-master/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-hlr-master/Dockerfile b/osmo-hlr-master/Dockerfile index 2f7a165..9ddc193 100644 --- a/osmo-hlr-master/Dockerfile +++ b/osmo-hlr-master/Dockerfile @@ -1,29 +1,9 @@ ARG USER ARG DISTRO -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" FROM $USER/$DISTRO-build # Arguments used after FROM must be specified again ARG DISTRO -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" -MAINTAINER Harald Welte - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/Debian_9.0/" - -COPY Release.key /tmp/Release.key - -RUN case "$DISTRO" in \ - debian*) \ - apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list \ - ;; \ - esac - -# we need to add this to invalidate the cache once the repository is updated. -# unfortunately Dockerfiles don't support a conditional ARG, so we need to add both DPKG + RPM -ADD $OSMOCOM_REPO/Release /tmp/Release -ADD $OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/CentOS_8/repodata/repomd.xml /tmp/repomd.xml RUN case "$DISTRO" in \ debian*) \ apt-get update && \ @@ -32,8 +12,7 @@ libosmo-abis-dev \ libosmo-netif-dev \ libosmo-sigtran-dev \ - libosmocore-dev \ - telnet && \ + libosmocore-dev && \ apt-get clean \ ;; \ centos*) \ @@ -44,7 +23,6 @@ "pkgconfig(libosmogsm)" \ "pkgconfig(libosmovty)" \ python3 \ - telnet \ ;; \ esac diff --git a/osmo-hlr-master/Release.key b/osmo-hlr-master/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-hlr-master/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-hnbgw-master/Dockerfile b/osmo-hnbgw-master/Dockerfile index ed35431..9101e0c 100644 --- a/osmo-hnbgw-master/Dockerfile +++ b/osmo-hnbgw-master/Dockerfile @@ -1,27 +1,11 @@ ARG USER ARG DISTRO -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" FROM $USER/$DISTRO-build # Arguments used after FROM must be specified again -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" +ARG DISTRO -MAINTAINER Harald Welte - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/Debian_9.0/" - -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 - -# we need to add this to invalidate the cache once the repository is updated. -# unfortunately Dockerfiles don't support a conditional ARG, so we need to add both DPKG + RPM -ADD $OSMOCOM_REPO/Release /tmp/Release -ADD $OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/CentOS_8/repodata/repomd.xml /tmp/repomd.xml RUN apt-get update && \ apt-get install -y --no-install-recommends \ - telnet \ libosmocore-dev \ libosmo-abis-dev \ libosmo-netif-dev \ diff --git a/osmo-hnbgw-master/Release.key b/osmo-hnbgw-master/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-hnbgw-master/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-mgw-master/Dockerfile b/osmo-mgw-master/Dockerfile index 02337ca..dea4951 100644 --- a/osmo-mgw-master/Dockerfile +++ b/osmo-mgw-master/Dockerfile @@ -1,34 +1,13 @@ ARG USER ARG DISTRO -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" FROM $USER/$DISTRO-build # Arguments used after FROM must be specified again ARG DISTRO -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" -MAINTAINER Harald Welte - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/Debian_9.0/" - -COPY Release.key /tmp/Release.key - -RUN case "$DISTRO" in \ - debian*) \ - apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list \ - ;; \ - esac - -# we need to add this to invalidate the cache once the repository is updated. -# unfortunately Dockerfiles don't support a conditional ARG, so we need to add both DPKG + RPM -ADD $OSMOCOM_REPO/Release /tmp/Release -ADD $OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/CentOS_8/repodata/repomd.xml /tmp/repomd.xml RUN case "$DISTRO" in \ debian*) \ apt-get update && \ apt-get install -y --no-install-recommends \ - telnet \ libosmocore-dev \ libosmo-abis-dev \ libosmo-netif-dev \ @@ -37,7 +16,6 @@ ;; \ centos*) \ dnf install -y \ - telnet \ "pkgconfig(libosmo-netif)" \ "pkgconfig(libosmocore)" \ "pkgconfig(libosmoctrl)" \ diff --git a/osmo-mgw-master/Release.key b/osmo-mgw-master/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-mgw-master/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-msc-master/Dockerfile b/osmo-msc-master/Dockerfile index 7f9e6f5..1ad4684 100644 --- a/osmo-msc-master/Dockerfile +++ b/osmo-msc-master/Dockerfile @@ -1,29 +1,9 @@ ARG USER ARG DISTRO -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" FROM $USER/$DISTRO-build # Arguments used after FROM must be specified again ARG DISTRO -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" -MAINTAINER Harald Welte - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/Debian_9.0/" - -COPY Release.key /tmp/Release.key - -RUN case "$DISTRO" in \ - debian*) \ - apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list \ - ;; \ - esac - -# we need to add this to invalidate the cache once the repository is updated. -# unfortunately Dockerfiles don't support a conditional ARG, so we need to add both DPKG + RPM -ADD $OSMOCOM_REPO/Release /tmp/Release -ADD $OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/CentOS_8/repodata/repomd.xml /tmp/repomd.xml RUN case "$DISTRO" in \ debian*) \ apt-get update && \ @@ -39,13 +19,11 @@ libosmo-sccp-dev \ libosmo-sigtran-dev \ libosmocore-dev \ - libsmpp34-dev \ - telnet && \ + libsmpp34-dev && \ apt-get clean \ ;; \ centos*) \ dnf install -y \ - telnet \ "pkgconfig(libasn1c)" \ "pkgconfig(libosmo-gsup-client)" \ "pkgconfig(libosmo-mgcp-client)" \ diff --git a/osmo-msc-master/Release.key b/osmo-msc-master/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-msc-master/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-nitb-master/Dockerfile b/osmo-nitb-master/Dockerfile index c0d3405..43a8d22 100644 --- a/osmo-nitb-master/Dockerfile +++ b/osmo-nitb-master/Dockerfile @@ -1,28 +1,11 @@ ARG USER ARG DISTRO -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" FROM $USER/$DISTRO-build # Arguments used after FROM must be specified again ARG DISTRO -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" -MAINTAINER Harald Welte - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/Debian_9.0/" - -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 - -# we need to add this to invalidate the cache once the repository is updated. -# unfortunately Dockerfiles don't support a conditional ARG, so we need to add both DPKG + RPM -ADD $OSMOCOM_REPO/Release /tmp/Release -ADD $OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/CentOS_8/repodata/repomd.xml /tmp/repomd.xml RUN apt-get update && \ apt-get install -y --no-install-recommends \ - telnet \ libosmocore-dev \ libosmo-abis-dev \ libosmo-netif-dev \ diff --git a/osmo-nitb-master/Release.key b/osmo-nitb-master/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-nitb-master/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-pcu-master/Dockerfile b/osmo-pcu-master/Dockerfile index 0d07522..f8e6ded 100644 --- a/osmo-pcu-master/Dockerfile +++ b/osmo-pcu-master/Dockerfile @@ -1,40 +1,18 @@ ARG USER ARG DISTRO -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" FROM $USER/$DISTRO-build # Arguments used after FROM must be specified again ARG DISTRO -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" -MAINTAINER Harald Welte - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/Debian_9.0/" - -COPY Release.key /tmp/Release.key - -RUN case "$DISTRO" in \ - debian*) \ - apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list \ - ;; \ - esac - -# we need to add this to invalidate the cache once the repository is updated. -# unfortunately Dockerfiles don't support a conditional ARG, so we need to add both DPKG + RPM -ADD $OSMOCOM_REPO/Release /tmp/Release -ADD $OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/CentOS_8/repodata/repomd.xml /tmp/repomd.xml RUN case "$DISTRO" in \ debian*) \ apt-get update && \ apt-get install -y --no-install-recommends \ - telnet \ libosmocore-dev && \ apt-get clean \ ;; \ centos*) \ dnf install -y \ - telnet \ "pkgconfig(libosmocore)" \ "pkgconfig(libosmogb)" \ "pkgconfig(libosmogsm)" \ diff --git a/osmo-pcu-master/Release.key b/osmo-pcu-master/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-pcu-master/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-remsim-master/Dockerfile b/osmo-remsim-master/Dockerfile index 4542537..6ebc40d 100644 --- a/osmo-remsim-master/Dockerfile +++ b/osmo-remsim-master/Dockerfile @@ -1,12 +1,8 @@ ARG USER ARG DISTRO -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" FROM $USER/$DISTRO-build # Arguments used after FROM must be specified again ARG DISTRO -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" - -MAINTAINER Harald Welte # PC/SC required for testing of bankd (with vpcd) # autoconf, automake, libtool, pkg-config, m4, help2man required for virtualsmartcard @@ -32,28 +28,10 @@ RUN git clone https://github.com/frankmorgner/vsmartcard.git RUN cd vsmartcard/virtualsmartcard && autoreconf -fi && ./configure && make "-j$(nproc)" install - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/Debian_9.0/" - -COPY Release.key /tmp/Release.key - -RUN case "$DISTRO" in \ - debian*) \ - apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list \ - ;; \ - esac - -# we need to add this to invalidate the cache once the repository is updated. -# unfortunately Dockerfiles don't support a conditional ARG, so we need to add both DPKG + RPM -ADD $OSMOCOM_REPO/Release /tmp/Release -ADD $OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/CentOS_8/repodata/repomd.xml /tmp/repomd.xml RUN case "$DISTRO" in \ debian*) \ apt-get update && \ apt-get install -y --no-install-recommends \ - telnet \ libosmocore-dev \ libosmo-simtrace2-dev \ libosmo-abis-dev \ @@ -67,7 +45,6 @@ ;; \ centos*) \ dnf install -y \ - telnet \ "pkgconfig(libasn1c)" \ "pkgconfig(libosmoabis)" \ "pkgconfig(libosmocore)" \ diff --git a/osmo-remsim-master/Release.key b/osmo-remsim-master/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-remsim-master/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-sgsn-master/Dockerfile b/osmo-sgsn-master/Dockerfile index fb25f84..55d9695 100644 --- a/osmo-sgsn-master/Dockerfile +++ b/osmo-sgsn-master/Dockerfile @@ -1,34 +1,13 @@ ARG USER ARG DISTRO -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" FROM $USER/$DISTRO-build # Arguments used after FROM must be specified again ARG DISTRO -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" -MAINTAINER Harald Welte - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/Debian_9.0/" - -COPY Release.key /tmp/Release.key - -RUN case "$DISTRO" in \ - debian*) \ - apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list \ - ;; \ - esac - -# we need to add this to invalidate the cache once the repository is updated. -# unfortunately Dockerfiles don't support a conditional ARG, so we need to add both DPKG + RPM -ADD $OSMOCOM_REPO/Release /tmp/Release -ADD $OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/CentOS_8/repodata/repomd.xml /tmp/repomd.xml RUN case "$DISTRO" in \ debian*) \ apt-get update && \ apt-get install -y --no-install-recommends \ - telnet \ libosmocore-dev \ libosmo-abis-dev \ libosmo-gsup-client-dev \ @@ -43,7 +22,6 @@ ;; \ centos*) \ dnf install -y \ - telnet \ "pkgconfig(libasn1c)" \ "pkgconfig(libcrypto)" \ "pkgconfig(libgtp)" \ diff --git a/osmo-sgsn-master/Release.key b/osmo-sgsn-master/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-sgsn-master/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-sip-master/Dockerfile b/osmo-sip-master/Dockerfile index 064432e..3261a55 100644 --- a/osmo-sip-master/Dockerfile +++ b/osmo-sip-master/Dockerfile @@ -1,29 +1,9 @@ ARG USER ARG DISTRO -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" FROM $USER/$DISTRO-build # Arguments used after FROM must be specified again ARG DISTRO -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" -MAINTAINER Harald Welte - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/Debian_9.0/" - -COPY Release.key /tmp/Release.key - -RUN case "$DISTRO" in \ - debian*) \ - apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list \ - ;; \ - esac - -# we need to add this to invalidate the cache once the repository is updated. -# unfortunately Dockerfiles don't support a conditional ARG, so we need to add both DPKG + RPM -ADD $OSMOCOM_REPO/Release /tmp/Release -ADD $OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/CentOS_8/repodata/repomd.xml /tmp/repomd.xml RUN case "$DISTRO" in \ debian*) \ apt-get update && \ @@ -38,7 +18,6 @@ "pkgconfig(libosmogsm)" \ "pkgconfig(libosmovty)" \ "pkgconfig(sofia-sip-ua-glib)" \ - telnet \ ;; \ esac diff --git a/osmo-sip-master/Release.key b/osmo-sip-master/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-sip-master/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-smlc-master/Dockerfile b/osmo-smlc-master/Dockerfile index 38cd41b..b814f7a 100644 --- a/osmo-smlc-master/Dockerfile +++ b/osmo-smlc-master/Dockerfile @@ -1,34 +1,13 @@ ARG USER ARG DISTRO -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" FROM $USER/$DISTRO-build # Arguments used after FROM must be specified again ARG DISTRO -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" -MAINTAINER Harald Welte - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/Debian_9.0/" - -COPY Release.key /tmp/Release.key - -RUN case "$DISTRO" in \ - debian*) \ - apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list \ - ;; \ - esac - -# we need to add this to invalidate the cache once the repository is updated. -# unfortunately Dockerfiles don't support a conditional ARG, so we need to add both DPKG + RPM -ADD $OSMOCOM_REPO/Release /tmp/Release -ADD $OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/CentOS_8/repodata/repomd.xml /tmp/repomd.xml RUN case "$DISTRO" in \ debian*) \ apt-get update && \ apt-get install -y --no-install-recommends \ - telnet \ libosmocore-dev \ libosmo-netif-dev \ libosmo-sccp-dev \ diff --git a/osmo-smlc-master/Release.key b/osmo-smlc-master/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-smlc-master/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-stp-master/Dockerfile b/osmo-stp-master/Dockerfile index 39363bc..7061e89 100644 --- a/osmo-stp-master/Dockerfile +++ b/osmo-stp-master/Dockerfile @@ -1,41 +1,19 @@ ARG USER ARG DISTRO -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" FROM $USER/$DISTRO-build # Arguments used after FROM must be specified again ARG DISTRO -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" -MAINTAINER Harald Welte - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/Debian_9.0/" - -COPY Release.key /tmp/Release.key - -RUN case "$DISTRO" in \ - debian*) \ - apt-key add /tmp/Release.key && \ - rm /tmp/Release.key && \ - echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list \ - ;; \ - esac - -# we need to add this to invalidate the cache once the repository is updated. -# unfortunately Dockerfiles don't support a conditional ARG, so we need to add both DPKG + RPM -ADD $OSMOCOM_REPO/Release /tmp/Release -ADD $OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/CentOS_8/repodata/repomd.xml /tmp/repomd.xml RUN case "$DISTRO" in \ debian*) \ apt-get update && \ apt-get install -y --no-install-recommends \ - telnet \ libosmocore-dev \ libosmo-netif-dev && \ apt-get clean \ ;; \ centos*) \ dnf install -y \ - telnet \ "pkgconfig(libosmo-netif)" \ "pkgconfig(libosmocore)" \ "pkgconfig(libosmogsm)" \ diff --git a/osmo-stp-master/Release.key b/osmo-stp-master/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-stp-master/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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/Dockerfile b/osmo-uecups-master/Dockerfile index fb86563..deaedc7 100644 --- a/osmo-uecups-master/Dockerfile +++ b/osmo-uecups-master/Dockerfile @@ -1,19 +1,9 @@ ARG USER -FROM $USER/debian-buster-build +ARG DISTRO +FROM $USER/$DISTRO-build # Arguments used after FROM must be specified again -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" +ARG DISTRO -MAINTAINER Harald Welte - -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/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 \ diff --git a/osmo-uecups-master/Release.key b/osmo-uecups-master/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-uecups-master/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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----- -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23238 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Id69f3eaf37f823bac0947366f27a25edd277a4cb Gerrit-Change-Number: 23238 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 8 08:33:29 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 8 Mar 2021 08:33:29 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3: add new ggsn-test-kernel-latest jobs In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23227 ) Change subject: jobs/ttcn3: add new ggsn-test-kernel-latest jobs ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23227 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I6918b953b64b0d81805fd02b1a8469a8db20f938 Gerrit-Change-Number: 23227 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 08 Mar 2021 08:33:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 8 08:33:36 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 8 Mar 2021 08:33:36 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3-testsuites-kernel-git: trigger manually In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23228 ) Change subject: jobs/ttcn3-testsuites-kernel-git: trigger manually ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23228 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I3a141372b0648a03b35b2b274949a001851f6ca6 Gerrit-Change-Number: 23228 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 08 Mar 2021 08: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 Mar 8 08:34:10 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 8 Mar 2021 08:34:10 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3-testsuites-kernel-git: add OSMOCOM_VERSION In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23229 ) Change subject: jobs/ttcn3-testsuites-kernel-git: add OSMOCOM_VERSION ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23229 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ifaf8ed6502b469ade670c3f436670480d27becd6 Gerrit-Change-Number: 23229 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 08 Mar 2021 08:34:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 8 08:34:15 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 8 Mar 2021 08:34:15 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3-testsuites-kernel-git: make userfriendly In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23230 ) Change subject: jobs/ttcn3-testsuites-kernel-git: make userfriendly ...................................................................... Patch Set 2: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23230 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I0968ae716c8e3f32db6f589b28d6066d95ad85ea Gerrit-Change-Number: 23230 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 08 Mar 2021 08:34:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 8 08:34:20 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 8 Mar 2021 08:34:20 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3-testsuites-kernel-git: remove wrong comment In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23231 ) Change subject: jobs/ttcn3-testsuites-kernel-git: remove wrong comment ...................................................................... Patch Set 2: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23231 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Idbcb7267ce38cbdc2df5631df404f908487f827b Gerrit-Change-Number: 23231 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 08 Mar 2021 08:34:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 8 08:34:26 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 8 Mar 2021 08:34:26 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3: add TTCN3-centos-*-latest In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23239 ) Change subject: jobs/ttcn3: add TTCN3-centos-*-latest ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23239 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I9a29fddc93789cd285d85445830cc26016af9768 Gerrit-Change-Number: 23239 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 08 Mar 2021 08:34:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 8 08:34:50 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 8 Mar 2021 08:34:50 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3: add new ggsn-test-kernel-latest jobs In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23227 ) Change subject: jobs/ttcn3: add new ggsn-test-kernel-latest jobs ...................................................................... jobs/ttcn3: add new ggsn-test-kernel-latest jobs Add new nightly jobs, as requested in OS#3208: - ttcn3-ggsn-test-kernel-latest-torvalds - ttcn3-ggsn-test-kernel-latest-net-next Note that they are in ttcn3-testsuites.yml and not testsuites-kernel-git.yml, because the KERNEL_URL etc. parameters are not configurable. These new jobs are supposed to run every night with the same hardcoded git repositories, the other job from testsuites-kernel-git.yml is for manual runs with a freely configurable kernel URL. Depends: docker-playground Iaef87c3418b8e6f1e427b2abd9d40e9e28dc63e9 Related: OS#3208 Change-Id: I6918b953b64b0d81805fd02b1a8469a8db20f938 --- M jobs/ttcn3-testsuites.yml 1 file changed, 36 insertions(+), 0 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved osmith: Verified diff --git a/jobs/ttcn3-testsuites.yml b/jobs/ttcn3-testsuites.yml index 53f18c2..e0ec179 100644 --- a/jobs/ttcn3-testsuites.yml +++ b/jobs/ttcn3-testsuites.yml @@ -40,6 +40,24 @@ timer: 20 04 * * * description: | Test osmo-ggsn latest with the Debian kernel. + - ttcn3-ggsn-test-kernel-latest-net-next: + blocking: "^(ttcn3|TTCN3-.*)-ggsn-test.*" + timer: 25 04 * * * + # Cache the linux source tree in the workspace of one node + node: ttcn3-ggsn-test-kernel-git + description: | + Test osmo-ggsn latest with the Linux kernel built from master of + + net-next.git. + - ttcn3-ggsn-test-kernel-latest-torvalds: + blocking: "^(ttcn3|TTCN3-.*)-ggsn-test.*" + timer: 30 04 * * * + # Cache the linux source tree in the workspace of one node + node: ttcn3-ggsn-test-kernel-git + description: | + Test osmo-ggsn latest with the Linux kernel built from master of + + torvalds/linux.git. - ttcn3-msc-test: blocking: "^(ttcn3|TTCN3-.*)-msc-test.*" timer: 40 04 * * * @@ -248,6 +266,24 @@ export IMAGE_SUFFIX="latest" export KERNEL_TEST=1 ;; + ttcn3-ggsn-test-kernel-latest-net-next) + DIR="ttcn3-ggsn-test" + export IMAGE_SUFFIX="latest" + export KERNEL_TEST=1 + export KERNEL_BUILD=1 + export KERNEL_URL="https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git" + export KERNEL_REMOTE_NAME="net-next" + export KERNEL_BRANCH="master" + ;; + ttcn3-ggsn-test-kernel-latest-torvalds) + DIR="ttcn3-ggsn-test" + export IMAGE_SUFFIX="latest" + export KERNEL_TEST=1 + export KERNEL_BUILD=1 + export KERNEL_URL="https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git" + export KERNEL_REMOTE_NAME="torvalds" + export KERNEL_BRANCH="master" + ;; TTCN3-centos-*-latest) DIR="$(echo "{job-name}" | sed s/^TTCN3-centos\-/ttcn3-/ | sed s/\-latest$//)" export IMAGE_SUFFIX="latest-centos8" -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23227 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I6918b953b64b0d81805fd02b1a8469a8db20f938 Gerrit-Change-Number: 23227 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 8 08:34:52 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 8 Mar 2021 08:34:52 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3-testsuites-kernel-git: trigger manually In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23228 ) Change subject: jobs/ttcn3-testsuites-kernel-git: trigger manually ...................................................................... jobs/ttcn3-testsuites-kernel-git: trigger manually Related: OS#3208 Change-Id: I3a141372b0648a03b35b2b274949a001851f6ca6 --- M jobs/ttcn3-testsuites-kernel-git.yml 1 file changed, 2 insertions(+), 4 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved osmith: Verified diff --git a/jobs/ttcn3-testsuites-kernel-git.yml b/jobs/ttcn3-testsuites-kernel-git.yml index 90cdae2..cfc36f2 100644 --- a/jobs/ttcn3-testsuites-kernel-git.yml +++ b/jobs/ttcn3-testsuites-kernel-git.yml @@ -1,11 +1,12 @@ # TTCN-3 testsuite jobs with parameters to build a kernel from source (OS#3208) +# In contrary to the kernel jobs in ttcn3-testsuites.yml, here the jobs are +# manually triggered and the kernel git repository is not hardcoded. --- - project: name: 'ttcn3-testsuites-kernel-git' concurrent: false disabled: false description: "" - timer: "@midnight" node: ttcn3 blocking: "^{job-name}.*" wipe_workspace: false @@ -15,7 +16,6 @@ job-name: - ttcn3-ggsn-test-kernel-git: blocking: "^(ttcn3|TTCN3-.*)-ggsn-test.*" - timer: 30 04 * * * # Cache the linux source tree in the workspace of one node node: ttcn3-ggsn-test-kernel-git description: | @@ -85,8 +85,6 @@ git-config-name: 'Jenkins Builder' git-config-email: 'jenkins at osmocom.org' wipe-workspace: "{obj:wipe_workspace}" - triggers: - - timed: "{obj:timer}" publishers: - junit: results: '**/junit-xml-*.log' -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23228 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I3a141372b0648a03b35b2b274949a001851f6ca6 Gerrit-Change-Number: 23228 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 8 08:34:53 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 8 Mar 2021 08:34:53 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3-testsuites-kernel-git: add OSMOCOM_VERSION In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23229 ) Change subject: jobs/ttcn3-testsuites-kernel-git: add OSMOCOM_VERSION ...................................................................... jobs/ttcn3-testsuites-kernel-git: add OSMOCOM_VERSION Let the user choose whether to run against osmo-ggsn latest or master. I chose the name "OSMOCOM_VERSION" for the variable to make this easier to use for people not familiar with the Osmocom stack / the test infrastructure, as suggested in the related issue. Related: OS#3208 Change-Id: Ifaf8ed6502b469ade670c3f436670480d27becd6 --- M jobs/ttcn3-testsuites-kernel-git.yml 1 file changed, 11 insertions(+), 1 deletion(-) Approvals: pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved osmith: Verified diff --git a/jobs/ttcn3-testsuites-kernel-git.yml b/jobs/ttcn3-testsuites-kernel-git.yml index cfc36f2..fa04cb9 100644 --- a/jobs/ttcn3-testsuites-kernel-git.yml +++ b/jobs/ttcn3-testsuites-kernel-git.yml @@ -55,6 +55,16 @@ KERNEL_URL and KERNEL_REMOTE_NAME before building the kernel. default: 'master' + - choice: + name: OSMOCOM_VERSION + choices: + - latest + - master + description: | + Version of the Osmocom stack to test against the kernel. Either + latest for the latest release version, or + master for HEAD of git.osmocom.org. + default: 'latest' builders: - shell: |- @@ -65,7 +75,7 @@ case "{job-name}" in ttcn3-ggsn-test-kernel-git) DIR="ttcn3-ggsn-test" - export IMAGE_SUFFIX="master" + export IMAGE_SUFFIX="$OSMOCOM_VERSION" export KERNEL_TEST=1 export KERNEL_BUILD=1 ;; -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23229 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ifaf8ed6502b469ade670c3f436670480d27becd6 Gerrit-Change-Number: 23229 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 8 08:34:53 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 8 Mar 2021 08:34:53 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3-testsuites-kernel-git: make userfriendly In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23230 ) Change subject: jobs/ttcn3-testsuites-kernel-git: make userfriendly ...................................................................... jobs/ttcn3-testsuites-kernel-git: make userfriendly Change the description of the job, to make it easier to use for somebody not familiar with the Osmocom stack / the testsuites. Move the BRANCH parameter to the bottom, as it is not relevant for kernel developers who want to test their kernel, and adjust the description. Related: OS#3208 Change-Id: I0968ae716c8e3f32db6f589b28d6066d95ad85ea --- M jobs/ttcn3-testsuites-kernel-git.yml 1 file changed, 14 insertions(+), 8 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved osmith: Verified diff --git a/jobs/ttcn3-testsuites-kernel-git.yml b/jobs/ttcn3-testsuites-kernel-git.yml index fa04cb9..ef5b5d6 100644 --- a/jobs/ttcn3-testsuites-kernel-git.yml +++ b/jobs/ttcn3-testsuites-kernel-git.yml @@ -19,8 +19,13 @@ # Cache the linux source tree in the workspace of one node node: ttcn3-ggsn-test-kernel-git description: | - Test osmo-ggsn master with a kernel built from source (see build - parameters, by default: net-next.git from kernel.org). + Run the + + Osmocom Titan TTCN-3 testsuite against + + OsmoGGSN with the GTP kernel module. The kernel is built + from the git repository and branch provided as parameters when + starting this job. - job-template: name: '{job-name}' @@ -31,12 +36,6 @@ node: '{obj:node}' parameters: - string: - name: BRANCH - description: | - Branch of docker-playground.git. - Only modify if you are hacking on the docker-playground scripts. - default: '*/master' - - string: name: KERNEL_URL description: | Remote URL of git repository, from which the kernel will be @@ -65,6 +64,13 @@ latest for the latest release version, or master for HEAD of git.osmocom.org. default: 'latest' + - string: + name: BRANCH + description: | + Branch of docker-playground.git + (for development of the test infrastructure, don't change this + when testing kernel trees). + default: '*/master' builders: - shell: |- -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23230 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I0968ae716c8e3f32db6f589b28d6066d95ad85ea Gerrit-Change-Number: 23230 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 8 08:34:54 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 8 Mar 2021 08:34:54 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3-testsuites-kernel-git: remove wrong comment In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23231 ) Change subject: jobs/ttcn3-testsuites-kernel-git: remove wrong comment ...................................................................... jobs/ttcn3-testsuites-kernel-git: remove wrong comment Here, the job names are not the same as the directory names of docker-playground.git Related: OS#3208 Change-Id: Idbcb7267ce38cbdc2df5631df404f908487f827b --- M jobs/ttcn3-testsuites-kernel-git.yml 1 file changed, 0 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve osmith: Verified diff --git a/jobs/ttcn3-testsuites-kernel-git.yml b/jobs/ttcn3-testsuites-kernel-git.yml index ef5b5d6..0d1e6cf 100644 --- a/jobs/ttcn3-testsuites-kernel-git.yml +++ b/jobs/ttcn3-testsuites-kernel-git.yml @@ -12,7 +12,6 @@ wipe_workspace: false jobs: - "{job-name}" - # Folders from docker-playground.git job-name: - ttcn3-ggsn-test-kernel-git: blocking: "^(ttcn3|TTCN3-.*)-ggsn-test.*" -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23231 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Idbcb7267ce38cbdc2df5631df404f908487f827b Gerrit-Change-Number: 23231 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 8 08:34:55 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 8 Mar 2021 08:34:55 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3: add TTCN3-centos-*-latest In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23239 ) Change subject: jobs/ttcn3: add TTCN3-centos-*-latest ...................................................................... jobs/ttcn3: add TTCN3-centos-*-latest Depends: docker-playground I274b31d4903df07e99fd434af25bdb72991f6923 Related: OS#5049 Change-Id: I9a29fddc93789cd285d85445830cc26016af9768 --- M jobs/ttcn3-testsuites.yml 1 file changed, 54 insertions(+), 6 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved osmith: Verified diff --git a/jobs/ttcn3-testsuites.yml b/jobs/ttcn3-testsuites.yml index e0ec179..393c552 100644 --- a/jobs/ttcn3-testsuites.yml +++ b/jobs/ttcn3-testsuites.yml @@ -220,12 +220,6 @@ - TTCN3-centos-stp-test: blocking: "^(ttcn3|TTCN3-.*)-stp-test.*" timer: 30 09 * * * - #- TTCN3-sccp-test-latest: - # blocking: "^(ttcn3|TTCN3-.*)-sccp-test.*" - # timer: 00 10 * * * - - TTCN3-centos-smlc-test-latest: - blocking: "^(ttcn3|TTCN3-.*)-smlc-test.*" - timer: 10 10 * * * - TTCN3-centos-gbproxy-test: blocking: "^(ttcn3|TTCN3-.*)-gbproxy-test.*" timer: 20 10 * * * @@ -233,6 +227,60 @@ blocking: "^(ttcn3|TTCN3-.*)-cbc-test.*" timer: 40 10 * * * + # centos8 latest stable + - TTCN3-centos-ggsn-test-latest: + blocking: "^(ttcn3|TTCN3-.*)-ggsn-test.*" + timer: 00 04 * * * + - TTCN3-centos-msc-test-latest: + blocking: "^(ttcn3|TTCN3-.*)-msc-test.*" + timer: 30 04 * * * + - TTCN3-centos-pcu-test-latest: + blocking: "^(ttcn3|TTCN3-.*)-pcu-test.*" + timer: 00 05 * * * + - TTCN3-centos-pcu-test-sns-latest: + blocking: "^(ttcn3|TTCN3-.*)-pcu-test.*" + timer: 15 05 * * * + - TTCN3-centos-sgsn-test-latest: + blocking: "^(ttcn3|TTCN3-.*)-sgsn-test.*" + timer: 30 05 * * * + - TTCN3-centos-bsc-test-latest: + blocking: "^(ttcn3|TTCN3-.*)-bsc-test.*" + timer: 00 06 * * * + - TTCN3-centos-mgw-test-latest: + blocking: "^(ttcn3|TTCN3-.*)-mgw-test.*" + timer: 30 06 * * * + - TTCN3-centos-hlr-test-latest: + blocking: "^(ttcn3|TTCN3-.*)-hlr-test.*" + timer: 45 06 * * * + - TTCN3-centos-bts-test-latest: + blocking: "^(ttcn3|TTCN3-.*)-bts-test.*" + timer: 00 07 * * * + - TTCN3-centos-sip-test-latest: + blocking: "^(ttcn3|TTCN3-.*)-sip-test.*" + timer: 30 07 * * * + - TTCN3-centos-bsc-test-sccplite-latest: + blocking: "^(ttcn3|TTCN3-.*)-bsc-test.*" + timer: 30 08 * * * + # No osmo-remsim packages for centos8 + #- TTCN3-centos-remsim-test-latest: + # blocking: "^(ttcn3|TTCN3-.*)-remsim-test.*" + # timer: 00 09 * * * + - TTCN3-centos-stp-test-latest: + blocking: "^(ttcn3|TTCN3-.*)-stp-test.*" + timer: 30 09 * * * + - TTCN3-centos-smlc-test-latest: + blocking: "^(ttcn3|TTCN3-.*)-smlc-test.*" + timer: 10 10 * * * + #- TTCN3-centos-sccp-test-latest: + # blocking: "^(ttcn3|TTCN3-.*)-sccp-test.*" + # timer: 00 10 * * * + - TTCN3-centos-gbproxy-test-latest: + blocking: "^(ttcn3|TTCN3-.*)-gbproxy-test.*" + timer: 20 10 * * * + - TTCN3-centos-cbc-test-latest: + blocking: "^(ttcn3|TTCN3-.*)-cbc-test.*" + timer: 40 10 * * * + - job-template: name: '{job-name}' -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23239 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I9a29fddc93789cd285d85445830cc26016af9768 Gerrit-Change-Number: 23239 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 8 09:17:45 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 8 Mar 2021 09:17:45 +0000 Subject: Change in pysim[master]: ts_51_011: fix bitmask compositing in EF_xPLMNwAcT.enc_act() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23264 ) Change subject: ts_51_011: fix bitmask compositing in EF_xPLMNwAcT.enc_act() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23264 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Iceb66160cfb571db8879d3810c55d252c763d320 Gerrit-Change-Number: 23264 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 08 Mar 2021 09: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 Mon Mar 8 09:17:48 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 8 Mar 2021 09:17:48 +0000 Subject: Change in pysim[master]: ts_51_011: fix bitmask compositing in EF_xPLMNwAcT.enc_act() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/23264 ) Change subject: ts_51_011: fix bitmask compositing in EF_xPLMNwAcT.enc_act() ...................................................................... ts_51_011: fix bitmask compositing in EF_xPLMNwAcT.enc_act() This commit fixes two problems (found by semgrep): * "'foo' and 'bar' in list" is incorrect, because it's interpreted as "'foo' and ('bar' in list)". Strings with a non-zero length evaluate to True, thus it's True if at least 'bar' is present. * Copy-pasted 'E-UTRAN NB-S1' checked two times. The first condition is redundant, and the whole block can be re-implemented using two independent 'if' statements. Change-Id: Iceb66160cfb571db8879d3810c55d252c763d320 --- M pySim/ts_51_011.py 1 file changed, 4 insertions(+), 6 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 03d74ad..e4a26a3 100644 --- a/pySim/ts_51_011.py +++ b/pySim/ts_51_011.py @@ -527,12 +527,10 @@ if 'cdma2000 1xRTT' in in_list: u16 |= 0x0010 # E-UTRAN - if 'E-UTRAN WB-S1' and 'E-UTRAN NB-S1' in in_list: - u16 |= 0x7000 # WB-S1 and NB-S1 - elif 'E-UTRAN NB-S1' in in_list: - u16 |= 0x6000 # only WB-S1 - elif 'E-UTRAN NB-S1' in in_list: - u16 |= 0x5000 # only NB-S1 + if 'E-UTRAN WB-S1' in in_list: + u16 |= 0x6000 + if 'E-UTRAN NB-S1' in in_list: + u16 |= 0x5000 # GSM mess if 'GSM' in in_list and 'EC-GSM-IoT' in in_list: u16 |= 0x008C -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23264 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Iceb66160cfb571db8879d3810c55d252c763d320 Gerrit-Change-Number: 23264 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 Mon Mar 8 09:18:37 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 8 Mar 2021 09:18:37 +0000 Subject: Change in osmo-pcu[master]: pdch: Silently ignore DATA.ind with len=0 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23260 ) Change subject: pdch: Silently ignore DATA.ind with len=0 ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23260 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I17c28abf63b153448b533971ac5cf2e48daadea8 Gerrit-Change-Number: 23260 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 08 Mar 2021 09:18: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 Mon Mar 8 09:19:01 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 8 Mar 2021 09:19:01 +0000 Subject: Change in docker-playground[master]: ttcn3-pcu: Disable sending all DATA.ind on pcu -latest In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23262 ) Change subject: ttcn3-pcu: Disable sending all DATA.ind on pcu -latest ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23262 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Id265d08a31f6bc803c565c3ca465bc19f1088b92 Gerrit-Change-Number: 23262 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 08 Mar 2021 09:19: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 Mar 8 09:32:59 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 8 Mar 2021 09:32:59 +0000 Subject: Change in docker-playground[master]: ttcn3-pcu: Disable sending all DATA.ind on pcu -latest In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23262 ) Change subject: ttcn3-pcu: Disable sending all DATA.ind on pcu -latest ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23262 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Id265d08a31f6bc803c565c3ca465bc19f1088b92 Gerrit-Change-Number: 23262 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 08 Mar 2021 09:32:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 8 09:33:02 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 8 Mar 2021 09:33:02 +0000 Subject: Change in docker-playground[master]: ttcn3-pcu: Disable sending all DATA.ind on pcu -latest In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23262 ) Change subject: ttcn3-pcu: Disable sending all DATA.ind on pcu -latest ...................................................................... ttcn3-pcu: Disable sending all DATA.ind on pcu -latest Depends: osmo-ttcn3-hacks.git Change-Id Ib4f97a9bcfa68230945effeb6412218faa64ec78 Related: OS#5020 Change-Id: Id265d08a31f6bc803c565c3ca465bc19f1088b92 --- M ttcn3-pcu-test/PCU_Tests.cfg M ttcn3-pcu-test/jenkins.sh 2 files changed, 6 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Verified diff --git a/ttcn3-pcu-test/PCU_Tests.cfg b/ttcn3-pcu-test/PCU_Tests.cfg index 07d9c3a..9d2f36f 100644 --- a/ttcn3-pcu-test/PCU_Tests.cfg +++ b/ttcn3-pcu-test/PCU_Tests.cfg @@ -36,6 +36,7 @@ } } Osmocom_VTY_Functions.mp_prompt_prefix := "OsmoPCU"; +PCUIF_Components.mp_send_all_data_ind := true; [MAIN_CONTROLLER] diff --git a/ttcn3-pcu-test/jenkins.sh b/ttcn3-pcu-test/jenkins.sh index 11c77ad..c597e0e 100755 --- a/ttcn3-pcu-test/jenkins.sh +++ b/ttcn3-pcu-test/jenkins.sh @@ -16,6 +16,11 @@ mkdir $VOL_BASE_DIR/pcu-tester/unix cp PCU_Tests.cfg $VOL_BASE_DIR/pcu-tester/ +# Disable until osmo-pcu release > 0.9.0 +if [ "$IMAGE_SUFFIX" = "latest" ]; then + sed -i "s/^PCUIF_Components.mp_send_all_data_ind.*/PCUIF_Components.mp_send_all_data_ind := false;/" $VOL_BASE_DIR/pcu-tester/PCU_Tests.cfg +fi + mkdir $VOL_BASE_DIR/pcu mkdir $VOL_BASE_DIR/pcu/unix cp osmo-pcu.cfg $VOL_BASE_DIR/pcu/ -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23262 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Id265d08a31f6bc803c565c3ca465bc19f1088b92 Gerrit-Change-Number: 23262 Gerrit-PatchSet: 2 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 Mon Mar 8 09:40:15 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 8 Mar 2021 09:40:15 +0000 Subject: Change in osmo-pcu[master]: pdch: Silently ignore DATA.ind with len=0 In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/23260 to look at the new patch set (#2). Change subject: pdch: Silently ignore DATA.ind with len=0 ...................................................................... pdch: Silently ignore DATA.ind with len=0 Since recently (see Depends below), BTS side submits DATA.ind with len=0 to announce nothing was received on that UL block FN. This will allow osmo-pcu track time more accurately, and use this information to quickly find out if a UL block was expected as requested by RRBP or USF poll and increment counters such as N3101 (finally being able to properly implement timers such as T3619). Depends: osmo-bts.git Change-Id I343c7a721dab72411edbca816c8864926bc329fb Related: OS#5020 Change-Id: I17c28abf63b153448b533971ac5cf2e48daadea8 --- M src/pdch.cpp 1 file changed, 9 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/60/23260/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23260 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I17c28abf63b153448b533971ac5cf2e48daadea8 Gerrit-Change-Number: 23260 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 8 09:50:02 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 8 Mar 2021 09:50:02 +0000 Subject: Change in osmo-bsc[master]: stats: add BTS uptime counter In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23234 ) Change subject: stats: add BTS uptime counter ...................................................................... Patch Set 2: (1 comment) This looks better now. Let's see what other have to say about the functionality. https://gerrit.osmocom.org/c/osmo-bsc/+/23234/2/src/osmo-bsc/bts.c File src/osmo-bsc/bts.c: https://gerrit.osmocom.org/c/osmo-bsc/+/23234/2/src/osmo-bsc/bts.c at 594 PS2, Line 594: if (clock_gettime(CLOCK_MONOTONIC, &tp) != 0) { use osmo_clock_gettime() -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23234 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib17674bbe95e828cebff12de9e0b30f06447ef6c Gerrit-Change-Number: 23234 Gerrit-PatchSet: 2 Gerrit-Owner: iedemam Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 08 Mar 2021 09:50:02 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 8 09:53:52 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 8 Mar 2021 09:53:52 +0000 Subject: Change in osmo-bsc[master]: stats: add BTS uptime counter In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23234 ) Change subject: stats: add BTS uptime counter ...................................................................... Patch Set 2: BTW, I'd say uptime belongs more to the "stats" system rather than "rate_ctr"? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23234 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib17674bbe95e828cebff12de9e0b30f06447ef6c Gerrit-Change-Number: 23234 Gerrit-PatchSet: 2 Gerrit-Owner: iedemam Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 08 Mar 2021 09:53: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 Mar 8 09:55:07 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 8 Mar 2021 09:55:07 +0000 Subject: Change in osmo-bsc[master]: stats: add BTS uptime counter In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23234 ) Change subject: stats: add BTS uptime counter ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/23234/2/src/osmo-bsc/bts.c File src/osmo-bsc/bts.c: https://gerrit.osmocom.org/c/osmo-bsc/+/23234/2/src/osmo-bsc/bts.c at 608 PS2, Line 608: rate_ctr_add(&bts->bts_ctrs->ctr[BTS_CTR_UPTIME_SEC], elapsed_seconds); how is this rate_ctr set to 0 somehow whenever the BTS reconnects? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23234 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib17674bbe95e828cebff12de9e0b30f06447ef6c Gerrit-Change-Number: 23234 Gerrit-PatchSet: 2 Gerrit-Owner: iedemam Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 08 Mar 2021 09:55: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 Mon Mar 8 10:06:47 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 8 Mar 2021 10:06:47 +0000 Subject: Change in osmo-pcu[master]: pdch: Silently ignore DATA.ind with len=0 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23260 ) Change subject: pdch: Silently ignore DATA.ind with len=0 ...................................................................... Patch Set 2: Code-Review+2 Readding +2 after adding requested word to comment. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23260 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I17c28abf63b153448b533971ac5cf2e48daadea8 Gerrit-Change-Number: 23260 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 08 Mar 2021 10:06:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 8 10:06:49 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 8 Mar 2021 10:06:49 +0000 Subject: Change in osmo-pcu[master]: pdch: Silently ignore DATA.ind with len=0 In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23260 ) Change subject: pdch: Silently ignore DATA.ind with len=0 ...................................................................... pdch: Silently ignore DATA.ind with len=0 Since recently (see Depends below), BTS side submits DATA.ind with len=0 to announce nothing was received on that UL block FN. This will allow osmo-pcu track time more accurately, and use this information to quickly find out if a UL block was expected as requested by RRBP or USF poll and increment counters such as N3101 (finally being able to properly implement timers such as T3619). Depends: osmo-bts.git Change-Id I343c7a721dab72411edbca816c8864926bc329fb Related: OS#5020 Change-Id: I17c28abf63b153448b533971ac5cf2e48daadea8 --- M src/pdch.cpp 1 file changed, 9 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/pdch.cpp b/src/pdch.cpp index 46d1cae..26fd6a9 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -794,6 +794,15 @@ int gprs_rlcmac_pdch::rcv_block(uint8_t *data, uint8_t len, uint32_t fn, struct pcu_l1_meas *meas) { + /* No successfully decoded UL block was received during this FN: */ + if (len == 0) { + /* TODO: Here, in the future, it can be checked whether a UL block was expected for: + * - UL/DL TBFs: RRBP poll pending (bts->pollController->expireTimedout) + * - UL TBFs: USF poll pending (we don't store this info in ul_tbf yet) -> inc N3101 (OS#5033) + */ + return 0; + } + enum CodingScheme cs = mcs_get_by_size_ul(len); if (!cs) { bts_do_rate_ctr_inc(bts(), CTR_DECODE_ERRORS); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23260 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I17c28abf63b153448b533971ac5cf2e48daadea8 Gerrit-Change-Number: 23260 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 8 10:20:44 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 8 Mar 2021 10:20:44 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: transmit PCUIF DATA.ind with len=0 when no UL data to transmit In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23256 ) Change subject: pcu: transmit PCUIF DATA.ind with len=0 when no UL data to transmit ...................................................................... Patch Set 2: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23256 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib4f97a9bcfa68230945effeb6412218faa64ec78 Gerrit-Change-Number: 23256 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 08 Mar 2021 10:20:44 +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 Mar 8 10:21:24 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 8 Mar 2021 10:21:24 +0000 Subject: Change in osmo-bts[master]: l1sap: Transmit pdtch invalid MAC blocks to PCU In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/23249 ) Change subject: l1sap: Transmit pdtch invalid MAC blocks to PCU ...................................................................... Patch Set 4: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/23249 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0b04b013b7bad5ff53d6a969ff0128b37f7f62d5 Gerrit-Change-Number: 23249 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Mon, 08 Mar 2021 10:21:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 8 10:21:58 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 8 Mar 2021 10:21:58 +0000 Subject: Change in osmo-bts[master]: bts-trx: Always submit rx PDTCH DATA.ind to l1sap In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/23257 ) Change subject: bts-trx: Always submit rx PDTCH DATA.ind to l1sap ...................................................................... Patch Set 3: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/23257 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I343c7a721dab72411edbca816c8864926bc329fb Gerrit-Change-Number: 23257 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Mon, 08 Mar 2021 10:21: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 Mar 8 10:22:34 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 8 Mar 2021 10:22:34 +0000 Subject: Change in osmo-pcu[master]: Track TDMA clock with DATA.ind instead of TIME.ind In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23261 ) Change subject: Track TDMA clock with DATA.ind instead of TIME.ind ...................................................................... Patch Set 2: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23261 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibc495173119465e74f726ddc36e312334e6dc0fd Gerrit-Change-Number: 23261 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 08 Mar 2021 10:22: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 Mar 8 10:23:31 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 8 Mar 2021 10:23:31 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: transmit PCUIF DATA.ind with len=0 when no UL data to transmit In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23256 ) Change subject: pcu: transmit PCUIF DATA.ind with len=0 when no UL data to transmit ...................................................................... Patch Set 2: I merged the corresponding docker-playground.git patch thinking this was already merged but it was actualyl in the WIP section :/ Let's see if we can get it merged today so I don't need to revert the other one. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23256 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib4f97a9bcfa68230945effeb6412218faa64ec78 Gerrit-Change-Number: 23256 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 08 Mar 2021 10:23:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 8 10:50:33 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 8 Mar 2021 10:50:33 +0000 Subject: Change in osmo-gsm-tester[master]: osmo-sgsn: Fix template cfg to work with NS2 implementation References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23266 ) Change subject: osmo-sgsn: Fix template cfg to work with NS2 implementation ...................................................................... osmo-sgsn: Fix template cfg to work with NS2 implementation See following HOW-TO to update existing configs: https://osmocom.org/projects/libosmocore/wiki/Network_service_(NS) Change-Id: I391c977ca20ef185db6b1f17912608acaa13e87f --- M src/osmo_gsm_tester/templates/osmo-sgsn.cfg.tmpl 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/66/23266/1 diff --git a/src/osmo_gsm_tester/templates/osmo-sgsn.cfg.tmpl b/src/osmo_gsm_tester/templates/osmo-sgsn.cfg.tmpl index 729c917..5d8ba90 100644 --- a/src/osmo_gsm_tester/templates/osmo-sgsn.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/osmo-sgsn.cfg.tmpl @@ -38,9 +38,9 @@ timer tns-test 30 timer tns-alive 3 timer tns-alive-retries 10 - encapsulation udp local-ip ${sgsn.ip_address.addr} - encapsulation udp local-port 23000 - encapsulation framerelay-gre enabled 0 + bind udp local + listen ${sgsn.ip_address.addr} 23000 + accept-ipaccess ! bssgp ! -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23266 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I391c977ca20ef185db6b1f17912608acaa13e87f Gerrit-Change-Number: 23266 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 Mar 8 11:08:43 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 8 Mar 2021 11:08:43 +0000 Subject: Change in osmo-bts[master]: l1sap: Transmit pdtch invalid MAC blocks to PCU In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/23249 ) Change subject: l1sap: Transmit pdtch invalid MAC blocks to PCU ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/23249 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0b04b013b7bad5ff53d6a969ff0128b37f7f62d5 Gerrit-Change-Number: 23249 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 08 Mar 2021 11:08: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 Mar 8 11:08:46 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 8 Mar 2021 11:08:46 +0000 Subject: Change in osmo-gsm-tester[master]: Fix bts.ready_for_pcu() implementation for sysmo and oc2g References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23267 ) Change subject: Fix bts.ready_for_pcu() implementation for sysmo and oc2g ...................................................................... Fix bts.ready_for_pcu() implementation for sysmo and oc2g osmo-bts.git ae09c8acb4aa93284cdb44f8bbdc14533dc4fa52 modified code to avoid calling pcu_tx_info_ind() if pcu socket was not connected. Since osmo-gsm-tester relied on log message sent from within that funtion to find out whether BTS was able to handle PCUIF connections, that log line is not printed anymore and hence the function ready_for_pcu() fails to ever return true. As a result, gprs tests for sysmo and oc2g bts types always fail with a timeout. Other BTS types are not affected (such as osmo-bts-trx) because in there we simply check whether the osmo-bts process is running. Change-Id: Ibde4b8b27b8300b4b9197c0f8d82a6ccbf3b0522 --- M src/osmo_gsm_tester/obj/bts_oc2g.py M src/osmo_gsm_tester/obj/bts_sysmo.py 2 files changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/67/23267/1 diff --git a/src/osmo_gsm_tester/obj/bts_oc2g.py b/src/osmo_gsm_tester/obj/bts_oc2g.py index 7761ce3..9164827 100644 --- a/src/osmo_gsm_tester/obj/bts_oc2g.py +++ b/src/osmo_gsm_tester/obj/bts_oc2g.py @@ -88,7 +88,7 @@ def ready_for_pcu(self): if not self.proc_bts or not self.proc_bts.is_running: return False - return 'BTS is up' in (self.proc_bts.get_stdout() or '') + return 'Started listening on PCU socket' in (self.proc_bts.get_stdout() or '') def start(self, keepalive=False): if self.bsc is None: diff --git a/src/osmo_gsm_tester/obj/bts_sysmo.py b/src/osmo_gsm_tester/obj/bts_sysmo.py index 3f48f93..91a46be 100644 --- a/src/osmo_gsm_tester/obj/bts_sysmo.py +++ b/src/osmo_gsm_tester/obj/bts_sysmo.py @@ -88,7 +88,7 @@ def ready_for_pcu(self): if not self.proc_bts or not self.proc_bts.is_running: return False - return 'BTS is up' in (self.proc_bts.get_stdout() or '') + return 'Started listening on PCU socket' in (self.proc_bts.get_stdout() or '') def start(self, keepalive=False): if self.bsc is None: -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23267 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ibde4b8b27b8300b4b9197c0f8d82a6ccbf3b0522 Gerrit-Change-Number: 23267 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 Mar 8 11:09:46 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 8 Mar 2021 11:09:46 +0000 Subject: Change in osmo-gsm-tester[master]: osmo-sgsn: Fix template cfg to work with NS2 implementation In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23266 ) Change subject: osmo-sgsn: Fix template cfg to work with NS2 implementation ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23266 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I391c977ca20ef185db6b1f17912608acaa13e87f Gerrit-Change-Number: 23266 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 08 Mar 2021 11:09: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 Mar 8 11:09:51 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 8 Mar 2021 11:09:51 +0000 Subject: Change in osmo-gsm-tester[master]: Fix bts.ready_for_pcu() implementation for sysmo and oc2g In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23267 ) Change subject: Fix bts.ready_for_pcu() implementation for sysmo and oc2g ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23267 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ibde4b8b27b8300b4b9197c0f8d82a6ccbf3b0522 Gerrit-Change-Number: 23267 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Mon, 08 Mar 2021 11:09: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 Mar 8 11:10:04 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 8 Mar 2021 11:10:04 +0000 Subject: Change in osmo-bts[master]: bts-trx: Always submit rx PDTCH DATA.ind to l1sap In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/23257 ) Change subject: bts-trx: Always submit rx PDTCH DATA.ind to l1sap ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/23257 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I343c7a721dab72411edbca816c8864926bc329fb Gerrit-Change-Number: 23257 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 08 Mar 2021 11:10: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 Mar 8 11:15:40 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 8 Mar 2021 11:15:40 +0000 Subject: Change in osmo-gsm-tester[master]: osmo-sgsn: Fix template cfg to work with NS2 implementation In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23266 ) Change subject: osmo-sgsn: Fix template cfg to work with NS2 implementation ...................................................................... osmo-sgsn: Fix template cfg to work with NS2 implementation See following HOW-TO to update existing configs: https://osmocom.org/projects/libosmocore/wiki/Network_service_(NS) Change-Id: I391c977ca20ef185db6b1f17912608acaa13e87f --- M src/osmo_gsm_tester/templates/osmo-sgsn.cfg.tmpl 1 file changed, 3 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/osmo_gsm_tester/templates/osmo-sgsn.cfg.tmpl b/src/osmo_gsm_tester/templates/osmo-sgsn.cfg.tmpl index 729c917..5d8ba90 100644 --- a/src/osmo_gsm_tester/templates/osmo-sgsn.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/osmo-sgsn.cfg.tmpl @@ -38,9 +38,9 @@ timer tns-test 30 timer tns-alive 3 timer tns-alive-retries 10 - encapsulation udp local-ip ${sgsn.ip_address.addr} - encapsulation udp local-port 23000 - encapsulation framerelay-gre enabled 0 + bind udp local + listen ${sgsn.ip_address.addr} 23000 + accept-ipaccess ! bssgp ! -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23266 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I391c977ca20ef185db6b1f17912608acaa13e87f Gerrit-Change-Number: 23266 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 Mar 8 11:15:40 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 8 Mar 2021 11:15:40 +0000 Subject: Change in osmo-gsm-tester[master]: Fix bts.ready_for_pcu() implementation for sysmo and oc2g In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23267 ) Change subject: Fix bts.ready_for_pcu() implementation for sysmo and oc2g ...................................................................... Fix bts.ready_for_pcu() implementation for sysmo and oc2g osmo-bts.git ae09c8acb4aa93284cdb44f8bbdc14533dc4fa52 modified code to avoid calling pcu_tx_info_ind() if pcu socket was not connected. Since osmo-gsm-tester relied on log message sent from within that funtion to find out whether BTS was able to handle PCUIF connections, that log line is not printed anymore and hence the function ready_for_pcu() fails to ever return true. As a result, gprs tests for sysmo and oc2g bts types always fail with a timeout. Other BTS types are not affected (such as osmo-bts-trx) because in there we simply check whether the osmo-bts process is running. Change-Id: Ibde4b8b27b8300b4b9197c0f8d82a6ccbf3b0522 --- M src/osmo_gsm_tester/obj/bts_oc2g.py M src/osmo_gsm_tester/obj/bts_sysmo.py 2 files changed, 2 insertions(+), 2 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo_gsm_tester/obj/bts_oc2g.py b/src/osmo_gsm_tester/obj/bts_oc2g.py index 7761ce3..9164827 100644 --- a/src/osmo_gsm_tester/obj/bts_oc2g.py +++ b/src/osmo_gsm_tester/obj/bts_oc2g.py @@ -88,7 +88,7 @@ def ready_for_pcu(self): if not self.proc_bts or not self.proc_bts.is_running: return False - return 'BTS is up' in (self.proc_bts.get_stdout() or '') + return 'Started listening on PCU socket' in (self.proc_bts.get_stdout() or '') def start(self, keepalive=False): if self.bsc is None: diff --git a/src/osmo_gsm_tester/obj/bts_sysmo.py b/src/osmo_gsm_tester/obj/bts_sysmo.py index 3f48f93..91a46be 100644 --- a/src/osmo_gsm_tester/obj/bts_sysmo.py +++ b/src/osmo_gsm_tester/obj/bts_sysmo.py @@ -88,7 +88,7 @@ def ready_for_pcu(self): if not self.proc_bts or not self.proc_bts.is_running: return False - return 'BTS is up' in (self.proc_bts.get_stdout() or '') + return 'Started listening on PCU socket' in (self.proc_bts.get_stdout() or '') def start(self, keepalive=False): if self.bsc is None: -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23267 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ibde4b8b27b8300b4b9197c0f8d82a6ccbf3b0522 Gerrit-Change-Number: 23267 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 Mar 8 11:22:33 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 8 Mar 2021 11:22:33 +0000 Subject: Change in osmo-pcu[master]: Track TDMA clock with DATA.ind instead of TIME.ind In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23261 ) Change subject: Track TDMA clock with DATA.ind instead of TIME.ind ...................................................................... Patch Set 2: I think as of now the behavior stays mostly the same, since the pollController->expireTimedout() is still being used to trigger time outs, and in real world at most there will be extra delays to trigger the timeout due to some packets not arriving correctly due to bad signal. So nothing really critical imho. I would like to avoid increasing and hence mantaing different PCUIF versions if not really needed due to ABI incompatibility. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23261 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibc495173119465e74f726ddc36e312334e6dc0fd Gerrit-Change-Number: 23261 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 08 Mar 2021 11:22:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 8 11:26:06 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 8 Mar 2021 11:26:06 +0000 Subject: Change in osmo-bsc[master]: stats: add BTS uptime counter In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23234 ) Change subject: stats: add BTS uptime counter ...................................................................... Patch Set 2: What exactly are you trying to achieve here? what is uptime? * time the BTS has been configured in the BSC (you seem to be tracking that?) * time the BTS has been transmitting a valid signal (probably best to track in osmo-bts) * time the BTS process has been running (uptime of a process)? In any case, none of the above is a rate counter. Rate counters count the rate of events, such as the rate of BTS re-starts, the rate of channel allocations, etc. something like a stat_item might be better suited? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23234 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib17674bbe95e828cebff12de9e0b30f06447ef6c Gerrit-Change-Number: 23234 Gerrit-PatchSet: 2 Gerrit-Owner: iedemam Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 08 Mar 2021 11:26:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 8 11:27:59 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 8 Mar 2021 11:27:59 +0000 Subject: Change in osmo-pcu[master]: Track TDMA clock with DATA.ind instead of TIME.ind In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23261 ) Change subject: Track TDMA clock with DATA.ind instead of TIME.ind ...................................................................... Patch Set 2: shouldn't we have some kind of feature check before blindly assuming that we get DATA.ind at every clock? PCUIF version change? some feature flag? ... -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23261 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibc495173119465e74f726ddc36e312334e6dc0fd Gerrit-Change-Number: 23261 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 08 Mar 2021 11:27:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 8 11:28:35 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 8 Mar 2021 11:28:35 +0000 Subject: Change in osmo-bsc[master]: stats: add BTS uptime counter In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23234 ) Change subject: stats: add BTS uptime counter ...................................................................... Patch Set 2: IIUC it's the uptime of the link BTS<->BSC being up which is tracked here. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23234 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib17674bbe95e828cebff12de9e0b30f06447ef6c Gerrit-Change-Number: 23234 Gerrit-PatchSet: 2 Gerrit-Owner: iedemam Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 08 Mar 2021 11:28: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 Mon Mar 8 11:38:54 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 8 Mar 2021 11:38:54 +0000 Subject: Change in osmo-pcu[master]: Track TDMA clock with DATA.ind instead of TIME.ind In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23261 ) Change subject: Track TDMA clock with DATA.ind instead of TIME.ind ...................................................................... Patch Set 2: > Patch Set 2: > > shouldn't we have some kind of feature check before blindly assuming that we get DATA.ind at every clock? PCUIF version change? some feature flag? ... See my previous comment above. If you still think it's a better idea to bump PCUIF then I'll do it. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23261 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibc495173119465e74f726ddc36e312334e6dc0fd Gerrit-Change-Number: 23261 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 08 Mar 2021 11:38: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 Mon Mar 8 11:51:02 2021 From: gerrit-no-reply at lists.osmocom.org (iedemam) Date: Mon, 8 Mar 2021 11:51:02 +0000 Subject: Change in osmo-bsc[master]: stats: add BTS uptime counter In-Reply-To: References: Message-ID: iedemam has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23234 ) Change subject: stats: add BTS uptime counter ...................................................................... Patch Set 2: > What exactly are you trying to achieve here? what is uptime? I am considering uptime to mean the same as you've already defined it in the VTY output: the BSC and BTS have had a valid connection. But instead of delivering this information via the VTY, I want to export it via the statsd reporter. The ultimate goal is to be able to tell from the gathered statsd data: how many seconds of downtime did we experience in a given time interval. Counting downtime is also a possibility but OsmoBSC already contained the concept of uptime so I've used it. This patch samples the change in uptime every X seconds and adds it to the uptime counter. This only needs to happen once per statsd reporter interval so a callback from that action might be better...or simply a way to know the current statsd reporter interval. > In any case, none of the above is a rate counter. Rate counters count the rate of events, such as the rate of BTS re-starts, the rate of channel allocations, etc. > > something like a stat_item might be better suited? I don't know enough about the stats system I guess to make that call. I just want to store the number of seconds of uptime per interval. Just as we count "channel activations per interval" I thought this was the way to go. Is a stat_item a more logical fit? I'll gladly refactor to use it if so. Thanks, -Michael -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23234 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib17674bbe95e828cebff12de9e0b30f06447ef6c Gerrit-Change-Number: 23234 Gerrit-PatchSet: 2 Gerrit-Owner: iedemam Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 08 Mar 2021 11:51: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 Mar 8 12:12:13 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 8 Mar 2021 12:12:13 +0000 Subject: Change in osmo-pcu[master]: direct_phy: Support submitting DATA.ind with len=0 to upper layers References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23268 ) Change subject: direct_phy: Support submitting DATA.ind with len=0 to upper layers ...................................................................... direct_phy: Support submitting DATA.ind with len=0 to upper layers Since recently (see Depends below), BTS side submits DATA.ind with len=0 to announce nothing was received on that UL block FN. This will allow osmo-pcu track time more accurately, and use this information to quickly find out if a UL block was expected as requested by RRBP or USF poll and increment counters such as N3101 (finally being able to properly implement timers such as T3619). This patch does the same for direct phy feature, where the osmo-pcu process receives the DATA.ind directly from the DSP. Depends: osmo-bts.git Change-Id I343c7a721dab72411edbca816c8864926bc329fb Related: OS#5033 Change-Id: I9a835e16ef0e5a68c003a93d1a33233aa43464ae --- M src/osmo-bts-litecell15/lc15_l1_if.c M src/osmo-bts-oc2g/oc2g_l1_if.c M src/osmo-bts-sysmo/sysmo_l1_if.c 3 files changed, 43 insertions(+), 51 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/68/23268/1 diff --git a/src/osmo-bts-litecell15/lc15_l1_if.c b/src/osmo-bts-litecell15/lc15_l1_if.c index 8f64863..c87edaf 100644 --- a/src/osmo-bts-litecell15/lc15_l1_if.c +++ b/src/osmo-bts-litecell15/lc15_l1_if.c @@ -195,6 +195,8 @@ int rc = 0; struct gprs_rlcmac_bts *bts; struct pcu_l1_meas meas = {0}; + uint8_t *data; + uint8_t data_len; DEBUGP(DL1IF, "Rx PH-DATA.ind %s (hL2 %08x): %s\n", get_value_string(lc15bts_l1sapi_names, data_ind->sapi), @@ -202,14 +204,6 @@ osmo_hexdump(data_ind->msgUnitParam.u8Buffer, data_ind->msgUnitParam.u8Size)); - /* - * TODO: Add proper bad frame handling here. This could be used - * to switch the used CS. Avoid a crash with the PCU right now - * feed "0 - 1" amount of data. - */ - if (data_ind->msgUnitParam.u8Size == 0) - return -1; - bts = llist_first_entry_or_null(&the_pcu->bts_list, struct gprs_rlcmac_bts, list); get_meas(&meas, &data_ind->measParam); @@ -219,16 +213,19 @@ switch (data_ind->sapi) { case GsmL1_Sapi_Pdtch: case GsmL1_Sapi_Pacch: - /* drop incomplete UL block */ - if (data_ind->msgUnitParam.u8Buffer[0] - != GsmL1_PdtchPlType_Full) - break; /* PDTCH / PACCH frame handling */ - rc = pcu_rx_data_ind_pdtch(bts, fl1h->trx_no, data_ind->u8Tn, - data_ind->msgUnitParam.u8Buffer + 1, - data_ind->msgUnitParam.u8Size - 1, - data_ind->u32Fn, - &meas); + if (data_ind->msgUnitParam.u8Size != 0 && + data_ind->msgUnitParam.u8Buffer[0] != GsmL1_PdtchPlType_Full) { + data = data_ind->msgUnitParam.u8Buffer + 1; + data_len = data_ind->msgUnitParam.u8Size - 1; + if (data_len == 0) + data = NULL; + } else { + data = NULL; + data_len = 0; + } + pcu_rx_data_ind_pdtch(bts, fl1h->trx_no, data_ind->u8Tn, data, + data_len, data_ind->u32Fn, &meas); break; default: LOGP(DL1IF, LOGL_NOTICE, "Rx PH-DATA.ind for unknown L1 SAPI %s\n", diff --git a/src/osmo-bts-oc2g/oc2g_l1_if.c b/src/osmo-bts-oc2g/oc2g_l1_if.c index d81bc4f..5d2ce69 100644 --- a/src/osmo-bts-oc2g/oc2g_l1_if.c +++ b/src/osmo-bts-oc2g/oc2g_l1_if.c @@ -195,6 +195,8 @@ int rc = 0; struct gprs_rlcmac_bts *bts; struct pcu_l1_meas meas = {0}; + uint8_t *data; + uint8_t data_len; DEBUGP(DL1IF, "Rx PH-DATA.ind %s (hL2 %08x): %s\n", get_value_string(oc2gbts_l1sapi_names, data_ind->sapi), @@ -202,14 +204,6 @@ osmo_hexdump(data_ind->msgUnitParam.u8Buffer, data_ind->msgUnitParam.u8Size)); - /* - * TODO: Add proper bad frame handling here. This could be used - * to switch the used CS. Avoid a crash with the PCU right now - * feed "0 - 1" amount of data. - */ - if (data_ind->msgUnitParam.u8Size == 0) - return -1; - bts = llist_first_entry_or_null(&the_pcu->bts_list, struct gprs_rlcmac_bts, list); gsmtap_send(fl1h->gsmtap, data_ind->u16Arfcn | GSMTAP_ARFCN_F_UPLINK, @@ -224,16 +218,19 @@ switch (data_ind->sapi) { case GsmL1_Sapi_Pdtch: case GsmL1_Sapi_Pacch: - /* drop incomplete UL block */ - if (data_ind->msgUnitParam.u8Buffer[0] - != GsmL1_PdtchPlType_Full) - break; /* PDTCH / PACCH frame handling */ - pcu_rx_data_ind_pdtch(bts, fl1h->trx_no, data_ind->u8Tn, - data_ind->msgUnitParam.u8Buffer + 1, - data_ind->msgUnitParam.u8Size - 1, - data_ind->u32Fn, - &meas); + if (data_ind->msgUnitParam.u8Size != 0 && + data_ind->msgUnitParam.u8Buffer[0] != GsmL1_PdtchPlType_Full) { + data = data_ind->msgUnitParam.u8Buffer + 1; + data_len = data_ind->msgUnitParam.u8Size - 1; + if (data_len == 0) + data = NULL; + } else { + data = NULL; + data_len = 0; + } + pcu_rx_data_ind_pdtch(bts, fl1h->trx_no, data_ind->u8Tn, data, + data_len, data_ind->u32Fn, &meas); break; default: LOGP(DL1IF, LOGL_NOTICE, "Rx PH-DATA.ind for unknown L1 SAPI %s\n", diff --git a/src/osmo-bts-sysmo/sysmo_l1_if.c b/src/osmo-bts-sysmo/sysmo_l1_if.c index f9db0b8..4faccaa 100644 --- a/src/osmo-bts-sysmo/sysmo_l1_if.c +++ b/src/osmo-bts-sysmo/sysmo_l1_if.c @@ -177,6 +177,9 @@ int rc = 0; struct gprs_rlcmac_bts *bts; struct pcu_l1_meas meas = {0}; + uint8_t *data; + uint8_t data_len; + DEBUGP(DL1IF, "Rx PH-DATA.ind %s (hL2 %08x): %s\n", get_value_string(femtobts_l1sapi_names, data_ind->sapi), @@ -187,14 +190,6 @@ bts = llist_first_entry_or_null(&the_pcu->bts_list, struct gprs_rlcmac_bts, list); pcu_rx_block_time(bts, data_ind->u16Arfcn, data_ind->u32Fn, data_ind->u8Tn); - /* - * TODO: Add proper bad frame handling here. This could be used - * to switch the used CS. Avoid a crash with the PCU right now - * feed "0 - 1" amount of data. - */ - if (data_ind->msgUnitParam.u8Size == 0) - return -1; - get_meas(&meas, &data_ind->measParam); bts_update_tbf_ta(bts, "PH-DATA", data_ind->u32Fn, fl1h->trx_no, data_ind->u8Tn, sign_qta2ta(meas.bto), false); @@ -202,16 +197,19 @@ switch (data_ind->sapi) { case GsmL1_Sapi_Pdtch: case GsmL1_Sapi_Pacch: - /* drop incomplete UL block */ - if (data_ind->msgUnitParam.u8Buffer[0] - != GsmL1_PdtchPlType_Full) - break; /* PDTCH / PACCH frame handling */ - pcu_rx_data_ind_pdtch(bts, fl1h->trx_no, data_ind->u8Tn, - data_ind->msgUnitParam.u8Buffer + 1, - data_ind->msgUnitParam.u8Size - 1, - data_ind->u32Fn, - &meas); + if (data_ind->msgUnitParam.u8Size != 0 && + data_ind->msgUnitParam.u8Buffer[0] != GsmL1_PdtchPlType_Full) { + data = data_ind->msgUnitParam.u8Buffer + 1; + data_len = data_ind->msgUnitParam.u8Size - 1; + if (data_len == 0) + data = NULL; + } else { + data = NULL; + data_len = 0; + } + pcu_rx_data_ind_pdtch(bts, fl1h->trx_no, data_ind->u8Tn, data, + data_len, data_ind->u32Fn, &meas); break; default: LOGP(DL1IF, LOGL_NOTICE, "Rx PH-DATA.ind for unknown L1 SAPI %s\n", -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23268 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I9a835e16ef0e5a68c003a93d1a33233aa43464ae Gerrit-Change-Number: 23268 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 Mar 8 13:16:24 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 8 Mar 2021 13:16:24 +0000 Subject: Change in osmo-pcu[master]: Introduce init() APIs for PDCH and TRX objects References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23269 ) Change subject: Introduce init() APIs for PDCH and TRX objects ...................................................................... Introduce init() APIs for PDCH and TRX objects This will make it easier to keep object specific initializations in expected place. Change-Id: Idf1dbdf8bc0b1e16d86eeeffb1193fdf3a57d6ef --- M src/bts.cpp M src/bts.h M src/pdch.cpp M src/pdch.h 4 files changed, 23 insertions(+), 21 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/69/23269/1 diff --git a/src/bts.cpp b/src/bts.cpp index 55d45b8..1d3f690 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -271,18 +271,8 @@ INIT_LLIST_HEAD(&bts->dl_tbfs); /* initialize back pointers */ - for (size_t trx_no = 0; trx_no < ARRAY_SIZE(bts->trx); ++trx_no) { - struct gprs_rlcmac_trx *trx = &bts->trx[trx_no]; - trx->trx_no = trx_no; - trx->bts = bts; - - for (size_t ts_no = 0; ts_no < ARRAY_SIZE(trx->pdch); ++ts_no) { - struct gprs_rlcmac_pdch *pdch = &trx->pdch[ts_no]; - pdch->init_ptcch_msg(); - pdch->ts_no = ts_no; - pdch->trx = trx; - } - } + for (size_t trx_no = 0; trx_no < ARRAY_SIZE(bts->trx); ++trx_no) + bts_trx_init(&bts->trx[trx_no], bts, trx_no); /* The static allocator might have already registered the counter group. If this happens and we still called explicitly (in tests/ for example) @@ -1161,6 +1151,15 @@ } } +void bts_trx_init(struct gprs_rlcmac_trx *trx, struct gprs_rlcmac_bts *bts, uint8_t trx_no) +{ + trx->trx_no = trx_no; + trx->bts = bts; + + for (size_t ts_no = 0; ts_no < ARRAY_SIZE(trx->pdch); ts_no++) + pdch_init(&trx->pdch[ts_no], trx, ts_no); +} + void bts_trx_reserve_slots(struct gprs_rlcmac_trx *trx, enum gprs_rlcmac_tbf_direction dir, uint8_t slots) { diff --git a/src/bts.h b/src/bts.h index 15a72bd..3ddf501 100644 --- a/src/bts.h +++ b/src/bts.h @@ -65,6 +65,7 @@ #ifdef __cplusplus extern "C" { #endif +void bts_trx_init(struct gprs_rlcmac_trx *trx, struct gprs_rlcmac_bts *bts, uint8_t trx_no); void bts_trx_reserve_slots(struct gprs_rlcmac_trx *trx, enum gprs_rlcmac_tbf_direction dir, uint8_t slots); void bts_trx_unreserve_slots(struct gprs_rlcmac_trx *trx, enum gprs_rlcmac_tbf_direction dir, uint8_t slots); void bts_trx_free_all_tbf(struct gprs_rlcmac_trx *trx); diff --git a/src/pdch.cpp b/src/pdch.cpp index 8a4a1d1..466eaa5 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -131,6 +131,16 @@ } } +void pdch_init(struct gprs_rlcmac_pdch *pdch, struct gprs_rlcmac_trx *trx, uint8_t ts_nr) +{ + pdch->ts_no = ts_nr; + pdch->trx = trx; + + /* Initialize the PTCCH/D message (Packet Timing Advance Control Channel) */ + memset(pdch->ptcch_msg, PTCCH_TAI_FREE, PTCCH_TAI_NUM); + memset(pdch->ptcch_msg + PTCCH_TAI_NUM, PTCCH_PADDING, 7); +} + void gprs_rlcmac_pdch::enable() { /* TODO: Check if there are still allocated resources.. */ @@ -1039,13 +1049,6 @@ return trx->trx_no; } -/* PTCCH (Packet Timing Advance Control Channel) */ -void gprs_rlcmac_pdch::init_ptcch_msg(void) -{ - memset(ptcch_msg, PTCCH_TAI_FREE, PTCCH_TAI_NUM); - memset(ptcch_msg + PTCCH_TAI_NUM, PTCCH_PADDING, 7); -} - uint8_t gprs_rlcmac_pdch::reserve_tai(uint8_t ta) { uint8_t tai; diff --git a/src/pdch.h b/src/pdch.h index fde183e..c83fe39 100644 --- a/src/pdch.h +++ b/src/pdch.h @@ -105,8 +105,6 @@ /* PTCCH (Packet Timing Advance Control Channel) */ uint8_t ptcch_msg[GSM_MACBLOCK_LEN]; /* 'ready to use' PTCCH/D message */ #ifdef __cplusplus - /* Initialize the PTCCH/D message */ - void init_ptcch_msg(void); /* Obtain an unused TA Index for a TBF */ uint8_t reserve_tai(uint8_t ta); /* Mark a given TA Index as free, so it can be used again */ @@ -190,6 +188,7 @@ #ifdef __cplusplus extern "C" { #endif +void pdch_init(struct gprs_rlcmac_pdch *pdch, struct gprs_rlcmac_trx *trx, uint8_t ts_nr); void pdch_free_all_tbf(struct gprs_rlcmac_pdch *pdch); void pdch_disable(struct gprs_rlcmac_pdch *pdch); #ifdef __cplusplus -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23269 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Idf1dbdf8bc0b1e16d86eeeffb1193fdf3a57d6ef Gerrit-Change-Number: 23269 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 Mar 8 14:04:20 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 8 Mar 2021 14:04:20 +0000 Subject: Change in osmo-ci[master]: ansible/hosts: update rpi4-deb10build-ansible-* References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/23270 ) Change subject: ansible/hosts: update rpi4-deb10build-ansible-* ...................................................................... ansible/hosts: update rpi4-deb10build-ansible-* Replace old rpi4-deb9build-ansible (the IP points to a different host now) with the updated deb10 entry, and new entries for the two new deb10 raspberries. Related: OS#5055 Change-Id: I5d6588320613711251abcb664a5614ad49215725 --- M ansible/hosts 1 file changed, 3 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/70/23270/1 diff --git a/ansible/hosts b/ansible/hosts index 5c84123..3be1ce3 100644 --- a/ansible/hosts +++ b/ansible/hosts @@ -13,7 +13,9 @@ build2-deb10build-ansible ansible_host=2a01:4f8:10b:2ad9::1:10 osmocom_jenkins_slave_fstrim=True host2-deb9build-ansible ansible_host=2a01:4f8:120:8470::1:3 osmocom_jenkins_slave_fstrim=True gtp0-deb9build ansible_host=10.34.2.147 osmocom_jenkins_slave_fstrim=True -rpi4-deb9build-ansible ansible_host=10.9.25.51 +rpi4-deb10build-ansible-1 ansible_host=10.9.25.50 +rpi4-deb10build-ansible-2 ansible_host=10.9.25.60 +rpi4-deb10build-ansible-3 ansible_host=10.9.25.70 [simtester] simtest ansible_host=10.9.25.80 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23270 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I5d6588320613711251abcb664a5614ad49215725 Gerrit-Change-Number: 23270 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 Mon Mar 8 14:04:21 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 8 Mar 2021 14:04:21 +0000 Subject: Change in osmo-ci[master]: jobs/*: use new label for rpi4 nodes References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/23271 ) Change subject: jobs/*: use new label for rpi4 nodes ...................................................................... jobs/*: use new label for rpi4 nodes Use the new rpi4-deb10build-ansible label instead of addressing the old rpi4-deb9-build-ansible node directly. Related: https://jenkins.osmocom.org/jenkins/label/rpi4-deb10build-ansible/ Related: OS#5055 Change-Id: I5b2af801baeb510e7784d6bcd7cabfda4962af0c --- M jobs/gerrit-verifications.yml M jobs/master-builds.yml M jobs/update-osmo-ci-on-slaves.yml M jobs/update-osmo-python-on-slaves.yml 4 files changed, 20 insertions(+), 16 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/71/23271/1 diff --git a/jobs/gerrit-verifications.yml b/jobs/gerrit-verifications.yml index aa8fc76..852cab0 100644 --- a/jobs/gerrit-verifications.yml +++ b/jobs/gerrit-verifications.yml @@ -91,7 +91,7 @@ - osmo-bsc - osmo-bts: - slave_axis: !!python/tuple [osmocom-master-debian9, rpi4-deb9build-ansible] + slave_axis: !!python/tuple [osmocom-master-debian9, rpi4-deb10build-ansible] a1_name: FIRMWARE_VERSION a1: !!python/tuple [master, femtobts_v2.7, superfemto_v2.4, superfemto_v3.0.1pre, superfemto_v3.1, superfemto_v5.1, v2017.01, litecell15, oc2g, oc2g-next] a2_name: BTS_MODEL @@ -100,7 +100,7 @@ a3: !!python/tuple ["1", "0"] combination_filter: > (FIRMWARE_VERSION == "master" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") || - (FIRMWARE_VERSION == "master" && BTS_MODEL == "trx" && WITH_MANUALS == "0" && label == "rpi4-deb9build-ansible") || + (FIRMWARE_VERSION == "master" && BTS_MODEL == "trx" && WITH_MANUALS == "0" && label == "rpi4-deb10build-ansible") || (FIRMWARE_VERSION == "femtobts_v2.7" && BTS_MODEL == "sysmo" && WITH_MANUALS == "1" && label == "osmocom-master-debian9") || (FIRMWARE_VERSION == "superfemto_v2.4" && BTS_MODEL == "sysmo" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") || (FIRMWARE_VERSION == "superfemto_v3.0.1pre" && BTS_MODEL == "sysmo" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") || @@ -167,7 +167,7 @@ - osmo-pcap - osmo-pcu: - slave_axis: !!python/tuple [osmocom-master-debian9, rpi4-deb9build-ansible] + slave_axis: !!python/tuple [osmocom-master-debian9, rpi4-deb10build-ansible] a1_name: FIRMWARE_VERSION a1: !!python/tuple [master, v2017.01, litecell15, oc2g] a2_name: with_vty @@ -183,7 +183,7 @@ (with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="litecell15" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") || (with_vty == "True" && with_dsp == "oc2g" && FIRMWARE_VERSION=="oc2g" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") || (with_vty == "False" && with_dsp == "none" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "1" && label == "osmocom-master-debian9") || - (with_vty == "False" && with_dsp == "none" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "0" && label == "rpi4-deb9build-ansible") + (with_vty == "False" && with_dsp == "none" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "0" && label == "rpi4-deb10build-ansible") cmd: | {docker_run} \ -e FIRMWARE_VERSION="$FIRMWARE_VERSION" \ @@ -218,7 +218,7 @@ - osmo-sip-connector - osmo-trx: - slave_axis: !!python/tuple [osmocom-master-debian9,rpi4-deb9build-ansible] + slave_axis: !!python/tuple [osmocom-master-debian9,rpi4-deb10build-ansible] a1_name: INSTR a1: !!python/tuple [--with-sse, --without-sse --with-neon, --with-neon-vfpv4] a2_name: WITH_MANUALS @@ -226,8 +226,8 @@ combination_filter: > (INSTR == "--without-sse" && WITH_MANUALS == "1" && label == "osmocom-master-debian9") || (INSTR == "--with-sse" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") || - (INSTR == "--with-neon" && WITH_MANUALS == "0" && label == "rpi4-deb9build-ansible") || - (INSTR == "--with-neon-vfpv4" && WITH_MANUALS == "0" && label == "rpi4-deb9build-ansible") + (INSTR == "--with-neon" && WITH_MANUALS == "0" && label == "rpi4-deb10build-ansible") || + (INSTR == "--with-neon-vfpv4" && WITH_MANUALS == "0" && label == "rpi4-deb10build-ansible") cmd: | export ASCIIDOC_WARNINGS_CHECK=1 export OSMO_GSM_MANUALS_DIR="$HOME/osmo-gsm-manuals" diff --git a/jobs/master-builds.yml b/jobs/master-builds.yml index fb23553..e3a3511 100644 --- a/jobs/master-builds.yml +++ b/jobs/master-builds.yml @@ -178,7 +178,7 @@ - osmo-bsc - osmo-bts: - slave_axis: !!python/tuple [osmocom-master-debian9, rpi4-deb9build-ansible] + slave_axis: !!python/tuple [osmocom-master-debian9, rpi4-deb10build-ansible] a1_name: FIRMWARE_VERSION a1: !!python/tuple [master, femtobts_v2.7, superfemto_v2.4, superfemto_v3.0.1pre, superfemto_v3.1, superfemto_v5.1, v2017.01, origin/nrw/litecell15, origin/nrw/oc2g] a2_name: BTS_MODEL @@ -187,7 +187,7 @@ a3: !!python/tuple ["1", "0"] combination_filter: > (FIRMWARE_VERSION == "master" && WITH_MANUALS == "1" && label == "osmocom-master-debian9") || - (FIRMWARE_VERSION == "master" && BTS_MODEL == "trx" && WITH_MANUALS == "0" && label == "rpi4-deb9build-ansible") || + (FIRMWARE_VERSION == "master" && BTS_MODEL == "trx" && WITH_MANUALS == "0" && label == "rpi4-deb10build-ansible") || (FIRMWARE_VERSION == "femtobts_v2.7" && BTS_MODEL == "sysmo" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") || (FIRMWARE_VERSION == "superfemto_v2.4" && BTS_MODEL == "sysmo" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") || (FIRMWARE_VERSION == "superfemto_v3.0.1pre" && BTS_MODEL == "sysmo" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") || @@ -268,7 +268,7 @@ - osmo-pcap - osmo-pcu: - slave_axis: !!python/tuple [osmocom-master-debian9, rpi4-deb9build-ansible] + slave_axis: !!python/tuple [osmocom-master-debian9, rpi4-deb10build-ansible] a1_name: FIRMWARE_VERSION a1: !!python/tuple [master, v2017.01, origin/nrw/litecell15] a2_name: with_vty @@ -283,7 +283,7 @@ (with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="v2017.01" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") || (with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="origin/nrw/litecell15" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") || (with_vty == "False" && with_dsp == "none" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "1" && label == "osmocom-master-debian9") || - (with_vty == "False" && with_dsp == "none" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "0" && label == "rpi4-deb9build-ansible") + (with_vty == "False" && with_dsp == "none" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "0" && label == "rpi4-deb10build-ansible") cmd: | {docker_run} \ -e FIRMWARE_VERSION="$FIRMWARE_VERSION" \ @@ -313,7 +313,7 @@ email: gerrit-log at lists.osmocom.org laforge at gnumonks.org 246tnt at gmail.com - osmo-trx: - slave_axis: !!python/tuple [osmocom-master-debian9,rpi4-deb9build-ansible] + slave_axis: !!python/tuple [osmocom-master-debian9,rpi4-deb10build-ansible] a1_name: INSTR a1: !!python/tuple [--with-sse, --without-sse, --with-neon, --with-neon-vfpv4] a2_name: WITH_MANUALS @@ -321,8 +321,8 @@ combination_filter: > (INSTR == "--without-sse" && WITH_MANUALS == "1" && label == "osmocom-master-debian9") || (INSTR == "--with-sse" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") || - (INSTR == "--with-neon" && WITH_MANUALS == "0" && label == "rpi4-deb9build-ansible") || - (INSTR == "--with-neon-vfpv4" && WITH_MANUALS == "0" && label == "rpi4-deb9build-ansible") + (INSTR == "--with-neon" && WITH_MANUALS == "0" && label == "rpi4-deb10build-ansible") || + (INSTR == "--with-neon-vfpv4" && WITH_MANUALS == "0" && label == "rpi4-deb10build-ansible") cmd: | export ASCIIDOC_WARNINGS_CHECK=1 export OSMO_GSM_MANUALS_DIR="$HOME/osmo-gsm-manuals" diff --git a/jobs/update-osmo-ci-on-slaves.yml b/jobs/update-osmo-ci-on-slaves.yml index 3ff4fa4..cc396b1 100644 --- a/jobs/update-osmo-ci-on-slaves.yml +++ b/jobs/update-osmo-ci-on-slaves.yml @@ -11,7 +11,9 @@ - host2-deb9build-ansible - build2-deb9build-ansible - build2-deb10build-ansible - - rpi4-deb9build-ansible + - rpi4-deb10build-ansible-1 + - rpi4-deb10build-ansible-2 + - rpi4-deb10build-ansible-3 - gtp0-deb9build - gtp0-deb10build32 - gtp0-deb10fr diff --git a/jobs/update-osmo-python-on-slaves.yml b/jobs/update-osmo-python-on-slaves.yml index 6eaa73a..a20b4a4 100644 --- a/jobs/update-osmo-python-on-slaves.yml +++ b/jobs/update-osmo-python-on-slaves.yml @@ -10,7 +10,9 @@ - host2-deb9build-ansible - build2-deb9build-ansible - build2-deb10build-ansible - - rpi4-deb9build-ansible + - rpi4-deb10build-ansible-1 + - rpi4-deb10build-ansible-2 + - rpi4-deb10build-ansible-3 properties: - build-discarder: days-to-keep: 30 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23271 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I5b2af801baeb510e7784d6bcd7cabfda4962af0c Gerrit-Change-Number: 23271 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 Mon Mar 8 14:04:21 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 8 Mar 2021 14:04:21 +0000 Subject: Change in osmo-ci[master]: ansible: fix apt deprecation warning about loops References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/23272 ) Change subject: ansible: fix apt deprecation warning about loops ...................................................................... ansible: fix apt deprecation warning about loops Fix deprecation warnings like the following: [DEPRECATION WARNING]: Invoking "apt" only once while using a loop via squash_actions is deprecated. Instead of using a loop to supply multiple items and specifying `name: "{{ item }}"`, please use `name: ['libjansson-dev', 'libulfius-dev']` and remove the loop. This feature will be removed in version 2.11. Change-Id: I57b9ce690e8167249468954f3e62d14c7a92fcfc --- M ansible/roles/docker/tasks/main.yml M ansible/roles/gsm-tester-bts/tasks/main.yml M ansible/roles/gsm-tester/tasks/main.yml M ansible/roles/install-coverity/tasks/main.yml M ansible/roles/install-poky-sdk/tasks/main.yml M ansible/roles/osmocom-jenkins-slave/tasks/debian.yml M ansible/roles/osmocom-jenkins-slave/tasks/osmocom_build_deps.yml M ansible/roles/osmocom-workstation/tasks/main.yml M ansible/setup-gsm-tester.yml M ansible/setup-jenkins-slave.yml M ansible/setup-simtest.yml 11 files changed, 260 insertions(+), 288 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/72/23272/1 diff --git a/ansible/roles/docker/tasks/main.yml b/ansible/roles/docker/tasks/main.yml index c38d38b..a268d2b 100644 --- a/ansible/roles/docker/tasks/main.yml +++ b/ansible/roles/docker/tasks/main.yml @@ -2,14 +2,13 @@ - name: add https support apt: - name: "{{ item }}" + name: + - apt-transport-https + - gnupg + - cron + - ca-certificates cache_valid_time: 3600 update_cache: yes - with_items: - - apt-transport-https - - gnupg - - cron - - ca-certificates - name: add docker gpg key to apt keyring apt_key: diff --git a/ansible/roles/gsm-tester-bts/tasks/main.yml b/ansible/roles/gsm-tester-bts/tasks/main.yml index e979605..f1377f0 100644 --- a/ansible/roles/gsm-tester-bts/tasks/main.yml +++ b/ansible/roles/gsm-tester-bts/tasks/main.yml @@ -15,12 +15,11 @@ - name: usrp install apt dependecies apt: - name: "{{ item }}" + name: + - libuhd-dev + - uhd-host cache_valid_time: 3600 update_cache: yes - with_items: - - libuhd-dev - - uhd-host register: uhd_installed - name: usrp download firmware @@ -48,8 +47,7 @@ - name: install osmocom utilities apt: - name: "{{ item }}" - with_items: - - abisip-find - - osmo-bsc-ipaccess-utils - - osmo-bsc-bs11-utils + name: + - abisip-find + - osmo-bsc-ipaccess-utils + - osmo-bsc-bs11-utils diff --git a/ansible/roles/gsm-tester/tasks/main.yml b/ansible/roles/gsm-tester/tasks/main.yml index eaf50fd..418509e 100644 --- a/ansible/roles/gsm-tester/tasks/main.yml +++ b/ansible/roles/gsm-tester/tasks/main.yml @@ -9,41 +9,39 @@ - name: install osmocom runtime dependencies apt: - name: "{{ item }}" - with_items: - - build-essential - - git - - automake - - libdbi-dev - - libdbd-sqlite3 - - sqlite3 - - libsctp-dev - - libortp-dev - - libpcap-dev - - libc-ares-dev - - libtool - - shtool - - pkg-config - - libtalloc-dev - - libpcsclite-dev - - libgnutls28-dev - - libmnl-dev - - libssl-dev - - libczmq-dev - - libsofia-sip-ua-glib-dev - - libsqlite3-dev - - libasound2-dev - - liblua5.3-dev - - lua-socket + name: + - build-essential + - git + - automake + - libdbi-dev + - libdbd-sqlite3 + - sqlite3 + - libsctp-dev + - libortp-dev + - libpcap-dev + - libc-ares-dev + - libtool + - shtool + - pkg-config + - libtalloc-dev + - libpcsclite-dev + - libgnutls28-dev + - libmnl-dev + - libssl-dev + - libczmq-dev + - libsofia-sip-ua-glib-dev + - libsqlite3-dev + - libasound2-dev + - liblua5.3-dev + - lua-socket tags: - osmocom # mdbus2 is not available in debian10. TODO: compile it for >9 - name: install mdbus2 apt: - name: "{{ item }}" - with_items: - - mdbus2 + name: + - mdbus2 when: ansible_distribution == 'Debian' and ansible_distribution_version <= '9' tags: - ofono @@ -51,35 +49,32 @@ - name: install srsLTE build-only dependencies apt: - name: "{{ item }}" - with_items: - - cmake - - libfftw3-dev - - libmbedtls-dev - - libboost-program-options-dev - - libconfig++-dev - - libsctp-dev - - libpcsclite-dev - - libuhd-dev - - libczmq-dev - - libsoapysdr-dev + name: + - cmake + - libfftw3-dev + - libmbedtls-dev + - libboost-program-options-dev + - libconfig++-dev + - libsctp-dev + - libpcsclite-dev + - libuhd-dev + - libczmq-dev + - libsoapysdr-dev tags: - srs - name: install srsLTE runtime extra dependencies (Debian) apt: - name: "{{ item }}" - with_items: - - soapysdr0.7-module-lms7 + name: + - soapysdr0.7-module-lms7 when: ansible_distribution == 'Debian' tags: - srs - name: install srsLTE runtime extra dependencies (Ubuntu) apt: - name: "{{ item }}" - with_items: - - soapysdr0.6-module-lms7 + name: + - soapysdr0.6-module-lms7 when: ansible_distribution == 'Ubuntu' tags: - srs @@ -101,9 +96,8 @@ - name: install uhub dependencies apt: - name: "{{ item }}" - with_items: - - libusb-1.0-0-dev + name: + - libusb-1.0-0-dev tags: - modem @@ -172,9 +166,8 @@ - name: install patchelf build dependencies apt: - name: "{{ item }}" - with_items: - - autoconf + name: + - autoconf tags: - patchelf - osmo-gsm-tester-proc @@ -208,34 +201,32 @@ - name: install gsm tester dependencies (main) apt: - name: "{{ item }}" - with_items: - - sqlite3 - - python3 - - python3-setuptools - - python3-yaml - - python3-mako - - python3-gi - - python3-watchdog - - python3-numpy - - python3-websocket - - ofono - - patchelf - - libcap2-bin - - python3-pip - - udhcpc + name: + - sqlite3 + - python3 + - python3-setuptools + - python3-yaml + - python3-mako + - python3-gi + - python3-watchdog + - python3-numpy + - python3-websocket + - ofono + - patchelf + - libcap2-bin + - python3-pip + - udhcpc tags: - osmo-gsm-tester-main - name: install gsm tester dependencies (proc) apt: - name: "{{ item }}" - with_items: - - tcpdump - - patchelf - - libcap2-bin - - iperf3 - - sudo + name: + - tcpdump + - patchelf + - libcap2-bin + - iperf3 + - sudo tags: - osmo-gsm-tester-proc diff --git a/ansible/roles/install-coverity/tasks/main.yml b/ansible/roles/install-coverity/tasks/main.yml index 55fa77f..5baf6f3 100644 --- a/ansible/roles/install-coverity/tasks/main.yml +++ b/ansible/roles/install-coverity/tasks/main.yml @@ -1,9 +1,8 @@ --- - name: install coverity-required debian packages apt: - name: "{{ item }}" - with_items: - - curl + name: + - curl - name: copy coverity installer copy: diff --git a/ansible/roles/install-poky-sdk/tasks/main.yml b/ansible/roles/install-poky-sdk/tasks/main.yml index ff65c1b..85b3c94 100644 --- a/ansible/roles/install-poky-sdk/tasks/main.yml +++ b/ansible/roles/install-poky-sdk/tasks/main.yml @@ -1,12 +1,11 @@ --- - name: install bzip2 and tar apt: - name: "{{ item }}" + name: + - tar + - bzip2 cache_valid_time: 3600 update_cache: yes - with_items: - - tar - - bzip2 - name: copy poky installer copy: diff --git a/ansible/roles/osmocom-jenkins-slave/tasks/debian.yml b/ansible/roles/osmocom-jenkins-slave/tasks/debian.yml index a8a36a7..0c762e9 100644 --- a/ansible/roles/osmocom-jenkins-slave/tasks/debian.yml +++ b/ansible/roles/osmocom-jenkins-slave/tasks/debian.yml @@ -2,19 +2,18 @@ - name: install jenkins utilities apt: - name: "{{ item }}" + name: + - htop + - virt-manager + - qemu + - qemu-user-static + - qemu-system-arm + - proot + - debootstrap + - fakeroot cache_valid_time: 3600 update_cache: yes install_recommends: no - with_items: - - htop - - virt-manager - - qemu - - qemu-user-static - - qemu-system-arm - - proot - - debootstrap - - fakeroot when: install_jenkins_utilities - name: stop checking release validity for old stable @@ -41,20 +40,18 @@ - name: install java for stretch apt: - name: "{{ item }}" + name: + - openjdk-8-jre-headless cache_valid_time: 3600 update_cache: yes install_recommends: no - with_items: - - openjdk-8-jre-headless when: ansible_distribution == 'Debian' and ansible_distribution_version == '9' - name: install java for buster and later apt: - name: "{{ item }}" + name: + - openjdk-11-jre-headless cache_valid_time: 3600 update_cache: yes install_recommends: no - with_items: - - openjdk-11-jre-headless when: ansible_distribution == 'Debian' and ansible_distribution_version|int >= 10 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 54dcdc7..816218f 100644 --- a/ansible/roles/osmocom-jenkins-slave/tasks/osmocom_build_deps.yml +++ b/ansible/roles/osmocom-jenkins-slave/tasks/osmocom_build_deps.yml @@ -1,103 +1,101 @@ --- - name: install build utilities apt: - name: "{{ item }}" + name: + - asciidoc + - autoconf + - autoconf-archive + - automake + - bc + - bison + - coccinelle + - cppcheck + - debhelper + - devscripts + - dh-autoreconf + - dh-systemd + - doxygen + - flex + - g++ + - gawk + - gcc + - gcc-arm-none-eabi + - git + - git-buildpackage + - graphviz + - libcsv-dev + - libtool + - libboost-all-dev + - make + - mscgen + - osc + - pkgconf + - python-minimal + - python-setuptools + - python3 + - python3-setuptools + - stow + - texinfo + # by gsm-manuals + - python3-nwdiag + - python-pychart + - inkscape + # by gapk + - libasound-dev + - libopencore-amrnb-dev + # by LimeSuite + - cmake + - patchelf + # by libusrp + - sdcc + # by mingw upload job + - rsync cache_valid_time: 3600 update_cache: yes - with_items: - - asciidoc - - autoconf - - autoconf-archive - - automake - - bc - - bison - - coccinelle - - cppcheck - - debhelper - - devscripts - - dh-autoreconf - - dh-systemd - - doxygen - - flex - - g++ - - gawk - - gcc - - gcc-arm-none-eabi - - git - - git-buildpackage - - graphviz - - libcsv-dev - - libtool - - libboost-all-dev - - make - - mscgen - - osc - - pkgconf - - python-minimal - - python-setuptools - - python3 - - python3-setuptools - - stow - - texinfo - # by gsm-manuals - - python3-nwdiag - - python-pychart - - inkscape - # by gapk - - libasound-dev - - libopencore-amrnb-dev - # by LimeSuite - - cmake - - patchelf - # by libusrp - - sdcc - # by mingw upload job - - rsync - name: install build dependencies and libraries apt: - name: "{{ item }}" + name: + - dahdi-source + - docbook5-xml + - libboost-dev + - libc-ares-dev + - libdbd-sqlite3 + - libdbi-dev + - libffi-dev + - libffi-dev + - libfftw3-dev + - libgmp-dev + - libgnutls28-dev + - libgps-dev + - libgsm1-dev + - libnl-3-dev + - libnl-route-3-dev + - libmnl-dev + # by osmo-sysmon + - liboping-dev + - libncurses5-dev + - libortp-dev + - libpcap-dev + - libpcsclite-dev + - libreadline-dev + - libsctp-dev + - libsigsegv-dev + - libsnmp-dev + - libsofia-sip-ua-glib-dev + - libsqlite3-dev + - libssl-dev + - libsystemd-dev + - libtalloc-dev + - libuhd-dev + - libusb-1.0-0-dev + - libusb-dev + - libzmq3-dev + - sqlite3 + - libaio-dev cache_valid_time: 3600 update_cache: yes install_recommends: no - with_items: - - dahdi-source - - docbook5-xml - - libboost-dev - - libc-ares-dev - - libdbd-sqlite3 - - libdbi-dev - - libffi-dev - - libffi-dev - - libfftw3-dev - - libgmp-dev - - libgnutls28-dev - - libgps-dev - - libgsm1-dev - - libnl-3-dev - - libnl-route-3-dev - - libmnl-dev - # by osmo-sysmon - - liboping-dev - - libncurses5-dev - - libortp-dev - - libpcap-dev - - libpcsclite-dev - - libreadline-dev - - libsctp-dev - - libsigsegv-dev - - libsnmp-dev - - libsofia-sip-ua-glib-dev - - libsqlite3-dev - - libssl-dev - - libsystemd-dev - - libtalloc-dev - - libuhd-dev - - libusb-1.0-0-dev - - libusb-dev - - libzmq3-dev - - sqlite3 - - libaio-dev - name: install liblua for jessie apt: @@ -110,65 +108,60 @@ - name: install liblua for stretch or later apt: - name: "{{ item }}" + name: + - liblua5.3-dev cache_valid_time: 3600 update_cache: yes install_recommends: no - with_items: - - liblua5.3-dev when: ansible_distribution == 'Debian' and ansible_distribution_version|int >= 9 - name: install liblimesuite-dev for stretch or later apt: - name: "{{ item }}" + name: + - liblimesuite-dev cache_valid_time: 3600 update_cache: yes install_recommends: no - with_items: - - liblimesuite-dev when: ansible_distribution == 'Debian' and ansible_distribution_version|int >= 9 - name: install osmo-remsim dependencies apt: - name: "{{ item }}" + name: + - libjansson-dev + - libulfius-dev cache_valid_time: 3600 update_cache: yes - with_items: - - libjansson-dev - - libulfius-dev when: ansible_distribution == 'Debian' and ansible_distribution_version|int >= 9 - name: install srsLTE build dependencies apt: - name: "{{ item }}" + name: + - cmake + - libfftw3-dev + - libmbedtls-dev + - libboost-program-options-dev + - libconfig++-dev + - libsctp-dev + - libpcsclite-dev + - libuhd-dev + - libczmq-dev + - libsoapysdr-dev cache_valid_time: 3600 update_cache: yes - with_items: - - cmake - - libfftw3-dev - - libmbedtls-dev - - libboost-program-options-dev - - libconfig++-dev - - libsctp-dev - - libpcsclite-dev - - libuhd-dev - - libczmq-dev - - libsoapysdr-dev when: ansible_distribution == 'Debian' and ansible_distribution_version|int >= 9 - name: install open5gs build dependencies apt: - name: "{{ item }}" + name: + - meson + - ninja-build + - libgcrypt-dev + - libidn11-dev + - libmongoc-dev + - libbson-dev + - libyaml-dev cache_valid_time: 3600 update_cache: yes - with_items: - - meson - - ninja-build - - libgcrypt-dev - - libidn11-dev - - libmongoc-dev - - libbson-dev - - libyaml-dev when: ansible_distribution == 'Debian' and ansible_distribution_version|int >= 10 - name: download osmo-python-tests for py2 diff --git a/ansible/roles/osmocom-workstation/tasks/main.yml b/ansible/roles/osmocom-workstation/tasks/main.yml index d68f956..ae29111 100644 --- a/ansible/roles/osmocom-workstation/tasks/main.yml +++ b/ansible/roles/osmocom-workstation/tasks/main.yml @@ -14,35 +14,34 @@ - name: install distribution packages apt: - name: "{{ item }}" + name: + - iceweasel + - vim + - evince + - valgrind + - gdb + - libc6-dbg + - wireshark + - tcpdump + - ccache + - gnupg + - openssh-client + - openssh-server + - console-common + - console-data + - meld + - emacs + - gitk + - okular + - libreoffice-calc + - libreoffice-draw + - libreoffice-impress + - libreoffice-writer + - gnumeric + - openvpn + - fvwm + - xfce4 + - network-manager + - modemmanager cache_valid_time: 3600 update_cache: yes - with_items: - - iceweasel - - vim - - evince - - valgrind - - gdb - - libc6-dbg - - wireshark - - tcpdump - - ccache - - gnupg - - openssh-client - - openssh-server - - console-common - - console-data - - meld - - emacs - - gitk - - okular - - libreoffice-calc - - libreoffice-draw - - libreoffice-impress - - libreoffice-writer - - gnumeric - - openvpn - - fvwm - - xfce4 - - network-manager - - modemmanager diff --git a/ansible/setup-gsm-tester.yml b/ansible/setup-gsm-tester.yml index 43ef753..26285df 100644 --- a/ansible/setup-gsm-tester.yml +++ b/ansible/setup-gsm-tester.yml @@ -5,16 +5,15 @@ tasks: - name: install common utilities apt: - name: "{{ item }}" + name: + - vim + - tmux + - screen + - ca-certificates + - wget + - curl cache_valid_time: 3600 update_cache: yes - with_items: - - vim - - tmux - - screen - - ca-certificates - - wget - - curl roles: - name: gsm-tester tags: diff --git a/ansible/setup-jenkins-slave.yml b/ansible/setup-jenkins-slave.yml index 350a40f..8565530 100644 --- a/ansible/setup-jenkins-slave.yml +++ b/ansible/setup-jenkins-slave.yml @@ -7,14 +7,13 @@ tasks: - name: install common utilities apt: - name: "{{ item }}" + name: + - vim + - tmux + - screen + - ca-certificates cache_valid_time: 3600 update_cache: yes - with_items: - - vim - - tmux - - screen - - ca-certificates roles: - name: docker jenkins_user: osmocom-build diff --git a/ansible/setup-simtest.yml b/ansible/setup-simtest.yml index 8ab6f7e..6eb67fc 100644 --- a/ansible/setup-simtest.yml +++ b/ansible/setup-simtest.yml @@ -10,17 +10,16 @@ - name: install common utilities apt: - name: "{{ item }}" + name: + - vim + - ca-certificates + - python3-minimal + - python3-setuptools + - python3-pip + - python3-serial + - python3-pyscard + - virtualenv install_recommends: no - with_items: - - vim - - ca-certificates - - python3-minimal - - python3-setuptools - - python3-pip - - python3-serial - - python3-pyscard - - virtualenv roles: - name: osmocom-jenkins-slave -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23272 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I57b9ce690e8167249468954f3e62d14c7a92fcfc Gerrit-Change-Number: 23272 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 Mon Mar 8 14:48:35 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 8 Mar 2021 14:48:35 +0000 Subject: Change in osmo-ci[master]: jobs/*: use new label for rpi4 nodes In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23271 ) Change subject: jobs/*: use new label for rpi4 nodes ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23271 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I5b2af801baeb510e7784d6bcd7cabfda4962af0c Gerrit-Change-Number: 23271 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 08 Mar 2021 14:48: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 Mar 8 14:54:51 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 8 Mar 2021 14:54:51 +0000 Subject: Change in osmo-ci[master]: jobs/*: update references to rpi4 nodes In-Reply-To: References: Message-ID: Hello pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ci/+/23271 to look at the new patch set (#2). Change subject: jobs/*: update references to rpi4 nodes ...................................................................... jobs/*: update references to rpi4 nodes Use the new label that matches all three rpi4 nodes in master-builds and gerrit-verifications (so the builds can run on any of them). Use the names of the three nodes in update-osmo-*-on-slaves, so all of them get updated. Related: https://jenkins.osmocom.org/jenkins/label/rpi4-raspbian10/ Related: OS#5055 Change-Id: I5b2af801baeb510e7784d6bcd7cabfda4962af0c --- M jobs/gerrit-verifications.yml M jobs/master-builds.yml M jobs/update-osmo-ci-on-slaves.yml M jobs/update-osmo-python-on-slaves.yml 4 files changed, 20 insertions(+), 16 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/71/23271/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23271 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I5b2af801baeb510e7784d6bcd7cabfda4962af0c Gerrit-Change-Number: 23271 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 8 14:54:51 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 8 Mar 2021 14:54:51 +0000 Subject: Change in osmo-ci[master]: ansible: fix apt deprecation warning about loops In-Reply-To: References: Message-ID: osmith has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-ci/+/23272 ) Change subject: ansible: fix apt deprecation warning about loops ...................................................................... ansible: fix apt deprecation warning about loops Fix deprecation warnings like the following: [DEPRECATION WARNING]: Invoking "apt" only once while using a loop via squash_actions is deprecated. Instead of using a loop to supply multiple items and specifying `name: "{{ item }}"`, please use `name: ['libjansson-dev', 'libulfius-dev']` and remove the loop. This feature will be removed in version 2.11. Related: OS#5055 Change-Id: I57b9ce690e8167249468954f3e62d14c7a92fcfc --- M ansible/roles/docker/tasks/main.yml M ansible/roles/gsm-tester-bts/tasks/main.yml M ansible/roles/gsm-tester/tasks/main.yml M ansible/roles/install-coverity/tasks/main.yml M ansible/roles/install-poky-sdk/tasks/main.yml M ansible/roles/osmocom-jenkins-slave/tasks/debian.yml M ansible/roles/osmocom-jenkins-slave/tasks/osmocom_build_deps.yml M ansible/roles/osmocom-workstation/tasks/main.yml M ansible/setup-gsm-tester.yml M ansible/setup-jenkins-slave.yml M ansible/setup-simtest.yml 11 files changed, 260 insertions(+), 288 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/72/23272/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23272 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I57b9ce690e8167249468954f3e62d14c7a92fcfc Gerrit-Change-Number: 23272 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 8 14:55:04 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 8 Mar 2021 14:55:04 +0000 Subject: Change in osmo-ci[master]: ansible/hosts: update rpi4-raspbian10build-* In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23270 ) Change subject: ansible/hosts: update rpi4-raspbian10build-* ...................................................................... Set Ready For Review -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23270 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I5d6588320613711251abcb664a5614ad49215725 Gerrit-Change-Number: 23270 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Comment-Date: Mon, 08 Mar 2021 14:55:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 8 14:59:37 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 8 Mar 2021 14:59:37 +0000 Subject: Change in osmo-ci[master]: ansible/hosts: update rpi4-raspbian10build-* In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23270 ) Change subject: ansible/hosts: update rpi4-raspbian10build-* ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23270 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I5d6588320613711251abcb664a5614ad49215725 Gerrit-Change-Number: 23270 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 08 Mar 2021 14:59: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 Mon Mar 8 15:00:07 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 8 Mar 2021 15:00:07 +0000 Subject: Change in osmo-ci[master]: jobs/*: update references to rpi4 nodes In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23271 ) Change subject: jobs/*: update references to rpi4 nodes ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23271 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I5b2af801baeb510e7784d6bcd7cabfda4962af0c Gerrit-Change-Number: 23271 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 08 Mar 2021 15:00:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 8 15:00:38 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 8 Mar 2021 15:00:38 +0000 Subject: Change in osmo-ci[master]: ansible: fix apt deprecation warning about loops In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23272 ) Change subject: ansible: fix apt deprecation warning about loops ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23272 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I57b9ce690e8167249468954f3e62d14c7a92fcfc Gerrit-Change-Number: 23272 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 08 Mar 2021 15:00: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 Mar 8 15:07:59 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 8 Mar 2021 15:07:59 +0000 Subject: Change in osmo-pcu[master]: [DO NOT MERGE] testing gerrit-osmo-pcu References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23273 ) Change subject: [DO NOT MERGE] testing gerrit-osmo-pcu ...................................................................... [DO NOT MERGE] testing gerrit-osmo-pcu Change-Id: I09cf0f33024a6855b874d83531ba195c9b075148 --- A hello-world 1 file changed, 0 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/73/23273/1 diff --git a/hello-world b/hello-world new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/hello-world -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23273 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I09cf0f33024a6855b874d83531ba195c9b075148 Gerrit-Change-Number: 23273 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 Mon Mar 8 15:16:47 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 8 Mar 2021 15:16:47 +0000 Subject: Change in osmo-pcu[master]: Track TDMA clock with DATA.ind instead of TIME.ind In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23261 ) Change subject: Track TDMA clock with DATA.ind instead of TIME.ind ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23261 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibc495173119465e74f726ddc36e312334e6dc0fd Gerrit-Change-Number: 23261 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 08 Mar 2021 15:16: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 Mar 8 16:17:28 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 8 Mar 2021 16:17:28 +0000 Subject: Change in osmo-pcu[master]: [DO NOT MERGE] testing gerrit-osmo-pcu In-Reply-To: References: Message-ID: osmith has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23273 ) Change subject: [DO NOT MERGE] testing gerrit-osmo-pcu ...................................................................... Abandoned fixed -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23273 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I09cf0f33024a6855b874d83531ba195c9b075148 Gerrit-Change-Number: 23273 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 8 16:23:16 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 8 Mar 2021 16:23:16 +0000 Subject: Change in osmo-pcu[master]: Introduce init() APIs for PDCH and TRX objects In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23269 ) Change subject: Introduce init() APIs for PDCH and TRX objects ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/23269/1/src/pdch.cpp File src/pdch.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/23269/1/src/pdch.cpp at a1043 PS1, Line 1043: init_ptcch_msg I don't see a reason for moving this API. I mean, could you just call it from your new function? -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23269 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Idf1dbdf8bc0b1e16d86eeeffb1193fdf3a57d6ef Gerrit-Change-Number: 23269 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 08 Mar 2021 16:23:16 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 8 16:29:29 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 8 Mar 2021 16:29:29 +0000 Subject: Change in osmo-ci[master]: ansible: explicitly give jenkins user UID=1000 References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/23274 ) Change subject: ansible: explicitly give jenkins user UID=1000 ...................................................................... ansible: explicitly give jenkins user UID=1000 docker-playground.git assumes that its containers run as UID=1000, otherwise some will fail with errors like: + osmo-clean-workspace.sh + chmod -R +w . chmod: changing permissions of '.': Operation not permitted Make this assumption explicit with "uid: 1000" in "add user jenkins". This causes ansible to verify that the UID is really 1000, and if it is not, it changes the UID. A follow-up patch will remove Raspbian's default user of the same UID. Related: OS#5055 Change-Id: I6efc9e74049e179d2f86655217195e76789ba77d --- M ansible/roles/osmocom-jenkins-slave/tasks/main.yml 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/74/23274/1 diff --git a/ansible/roles/osmocom-jenkins-slave/tasks/main.yml b/ansible/roles/osmocom-jenkins-slave/tasks/main.yml index b7fa2d3..3a5cafa 100644 --- a/ansible/roles/osmocom-jenkins-slave/tasks/main.yml +++ b/ansible/roles/osmocom-jenkins-slave/tasks/main.yml @@ -11,6 +11,7 @@ ssh_key_bits: 4096 ssh_key_type: rsa shell: /bin/bash + uid: 1000 - name: setup jenkins ssh key authorized_key: -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23274 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I6efc9e74049e179d2f86655217195e76789ba77d Gerrit-Change-Number: 23274 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 Mon Mar 8 16:29:30 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 8 Mar 2021 16:29:30 +0000 Subject: Change in osmo-ci[master]: ansible: remove raspbian default user "pi" References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/23275 ) Change subject: ansible: remove raspbian default user "pi" ...................................................................... ansible: remove raspbian default user "pi" Add a new subtask that deletes Raspbian's default user "pi" with UID=1000, so we can use the UID for the jenkins user. When the ansible playbook is running, root access via ssh is already configured, so we don't need the user "pi" anymore. Related: OS#5055 Change-Id: If0cee6d35016c487eca02752625732dd03fad350 --- M ansible/roles/osmocom-jenkins-slave/tasks/main.yml 1 file changed, 9 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/75/23275/1 diff --git a/ansible/roles/osmocom-jenkins-slave/tasks/main.yml b/ansible/roles/osmocom-jenkins-slave/tasks/main.yml index 3a5cafa..2623201 100644 --- a/ansible/roles/osmocom-jenkins-slave/tasks/main.yml +++ b/ansible/roles/osmocom-jenkins-slave/tasks/main.yml @@ -4,6 +4,15 @@ include_tasks: debian.yml when: ansible_distribution == 'Debian' +# Raspbian default user "pi" has uid=1000, which we need for the jenkins user. +# When the ansible playbook is running, root access via ssh is already +# configured, so we don't need the user "pi" anymore. +- name: delete raspbian default user + user: + name: "pi" + remove: true + state: absent + - name: add user jenkins user: name: "{{ jenkins_user }}" -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23275 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: If0cee6d35016c487eca02752625732dd03fad350 Gerrit-Change-Number: 23275 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 Mon Mar 8 17:08:37 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 8 Mar 2021 17:08:37 +0000 Subject: Change in osmo-pcu[master]: Introduce init() APIs for PDCH and TRX objects In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23269 ) Change subject: Introduce init() APIs for PDCH and TRX objects ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/23269/1/src/pdch.cpp File src/pdch.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/23269/1/src/pdch.cpp at a1043 PS1, Line 1043: init_ptcch_msg > I don't see a reason for moving this API. [?] Sure I could do so, but what's the point? It doesn't have any specific code path, it's simply more stuff which needs to be initialized at the same place, so it's a lot clearer merging them in one init function. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23269 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Idf1dbdf8bc0b1e16d86eeeffb1193fdf3a57d6ef Gerrit-Change-Number: 23269 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 08 Mar 2021 17:08: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 Mon Mar 8 18:32:40 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 8 Mar 2021 18:32:40 +0000 Subject: Change in osmo-ci[master]: ansible: explicitly give jenkins user UID=1000 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23274 ) Change subject: ansible: explicitly give jenkins user UID=1000 ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23274 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I6efc9e74049e179d2f86655217195e76789ba77d Gerrit-Change-Number: 23274 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 08 Mar 2021 18:32: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 Mar 8 18:33:06 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 8 Mar 2021 18:33:06 +0000 Subject: Change in osmo-ci[master]: ansible: remove raspbian default user "pi" In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23275 ) Change subject: ansible: remove raspbian default user "pi" ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23275 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: If0cee6d35016c487eca02752625732dd03fad350 Gerrit-Change-Number: 23275 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 08 Mar 2021 18:33:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 8 19:32:18 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 8 Mar 2021 19:32:18 +0000 Subject: Change in docker-playground[master]: Revert "ttcn3-pcu: Disable sending all DATA.ind on pcu -latest" References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/23276 ) Change subject: Revert "ttcn3-pcu: Disable sending all DATA.ind on pcu -latest" ...................................................................... Revert "ttcn3-pcu: Disable sending all DATA.ind on pcu -latest" This reverts commit b70b3c1a80110329aa7c6a8be5a9e0ced511be13.t The patch was merged too quickly before osmo-ttcn3-hacks.git one. Revert temporarily to avoid all tests failing due to non-existant module parameter. Change-Id: I61850cb0ea5ef2a86657dc8390ad7dbcb943b4bf --- M ttcn3-pcu-test/PCU_Tests.cfg M ttcn3-pcu-test/jenkins.sh 2 files changed, 0 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/76/23276/1 diff --git a/ttcn3-pcu-test/PCU_Tests.cfg b/ttcn3-pcu-test/PCU_Tests.cfg index 9d2f36f..07d9c3a 100644 --- a/ttcn3-pcu-test/PCU_Tests.cfg +++ b/ttcn3-pcu-test/PCU_Tests.cfg @@ -36,7 +36,6 @@ } } Osmocom_VTY_Functions.mp_prompt_prefix := "OsmoPCU"; -PCUIF_Components.mp_send_all_data_ind := true; [MAIN_CONTROLLER] diff --git a/ttcn3-pcu-test/jenkins.sh b/ttcn3-pcu-test/jenkins.sh index c597e0e..11c77ad 100755 --- a/ttcn3-pcu-test/jenkins.sh +++ b/ttcn3-pcu-test/jenkins.sh @@ -16,11 +16,6 @@ mkdir $VOL_BASE_DIR/pcu-tester/unix cp PCU_Tests.cfg $VOL_BASE_DIR/pcu-tester/ -# Disable until osmo-pcu release > 0.9.0 -if [ "$IMAGE_SUFFIX" = "latest" ]; then - sed -i "s/^PCUIF_Components.mp_send_all_data_ind.*/PCUIF_Components.mp_send_all_data_ind := false;/" $VOL_BASE_DIR/pcu-tester/PCU_Tests.cfg -fi - mkdir $VOL_BASE_DIR/pcu mkdir $VOL_BASE_DIR/pcu/unix cp osmo-pcu.cfg $VOL_BASE_DIR/pcu/ -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23276 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I61850cb0ea5ef2a86657dc8390ad7dbcb943b4bf Gerrit-Change-Number: 23276 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 Mar 8 19:32:53 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 8 Mar 2021 19:32:53 +0000 Subject: Change in docker-playground[master]: ttcn3-pcu: Disable sending all DATA.ind on pcu -latest References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/23277 ) Change subject: ttcn3-pcu: Disable sending all DATA.ind on pcu -latest ...................................................................... ttcn3-pcu: Disable sending all DATA.ind on pcu -latest Change-Id: I4365d54c64e750a708e04e36ea131ec7499560f1 Depends: osmo-ttcn3-hacks.git Change-Id Ib4f97a9bcfa68230945effeb6412218faa64ec78 Related: OS#5020 --- M ttcn3-pcu-test/PCU_Tests.cfg M ttcn3-pcu-test/jenkins.sh 2 files changed, 6 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/77/23277/1 diff --git a/ttcn3-pcu-test/PCU_Tests.cfg b/ttcn3-pcu-test/PCU_Tests.cfg index 07d9c3a..9d2f36f 100644 --- a/ttcn3-pcu-test/PCU_Tests.cfg +++ b/ttcn3-pcu-test/PCU_Tests.cfg @@ -36,6 +36,7 @@ } } Osmocom_VTY_Functions.mp_prompt_prefix := "OsmoPCU"; +PCUIF_Components.mp_send_all_data_ind := true; [MAIN_CONTROLLER] diff --git a/ttcn3-pcu-test/jenkins.sh b/ttcn3-pcu-test/jenkins.sh index 11c77ad..c597e0e 100755 --- a/ttcn3-pcu-test/jenkins.sh +++ b/ttcn3-pcu-test/jenkins.sh @@ -16,6 +16,11 @@ mkdir $VOL_BASE_DIR/pcu-tester/unix cp PCU_Tests.cfg $VOL_BASE_DIR/pcu-tester/ +# Disable until osmo-pcu release > 0.9.0 +if [ "$IMAGE_SUFFIX" = "latest" ]; then + sed -i "s/^PCUIF_Components.mp_send_all_data_ind.*/PCUIF_Components.mp_send_all_data_ind := false;/" $VOL_BASE_DIR/pcu-tester/PCU_Tests.cfg +fi + mkdir $VOL_BASE_DIR/pcu mkdir $VOL_BASE_DIR/pcu/unix cp osmo-pcu.cfg $VOL_BASE_DIR/pcu/ -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23277 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I4365d54c64e750a708e04e36ea131ec7499560f1 Gerrit-Change-Number: 23277 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 Mar 8 19:33:25 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 8 Mar 2021 19:33:25 +0000 Subject: Change in docker-playground[master]: Revert "ttcn3-pcu: Disable sending all DATA.ind on pcu -latest" In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23276 ) Change subject: Revert "ttcn3-pcu: Disable sending all DATA.ind on pcu -latest" ...................................................................... Patch Set 1: Verified+1 Code-Review+2 Merging to avoid test failures tonight, I pushed a new version of the patch on top. -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23276 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I61850cb0ea5ef2a86657dc8390ad7dbcb943b4bf Gerrit-Change-Number: 23276 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 08 Mar 2021 19:33:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 8 19:33:27 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 8 Mar 2021 19:33:27 +0000 Subject: Change in docker-playground[master]: Revert "ttcn3-pcu: Disable sending all DATA.ind on pcu -latest" In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23276 ) Change subject: Revert "ttcn3-pcu: Disable sending all DATA.ind on pcu -latest" ...................................................................... Revert "ttcn3-pcu: Disable sending all DATA.ind on pcu -latest" This reverts commit b70b3c1a80110329aa7c6a8be5a9e0ced511be13.t The patch was merged too quickly before osmo-ttcn3-hacks.git one. Revert temporarily to avoid all tests failing due to non-existant module parameter. Change-Id: I61850cb0ea5ef2a86657dc8390ad7dbcb943b4bf --- M ttcn3-pcu-test/PCU_Tests.cfg M ttcn3-pcu-test/jenkins.sh 2 files changed, 0 insertions(+), 6 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 9d2f36f..07d9c3a 100644 --- a/ttcn3-pcu-test/PCU_Tests.cfg +++ b/ttcn3-pcu-test/PCU_Tests.cfg @@ -36,7 +36,6 @@ } } Osmocom_VTY_Functions.mp_prompt_prefix := "OsmoPCU"; -PCUIF_Components.mp_send_all_data_ind := true; [MAIN_CONTROLLER] diff --git a/ttcn3-pcu-test/jenkins.sh b/ttcn3-pcu-test/jenkins.sh index c597e0e..11c77ad 100755 --- a/ttcn3-pcu-test/jenkins.sh +++ b/ttcn3-pcu-test/jenkins.sh @@ -16,11 +16,6 @@ mkdir $VOL_BASE_DIR/pcu-tester/unix cp PCU_Tests.cfg $VOL_BASE_DIR/pcu-tester/ -# Disable until osmo-pcu release > 0.9.0 -if [ "$IMAGE_SUFFIX" = "latest" ]; then - sed -i "s/^PCUIF_Components.mp_send_all_data_ind.*/PCUIF_Components.mp_send_all_data_ind := false;/" $VOL_BASE_DIR/pcu-tester/PCU_Tests.cfg -fi - mkdir $VOL_BASE_DIR/pcu mkdir $VOL_BASE_DIR/pcu/unix cp osmo-pcu.cfg $VOL_BASE_DIR/pcu/ -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23276 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I61850cb0ea5ef2a86657dc8390ad7dbcb943b4bf Gerrit-Change-Number: 23276 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 Tue Mar 9 00:51:01 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 9 Mar 2021 00:51:01 +0000 Subject: Change in osmo-bts[master]: l1sap: Transmit pdtch invalid MAC blocks to PCU In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/23249 ) Change subject: l1sap: Transmit pdtch invalid MAC blocks to PCU ...................................................................... Patch Set 4: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/23249/4/src/common/scheduler.c File src/common/scheduler.c: https://gerrit.osmocom.org/c/osmo-bts/+/23249/4/src/common/scheduler.c at a735 PS4, Line 735: if (l2_len) Are you sure about this change? Shouldn't we keep it as is? -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/23249 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0b04b013b7bad5ff53d6a969ff0128b37f7f62d5 Gerrit-Change-Number: 23249 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 09 Mar 2021 00:51:01 +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 Mar 9 00:54:34 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 9 Mar 2021 00:54:34 +0000 Subject: Change in osmo-bts[master]: bts-trx: Always submit rx PDTCH DATA.ind to l1sap In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/23257 ) Change subject: bts-trx: Always submit rx PDTCH DATA.ind to l1sap ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/23257/3/src/common/scheduler.c File src/common/scheduler.c: https://gerrit.osmocom.org/c/osmo-bts/+/23257/3/src/common/scheduler.c at 735 PS3, Line 735: if (l2_len) This looks like an artifact from the previous commit. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/23257 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I343c7a721dab72411edbca816c8864926bc329fb Gerrit-Change-Number: 23257 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 09 Mar 2021 00:54: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 Tue Mar 9 00:55:19 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 9 Mar 2021 00:55:19 +0000 Subject: Change in osmo-bts[master]: l1sap: Transmit pdtch invalid MAC blocks to PCU In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/23249 ) Change subject: l1sap: Transmit pdtch invalid MAC blocks to PCU ...................................................................... Patch Set 4: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/23249/4/src/common/scheduler.c File src/common/scheduler.c: https://gerrit.osmocom.org/c/osmo-bts/+/23249/4/src/common/scheduler.c at a735 PS4, Line 735: if (l2_len) > Are you sure about this change? Shouldn't we keep it as is? Indeed, you re-introduce this 'if' in the next commit. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/23249 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0b04b013b7bad5ff53d6a969ff0128b37f7f62d5 Gerrit-Change-Number: 23249 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 09 Mar 2021 00:55:19 +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 admin at opensuse.org Tue Mar 9 02:02:42 2021 From: admin at opensuse.org (OBS Notification) Date: Tue, 09 Mar 2021 02:02:42 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <6046d761534bf_6b9e2ac67dffe600334591@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_20.04/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_20.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 119s] [COMPILING apps/dfu/main.c] [ 120s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 120s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 120s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 120s] Memory region Used Size Region Size %age Used [ 120s] rom: 16600 B 16 KB 101.32% [ 120s] ram: 11688 B 48 KB 23.78/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 120s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 120s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 120s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 120s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 120s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 120s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 216 bytes [ 120s] collect2: error: ld returned 1 exit status [ 120s] % [ 120s] make[2]: *** [Makefile:230: flash] Error 1 [ 120s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 120s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 120s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 120s] dh_auto_build: error: make -j1 returned exit code 2 [ 120s] make: *** [debian/rules:16: build] Error 25 [ 120s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 120s] ### VM INTERACTION START ### [ 123s] [ 113.651936] sysrq: Power Off [ 123s] [ 113.655456] reboot: Power down [ 123s] ### VM INTERACTION END ### [ 123s] [ 123s] sheep87 failed "build simtrace2_0.7.0.76.62ad.dsc" at Tue Mar 9 02:02:40 UTC 2021. [ 123s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Mar 9 02:26:57 2021 From: admin at opensuse.org (OBS Notification) Date: Tue, 09 Mar 2021 02:26:57 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.10/x86_64 In-Reply-To: References: Message-ID: <6046dd01ba8b2_6b9e2ac67dffe6003414e5@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_20.10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_20.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 82s] [COMPILING libboard/qmod/source/board_qmod.c] [ 82s] [COMPILING libboard/qmod/source/card_pres.c] [ 82s] [COMPILING libboard/qmod/source/i2c.c] [ 82s] [COMPILING libboard/qmod/source/wwan_led.c] [ 82s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 82s] [COMPILING apps/dfu/main.c] [ 82s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 82s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 82s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 82s] Memory region Used Size Region Size %age Used [ 82s] rom: 16592 B 16 KB 101.27% [ 82s] ram: 11680 B 48 KB 23.76/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 83s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 208 bytes [ 83s] collect2: error: ld returned 1 exit status [ 83s] % [ 83s] make[2]: *** [Makefile:230: flash] Error 1 [ 83s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 83s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 83s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 83s] dh_auto_build: error: make -j1 returned exit code 2 [ 83s] make: *** [debian/rules:16: build] Error 25 [ 83s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 83s] ### VM INTERACTION START ### [ 86s] [ 78.216968] sysrq: Power Off [ 86s] [ 78.223111] reboot: Power down [ 86s] ### VM INTERACTION END ### [ 86s] [ 86s] goat07 failed "build simtrace2_0.7.0.76.62ad.dsc" at Tue Mar 9 02:26:55 UTC 2021. [ 86s] -- 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 Mar 9 09:22:23 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 9 Mar 2021 09:22:23 +0000 Subject: Change in osmo-bts[master]: l1sap: Transmit pdtch invalid MAC blocks to PCU In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bts/+/23249 to look at the new patch set (#5). Change subject: l1sap: Transmit pdtch invalid MAC blocks to PCU ...................................................................... l1sap: Transmit pdtch invalid MAC blocks to PCU Similar to what we have been doing for TCH channels, we want to make sure all MAC blocks get to the upper layers, even if containing invalid data (flagging it with data_len=0) so that upper layers (osmo-pcu through PCUIF in this case) can rely on FN clock without gaps due to Rx errors. Related: OS#5020 Change-Id: I0b04b013b7bad5ff53d6a969ff0128b37f7f62d5 --- M src/common/l1sap.c M src/common/pcu_sock.c 2 files changed, 4 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/49/23249/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/23249 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0b04b013b7bad5ff53d6a969ff0128b37f7f62d5 Gerrit-Change-Number: 23249 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 9 09:52:06 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 9 Mar 2021 09:52:06 +0000 Subject: Change in libosmocore[master]: stats: Ensure that each osmo_stat_item only reports once per interval In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23167 ) Change subject: stats: Ensure that each osmo_stat_item only reports once per interval ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/c/libosmocore/+/23167/1/src/stats.c File src/stats.c: https://gerrit.osmocom.org/c/libosmocore/+/23167/1/src/stats.c at 708 PS1, Line 708: // comment style https://gerrit.osmocom.org/c/libosmocore/+/23167/1/src/stats.c at 709 PS1, Line 709: do { It could be a regular while() loop, I see no need for do { ... } while (...): while (osmo_stat_item_get_next(...) > 0) { ... } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23167 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I366ab1c66f4ae6363111ea4e41b66b7d5bcade9c Gerrit-Change-Number: 23167 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 09 Mar 2021 09:52: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 Tue Mar 9 10:06:34 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 9 Mar 2021 10:06:34 +0000 Subject: Change in osmo-bts[master]: doc/examples: remove obsolete power control parameters References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/23278 ) Change subject: doc/examples: remove obsolete power control parameters ...................................................................... doc/examples: remove obsolete power control parameters We should not have deprecated parameters in configuration examples. Change-Id: I77cbe68023aa15ccf9829ef14c8cc7bccc84b58d --- M doc/examples/virtual/osmo-bts-virtual.cfg 1 file changed, 0 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/78/23278/1 diff --git a/doc/examples/virtual/osmo-bts-virtual.cfg b/doc/examples/virtual/osmo-bts-virtual.cfg index 79a7b04..8f0df1a 100644 --- a/doc/examples/virtual/osmo-bts-virtual.cfg +++ b/doc/examples/virtual/osmo-bts-virtual.cfg @@ -50,7 +50,6 @@ rtp jitter-buffer 100 paging queue-size 200 paging lifetime 0 - uplink-power-target -75 min-qual-rach 50 min-qual-norm -5 trx 0 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/23278 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I77cbe68023aa15ccf9829ef14c8cc7bccc84b58d Gerrit-Change-Number: 23278 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 Mar 9 10:14:53 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 9 Mar 2021 10:14:53 +0000 Subject: Change in osmo-bts[master]: doc/examples: enable stderr logging for osmo-bts-virtual.cfg References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/23279 ) Change subject: doc/examples: enable stderr logging for osmo-bts-virtual.cfg ...................................................................... doc/examples: enable stderr logging for osmo-bts-virtual.cfg Shippig configuration examples with disabled logging is... not ok. Change-Id: Iecb62b3537afe8906f6f816bfa7cc79b12a1ca26 --- M doc/examples/virtual/osmo-bts-virtual.cfg 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/79/23279/1 diff --git a/doc/examples/virtual/osmo-bts-virtual.cfg b/doc/examples/virtual/osmo-bts-virtual.cfg index 8f0df1a..13bc0e5 100644 --- a/doc/examples/virtual/osmo-bts-virtual.cfg +++ b/doc/examples/virtual/osmo-bts-virtual.cfg @@ -3,7 +3,7 @@ !! ! log stderr - logging filter all 0 + logging filter all 1 logging color 0 logging print category 1 logging timestamp 0 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/23279 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iecb62b3537afe8906f6f816bfa7cc79b12a1ca26 Gerrit-Change-Number: 23279 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 Mar 9 10:22:00 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 9 Mar 2021 10:22:00 +0000 Subject: Change in docker-playground[master]: debian-stretch-jenkins: install osmo-trx depends References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/23280 ) Change subject: debian-stretch-jenkins: install osmo-trx depends ...................................................................... debian-stretch-jenkins: install osmo-trx depends Add liblimesuite-dev and libuhd-dev, so we can successfully build osmo-trx in docker in master-builds and gerrit-verifications. Related: OS#5055 Change-Id: Ieec31fd6a2034c4430be81afd1d370816cd577d5 --- M debian-stretch-jenkins/Dockerfile 1 file changed, 5 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/80/23280/1 diff --git a/debian-stretch-jenkins/Dockerfile b/debian-stretch-jenkins/Dockerfile index fcd093b..d218741 100644 --- a/debian-stretch-jenkins/Dockerfile +++ b/debian-stretch-jenkins/Dockerfile @@ -166,7 +166,9 @@ update-locale LANG=en_US.UTF-8 ENV LANG en_US.UTF-8 -# osmo-remsim needs libulfius which is built in osmocom OBS repos: +# Install packages from Osmocom OBS repositories: +# * osmo-remsim: libulfius +# * osmo-trx: liblimesuite-dev, libuhd-dev ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/Debian_9.0/" COPY Release.key /tmp/Release.key RUN apt-key add /tmp/Release.key && \ @@ -175,6 +177,8 @@ ADD $OSMOCOM_REPO/Release /tmp/Release RUN apt-get update && \ apt-get install -y --no-install-recommends \ + liblimesuite-dev \ + libuhd-dev \ libulfius-dev && \ apt-get clean -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23280 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ieec31fd6a2034c4430be81afd1d370816cd577d5 Gerrit-Change-Number: 23280 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 9 10:26:51 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 9 Mar 2021 10:26:51 +0000 Subject: Change in docker-playground[master]: osmo-remsim-master/Dockerfile: add missing libcsv-devel dependency In-Reply-To: References: Message-ID: fixeria has abandoned this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23263 ) Change subject: osmo-remsim-master/Dockerfile: add missing libcsv-devel dependency ...................................................................... Abandoned looks like somebody already fixed it in master -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23263 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Id15932c554e8bc3f64f0372555ec563f222efe5d Gerrit-Change-Number: 23263 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 9 10:30:31 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 9 Mar 2021 10:30:31 +0000 Subject: Change in docker-playground[master]: osmo-remsim-master/Dockerfile: add missing libcsv-devel dependency In-Reply-To: References: Message-ID: fixeria has restored this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23263 ) Change subject: osmo-remsim-master/Dockerfile: add missing libcsv-devel dependency ...................................................................... Restored -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23263 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Id15932c554e8bc3f64f0372555ec563f222efe5d Gerrit-Change-Number: 23263 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: restore -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 9 10:30:36 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 9 Mar 2021 10:30:36 +0000 Subject: Change in docker-playground[master]: osmo-remsim-master/Dockerfile: add missing libcsv-devel dependency In-Reply-To: References: Message-ID: fixeria has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/docker-playground/+/23263 ) Change subject: osmo-remsim-master/Dockerfile: add missing libcsv-devel dependency ...................................................................... osmo-remsim-master/Dockerfile: add missing libcsv-devel dependency Change-Id: Id15932c554e8bc3f64f0372555ec563f222efe5d --- M osmo-remsim-master/Dockerfile 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/63/23263/2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23263 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Id15932c554e8bc3f64f0372555ec563f222efe5d Gerrit-Change-Number: 23263 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 Tue Mar 9 10:32:36 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 9 Mar 2021 10:32:36 +0000 Subject: Change in docker-playground[master]: osmo-remsim-master/Dockerfile: add missing libcsv-devel dependency In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23263 ) Change subject: osmo-remsim-master/Dockerfile: add missing libcsv-devel dependency ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23263 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Id15932c554e8bc3f64f0372555ec563f222efe5d Gerrit-Change-Number: 23263 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 09 Mar 2021 10:32: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 Mar 9 10:33:04 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 9 Mar 2021 10:33:04 +0000 Subject: Change in docker-playground[master]: debian-stretch-jenkins: install osmo-trx depends In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23280 ) Change subject: debian-stretch-jenkins: install osmo-trx depends ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23280 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ieec31fd6a2034c4430be81afd1d370816cd577d5 Gerrit-Change-Number: 23280 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 09 Mar 2021 10:33: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 Mar 9 10:34:04 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 9 Mar 2021 10:34:04 +0000 Subject: Change in docker-playground[master]: osmo-remsim-master/Dockerfile: add missing libcsv-devel dependency In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23263 ) Change subject: osmo-remsim-master/Dockerfile: add missing libcsv-devel dependency ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23263 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Id15932c554e8bc3f64f0372555ec563f222efe5d Gerrit-Change-Number: 23263 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 09 Mar 2021 10:34: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 Mar 9 10:34:28 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 9 Mar 2021 10:34:28 +0000 Subject: Change in docker-playground[master]: debian-stretch-jenkins: install osmo-trx depends In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23280 ) Change subject: debian-stretch-jenkins: install osmo-trx depends ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23280 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ieec31fd6a2034c4430be81afd1d370816cd577d5 Gerrit-Change-Number: 23280 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 09 Mar 2021 10:34: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 Mar 9 10:34:39 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 9 Mar 2021 10:34:39 +0000 Subject: Change in docker-playground[master]: debian-stretch-jenkins: install osmo-trx depends In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23280 ) Change subject: debian-stretch-jenkins: install osmo-trx depends ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23280 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ieec31fd6a2034c4430be81afd1d370816cd577d5 Gerrit-Change-Number: 23280 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 09 Mar 2021 10:34: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 Mar 9 10:34:44 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 9 Mar 2021 10:34:44 +0000 Subject: Change in docker-playground[master]: osmo-remsim-master/Dockerfile: add missing libcsv-devel dependency In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23263 ) Change subject: osmo-remsim-master/Dockerfile: add missing libcsv-devel dependency ...................................................................... Patch Set 2: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23263 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Id15932c554e8bc3f64f0372555ec563f222efe5d Gerrit-Change-Number: 23263 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 09 Mar 2021 10:34: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 Mar 9 10:34:44 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 9 Mar 2021 10:34:44 +0000 Subject: Change in osmo-ci[master]: ansible/hosts: update rpi4-raspbian10build-* In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23270 ) Change subject: ansible/hosts: update rpi4-raspbian10build-* ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23270 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I5d6588320613711251abcb664a5614ad49215725 Gerrit-Change-Number: 23270 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 09 Mar 2021 10:34: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 Mar 9 10:34:46 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 9 Mar 2021 10:34:46 +0000 Subject: Change in docker-playground[master]: debian-stretch-jenkins: install osmo-trx depends In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23280 ) Change subject: debian-stretch-jenkins: install osmo-trx depends ...................................................................... debian-stretch-jenkins: install osmo-trx depends Add liblimesuite-dev and libuhd-dev, so we can successfully build osmo-trx in docker in master-builds and gerrit-verifications. Related: OS#5055 Change-Id: Ieec31fd6a2034c4430be81afd1d370816cd577d5 --- M debian-stretch-jenkins/Dockerfile 1 file changed, 5 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, approved osmith: Verified diff --git a/debian-stretch-jenkins/Dockerfile b/debian-stretch-jenkins/Dockerfile index fcd093b..d218741 100644 --- a/debian-stretch-jenkins/Dockerfile +++ b/debian-stretch-jenkins/Dockerfile @@ -166,7 +166,9 @@ update-locale LANG=en_US.UTF-8 ENV LANG en_US.UTF-8 -# osmo-remsim needs libulfius which is built in osmocom OBS repos: +# Install packages from Osmocom OBS repositories: +# * osmo-remsim: libulfius +# * osmo-trx: liblimesuite-dev, libuhd-dev ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/Debian_9.0/" COPY Release.key /tmp/Release.key RUN apt-key add /tmp/Release.key && \ @@ -175,6 +177,8 @@ ADD $OSMOCOM_REPO/Release /tmp/Release RUN apt-get update && \ apt-get install -y --no-install-recommends \ + liblimesuite-dev \ + libuhd-dev \ libulfius-dev && \ apt-get clean -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23280 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ieec31fd6a2034c4430be81afd1d370816cd577d5 Gerrit-Change-Number: 23280 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 9 10:34:48 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 9 Mar 2021 10:34:48 +0000 Subject: Change in docker-playground[master]: osmo-remsim-master/Dockerfile: add missing libcsv-devel dependency In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23263 ) Change subject: osmo-remsim-master/Dockerfile: add missing libcsv-devel dependency ...................................................................... osmo-remsim-master/Dockerfile: add missing libcsv-devel dependency Change-Id: Id15932c554e8bc3f64f0372555ec563f222efe5d --- M osmo-remsim-master/Dockerfile 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved osmith: Looks good to me, approved fixeria: Verified diff --git a/osmo-remsim-master/Dockerfile b/osmo-remsim-master/Dockerfile index 6ebc40d..173f243 100644 --- a/osmo-remsim-master/Dockerfile +++ b/osmo-remsim-master/Dockerfile @@ -45,6 +45,7 @@ ;; \ centos*) \ dnf install -y \ + libcsv-devel \ "pkgconfig(libasn1c)" \ "pkgconfig(libosmoabis)" \ "pkgconfig(libosmocore)" \ -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23263 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Id15932c554e8bc3f64f0372555ec563f222efe5d Gerrit-Change-Number: 23263 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 9 10:35:06 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 9 Mar 2021 10:35:06 +0000 Subject: Change in osmo-ci[master]: jobs/*: update references to rpi4 nodes In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23271 ) Change subject: jobs/*: update references to rpi4 nodes ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23271 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I5b2af801baeb510e7784d6bcd7cabfda4962af0c Gerrit-Change-Number: 23271 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 09 Mar 2021 10:35: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 Mar 9 10:35:37 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 9 Mar 2021 10:35:37 +0000 Subject: Change in osmo-ci[master]: ansible: fix apt deprecation warning about loops In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23272 ) Change subject: ansible: fix apt deprecation warning about loops ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23272 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I57b9ce690e8167249468954f3e62d14c7a92fcfc Gerrit-Change-Number: 23272 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 09 Mar 2021 10:35: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 Mar 9 10:35:50 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 9 Mar 2021 10:35:50 +0000 Subject: Change in osmo-ci[master]: ansible: explicitly give jenkins user UID=1000 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23274 ) Change subject: ansible: explicitly give jenkins user UID=1000 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23274 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I6efc9e74049e179d2f86655217195e76789ba77d Gerrit-Change-Number: 23274 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 09 Mar 2021 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 Tue Mar 9 10:36:05 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 9 Mar 2021 10:36:05 +0000 Subject: Change in osmo-ci[master]: ansible: remove raspbian default user "pi" In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23275 ) Change subject: ansible: remove raspbian default user "pi" ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23275 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: If0cee6d35016c487eca02752625732dd03fad350 Gerrit-Change-Number: 23275 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 09 Mar 2021 10:36: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 Mar 9 10:36:29 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 9 Mar 2021 10:36:29 +0000 Subject: Change in osmo-ci[master]: ansible/hosts: update rpi4-raspbian10build-* In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23270 ) Change subject: ansible/hosts: update rpi4-raspbian10build-* ...................................................................... Patch Set 2: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23270 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I5d6588320613711251abcb664a5614ad49215725 Gerrit-Change-Number: 23270 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 09 Mar 2021 10:36: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 Mar 9 10:36:31 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 9 Mar 2021 10:36:31 +0000 Subject: Change in osmo-ci[master]: jobs/*: update references to rpi4 nodes In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23271 ) Change subject: jobs/*: update references to rpi4 nodes ...................................................................... Patch Set 2: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23271 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I5b2af801baeb510e7784d6bcd7cabfda4962af0c Gerrit-Change-Number: 23271 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 09 Mar 2021 10:36:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 9 10:36:33 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 9 Mar 2021 10:36:33 +0000 Subject: Change in osmo-ci[master]: ansible: fix apt deprecation warning about loops In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23272 ) Change subject: ansible: fix apt deprecation warning about loops ...................................................................... Patch Set 2: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23272 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I57b9ce690e8167249468954f3e62d14c7a92fcfc Gerrit-Change-Number: 23272 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 09 Mar 2021 10:36:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 9 10:36:35 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 9 Mar 2021 10:36:35 +0000 Subject: Change in osmo-ci[master]: ansible: explicitly give jenkins user UID=1000 In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23274 ) Change subject: ansible: explicitly give jenkins user UID=1000 ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23274 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I6efc9e74049e179d2f86655217195e76789ba77d Gerrit-Change-Number: 23274 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 09 Mar 2021 10:36: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 Mar 9 10:36:37 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 9 Mar 2021 10:36:37 +0000 Subject: Change in osmo-ci[master]: ansible: remove raspbian default user "pi" In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23275 ) Change subject: ansible: remove raspbian default user "pi" ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23275 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: If0cee6d35016c487eca02752625732dd03fad350 Gerrit-Change-Number: 23275 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 09 Mar 2021 10:36: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 Mar 9 10:36:43 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 9 Mar 2021 10:36:43 +0000 Subject: Change in osmo-ci[master]: ansible/hosts: update rpi4-raspbian10build-* In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23270 ) Change subject: ansible/hosts: update rpi4-raspbian10build-* ...................................................................... ansible/hosts: update rpi4-raspbian10build-* Replace old rpi4-deb9build-ansible with the new entries: * rpi4-raspbian10build-1 * rpi4-raspbian10build-2 * rpi4-raspbian10build-3 The new jenkins nodes do not use lxc anymore (see related issue). Related: OS#5055 Change-Id: I5d6588320613711251abcb664a5614ad49215725 --- M ansible/hosts 1 file changed, 3 insertions(+), 1 deletion(-) Approvals: pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved osmith: Verified diff --git a/ansible/hosts b/ansible/hosts index 5c84123..892428b 100644 --- a/ansible/hosts +++ b/ansible/hosts @@ -13,7 +13,9 @@ build2-deb10build-ansible ansible_host=2a01:4f8:10b:2ad9::1:10 osmocom_jenkins_slave_fstrim=True host2-deb9build-ansible ansible_host=2a01:4f8:120:8470::1:3 osmocom_jenkins_slave_fstrim=True gtp0-deb9build ansible_host=10.34.2.147 osmocom_jenkins_slave_fstrim=True -rpi4-deb9build-ansible ansible_host=10.9.25.51 +rpi4-raspbian10build-ansible-1 ansible_host=10.9.25.50 +rpi4-raspbian10build-ansible-2 ansible_host=10.9.25.60 +rpi4-raspbian10build-ansible-3 ansible_host=10.9.25.70 [simtester] simtest ansible_host=10.9.25.80 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23270 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I5d6588320613711251abcb664a5614ad49215725 Gerrit-Change-Number: 23270 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 9 10:36:43 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 9 Mar 2021 10:36:43 +0000 Subject: Change in osmo-ci[master]: jobs/*: update references to rpi4 nodes In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23271 ) Change subject: jobs/*: update references to rpi4 nodes ...................................................................... jobs/*: update references to rpi4 nodes Use the new label that matches all three rpi4 nodes in master-builds and gerrit-verifications (so the builds can run on any of them). Use the names of the three nodes in update-osmo-*-on-slaves, so all of them get updated. Related: https://jenkins.osmocom.org/jenkins/label/rpi4-raspbian10/ Related: OS#5055 Change-Id: I5b2af801baeb510e7784d6bcd7cabfda4962af0c --- M jobs/gerrit-verifications.yml M jobs/master-builds.yml M jobs/update-osmo-ci-on-slaves.yml M jobs/update-osmo-python-on-slaves.yml 4 files changed, 20 insertions(+), 16 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved osmith: Verified diff --git a/jobs/gerrit-verifications.yml b/jobs/gerrit-verifications.yml index aa8fc76..fbc3b5b 100644 --- a/jobs/gerrit-verifications.yml +++ b/jobs/gerrit-verifications.yml @@ -91,7 +91,7 @@ - osmo-bsc - osmo-bts: - slave_axis: !!python/tuple [osmocom-master-debian9, rpi4-deb9build-ansible] + slave_axis: !!python/tuple [osmocom-master-debian9, rpi4-raspbian10] a1_name: FIRMWARE_VERSION a1: !!python/tuple [master, femtobts_v2.7, superfemto_v2.4, superfemto_v3.0.1pre, superfemto_v3.1, superfemto_v5.1, v2017.01, litecell15, oc2g, oc2g-next] a2_name: BTS_MODEL @@ -100,7 +100,7 @@ a3: !!python/tuple ["1", "0"] combination_filter: > (FIRMWARE_VERSION == "master" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") || - (FIRMWARE_VERSION == "master" && BTS_MODEL == "trx" && WITH_MANUALS == "0" && label == "rpi4-deb9build-ansible") || + (FIRMWARE_VERSION == "master" && BTS_MODEL == "trx" && WITH_MANUALS == "0" && label == "rpi4-raspbian10") || (FIRMWARE_VERSION == "femtobts_v2.7" && BTS_MODEL == "sysmo" && WITH_MANUALS == "1" && label == "osmocom-master-debian9") || (FIRMWARE_VERSION == "superfemto_v2.4" && BTS_MODEL == "sysmo" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") || (FIRMWARE_VERSION == "superfemto_v3.0.1pre" && BTS_MODEL == "sysmo" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") || @@ -167,7 +167,7 @@ - osmo-pcap - osmo-pcu: - slave_axis: !!python/tuple [osmocom-master-debian9, rpi4-deb9build-ansible] + slave_axis: !!python/tuple [osmocom-master-debian9, rpi4-raspbian10] a1_name: FIRMWARE_VERSION a1: !!python/tuple [master, v2017.01, litecell15, oc2g] a2_name: with_vty @@ -183,7 +183,7 @@ (with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="litecell15" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") || (with_vty == "True" && with_dsp == "oc2g" && FIRMWARE_VERSION=="oc2g" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") || (with_vty == "False" && with_dsp == "none" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "1" && label == "osmocom-master-debian9") || - (with_vty == "False" && with_dsp == "none" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "0" && label == "rpi4-deb9build-ansible") + (with_vty == "False" && with_dsp == "none" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "0" && label == "rpi4-raspbian10") cmd: | {docker_run} \ -e FIRMWARE_VERSION="$FIRMWARE_VERSION" \ @@ -218,7 +218,7 @@ - osmo-sip-connector - osmo-trx: - slave_axis: !!python/tuple [osmocom-master-debian9,rpi4-deb9build-ansible] + slave_axis: !!python/tuple [osmocom-master-debian9,rpi4-raspbian10] a1_name: INSTR a1: !!python/tuple [--with-sse, --without-sse --with-neon, --with-neon-vfpv4] a2_name: WITH_MANUALS @@ -226,8 +226,8 @@ combination_filter: > (INSTR == "--without-sse" && WITH_MANUALS == "1" && label == "osmocom-master-debian9") || (INSTR == "--with-sse" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") || - (INSTR == "--with-neon" && WITH_MANUALS == "0" && label == "rpi4-deb9build-ansible") || - (INSTR == "--with-neon-vfpv4" && WITH_MANUALS == "0" && label == "rpi4-deb9build-ansible") + (INSTR == "--with-neon" && WITH_MANUALS == "0" && label == "rpi4-raspbian10") || + (INSTR == "--with-neon-vfpv4" && WITH_MANUALS == "0" && label == "rpi4-raspbian10") cmd: | export ASCIIDOC_WARNINGS_CHECK=1 export OSMO_GSM_MANUALS_DIR="$HOME/osmo-gsm-manuals" diff --git a/jobs/master-builds.yml b/jobs/master-builds.yml index fb23553..fd99c85 100644 --- a/jobs/master-builds.yml +++ b/jobs/master-builds.yml @@ -178,7 +178,7 @@ - osmo-bsc - osmo-bts: - slave_axis: !!python/tuple [osmocom-master-debian9, rpi4-deb9build-ansible] + slave_axis: !!python/tuple [osmocom-master-debian9, rpi4-raspbian10] a1_name: FIRMWARE_VERSION a1: !!python/tuple [master, femtobts_v2.7, superfemto_v2.4, superfemto_v3.0.1pre, superfemto_v3.1, superfemto_v5.1, v2017.01, origin/nrw/litecell15, origin/nrw/oc2g] a2_name: BTS_MODEL @@ -187,7 +187,7 @@ a3: !!python/tuple ["1", "0"] combination_filter: > (FIRMWARE_VERSION == "master" && WITH_MANUALS == "1" && label == "osmocom-master-debian9") || - (FIRMWARE_VERSION == "master" && BTS_MODEL == "trx" && WITH_MANUALS == "0" && label == "rpi4-deb9build-ansible") || + (FIRMWARE_VERSION == "master" && BTS_MODEL == "trx" && WITH_MANUALS == "0" && label == "rpi4-raspbian10") || (FIRMWARE_VERSION == "femtobts_v2.7" && BTS_MODEL == "sysmo" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") || (FIRMWARE_VERSION == "superfemto_v2.4" && BTS_MODEL == "sysmo" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") || (FIRMWARE_VERSION == "superfemto_v3.0.1pre" && BTS_MODEL == "sysmo" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") || @@ -268,7 +268,7 @@ - osmo-pcap - osmo-pcu: - slave_axis: !!python/tuple [osmocom-master-debian9, rpi4-deb9build-ansible] + slave_axis: !!python/tuple [osmocom-master-debian9, rpi4-raspbian10] a1_name: FIRMWARE_VERSION a1: !!python/tuple [master, v2017.01, origin/nrw/litecell15] a2_name: with_vty @@ -283,7 +283,7 @@ (with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="v2017.01" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") || (with_vty == "True" && with_dsp == "lc15" && FIRMWARE_VERSION=="origin/nrw/litecell15" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") || (with_vty == "False" && with_dsp == "none" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "1" && label == "osmocom-master-debian9") || - (with_vty == "False" && with_dsp == "none" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "0" && label == "rpi4-deb9build-ansible") + (with_vty == "False" && with_dsp == "none" && FIRMWARE_VERSION=="master" && WITH_MANUALS == "0" && label == "rpi4-raspbian10") cmd: | {docker_run} \ -e FIRMWARE_VERSION="$FIRMWARE_VERSION" \ @@ -313,7 +313,7 @@ email: gerrit-log at lists.osmocom.org laforge at gnumonks.org 246tnt at gmail.com - osmo-trx: - slave_axis: !!python/tuple [osmocom-master-debian9,rpi4-deb9build-ansible] + slave_axis: !!python/tuple [osmocom-master-debian9,rpi4-raspbian10] a1_name: INSTR a1: !!python/tuple [--with-sse, --without-sse, --with-neon, --with-neon-vfpv4] a2_name: WITH_MANUALS @@ -321,8 +321,8 @@ combination_filter: > (INSTR == "--without-sse" && WITH_MANUALS == "1" && label == "osmocom-master-debian9") || (INSTR == "--with-sse" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") || - (INSTR == "--with-neon" && WITH_MANUALS == "0" && label == "rpi4-deb9build-ansible") || - (INSTR == "--with-neon-vfpv4" && WITH_MANUALS == "0" && label == "rpi4-deb9build-ansible") + (INSTR == "--with-neon" && WITH_MANUALS == "0" && label == "rpi4-raspbian10") || + (INSTR == "--with-neon-vfpv4" && WITH_MANUALS == "0" && label == "rpi4-raspbian10") cmd: | export ASCIIDOC_WARNINGS_CHECK=1 export OSMO_GSM_MANUALS_DIR="$HOME/osmo-gsm-manuals" diff --git a/jobs/update-osmo-ci-on-slaves.yml b/jobs/update-osmo-ci-on-slaves.yml index 3ff4fa4..254744e 100644 --- a/jobs/update-osmo-ci-on-slaves.yml +++ b/jobs/update-osmo-ci-on-slaves.yml @@ -11,7 +11,9 @@ - host2-deb9build-ansible - build2-deb9build-ansible - build2-deb10build-ansible - - rpi4-deb9build-ansible + - rpi4-raspbian10build-ansible-1 + - rpi4-raspbian10build-ansible-2 + - rpi4-raspbian10build-ansible-3 - gtp0-deb9build - gtp0-deb10build32 - gtp0-deb10fr diff --git a/jobs/update-osmo-python-on-slaves.yml b/jobs/update-osmo-python-on-slaves.yml index 6eaa73a..b65604e 100644 --- a/jobs/update-osmo-python-on-slaves.yml +++ b/jobs/update-osmo-python-on-slaves.yml @@ -10,7 +10,9 @@ - host2-deb9build-ansible - build2-deb9build-ansible - build2-deb10build-ansible - - rpi4-deb9build-ansible + - rpi4-raspbian10build-ansible-1 + - rpi4-raspbian10build-ansible-2 + - rpi4-raspbian10build-ansible-3 properties: - build-discarder: days-to-keep: 30 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23271 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I5b2af801baeb510e7784d6bcd7cabfda4962af0c Gerrit-Change-Number: 23271 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 9 10:36:44 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 9 Mar 2021 10:36:44 +0000 Subject: Change in osmo-ci[master]: ansible: fix apt deprecation warning about loops In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23272 ) Change subject: ansible: fix apt deprecation warning about loops ...................................................................... ansible: fix apt deprecation warning about loops Fix deprecation warnings like the following: [DEPRECATION WARNING]: Invoking "apt" only once while using a loop via squash_actions is deprecated. Instead of using a loop to supply multiple items and specifying `name: "{{ item }}"`, please use `name: ['libjansson-dev', 'libulfius-dev']` and remove the loop. This feature will be removed in version 2.11. Related: OS#5055 Change-Id: I57b9ce690e8167249468954f3e62d14c7a92fcfc --- M ansible/roles/docker/tasks/main.yml M ansible/roles/gsm-tester-bts/tasks/main.yml M ansible/roles/gsm-tester/tasks/main.yml M ansible/roles/install-coverity/tasks/main.yml M ansible/roles/install-poky-sdk/tasks/main.yml M ansible/roles/osmocom-jenkins-slave/tasks/debian.yml M ansible/roles/osmocom-jenkins-slave/tasks/osmocom_build_deps.yml M ansible/roles/osmocom-workstation/tasks/main.yml M ansible/setup-gsm-tester.yml M ansible/setup-jenkins-slave.yml M ansible/setup-simtest.yml 11 files changed, 260 insertions(+), 288 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved osmith: Verified diff --git a/ansible/roles/docker/tasks/main.yml b/ansible/roles/docker/tasks/main.yml index c38d38b..a268d2b 100644 --- a/ansible/roles/docker/tasks/main.yml +++ b/ansible/roles/docker/tasks/main.yml @@ -2,14 +2,13 @@ - name: add https support apt: - name: "{{ item }}" + name: + - apt-transport-https + - gnupg + - cron + - ca-certificates cache_valid_time: 3600 update_cache: yes - with_items: - - apt-transport-https - - gnupg - - cron - - ca-certificates - name: add docker gpg key to apt keyring apt_key: diff --git a/ansible/roles/gsm-tester-bts/tasks/main.yml b/ansible/roles/gsm-tester-bts/tasks/main.yml index e979605..f1377f0 100644 --- a/ansible/roles/gsm-tester-bts/tasks/main.yml +++ b/ansible/roles/gsm-tester-bts/tasks/main.yml @@ -15,12 +15,11 @@ - name: usrp install apt dependecies apt: - name: "{{ item }}" + name: + - libuhd-dev + - uhd-host cache_valid_time: 3600 update_cache: yes - with_items: - - libuhd-dev - - uhd-host register: uhd_installed - name: usrp download firmware @@ -48,8 +47,7 @@ - name: install osmocom utilities apt: - name: "{{ item }}" - with_items: - - abisip-find - - osmo-bsc-ipaccess-utils - - osmo-bsc-bs11-utils + name: + - abisip-find + - osmo-bsc-ipaccess-utils + - osmo-bsc-bs11-utils diff --git a/ansible/roles/gsm-tester/tasks/main.yml b/ansible/roles/gsm-tester/tasks/main.yml index eaf50fd..418509e 100644 --- a/ansible/roles/gsm-tester/tasks/main.yml +++ b/ansible/roles/gsm-tester/tasks/main.yml @@ -9,41 +9,39 @@ - name: install osmocom runtime dependencies apt: - name: "{{ item }}" - with_items: - - build-essential - - git - - automake - - libdbi-dev - - libdbd-sqlite3 - - sqlite3 - - libsctp-dev - - libortp-dev - - libpcap-dev - - libc-ares-dev - - libtool - - shtool - - pkg-config - - libtalloc-dev - - libpcsclite-dev - - libgnutls28-dev - - libmnl-dev - - libssl-dev - - libczmq-dev - - libsofia-sip-ua-glib-dev - - libsqlite3-dev - - libasound2-dev - - liblua5.3-dev - - lua-socket + name: + - build-essential + - git + - automake + - libdbi-dev + - libdbd-sqlite3 + - sqlite3 + - libsctp-dev + - libortp-dev + - libpcap-dev + - libc-ares-dev + - libtool + - shtool + - pkg-config + - libtalloc-dev + - libpcsclite-dev + - libgnutls28-dev + - libmnl-dev + - libssl-dev + - libczmq-dev + - libsofia-sip-ua-glib-dev + - libsqlite3-dev + - libasound2-dev + - liblua5.3-dev + - lua-socket tags: - osmocom # mdbus2 is not available in debian10. TODO: compile it for >9 - name: install mdbus2 apt: - name: "{{ item }}" - with_items: - - mdbus2 + name: + - mdbus2 when: ansible_distribution == 'Debian' and ansible_distribution_version <= '9' tags: - ofono @@ -51,35 +49,32 @@ - name: install srsLTE build-only dependencies apt: - name: "{{ item }}" - with_items: - - cmake - - libfftw3-dev - - libmbedtls-dev - - libboost-program-options-dev - - libconfig++-dev - - libsctp-dev - - libpcsclite-dev - - libuhd-dev - - libczmq-dev - - libsoapysdr-dev + name: + - cmake + - libfftw3-dev + - libmbedtls-dev + - libboost-program-options-dev + - libconfig++-dev + - libsctp-dev + - libpcsclite-dev + - libuhd-dev + - libczmq-dev + - libsoapysdr-dev tags: - srs - name: install srsLTE runtime extra dependencies (Debian) apt: - name: "{{ item }}" - with_items: - - soapysdr0.7-module-lms7 + name: + - soapysdr0.7-module-lms7 when: ansible_distribution == 'Debian' tags: - srs - name: install srsLTE runtime extra dependencies (Ubuntu) apt: - name: "{{ item }}" - with_items: - - soapysdr0.6-module-lms7 + name: + - soapysdr0.6-module-lms7 when: ansible_distribution == 'Ubuntu' tags: - srs @@ -101,9 +96,8 @@ - name: install uhub dependencies apt: - name: "{{ item }}" - with_items: - - libusb-1.0-0-dev + name: + - libusb-1.0-0-dev tags: - modem @@ -172,9 +166,8 @@ - name: install patchelf build dependencies apt: - name: "{{ item }}" - with_items: - - autoconf + name: + - autoconf tags: - patchelf - osmo-gsm-tester-proc @@ -208,34 +201,32 @@ - name: install gsm tester dependencies (main) apt: - name: "{{ item }}" - with_items: - - sqlite3 - - python3 - - python3-setuptools - - python3-yaml - - python3-mako - - python3-gi - - python3-watchdog - - python3-numpy - - python3-websocket - - ofono - - patchelf - - libcap2-bin - - python3-pip - - udhcpc + name: + - sqlite3 + - python3 + - python3-setuptools + - python3-yaml + - python3-mako + - python3-gi + - python3-watchdog + - python3-numpy + - python3-websocket + - ofono + - patchelf + - libcap2-bin + - python3-pip + - udhcpc tags: - osmo-gsm-tester-main - name: install gsm tester dependencies (proc) apt: - name: "{{ item }}" - with_items: - - tcpdump - - patchelf - - libcap2-bin - - iperf3 - - sudo + name: + - tcpdump + - patchelf + - libcap2-bin + - iperf3 + - sudo tags: - osmo-gsm-tester-proc diff --git a/ansible/roles/install-coverity/tasks/main.yml b/ansible/roles/install-coverity/tasks/main.yml index 55fa77f..5baf6f3 100644 --- a/ansible/roles/install-coverity/tasks/main.yml +++ b/ansible/roles/install-coverity/tasks/main.yml @@ -1,9 +1,8 @@ --- - name: install coverity-required debian packages apt: - name: "{{ item }}" - with_items: - - curl + name: + - curl - name: copy coverity installer copy: diff --git a/ansible/roles/install-poky-sdk/tasks/main.yml b/ansible/roles/install-poky-sdk/tasks/main.yml index ff65c1b..85b3c94 100644 --- a/ansible/roles/install-poky-sdk/tasks/main.yml +++ b/ansible/roles/install-poky-sdk/tasks/main.yml @@ -1,12 +1,11 @@ --- - name: install bzip2 and tar apt: - name: "{{ item }}" + name: + - tar + - bzip2 cache_valid_time: 3600 update_cache: yes - with_items: - - tar - - bzip2 - name: copy poky installer copy: diff --git a/ansible/roles/osmocom-jenkins-slave/tasks/debian.yml b/ansible/roles/osmocom-jenkins-slave/tasks/debian.yml index a8a36a7..0c762e9 100644 --- a/ansible/roles/osmocom-jenkins-slave/tasks/debian.yml +++ b/ansible/roles/osmocom-jenkins-slave/tasks/debian.yml @@ -2,19 +2,18 @@ - name: install jenkins utilities apt: - name: "{{ item }}" + name: + - htop + - virt-manager + - qemu + - qemu-user-static + - qemu-system-arm + - proot + - debootstrap + - fakeroot cache_valid_time: 3600 update_cache: yes install_recommends: no - with_items: - - htop - - virt-manager - - qemu - - qemu-user-static - - qemu-system-arm - - proot - - debootstrap - - fakeroot when: install_jenkins_utilities - name: stop checking release validity for old stable @@ -41,20 +40,18 @@ - name: install java for stretch apt: - name: "{{ item }}" + name: + - openjdk-8-jre-headless cache_valid_time: 3600 update_cache: yes install_recommends: no - with_items: - - openjdk-8-jre-headless when: ansible_distribution == 'Debian' and ansible_distribution_version == '9' - name: install java for buster and later apt: - name: "{{ item }}" + name: + - openjdk-11-jre-headless cache_valid_time: 3600 update_cache: yes install_recommends: no - with_items: - - openjdk-11-jre-headless when: ansible_distribution == 'Debian' and ansible_distribution_version|int >= 10 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 54dcdc7..816218f 100644 --- a/ansible/roles/osmocom-jenkins-slave/tasks/osmocom_build_deps.yml +++ b/ansible/roles/osmocom-jenkins-slave/tasks/osmocom_build_deps.yml @@ -1,103 +1,101 @@ --- - name: install build utilities apt: - name: "{{ item }}" + name: + - asciidoc + - autoconf + - autoconf-archive + - automake + - bc + - bison + - coccinelle + - cppcheck + - debhelper + - devscripts + - dh-autoreconf + - dh-systemd + - doxygen + - flex + - g++ + - gawk + - gcc + - gcc-arm-none-eabi + - git + - git-buildpackage + - graphviz + - libcsv-dev + - libtool + - libboost-all-dev + - make + - mscgen + - osc + - pkgconf + - python-minimal + - python-setuptools + - python3 + - python3-setuptools + - stow + - texinfo + # by gsm-manuals + - python3-nwdiag + - python-pychart + - inkscape + # by gapk + - libasound-dev + - libopencore-amrnb-dev + # by LimeSuite + - cmake + - patchelf + # by libusrp + - sdcc + # by mingw upload job + - rsync cache_valid_time: 3600 update_cache: yes - with_items: - - asciidoc - - autoconf - - autoconf-archive - - automake - - bc - - bison - - coccinelle - - cppcheck - - debhelper - - devscripts - - dh-autoreconf - - dh-systemd - - doxygen - - flex - - g++ - - gawk - - gcc - - gcc-arm-none-eabi - - git - - git-buildpackage - - graphviz - - libcsv-dev - - libtool - - libboost-all-dev - - make - - mscgen - - osc - - pkgconf - - python-minimal - - python-setuptools - - python3 - - python3-setuptools - - stow - - texinfo - # by gsm-manuals - - python3-nwdiag - - python-pychart - - inkscape - # by gapk - - libasound-dev - - libopencore-amrnb-dev - # by LimeSuite - - cmake - - patchelf - # by libusrp - - sdcc - # by mingw upload job - - rsync - name: install build dependencies and libraries apt: - name: "{{ item }}" + name: + - dahdi-source + - docbook5-xml + - libboost-dev + - libc-ares-dev + - libdbd-sqlite3 + - libdbi-dev + - libffi-dev + - libffi-dev + - libfftw3-dev + - libgmp-dev + - libgnutls28-dev + - libgps-dev + - libgsm1-dev + - libnl-3-dev + - libnl-route-3-dev + - libmnl-dev + # by osmo-sysmon + - liboping-dev + - libncurses5-dev + - libortp-dev + - libpcap-dev + - libpcsclite-dev + - libreadline-dev + - libsctp-dev + - libsigsegv-dev + - libsnmp-dev + - libsofia-sip-ua-glib-dev + - libsqlite3-dev + - libssl-dev + - libsystemd-dev + - libtalloc-dev + - libuhd-dev + - libusb-1.0-0-dev + - libusb-dev + - libzmq3-dev + - sqlite3 + - libaio-dev cache_valid_time: 3600 update_cache: yes install_recommends: no - with_items: - - dahdi-source - - docbook5-xml - - libboost-dev - - libc-ares-dev - - libdbd-sqlite3 - - libdbi-dev - - libffi-dev - - libffi-dev - - libfftw3-dev - - libgmp-dev - - libgnutls28-dev - - libgps-dev - - libgsm1-dev - - libnl-3-dev - - libnl-route-3-dev - - libmnl-dev - # by osmo-sysmon - - liboping-dev - - libncurses5-dev - - libortp-dev - - libpcap-dev - - libpcsclite-dev - - libreadline-dev - - libsctp-dev - - libsigsegv-dev - - libsnmp-dev - - libsofia-sip-ua-glib-dev - - libsqlite3-dev - - libssl-dev - - libsystemd-dev - - libtalloc-dev - - libuhd-dev - - libusb-1.0-0-dev - - libusb-dev - - libzmq3-dev - - sqlite3 - - libaio-dev - name: install liblua for jessie apt: @@ -110,65 +108,60 @@ - name: install liblua for stretch or later apt: - name: "{{ item }}" + name: + - liblua5.3-dev cache_valid_time: 3600 update_cache: yes install_recommends: no - with_items: - - liblua5.3-dev when: ansible_distribution == 'Debian' and ansible_distribution_version|int >= 9 - name: install liblimesuite-dev for stretch or later apt: - name: "{{ item }}" + name: + - liblimesuite-dev cache_valid_time: 3600 update_cache: yes install_recommends: no - with_items: - - liblimesuite-dev when: ansible_distribution == 'Debian' and ansible_distribution_version|int >= 9 - name: install osmo-remsim dependencies apt: - name: "{{ item }}" + name: + - libjansson-dev + - libulfius-dev cache_valid_time: 3600 update_cache: yes - with_items: - - libjansson-dev - - libulfius-dev when: ansible_distribution == 'Debian' and ansible_distribution_version|int >= 9 - name: install srsLTE build dependencies apt: - name: "{{ item }}" + name: + - cmake + - libfftw3-dev + - libmbedtls-dev + - libboost-program-options-dev + - libconfig++-dev + - libsctp-dev + - libpcsclite-dev + - libuhd-dev + - libczmq-dev + - libsoapysdr-dev cache_valid_time: 3600 update_cache: yes - with_items: - - cmake - - libfftw3-dev - - libmbedtls-dev - - libboost-program-options-dev - - libconfig++-dev - - libsctp-dev - - libpcsclite-dev - - libuhd-dev - - libczmq-dev - - libsoapysdr-dev when: ansible_distribution == 'Debian' and ansible_distribution_version|int >= 9 - name: install open5gs build dependencies apt: - name: "{{ item }}" + name: + - meson + - ninja-build + - libgcrypt-dev + - libidn11-dev + - libmongoc-dev + - libbson-dev + - libyaml-dev cache_valid_time: 3600 update_cache: yes - with_items: - - meson - - ninja-build - - libgcrypt-dev - - libidn11-dev - - libmongoc-dev - - libbson-dev - - libyaml-dev when: ansible_distribution == 'Debian' and ansible_distribution_version|int >= 10 - name: download osmo-python-tests for py2 diff --git a/ansible/roles/osmocom-workstation/tasks/main.yml b/ansible/roles/osmocom-workstation/tasks/main.yml index d68f956..ae29111 100644 --- a/ansible/roles/osmocom-workstation/tasks/main.yml +++ b/ansible/roles/osmocom-workstation/tasks/main.yml @@ -14,35 +14,34 @@ - name: install distribution packages apt: - name: "{{ item }}" + name: + - iceweasel + - vim + - evince + - valgrind + - gdb + - libc6-dbg + - wireshark + - tcpdump + - ccache + - gnupg + - openssh-client + - openssh-server + - console-common + - console-data + - meld + - emacs + - gitk + - okular + - libreoffice-calc + - libreoffice-draw + - libreoffice-impress + - libreoffice-writer + - gnumeric + - openvpn + - fvwm + - xfce4 + - network-manager + - modemmanager cache_valid_time: 3600 update_cache: yes - with_items: - - iceweasel - - vim - - evince - - valgrind - - gdb - - libc6-dbg - - wireshark - - tcpdump - - ccache - - gnupg - - openssh-client - - openssh-server - - console-common - - console-data - - meld - - emacs - - gitk - - okular - - libreoffice-calc - - libreoffice-draw - - libreoffice-impress - - libreoffice-writer - - gnumeric - - openvpn - - fvwm - - xfce4 - - network-manager - - modemmanager diff --git a/ansible/setup-gsm-tester.yml b/ansible/setup-gsm-tester.yml index 43ef753..26285df 100644 --- a/ansible/setup-gsm-tester.yml +++ b/ansible/setup-gsm-tester.yml @@ -5,16 +5,15 @@ tasks: - name: install common utilities apt: - name: "{{ item }}" + name: + - vim + - tmux + - screen + - ca-certificates + - wget + - curl cache_valid_time: 3600 update_cache: yes - with_items: - - vim - - tmux - - screen - - ca-certificates - - wget - - curl roles: - name: gsm-tester tags: diff --git a/ansible/setup-jenkins-slave.yml b/ansible/setup-jenkins-slave.yml index 350a40f..8565530 100644 --- a/ansible/setup-jenkins-slave.yml +++ b/ansible/setup-jenkins-slave.yml @@ -7,14 +7,13 @@ tasks: - name: install common utilities apt: - name: "{{ item }}" + name: + - vim + - tmux + - screen + - ca-certificates cache_valid_time: 3600 update_cache: yes - with_items: - - vim - - tmux - - screen - - ca-certificates roles: - name: docker jenkins_user: osmocom-build diff --git a/ansible/setup-simtest.yml b/ansible/setup-simtest.yml index 8ab6f7e..6eb67fc 100644 --- a/ansible/setup-simtest.yml +++ b/ansible/setup-simtest.yml @@ -10,17 +10,16 @@ - name: install common utilities apt: - name: "{{ item }}" + name: + - vim + - ca-certificates + - python3-minimal + - python3-setuptools + - python3-pip + - python3-serial + - python3-pyscard + - virtualenv install_recommends: no - with_items: - - vim - - ca-certificates - - python3-minimal - - python3-setuptools - - python3-pip - - python3-serial - - python3-pyscard - - virtualenv roles: - name: osmocom-jenkins-slave -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23272 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I57b9ce690e8167249468954f3e62d14c7a92fcfc Gerrit-Change-Number: 23272 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 9 10:36:46 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 9 Mar 2021 10:36:46 +0000 Subject: Change in osmo-ci[master]: ansible: explicitly give jenkins user UID=1000 In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23274 ) Change subject: ansible: explicitly give jenkins user UID=1000 ...................................................................... ansible: explicitly give jenkins user UID=1000 docker-playground.git assumes that its containers run as UID=1000, otherwise some will fail with errors like: + osmo-clean-workspace.sh + chmod -R +w . chmod: changing permissions of '.': Operation not permitted Make this assumption explicit with "uid: 1000" in "add user jenkins". This causes ansible to verify that the UID is really 1000, and if it is not, it changes the UID. A follow-up patch will remove Raspbian's default user of the same UID. Related: OS#5055 Change-Id: I6efc9e74049e179d2f86655217195e76789ba77d --- M ansible/roles/osmocom-jenkins-slave/tasks/main.yml 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved osmith: Verified diff --git a/ansible/roles/osmocom-jenkins-slave/tasks/main.yml b/ansible/roles/osmocom-jenkins-slave/tasks/main.yml index b7fa2d3..3a5cafa 100644 --- a/ansible/roles/osmocom-jenkins-slave/tasks/main.yml +++ b/ansible/roles/osmocom-jenkins-slave/tasks/main.yml @@ -11,6 +11,7 @@ ssh_key_bits: 4096 ssh_key_type: rsa shell: /bin/bash + uid: 1000 - name: setup jenkins ssh key authorized_key: -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23274 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I6efc9e74049e179d2f86655217195e76789ba77d Gerrit-Change-Number: 23274 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 9 10:36:46 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 9 Mar 2021 10:36:46 +0000 Subject: Change in osmo-ci[master]: ansible: remove raspbian default user "pi" In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23275 ) Change subject: ansible: remove raspbian default user "pi" ...................................................................... ansible: remove raspbian default user "pi" Add a new subtask that deletes Raspbian's default user "pi" with UID=1000, so we can use the UID for the jenkins user. When the ansible playbook is running, root access via ssh is already configured, so we don't need the user "pi" anymore. Related: OS#5055 Change-Id: If0cee6d35016c487eca02752625732dd03fad350 --- M ansible/roles/osmocom-jenkins-slave/tasks/main.yml 1 file changed, 9 insertions(+), 0 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved osmith: Verified diff --git a/ansible/roles/osmocom-jenkins-slave/tasks/main.yml b/ansible/roles/osmocom-jenkins-slave/tasks/main.yml index 3a5cafa..2623201 100644 --- a/ansible/roles/osmocom-jenkins-slave/tasks/main.yml +++ b/ansible/roles/osmocom-jenkins-slave/tasks/main.yml @@ -4,6 +4,15 @@ include_tasks: debian.yml when: ansible_distribution == 'Debian' +# Raspbian default user "pi" has uid=1000, which we need for the jenkins user. +# When the ansible playbook is running, root access via ssh is already +# configured, so we don't need the user "pi" anymore. +- name: delete raspbian default user + user: + name: "pi" + remove: true + state: absent + - name: add user jenkins user: name: "{{ jenkins_user }}" -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23275 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: If0cee6d35016c487eca02752625732dd03fad350 Gerrit-Change-Number: 23275 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 9 10:37:18 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 9 Mar 2021 10:37:18 +0000 Subject: Change in osmo-bsc[master]: stats: add BTS uptime counter In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23234 ) Change subject: stats: add BTS uptime counter ...................................................................... Patch Set 2: asssigning this to daniel, our resident "stats" expert. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23234 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ib17674bbe95e828cebff12de9e0b30f06447ef6c Gerrit-Change-Number: 23234 Gerrit-PatchSet: 2 Gerrit-Owner: iedemam Gerrit-Assignee: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 09 Mar 2021 10:37: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 Mar 9 10:37:34 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 9 Mar 2021 10:37:34 +0000 Subject: Change in osmo-bts[master]: doc/examples: remove obsolete power control parameters In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/23278 ) Change subject: doc/examples: remove obsolete power control parameters ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/23278 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I77cbe68023aa15ccf9829ef14c8cc7bccc84b58d Gerrit-Change-Number: 23278 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 09 Mar 2021 10:37: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 Mar 9 10:37:39 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 9 Mar 2021 10:37:39 +0000 Subject: Change in osmo-bts[master]: doc/examples: enable stderr logging for osmo-bts-virtual.cfg In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/23279 ) Change subject: doc/examples: enable stderr logging for osmo-bts-virtual.cfg ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/23279 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iecb62b3537afe8906f6f816bfa7cc79b12a1ca26 Gerrit-Change-Number: 23279 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 09 Mar 2021 10:37:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 9 10:37:50 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 9 Mar 2021 10:37:50 +0000 Subject: Change in osmo-bts[master]: doc/examples: enable stderr logging for osmo-bts-virtual.cfg In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/23279 ) Change subject: doc/examples: enable stderr logging for osmo-bts-virtual.cfg ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/23279 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iecb62b3537afe8906f6f816bfa7cc79b12a1ca26 Gerrit-Change-Number: 23279 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 09 Mar 2021 10:37:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 9 10:37:58 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 9 Mar 2021 10:37:58 +0000 Subject: Change in osmo-bts[master]: doc/examples: remove obsolete power control parameters In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/23278 ) Change subject: doc/examples: remove obsolete power control parameters ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/23278 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I77cbe68023aa15ccf9829ef14c8cc7bccc84b58d Gerrit-Change-Number: 23278 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 09 Mar 2021 10:37: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 Mar 9 10:42:44 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 9 Mar 2021 10:42:44 +0000 Subject: Change in docker-playground[master]: */osmo-bts.cfg: remove obsolete 'uplink-power-target' References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/23281 ) Change subject: */osmo-bts.cfg: remove obsolete 'uplink-power-target' ...................................................................... */osmo-bts.cfg: remove obsolete 'uplink-power-target' Change-Id: Idbfe29f1eed05f9d70d6664f21c92cf44c954c26 --- M osmo-bts-latest/osmo-bts.cfg M osmo-bts-master/osmo-bts.cfg M ttcn3-bts-test/oml/osmo-bts.cfg M ttcn3-bts-test/osmo-bts.cfg M ttcn3-bts-test/virtphy/osmo-bts.cfg 5 files changed, 0 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/81/23281/1 diff --git a/osmo-bts-latest/osmo-bts.cfg b/osmo-bts-latest/osmo-bts.cfg index 7ed1743..841f50b 100644 --- a/osmo-bts-latest/osmo-bts.cfg +++ b/osmo-bts-latest/osmo-bts.cfg @@ -60,7 +60,6 @@ rtp jitter-buffer 100 paging queue-size 200 paging lifetime 0 - uplink-power-target -75 gsmtap-sapi bcch gsmtap-sapi ccch gsmtap-sapi agch diff --git a/osmo-bts-master/osmo-bts.cfg b/osmo-bts-master/osmo-bts.cfg index 7ed1743..841f50b 100644 --- a/osmo-bts-master/osmo-bts.cfg +++ b/osmo-bts-master/osmo-bts.cfg @@ -60,7 +60,6 @@ rtp jitter-buffer 100 paging queue-size 200 paging lifetime 0 - uplink-power-target -75 gsmtap-sapi bcch gsmtap-sapi ccch gsmtap-sapi agch diff --git a/ttcn3-bts-test/oml/osmo-bts.cfg b/ttcn3-bts-test/oml/osmo-bts.cfg index 1f3f689..6458725 100644 --- a/ttcn3-bts-test/oml/osmo-bts.cfg +++ b/ttcn3-bts-test/oml/osmo-bts.cfg @@ -46,7 +46,6 @@ rtp jitter-buffer 100 paging queue-size 200 paging lifetime 0 - uplink-power-target -75 gsmtap-sapi rach gsmtap-sapi agch gsmtap-sapi bcch diff --git a/ttcn3-bts-test/osmo-bts.cfg b/ttcn3-bts-test/osmo-bts.cfg index 3f08d0f..3bc5fae 100644 --- a/ttcn3-bts-test/osmo-bts.cfg +++ b/ttcn3-bts-test/osmo-bts.cfg @@ -51,7 +51,6 @@ rtp jitter-buffer 100 paging queue-size 200 paging lifetime 0 - uplink-power-target -75 gsmtap-sapi rach gsmtap-sapi agch gsmtap-sapi bcch diff --git a/ttcn3-bts-test/virtphy/osmo-bts.cfg b/ttcn3-bts-test/virtphy/osmo-bts.cfg index eb28220..2dab646 100644 --- a/ttcn3-bts-test/virtphy/osmo-bts.cfg +++ b/ttcn3-bts-test/virtphy/osmo-bts.cfg @@ -42,7 +42,6 @@ rtp jitter-buffer 100 paging queue-size 200 paging lifetime 0 - uplink-power-target -75 gsmtap-sapi rach gsmtap-sapi agch gsmtap-sapi bcch -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23281 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Idbfe29f1eed05f9d70d6664f21c92cf44c954c26 Gerrit-Change-Number: 23281 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 Mar 9 11:04:59 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 9 Mar 2021 11:04:59 +0000 Subject: Change in docker-playground[master]: fix ttcn3-bsc-test under CentOS: install missing osmo-bts-omldummy References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/23282 ) Change subject: fix ttcn3-bsc-test under CentOS: install missing osmo-bts-omldummy ...................................................................... fix ttcn3-bsc-test under CentOS: install missing osmo-bts-omldummy In binary packages for Debian, osmo-bts-omldummy is (for some reason) part of 'osmo-bts-virtual' package. For CentOS this binary is shipped properly in a separate package, so let's install it. This change fixes ttcn3-bsc-test under CentOS failing with: /usr/local/bin/respawn.sh: line 9: osmo-bts-omldummy: command not found Change-Id: Ibbfd88d914a31dcfd3e33c6025d612d456b6b124 --- M osmo-bts-latest/Dockerfile 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/82/23282/1 diff --git a/osmo-bts-latest/Dockerfile b/osmo-bts-latest/Dockerfile index 6e835d5..202a29c 100644 --- a/osmo-bts-latest/Dockerfile +++ b/osmo-bts-latest/Dockerfile @@ -16,6 +16,7 @@ dnf install -y \ osmo-bts \ osmo-bts-virtual \ + osmo-bts-omldummy \ ;; \ esac -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23282 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ibbfd88d914a31dcfd3e33c6025d612d456b6b124 Gerrit-Change-Number: 23282 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 Mar 9 11:10:31 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 9 Mar 2021 11:10:31 +0000 Subject: Change in docker-playground[master]: fix ttcn3-bsc-test under CentOS: install missing osmo-bts-omldummy In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23282 ) Change subject: fix ttcn3-bsc-test under CentOS: install missing osmo-bts-omldummy ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23282 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ibbfd88d914a31dcfd3e33c6025d612d456b6b124 Gerrit-Change-Number: 23282 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 09 Mar 2021 11:10:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 9 11:10:56 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 9 Mar 2021 11:10:56 +0000 Subject: Change in docker-playground[master]: */osmo-bts.cfg: remove obsolete 'uplink-power-target' In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23281 ) Change subject: */osmo-bts.cfg: remove obsolete 'uplink-power-target' ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23281 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Idbfe29f1eed05f9d70d6664f21c92cf44c954c26 Gerrit-Change-Number: 23281 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 09 Mar 2021 11: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 Tue Mar 9 11:14:10 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 9 Mar 2021 11:14:10 +0000 Subject: Change in osmo-ci[master]: jobs/master, gerrit: run osmo-{bts, trx} in docker References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/23283 ) Change subject: jobs/master,gerrit: run osmo-{bts,trx} in docker ...................................................................... jobs/master,gerrit: run osmo-{bts,trx} in docker Build both of them in docker, like most other projects. Depends: docker-playground Ieec31fd6a2034c4430be81afd1d370816cd577d5 Related: OS#5055 Change-Id: Ifc11730192b852d3760a31a561efc61a1a853674 --- M jobs/gerrit-verifications.yml M jobs/master-builds.yml 2 files changed, 16 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/83/23283/1 diff --git a/jobs/gerrit-verifications.yml b/jobs/gerrit-verifications.yml index fbc3b5b..8efce77 100644 --- a/jobs/gerrit-verifications.yml +++ b/jobs/gerrit-verifications.yml @@ -112,9 +112,10 @@ (FIRMWARE_VERSION == "oc2g-next" && BTS_MODEL == "oc2g" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") concurrent: false cmd: | - export ASCIIDOC_WARNINGS_CHECK="1" - export OSMO_GSM_MANUALS_DIR="$HOME/osmo-gsm-manuals" - {timeout_cmd} ./contrib/jenkins_bts_model.sh "$BTS_MODEL" + {docker_run} \ + -e FIRMWARE_VERSION="$FIRMWARE_VERSION" \ + -e WITH_MANUALS="$WITH_MANUALS" \ + {docker_img} {timeout_cmd} /build/contrib/jenkins_bts_model.sh "$BTS_MODEL" - osmo_dia2gsup: repos_url: '{gerrit_url}/erlang/{repos}' @@ -229,9 +230,10 @@ (INSTR == "--with-neon" && WITH_MANUALS == "0" && label == "rpi4-raspbian10") || (INSTR == "--with-neon-vfpv4" && WITH_MANUALS == "0" && label == "rpi4-raspbian10") cmd: | - export ASCIIDOC_WARNINGS_CHECK=1 - export OSMO_GSM_MANUALS_DIR="$HOME/osmo-gsm-manuals" - {timeout_cmd} ./contrib/jenkins.sh + {docker_run} \ + -e INSTR="$INSTR" \ + -e WITH_MANUALS="$WITH_MANUALS" \ + {docker_img} {timeout_cmd} /build/contrib/jenkins.sh - osmocom-bb - osmo-tetra diff --git a/jobs/master-builds.yml b/jobs/master-builds.yml index fd99c85..22fcf15 100644 --- a/jobs/master-builds.yml +++ b/jobs/master-builds.yml @@ -198,10 +198,10 @@ (FIRMWARE_VERSION == "origin/nrw/oc2g" && BTS_MODEL == "oc2g" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") concurrent: false cmd: | - export ASCIIDOC_WARNINGS_CHECK=1 - export OSMO_GSM_MANUALS_DIR="$HOME/osmo-gsm-manuals" - export PUBLISH=1 - ./contrib/jenkins_bts_model.sh "$BTS_MODEL" + {docker_run} \ + -e FIRMWARE_VERSION="$FIRMWARE_VERSION" \ + -e WITH_MANUALS="$WITH_MANUALS" \ + {docker_img} /build/contrib/jenkins_bts_model.sh "$BTS_MODEL" - osmo-e1-hardware: docker_img: 'registry.osmocom.org/$USER/fpga-build' @@ -324,10 +324,10 @@ (INSTR == "--with-neon" && WITH_MANUALS == "0" && label == "rpi4-raspbian10") || (INSTR == "--with-neon-vfpv4" && WITH_MANUALS == "0" && label == "rpi4-raspbian10") cmd: | - export ASCIIDOC_WARNINGS_CHECK=1 - export OSMO_GSM_MANUALS_DIR="$HOME/osmo-gsm-manuals" - export PUBLISH=1 - ./contrib/jenkins.sh + {docker_run} \ + -e INSTR="$INSTR" \ + -e WITH_MANUALS="$WITH_MANUALS" \ + {docker_img} /build/contrib/jenkins.sh - osmocom-bb - osmo-sysmon -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23283 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ifc11730192b852d3760a31a561efc61a1a853674 Gerrit-Change-Number: 23283 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 9 11:15:40 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 9 Mar 2021 11:15:40 +0000 Subject: Change in osmo-ci[master]: Add timeout wrapper to regular gerrit verification jobs In-Reply-To: References: Message-ID: osmith has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/12857 ) Change subject: Add timeout wrapper to regular gerrit verification jobs ...................................................................... Abandoned obsoleted by https://gerrit.osmocom.org/c/osmo-ci/+/21847 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/12857 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I9d0eb6b9eddf3e17120e74d7570d42291c0750ae Gerrit-Change-Number: 12857 Gerrit-PatchSet: 2 Gerrit-Owner: Max Gerrit-Reviewer: Max Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Reviewer: zecke Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 9 11:18:08 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 9 Mar 2021 11:18:08 +0000 Subject: Change in osmo-ci[master]: jobs/master, gerrit: run osmo-{bts, trx} in docker In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23283 ) Change subject: jobs/master,gerrit: run osmo-{bts,trx} in docker ...................................................................... Patch Set 1: Verified+1 * https://jenkins.osmocom.org/jenkins/job/master-osmo-trx/2627/ * https://jenkins.osmocom.org/jenkins/job/master-osmo-bts/5081/ -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23283 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ifc11730192b852d3760a31a561efc61a1a853674 Gerrit-Change-Number: 23283 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 09 Mar 2021 11:18:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 9 11:29:00 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 9 Mar 2021 11:29:00 +0000 Subject: Change in osmo-bts[master]: doc/examples: remove obsolete power control parameters In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/23278 ) Change subject: doc/examples: remove obsolete power control parameters ...................................................................... doc/examples: remove obsolete power control parameters We should not have deprecated parameters in configuration examples. Change-Id: I77cbe68023aa15ccf9829ef14c8cc7bccc84b58d --- M doc/examples/virtual/osmo-bts-virtual.cfg 1 file changed, 0 insertions(+), 1 deletion(-) Approvals: osmith: Looks good to me, but someone else must approve laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/doc/examples/virtual/osmo-bts-virtual.cfg b/doc/examples/virtual/osmo-bts-virtual.cfg index 79a7b04..8f0df1a 100644 --- a/doc/examples/virtual/osmo-bts-virtual.cfg +++ b/doc/examples/virtual/osmo-bts-virtual.cfg @@ -50,7 +50,6 @@ rtp jitter-buffer 100 paging queue-size 200 paging lifetime 0 - uplink-power-target -75 min-qual-rach 50 min-qual-norm -5 trx 0 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/23278 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I77cbe68023aa15ccf9829ef14c8cc7bccc84b58d Gerrit-Change-Number: 23278 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 9 11:29:01 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 9 Mar 2021 11:29:01 +0000 Subject: Change in osmo-bts[master]: doc/examples: enable stderr logging for osmo-bts-virtual.cfg In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/23279 ) Change subject: doc/examples: enable stderr logging for osmo-bts-virtual.cfg ...................................................................... doc/examples: enable stderr logging for osmo-bts-virtual.cfg Shippig configuration examples with disabled logging is... not ok. Change-Id: Iecb62b3537afe8906f6f816bfa7cc79b12a1ca26 --- M doc/examples/virtual/osmo-bts-virtual.cfg 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: osmith: Looks good to me, but someone else must approve laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/doc/examples/virtual/osmo-bts-virtual.cfg b/doc/examples/virtual/osmo-bts-virtual.cfg index 8f0df1a..13bc0e5 100644 --- a/doc/examples/virtual/osmo-bts-virtual.cfg +++ b/doc/examples/virtual/osmo-bts-virtual.cfg @@ -3,7 +3,7 @@ !! ! log stderr - logging filter all 0 + logging filter all 1 logging color 0 logging print category 1 logging timestamp 0 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/23279 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Iecb62b3537afe8906f6f816bfa7cc79b12a1ca26 Gerrit-Change-Number: 23279 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 9 12:17:43 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 9 Mar 2021 12:17:43 +0000 Subject: Change in osmo-msc[master]: contrib/osmo-msc.spec.in: fix 'libdbi-drivers-dbd-sqlite3' does not e... References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-msc/+/23284 ) Change subject: contrib/osmo-msc.spec.in: fix 'libdbi-drivers-dbd-sqlite3' does not exist ...................................................................... contrib/osmo-msc.spec.in: fix 'libdbi-drivers-dbd-sqlite3' does not exist This package does not exist in CentOS 8. The lack of sqlite3 driver for libdbi causes TTCN3-centos-msc-test to fail: <0009> db.c:648 Failed to create database connection to sqlite3 db 'sms.db'; Is the sqlite3 database driver for libdbi installed on this system? Change-Id: Ia972944c300aecbb6ec460b2362aabff459baefd --- M contrib/osmo-msc.spec.in 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/84/23284/1 diff --git a/contrib/osmo-msc.spec.in b/contrib/osmo-msc.spec.in index d588e5b..4f956fb 100644 --- a/contrib/osmo-msc.spec.in +++ b/contrib/osmo-msc.spec.in @@ -27,7 +27,8 @@ Source: %{name}-%{version}.tar.xz BuildRequires: autoconf BuildRequires: automake -BuildRequires: libdbi-drivers-dbd-sqlite3 +BuildRequires: libdbi-drivers +BuildRequires: libdbi-dbd-sqlite BuildRequires: libtool %if 0%{?suse_version} BuildRequires: systemd-rpm-macros -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/23284 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ia972944c300aecbb6ec460b2362aabff459baefd Gerrit-Change-Number: 23284 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 Mar 9 12:43:32 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 9 Mar 2021 12:43:32 +0000 Subject: Change in docker-playground[master]: fix ttcn3-bsc-test under CentOS: install missing osmo-bts-omldummy In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23282 ) Change subject: fix ttcn3-bsc-test under CentOS: install missing osmo-bts-omldummy ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23282 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ibbfd88d914a31dcfd3e33c6025d612d456b6b124 Gerrit-Change-Number: 23282 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 09 Mar 2021 12:43: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 Mar 9 12:44:00 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 9 Mar 2021 12:44:00 +0000 Subject: Change in docker-playground[master]: */osmo-bts.cfg: remove obsolete 'uplink-power-target' In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23281 ) Change subject: */osmo-bts.cfg: remove obsolete 'uplink-power-target' ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23281 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Idbfe29f1eed05f9d70d6664f21c92cf44c954c26 Gerrit-Change-Number: 23281 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 09 Mar 2021 12:44:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 9 12:44:04 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 9 Mar 2021 12:44:04 +0000 Subject: Change in docker-playground[master]: fix ttcn3-bsc-test under CentOS: install missing osmo-bts-omldummy In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23282 ) Change subject: fix ttcn3-bsc-test under CentOS: install missing osmo-bts-omldummy ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23282 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ibbfd88d914a31dcfd3e33c6025d612d456b6b124 Gerrit-Change-Number: 23282 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 09 Mar 2021 12:44: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 Mar 9 12:44:09 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 9 Mar 2021 12:44:09 +0000 Subject: Change in docker-playground[master]: */osmo-bts.cfg: remove obsolete 'uplink-power-target' In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23281 ) Change subject: */osmo-bts.cfg: remove obsolete 'uplink-power-target' ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23281 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Idbfe29f1eed05f9d70d6664f21c92cf44c954c26 Gerrit-Change-Number: 23281 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 09 Mar 2021 12:44:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 9 12:44:14 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 9 Mar 2021 12:44:14 +0000 Subject: Change in docker-playground[master]: */osmo-bts.cfg: remove obsolete 'uplink-power-target' In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23281 ) Change subject: */osmo-bts.cfg: remove obsolete 'uplink-power-target' ...................................................................... */osmo-bts.cfg: remove obsolete 'uplink-power-target' Change-Id: Idbfe29f1eed05f9d70d6664f21c92cf44c954c26 --- M osmo-bts-latest/osmo-bts.cfg M osmo-bts-master/osmo-bts.cfg M ttcn3-bts-test/oml/osmo-bts.cfg M ttcn3-bts-test/osmo-bts.cfg M ttcn3-bts-test/virtphy/osmo-bts.cfg 5 files changed, 0 insertions(+), 5 deletions(-) Approvals: osmith: Looks good to me, but someone else must approve pespin: Looks good to me, approved fixeria: Verified diff --git a/osmo-bts-latest/osmo-bts.cfg b/osmo-bts-latest/osmo-bts.cfg index 7ed1743..841f50b 100644 --- a/osmo-bts-latest/osmo-bts.cfg +++ b/osmo-bts-latest/osmo-bts.cfg @@ -60,7 +60,6 @@ rtp jitter-buffer 100 paging queue-size 200 paging lifetime 0 - uplink-power-target -75 gsmtap-sapi bcch gsmtap-sapi ccch gsmtap-sapi agch diff --git a/osmo-bts-master/osmo-bts.cfg b/osmo-bts-master/osmo-bts.cfg index 7ed1743..841f50b 100644 --- a/osmo-bts-master/osmo-bts.cfg +++ b/osmo-bts-master/osmo-bts.cfg @@ -60,7 +60,6 @@ rtp jitter-buffer 100 paging queue-size 200 paging lifetime 0 - uplink-power-target -75 gsmtap-sapi bcch gsmtap-sapi ccch gsmtap-sapi agch diff --git a/ttcn3-bts-test/oml/osmo-bts.cfg b/ttcn3-bts-test/oml/osmo-bts.cfg index 1f3f689..6458725 100644 --- a/ttcn3-bts-test/oml/osmo-bts.cfg +++ b/ttcn3-bts-test/oml/osmo-bts.cfg @@ -46,7 +46,6 @@ rtp jitter-buffer 100 paging queue-size 200 paging lifetime 0 - uplink-power-target -75 gsmtap-sapi rach gsmtap-sapi agch gsmtap-sapi bcch diff --git a/ttcn3-bts-test/osmo-bts.cfg b/ttcn3-bts-test/osmo-bts.cfg index 3f08d0f..3bc5fae 100644 --- a/ttcn3-bts-test/osmo-bts.cfg +++ b/ttcn3-bts-test/osmo-bts.cfg @@ -51,7 +51,6 @@ rtp jitter-buffer 100 paging queue-size 200 paging lifetime 0 - uplink-power-target -75 gsmtap-sapi rach gsmtap-sapi agch gsmtap-sapi bcch diff --git a/ttcn3-bts-test/virtphy/osmo-bts.cfg b/ttcn3-bts-test/virtphy/osmo-bts.cfg index eb28220..2dab646 100644 --- a/ttcn3-bts-test/virtphy/osmo-bts.cfg +++ b/ttcn3-bts-test/virtphy/osmo-bts.cfg @@ -42,7 +42,6 @@ rtp jitter-buffer 100 paging queue-size 200 paging lifetime 0 - uplink-power-target -75 gsmtap-sapi rach gsmtap-sapi agch gsmtap-sapi bcch -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23281 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Idbfe29f1eed05f9d70d6664f21c92cf44c954c26 Gerrit-Change-Number: 23281 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 9 12:44:15 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 9 Mar 2021 12:44:15 +0000 Subject: Change in docker-playground[master]: fix ttcn3-bsc-test under CentOS: install missing osmo-bts-omldummy In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23282 ) Change subject: fix ttcn3-bsc-test under CentOS: install missing osmo-bts-omldummy ...................................................................... fix ttcn3-bsc-test under CentOS: install missing osmo-bts-omldummy In binary packages for Debian, osmo-bts-omldummy is (for some reason) part of 'osmo-bts-virtual' package. For CentOS this binary is shipped properly in a separate package, so let's install it. This change fixes ttcn3-bsc-test under CentOS failing with: /usr/local/bin/respawn.sh: line 9: osmo-bts-omldummy: command not found Change-Id: Ibbfd88d914a31dcfd3e33c6025d612d456b6b124 --- M osmo-bts-latest/Dockerfile 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: osmith: Looks good to me, but someone else must approve pespin: Looks good to me, approved fixeria: Verified diff --git a/osmo-bts-latest/Dockerfile b/osmo-bts-latest/Dockerfile index 6e835d5..202a29c 100644 --- a/osmo-bts-latest/Dockerfile +++ b/osmo-bts-latest/Dockerfile @@ -16,6 +16,7 @@ dnf install -y \ osmo-bts \ osmo-bts-virtual \ + osmo-bts-omldummy \ ;; \ esac -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23282 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ibbfd88d914a31dcfd3e33c6025d612d456b6b124 Gerrit-Change-Number: 23282 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria 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 Tue Mar 9 12:50:53 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 9 Mar 2021 12:50:53 +0000 Subject: Change in docker-playground[master]: */osmo-bsc.cfg: remove obsolete no-op parameters References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/23285 ) Change subject: */osmo-bsc.cfg: remove obsolete no-op parameters ...................................................................... */osmo-bsc.cfg: remove obsolete no-op parameters Change-Id: Idebf9df98648b3fe8213cae550ce50e9805bac96 --- M osmo-bsc-latest/osmo-bsc.cfg M osmo-bsc-master/osmo-bsc.cfg M osmo-ran/osmocom/osmo-bsc.cfg M osmo-ran/split/ran-bsc_mgw/osmocom/osmo-bsc.cfg M ttcn3-bsc-test/osmo-bsc.cfg M ttcn3-bsc-test/sccplite/osmo-bsc.cfg M ttcn3-bts-test/fh/osmo-bsc.cfg M ttcn3-bts-test/osmo-bsc.cfg 8 files changed, 0 insertions(+), 36 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/85/23285/1 diff --git a/osmo-bsc-latest/osmo-bsc.cfg b/osmo-bsc-latest/osmo-bsc.cfg index 3bed941..861bcc8 100644 --- a/osmo-bsc-latest/osmo-bsc.cfg +++ b/osmo-bsc-latest/osmo-bsc.cfg @@ -331,10 +331,6 @@ phys_chan_config PDCH hopping enabled 0 msc 0 - no bsc-welcome-text - no bsc-msc-lost-text - no bsc-grace-text - type normal allow-emergency allow amr-config 12_2k forbidden amr-config 10_2k forbidden diff --git a/osmo-bsc-master/osmo-bsc.cfg b/osmo-bsc-master/osmo-bsc.cfg index 183c4ac..5731014 100644 --- a/osmo-bsc-master/osmo-bsc.cfg +++ b/osmo-bsc-master/osmo-bsc.cfg @@ -156,10 +156,6 @@ phys_chan_config PDCH hopping enabled 0 msc 0 - no bsc-welcome-text - no bsc-msc-lost-text - no bsc-grace-text - type normal allow-emergency allow amr-config 12_2k forbidden amr-config 10_2k forbidden diff --git a/osmo-ran/osmocom/osmo-bsc.cfg b/osmo-ran/osmocom/osmo-bsc.cfg index af53647..b105ead 100644 --- a/osmo-ran/osmocom/osmo-bsc.cfg +++ b/osmo-ran/osmocom/osmo-bsc.cfg @@ -99,10 +99,6 @@ routing-indicator PC ! msc 0 - no bsc-welcome-text - no bsc-msc-lost-text - no bsc-grace-text - type normal allow-emergency allow codec-list hr3 fr3 !mgw remote-ip 192.168.30.1 diff --git a/osmo-ran/split/ran-bsc_mgw/osmocom/osmo-bsc.cfg b/osmo-ran/split/ran-bsc_mgw/osmocom/osmo-bsc.cfg index af53647..b105ead 100644 --- a/osmo-ran/split/ran-bsc_mgw/osmocom/osmo-bsc.cfg +++ b/osmo-ran/split/ran-bsc_mgw/osmocom/osmo-bsc.cfg @@ -99,10 +99,6 @@ routing-indicator PC ! msc 0 - no bsc-welcome-text - no bsc-msc-lost-text - no bsc-grace-text - type normal allow-emergency allow codec-list hr3 fr3 !mgw remote-ip 192.168.30.1 diff --git a/ttcn3-bsc-test/osmo-bsc.cfg b/ttcn3-bsc-test/osmo-bsc.cfg index c4f39be..31cb6b1 100644 --- a/ttcn3-bsc-test/osmo-bsc.cfg +++ b/ttcn3-bsc-test/osmo-bsc.cfg @@ -388,10 +388,6 @@ timeslot 7 phys_chan_config PDCH msc 0 - no bsc-welcome-text - no bsc-msc-lost-text - no bsc-grace-text - type normal allow-emergency allow amr-config 12_2k forbidden amr-config 10_2k forbidden diff --git a/ttcn3-bsc-test/sccplite/osmo-bsc.cfg b/ttcn3-bsc-test/sccplite/osmo-bsc.cfg index 4d73311..564ebce 100644 --- a/ttcn3-bsc-test/sccplite/osmo-bsc.cfg +++ b/ttcn3-bsc-test/sccplite/osmo-bsc.cfg @@ -376,10 +376,6 @@ timeslot 7 phys_chan_config PDCH msc 0 - no bsc-welcome-text - no bsc-msc-lost-text - no bsc-grace-text - type normal allow-emergency allow amr-config 12_2k forbidden amr-config 10_2k forbidden diff --git a/ttcn3-bts-test/fh/osmo-bsc.cfg b/ttcn3-bts-test/fh/osmo-bsc.cfg index d41393b..cbb3080 100644 --- a/ttcn3-bts-test/fh/osmo-bsc.cfg +++ b/ttcn3-bts-test/fh/osmo-bsc.cfg @@ -383,13 +383,7 @@ hopping arfcn add 873 hopping arfcn add 877 msc 0 - core-location-area-code 666 - core-cell-identity 333 - 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 diff --git a/ttcn3-bts-test/osmo-bsc.cfg b/ttcn3-bts-test/osmo-bsc.cfg index 3978548..49ca9d6 100644 --- a/ttcn3-bts-test/osmo-bsc.cfg +++ b/ttcn3-bts-test/osmo-bsc.cfg @@ -232,13 +232,7 @@ phys_chan_config SDCCH8 hopping enabled 0 msc 0 - core-location-area-code 666 - core-cell-identity 333 - 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 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23285 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Idebf9df98648b3fe8213cae550ce50e9805bac96 Gerrit-Change-Number: 23285 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 Mar 9 13:08:18 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 9 Mar 2021 13:08:18 +0000 Subject: Change in libosmocore[master]: stats: Ensure that each osmo_stat_item only reports once per interval In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, pespin, lynxis lazus, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/23167 to look at the new patch set (#3). Change subject: stats: Ensure that each osmo_stat_item only reports once per interval ...................................................................... stats: Ensure that each osmo_stat_item only reports once per interval We should never report multiple values for a metric. It is confusing for the log reporter and wrong for statsd. Statsd will record only one value, but will it be the first, last, ...? This can happen if an osmo_stat_item changes more than once within the same reporting interval. With this patch only one aggregate value is sent to the log reporters. The value reported is the maximum during this interval. Other aggregations could be possible (min, last), but reporting a (useful) average is not because the values don't include a timestamp and most osmo_stat_items change at unregular intervals. Change-Id: I366ab1c66f4ae6363111ea4e41b66b7d5bcade9c Related: SYS#4877 --- M src/stats.c M tests/stats/stats_test.c M tests/stats/stats_test.ok 3 files changed, 38 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/67/23167/3 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23167 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I366ab1c66f4ae6363111ea4e41b66b7d5bcade9c Gerrit-Change-Number: 23167 Gerrit-PatchSet: 3 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus 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 Tue Mar 9 13:08:50 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 9 Mar 2021 13:08:50 +0000 Subject: Change in libosmocore[master]: stats: Ensure that each osmo_stat_item only reports once per interval In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23167 ) Change subject: stats: Ensure that each osmo_stat_item only reports once per interval ...................................................................... Patch Set 3: (2 comments) https://gerrit.osmocom.org/c/libosmocore/+/23167/1/src/stats.c File src/stats.c: https://gerrit.osmocom.org/c/libosmocore/+/23167/1/src/stats.c at 708 PS1, Line 708: // > comment style Done https://gerrit.osmocom.org/c/libosmocore/+/23167/1/src/stats.c at 709 PS1, Line 709: do { > It could be a regular while() loop, I see no need for do { ... } while (...): [?] Thanks, that looks much nicer -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23167 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I366ab1c66f4ae6363111ea4e41b66b7d5bcade9c Gerrit-Change-Number: 23167 Gerrit-PatchSet: 3 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 09 Mar 2021 13:08:50 +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 Mar 9 13:09:13 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 9 Mar 2021 13:09:13 +0000 Subject: Change in libosmocore[master]: stats: Ensure that each osmo_stat_item only reports once per interval In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23167 ) Change subject: stats: Ensure that each osmo_stat_item only reports once per interval ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23167 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I366ab1c66f4ae6363111ea4e41b66b7d5bcade9c Gerrit-Change-Number: 23167 Gerrit-PatchSet: 3 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 09 Mar 2021 13:09: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 Mar 9 13:23:54 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 9 Mar 2021 13:23:54 +0000 Subject: Change in osmo-ci[master]: jobs/master, gerrit: run osmo-{bts, trx} in docker In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23283 ) Change subject: jobs/master,gerrit: run osmo-{bts,trx} in docker ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23283 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ifc11730192b852d3760a31a561efc61a1a853674 Gerrit-Change-Number: 23283 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 09 Mar 2021 13:23: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 Mar 9 13:28:16 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 9 Mar 2021 13:28:16 +0000 Subject: Change in docker-playground[master]: */osmo-bsc.cfg: remove obsolete no-op parameters In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23285 ) Change subject: */osmo-bsc.cfg: remove obsolete no-op parameters ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23285 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Idebf9df98648b3fe8213cae550ce50e9805bac96 Gerrit-Change-Number: 23285 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 09 Mar 2021 13:28: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 Mar 9 13:28:30 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 9 Mar 2021 13:28:30 +0000 Subject: Change in osmo-ci[master]: jobs/master, gerrit: run osmo-{bts, trx} in docker In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23283 ) Change subject: jobs/master,gerrit: run osmo-{bts,trx} in docker ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23283 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ifc11730192b852d3760a31a561efc61a1a853674 Gerrit-Change-Number: 23283 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 09 Mar 2021 13: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 Tue Mar 9 13:28:44 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 9 Mar 2021 13:28:44 +0000 Subject: Change in libosmocore[master]: stats: Ensure that each osmo_stat_item only reports once per interval In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23167 ) Change subject: stats: Ensure that each osmo_stat_item only reports once per interval ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23167 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I366ab1c66f4ae6363111ea4e41b66b7d5bcade9c Gerrit-Change-Number: 23167 Gerrit-PatchSet: 3 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 09 Mar 2021 13:28: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 Mar 9 13:29:28 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 9 Mar 2021 13:29:28 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: transmit PCUIF DATA.ind with len=0 when no UL data to transmit In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23256 ) Change subject: pcu: transmit PCUIF DATA.ind with len=0 when no UL data to transmit ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23256 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib4f97a9bcfa68230945effeb6412218faa64ec78 Gerrit-Change-Number: 23256 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 09 Mar 2021 13:29:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 9 13:29:45 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 9 Mar 2021 13:29:45 +0000 Subject: Change in osmo-bts[master]: l1sap: Transmit pdtch invalid MAC blocks to PCU In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/23249 ) Change subject: l1sap: Transmit pdtch invalid MAC blocks to PCU ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/23249 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0b04b013b7bad5ff53d6a969ff0128b37f7f62d5 Gerrit-Change-Number: 23249 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 09 Mar 2021 13:29:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 9 13:31:10 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 9 Mar 2021 13:31:10 +0000 Subject: Change in osmo-ci[master]: jobs/master, gerrit: run osmo-{bts, trx} in docker In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23283 ) Change subject: jobs/master,gerrit: run osmo-{bts,trx} in docker ...................................................................... jobs/master,gerrit: run osmo-{bts,trx} in docker Build both of them in docker, like most other projects. Depends: docker-playground Ieec31fd6a2034c4430be81afd1d370816cd577d5 Related: OS#5055 Change-Id: Ifc11730192b852d3760a31a561efc61a1a853674 --- M jobs/gerrit-verifications.yml M jobs/master-builds.yml 2 files changed, 16 insertions(+), 14 deletions(-) Approvals: osmith: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/jobs/gerrit-verifications.yml b/jobs/gerrit-verifications.yml index fbc3b5b..8efce77 100644 --- a/jobs/gerrit-verifications.yml +++ b/jobs/gerrit-verifications.yml @@ -112,9 +112,10 @@ (FIRMWARE_VERSION == "oc2g-next" && BTS_MODEL == "oc2g" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") concurrent: false cmd: | - export ASCIIDOC_WARNINGS_CHECK="1" - export OSMO_GSM_MANUALS_DIR="$HOME/osmo-gsm-manuals" - {timeout_cmd} ./contrib/jenkins_bts_model.sh "$BTS_MODEL" + {docker_run} \ + -e FIRMWARE_VERSION="$FIRMWARE_VERSION" \ + -e WITH_MANUALS="$WITH_MANUALS" \ + {docker_img} {timeout_cmd} /build/contrib/jenkins_bts_model.sh "$BTS_MODEL" - osmo_dia2gsup: repos_url: '{gerrit_url}/erlang/{repos}' @@ -229,9 +230,10 @@ (INSTR == "--with-neon" && WITH_MANUALS == "0" && label == "rpi4-raspbian10") || (INSTR == "--with-neon-vfpv4" && WITH_MANUALS == "0" && label == "rpi4-raspbian10") cmd: | - export ASCIIDOC_WARNINGS_CHECK=1 - export OSMO_GSM_MANUALS_DIR="$HOME/osmo-gsm-manuals" - {timeout_cmd} ./contrib/jenkins.sh + {docker_run} \ + -e INSTR="$INSTR" \ + -e WITH_MANUALS="$WITH_MANUALS" \ + {docker_img} {timeout_cmd} /build/contrib/jenkins.sh - osmocom-bb - osmo-tetra diff --git a/jobs/master-builds.yml b/jobs/master-builds.yml index fd99c85..22fcf15 100644 --- a/jobs/master-builds.yml +++ b/jobs/master-builds.yml @@ -198,10 +198,10 @@ (FIRMWARE_VERSION == "origin/nrw/oc2g" && BTS_MODEL == "oc2g" && WITH_MANUALS == "0" && label == "osmocom-master-debian9") concurrent: false cmd: | - export ASCIIDOC_WARNINGS_CHECK=1 - export OSMO_GSM_MANUALS_DIR="$HOME/osmo-gsm-manuals" - export PUBLISH=1 - ./contrib/jenkins_bts_model.sh "$BTS_MODEL" + {docker_run} \ + -e FIRMWARE_VERSION="$FIRMWARE_VERSION" \ + -e WITH_MANUALS="$WITH_MANUALS" \ + {docker_img} /build/contrib/jenkins_bts_model.sh "$BTS_MODEL" - osmo-e1-hardware: docker_img: 'registry.osmocom.org/$USER/fpga-build' @@ -324,10 +324,10 @@ (INSTR == "--with-neon" && WITH_MANUALS == "0" && label == "rpi4-raspbian10") || (INSTR == "--with-neon-vfpv4" && WITH_MANUALS == "0" && label == "rpi4-raspbian10") cmd: | - export ASCIIDOC_WARNINGS_CHECK=1 - export OSMO_GSM_MANUALS_DIR="$HOME/osmo-gsm-manuals" - export PUBLISH=1 - ./contrib/jenkins.sh + {docker_run} \ + -e INSTR="$INSTR" \ + -e WITH_MANUALS="$WITH_MANUALS" \ + {docker_img} /build/contrib/jenkins.sh - osmocom-bb - osmo-sysmon -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23283 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ifc11730192b852d3760a31a561efc61a1a853674 Gerrit-Change-Number: 23283 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 9 13:33:06 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 9 Mar 2021 13:33:06 +0000 Subject: Change in docker-playground[master]: */osmo-bsc.cfg: remove obsolete no-op parameters In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23285 ) Change subject: */osmo-bsc.cfg: remove obsolete no-op parameters ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23285 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Idebf9df98648b3fe8213cae550ce50e9805bac96 Gerrit-Change-Number: 23285 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 09 Mar 2021 13:33: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 Mar 9 13:33:10 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 9 Mar 2021 13:33:10 +0000 Subject: Change in docker-playground[master]: */osmo-bsc.cfg: remove obsolete no-op parameters In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23285 ) Change subject: */osmo-bsc.cfg: remove obsolete no-op parameters ...................................................................... */osmo-bsc.cfg: remove obsolete no-op parameters Change-Id: Idebf9df98648b3fe8213cae550ce50e9805bac96 --- M osmo-bsc-latest/osmo-bsc.cfg M osmo-bsc-master/osmo-bsc.cfg M osmo-ran/osmocom/osmo-bsc.cfg M osmo-ran/split/ran-bsc_mgw/osmocom/osmo-bsc.cfg M ttcn3-bsc-test/osmo-bsc.cfg M ttcn3-bsc-test/sccplite/osmo-bsc.cfg M ttcn3-bts-test/fh/osmo-bsc.cfg M ttcn3-bts-test/osmo-bsc.cfg 8 files changed, 0 insertions(+), 36 deletions(-) Approvals: laforge: Looks good to me, approved fixeria: Verified diff --git a/osmo-bsc-latest/osmo-bsc.cfg b/osmo-bsc-latest/osmo-bsc.cfg index 3bed941..861bcc8 100644 --- a/osmo-bsc-latest/osmo-bsc.cfg +++ b/osmo-bsc-latest/osmo-bsc.cfg @@ -331,10 +331,6 @@ phys_chan_config PDCH hopping enabled 0 msc 0 - no bsc-welcome-text - no bsc-msc-lost-text - no bsc-grace-text - type normal allow-emergency allow amr-config 12_2k forbidden amr-config 10_2k forbidden diff --git a/osmo-bsc-master/osmo-bsc.cfg b/osmo-bsc-master/osmo-bsc.cfg index 183c4ac..5731014 100644 --- a/osmo-bsc-master/osmo-bsc.cfg +++ b/osmo-bsc-master/osmo-bsc.cfg @@ -156,10 +156,6 @@ phys_chan_config PDCH hopping enabled 0 msc 0 - no bsc-welcome-text - no bsc-msc-lost-text - no bsc-grace-text - type normal allow-emergency allow amr-config 12_2k forbidden amr-config 10_2k forbidden diff --git a/osmo-ran/osmocom/osmo-bsc.cfg b/osmo-ran/osmocom/osmo-bsc.cfg index af53647..b105ead 100644 --- a/osmo-ran/osmocom/osmo-bsc.cfg +++ b/osmo-ran/osmocom/osmo-bsc.cfg @@ -99,10 +99,6 @@ routing-indicator PC ! msc 0 - no bsc-welcome-text - no bsc-msc-lost-text - no bsc-grace-text - type normal allow-emergency allow codec-list hr3 fr3 !mgw remote-ip 192.168.30.1 diff --git a/osmo-ran/split/ran-bsc_mgw/osmocom/osmo-bsc.cfg b/osmo-ran/split/ran-bsc_mgw/osmocom/osmo-bsc.cfg index af53647..b105ead 100644 --- a/osmo-ran/split/ran-bsc_mgw/osmocom/osmo-bsc.cfg +++ b/osmo-ran/split/ran-bsc_mgw/osmocom/osmo-bsc.cfg @@ -99,10 +99,6 @@ routing-indicator PC ! msc 0 - no bsc-welcome-text - no bsc-msc-lost-text - no bsc-grace-text - type normal allow-emergency allow codec-list hr3 fr3 !mgw remote-ip 192.168.30.1 diff --git a/ttcn3-bsc-test/osmo-bsc.cfg b/ttcn3-bsc-test/osmo-bsc.cfg index c4f39be..31cb6b1 100644 --- a/ttcn3-bsc-test/osmo-bsc.cfg +++ b/ttcn3-bsc-test/osmo-bsc.cfg @@ -388,10 +388,6 @@ timeslot 7 phys_chan_config PDCH msc 0 - no bsc-welcome-text - no bsc-msc-lost-text - no bsc-grace-text - type normal allow-emergency allow amr-config 12_2k forbidden amr-config 10_2k forbidden diff --git a/ttcn3-bsc-test/sccplite/osmo-bsc.cfg b/ttcn3-bsc-test/sccplite/osmo-bsc.cfg index 4d73311..564ebce 100644 --- a/ttcn3-bsc-test/sccplite/osmo-bsc.cfg +++ b/ttcn3-bsc-test/sccplite/osmo-bsc.cfg @@ -376,10 +376,6 @@ timeslot 7 phys_chan_config PDCH msc 0 - no bsc-welcome-text - no bsc-msc-lost-text - no bsc-grace-text - type normal allow-emergency allow amr-config 12_2k forbidden amr-config 10_2k forbidden diff --git a/ttcn3-bts-test/fh/osmo-bsc.cfg b/ttcn3-bts-test/fh/osmo-bsc.cfg index d41393b..cbb3080 100644 --- a/ttcn3-bts-test/fh/osmo-bsc.cfg +++ b/ttcn3-bts-test/fh/osmo-bsc.cfg @@ -383,13 +383,7 @@ hopping arfcn add 873 hopping arfcn add 877 msc 0 - core-location-area-code 666 - core-cell-identity 333 - 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 diff --git a/ttcn3-bts-test/osmo-bsc.cfg b/ttcn3-bts-test/osmo-bsc.cfg index 3978548..49ca9d6 100644 --- a/ttcn3-bts-test/osmo-bsc.cfg +++ b/ttcn3-bts-test/osmo-bsc.cfg @@ -232,13 +232,7 @@ phys_chan_config SDCCH8 hopping enabled 0 msc 0 - core-location-area-code 666 - core-cell-identity 333 - 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 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23285 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Idebf9df98648b3fe8213cae550ce50e9805bac96 Gerrit-Change-Number: 23285 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 9 13:35:11 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 9 Mar 2021 13:35:11 +0000 Subject: Change in libosmocore[master]: stats: Ensure that each osmo_stat_item only reports once per interval In-Reply-To: References: Message-ID: daniel has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23167 ) Change subject: stats: Ensure that each osmo_stat_item only reports once per interval ...................................................................... stats: Ensure that each osmo_stat_item only reports once per interval We should never report multiple values for a metric. It is confusing for the log reporter and wrong for statsd. Statsd will record only one value, but will it be the first, last, ...? This can happen if an osmo_stat_item changes more than once within the same reporting interval. With this patch only one aggregate value is sent to the log reporters. The value reported is the maximum during this interval. Other aggregations could be possible (min, last), but reporting a (useful) average is not because the values don't include a timestamp and most osmo_stat_items change at unregular intervals. Change-Id: I366ab1c66f4ae6363111ea4e41b66b7d5bcade9c Related: SYS#4877 --- M src/stats.c M tests/stats/stats_test.c M tests/stats/stats_test.ok 3 files changed, 38 insertions(+), 18 deletions(-) Approvals: fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/stats.c b/src/stats.c index a0834d2..f2820a4 100644 --- a/src/stats.c +++ b/src/stats.c @@ -699,31 +699,31 @@ int have_value; have_value = osmo_stat_item_get_next(item, &idx, &value) > 0; - if (!have_value) + if (!have_value) { /* Send the last value in case a flush is requested */ value = osmo_stat_item_get_last(item); + } else { + int32_t next_val; + /* If we have multiple values only send the max */ + while (osmo_stat_item_get_next(item, &idx, &next_val) > 0) + value = OSMO_MAX(value, next_val); + } - do { - llist_for_each_entry(srep, &osmo_stats_reporter_list, list) { - if (!srep->running) - continue; + llist_for_each_entry(srep, &osmo_stats_reporter_list, list) { + if (!srep->running) + continue; - if (!have_value && !srep->force_single_flush) - continue; + if (!have_value && !srep->force_single_flush) + continue; - if (!osmo_stats_reporter_check_config(srep, - statg->idx, statg->desc->class_id)) - continue; + if (!osmo_stats_reporter_check_config(srep, + statg->idx, statg->desc->class_id)) + continue; - osmo_stats_reporter_send_item(srep, statg, - item->desc, value); - } + osmo_stats_reporter_send_item(srep, statg, + item->desc, value); - if (!have_value) - break; - - have_value = osmo_stat_item_get_next(item, &idx, &value) > 0; - } while (have_value); + } return 0; } diff --git a/tests/stats/stats_test.c b/tests/stats/stats_test.c index 71f710a..05caf98 100644 --- a/tests/stats/stats_test.c +++ b/tests/stats/stats_test.c @@ -440,6 +440,20 @@ osmo_stats_report(); OSMO_ASSERT(send_count == 2); + printf("report (group 1, item 1 update twice):\n"); + osmo_stat_item_set(statg1->items[TEST_A_ITEM], 10); + osmo_stat_item_set(statg1->items[TEST_A_ITEM], 10); + send_count = 0; + osmo_stats_report(); + OSMO_ASSERT(send_count == 2); + + printf("report (group 1, item 1 update twice, check max):\n"); + osmo_stat_item_set(statg1->items[TEST_A_ITEM], 20); + osmo_stat_item_set(statg1->items[TEST_A_ITEM], 10); + send_count = 0; + osmo_stats_report(); + OSMO_ASSERT(send_count == 2); + printf("report (remove statg1, ctrg1):\n"); /* force single flush */ srep1->force_single_flush = 1; diff --git a/tests/stats/stats_test.ok b/tests/stats/stats_test.ok index 8628adb..26d9e38 100644 --- a/tests/stats/stats_test.ok +++ b/tests/stats/stats_test.ok @@ -100,6 +100,12 @@ report (group 1, item 1 update): test2: item p= g=test.one i=1 n=item.a v=10 u=ma test1: item p= g=test.one i=1 n=item.a v=10 u=ma +report (group 1, item 1 update twice): + test2: item p= g=test.one i=1 n=item.a v=10 u=ma + test1: item p= g=test.one i=1 n=item.a v=10 u=ma +report (group 1, item 1 update twice, check max): + test2: item p= g=test.one i=1 n=item.a v=20 u=ma + test1: item p= g=test.one i=1 n=item.a v=20 u=ma report (remove statg1, ctrg1): test2: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 test1: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23167 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I366ab1c66f4ae6363111ea4e41b66b7d5bcade9c Gerrit-Change-Number: 23167 Gerrit-PatchSet: 3 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 9 13:48:16 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 9 Mar 2021 13:48:16 +0000 Subject: Change in osmo-msc[master]: contrib/osmo-msc.spec.in: fix 'libdbi-drivers-dbd-sqlite3' does not e... In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/23284 ) Change subject: contrib/osmo-msc.spec.in: fix 'libdbi-drivers-dbd-sqlite3' does not exist ...................................................................... Patch Set 1: (1 comment) This change is ready for review. https://gerrit.osmocom.org/c/osmo-msc/+/23284/1/contrib/osmo-msc.spec.in File contrib/osmo-msc.spec.in: https://gerrit.osmocom.org/c/osmo-msc/+/23284/1/contrib/osmo-msc.spec.in at 31 PS1, Line 31: BuildRequires: libdbi-dbd-sqlite We need Requires instead of BuildRequires. I'll push a version that should work in theory, do a test build in a separate OBS namespace, and verify that installing that build pulls in the dependency properly for both OpenSUSE and CentOS. -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/23284 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ia972944c300aecbb6ec460b2362aabff459baefd Gerrit-Change-Number: 23284 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Assignee: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: roox Gerrit-CC: osmith Gerrit-Comment-Date: Tue, 09 Mar 2021 13:48:16 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 9 13:48:40 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 9 Mar 2021 13:48:40 +0000 Subject: Change in osmo-msc[master]: WIP: contrib/osmo-msc.spec.in: depend on dbd-sqlite3 In-Reply-To: References: Message-ID: osmith has uploaded a new patch set (#2) to the change originally created by fixeria. ( https://gerrit.osmocom.org/c/osmo-msc/+/23284 ) Change subject: WIP: contrib/osmo-msc.spec.in: depend on dbd-sqlite3 ...................................................................... WIP: contrib/osmo-msc.spec.in: depend on dbd-sqlite3 Add the missing runtime dependency to the sqlite3 driver of libdbd. The library does not provide a pkgconfig file, so using "pkgconfig(...)" as done in the BuildRequires is not possible. Write both the OpenSUSE and CentOS name with an if..else. Fixes: <0009> db.c:648 Failed to create database connection to sqlite3 db 'sms.db'; Is the sqlite3 database driver for libdbi installed on this system? Change-Id: Ia972944c300aecbb6ec460b2362aabff459baefd --- M contrib/osmo-msc.spec.in 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/84/23284/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/23284 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ia972944c300aecbb6ec460b2362aabff459baefd Gerrit-Change-Number: 23284 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Assignee: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: roox Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 9 13:49:15 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 9 Mar 2021 13:49:15 +0000 Subject: Change in osmo-msc[master]: contrib/osmo-msc.spec.in: depend on dbd-sqlite3 In-Reply-To: References: Message-ID: osmith has uploaded a new patch set (#3) to the change originally created by fixeria. ( https://gerrit.osmocom.org/c/osmo-msc/+/23284 ) Change subject: contrib/osmo-msc.spec.in: depend on dbd-sqlite3 ...................................................................... contrib/osmo-msc.spec.in: depend on dbd-sqlite3 Add the missing runtime dependency to the sqlite3 driver of libdbd. The library does not provide a pkgconfig file, so using "pkgconfig(...)" as done in the BuildRequires is not possible. Write both the OpenSUSE and CentOS name with an if..else. Fixes: <0009> db.c:648 Failed to create database connection to sqlite3 db 'sms.db'; Is the sqlite3 database driver for libdbi installed on this system? Change-Id: Ia972944c300aecbb6ec460b2362aabff459baefd --- M contrib/osmo-msc.spec.in 1 file changed, 5 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-msc refs/changes/84/23284/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/23284 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ia972944c300aecbb6ec460b2362aabff459baefd Gerrit-Change-Number: 23284 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Assignee: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: roox Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 9 13:49:59 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 9 Mar 2021 13:49:59 +0000 Subject: Change in osmo-msc[master]: contrib/osmo-msc.spec.in: depend on dbd-sqlite3 In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/23284 ) Change subject: contrib/osmo-msc.spec.in: depend on dbd-sqlite3 ...................................................................... Patch Set 3: Verified-1 -1 until I verified that building in OBS and installing works as expected -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/23284 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ia972944c300aecbb6ec460b2362aabff459baefd Gerrit-Change-Number: 23284 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Assignee: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: roox Gerrit-Comment-Date: Tue, 09 Mar 2021 13:49: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 Mar 9 14:28:30 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 9 Mar 2021 14:28:30 +0000 Subject: Change in docker-playground[master]: osmo-msc-latest: centos8: add libdbi-dbd-sqlite References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/23286 ) Change subject: osmo-msc-latest: centos8: add libdbi-dbd-sqlite ...................................................................... osmo-msc-latest: centos8: add libdbi-dbd-sqlite The missing dependency is being added to osmo-msc master's contrib/osmo-msc.spec.in file. Until the next release is done, which contains the patch, install the library explicitly to fix: <0009> db.c:648 Failed to create database connection to sqlite3 db 'sms.db'; Is the sqlite3 database driver for libdbi installed on this system? Related: https://gerrit.osmocom.org/c/osmo-msc/+/23284 Change-Id: I27d4573de22a8e013623ec606e056d348102abd1 --- M osmo-msc-latest/Dockerfile 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/86/23286/1 diff --git a/osmo-msc-latest/Dockerfile b/osmo-msc-latest/Dockerfile index d2c1107..29e932a 100644 --- a/osmo-msc-latest/Dockerfile +++ b/osmo-msc-latest/Dockerfile @@ -4,6 +4,7 @@ # Arguments used after FROM must be specified again ARG DISTRO +# libdbi-dbd-sqlite can be removed after osmo-msc > 1.7.0 release RUN case "$DISTRO" in \ debian*) \ apt-get update && \ @@ -13,6 +14,7 @@ ;; \ centos*) \ dnf install -y \ + libdbi-dbd-sqlite \ osmo-msc \ ;; \ esac -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23286 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I27d4573de22a8e013623ec606e056d348102abd1 Gerrit-Change-Number: 23286 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 9 14:29:01 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 9 Mar 2021 14:29:01 +0000 Subject: Change in docker-playground[master]: osmo-msc-latest: centos8: add libdbi-dbd-sqlite In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23286 ) Change subject: osmo-msc-latest: centos8: add libdbi-dbd-sqlite ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23286 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I27d4573de22a8e013623ec606e056d348102abd1 Gerrit-Change-Number: 23286 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 09 Mar 2021 14:29:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 9 14:30:25 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 9 Mar 2021 14:30:25 +0000 Subject: Change in docker-playground[master]: osmo-msc-latest: centos8: add libdbi-dbd-sqlite In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23286 ) Change subject: osmo-msc-latest: centos8: add libdbi-dbd-sqlite ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23286 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I27d4573de22a8e013623ec606e056d348102abd1 Gerrit-Change-Number: 23286 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 09 Mar 2021 14:30: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 Mar 9 14:30:28 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 9 Mar 2021 14:30:28 +0000 Subject: Change in docker-playground[master]: osmo-msc-latest: centos8: add libdbi-dbd-sqlite In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23286 ) Change subject: osmo-msc-latest: centos8: add libdbi-dbd-sqlite ...................................................................... Patch Set 1: Verified: ran ttcn3-msc-test with IMAGE_SUFFIX=test-centos8 with this patch, this fixes the error -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23286 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I27d4573de22a8e013623ec606e056d348102abd1 Gerrit-Change-Number: 23286 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 09 Mar 2021 14:30:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 9 15:30:28 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 9 Mar 2021 15:30:28 +0000 Subject: Change in osmo-pcu[master]: tests: rlcmac: Fix C vs C++ linkage of extern symbol References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23287 ) Change subject: tests: rlcmac: Fix C vs C++ linkage of extern symbol ...................................................................... tests: rlcmac: Fix C vs C++ linkage of extern symbol RLCMACTest.cpp:31:30: error: conflicting declaration of ?const log_info gprs_log_info? with ?C? linkage 31 | extern const struct log_info gprs_log_info; gprs_debug.h:54:30: note: previous declaration with ?C++? linkag Change-Id: I5922950dd0057bf7eb8578e2144f127082323fc6 --- M tests/rlcmac/RLCMACTest.cpp 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/87/23287/1 diff --git a/tests/rlcmac/RLCMACTest.cpp b/tests/rlcmac/RLCMACTest.cpp index 598d11a..4bde5bf 100644 --- a/tests/rlcmac/RLCMACTest.cpp +++ b/tests/rlcmac/RLCMACTest.cpp @@ -28,7 +28,6 @@ #include "decoding.h" extern "C" { -extern const struct log_info gprs_log_info; #include "pcu_vty.h" #include #include @@ -41,6 +40,8 @@ } using namespace std; +#include "gprs_debug.h" + void *tall_pcu_ctx; void printSizeofRLCMAC() -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23287 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5922950dd0057bf7eb8578e2144f127082323fc6 Gerrit-Change-Number: 23287 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 Mar 9 15:30:29 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 9 Mar 2021 15:30:29 +0000 Subject: Change in osmo-pcu[master]: pdch.h: Drop uneeded include bts.h References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23288 ) Change subject: pdch.h: Drop uneeded include bts.h ...................................................................... pdch.h: Drop uneeded include bts.h This header is not needed and creates include loop issues in follow-up patches. Change-Id: Ic12ab293f27b5e13d1401c6f17d4d549bf5115f9 --- M src/pdch.h 1 file changed, 0 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/88/23288/1 diff --git a/src/pdch.h b/src/pdch.h index c83fe39..fb28019 100644 --- a/src/pdch.h +++ b/src/pdch.h @@ -29,8 +29,6 @@ #include "gsm_rlcmac.h" #include "coding_scheme.h" } - -#include #endif #include -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23288 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ic12ab293f27b5e13d1401c6f17d4d549bf5115f9 Gerrit-Change-Number: 23288 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 Mar 9 15:30:30 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 9 Mar 2021 15:30:30 +0000 Subject: Change in osmo-pcu[master]: Improve DATA.ind logging References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23289 ) Change subject: Improve DATA.ind logging ...................................................................... Improve DATA.ind logging pdch object is obtained prior in the stack so it is available for logging. Change-Id: If51f7bdbd626a44c7b8e182a3460dad49fda6ec3 --- M src/osmo-bts-litecell15/lc15_l1_if.c M src/osmo-bts-oc2g/oc2g_l1_if.c M src/osmo-bts-sysmo/sysmo_l1_if.c M src/pcu_l1_if.cpp M src/pcu_l1_if.h 5 files changed, 46 insertions(+), 31 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/89/23289/1 diff --git a/src/osmo-bts-litecell15/lc15_l1_if.c b/src/osmo-bts-litecell15/lc15_l1_if.c index c87edaf..99c82a1 100644 --- a/src/osmo-bts-litecell15/lc15_l1_if.c +++ b/src/osmo-bts-litecell15/lc15_l1_if.c @@ -194,11 +194,13 @@ { int rc = 0; struct gprs_rlcmac_bts *bts; + struct gprs_rlcmac_pdch *pdch; struct pcu_l1_meas meas = {0}; uint8_t *data; uint8_t data_len; - DEBUGP(DL1IF, "Rx PH-DATA.ind %s (hL2 %08x): %s\n", + DEBUGP(DL1IF, "(trx=%" PRIu8 ",ts=%u) FN=%u Rx PH-DATA.ind %s (hL2 %08x): %s\n", + fl1h->trx_no, data_ind->u8Tn, data_ind->u32Fn, get_value_string(lc15bts_l1sapi_names, data_ind->sapi), data_ind->hLayer2, osmo_hexdump(data_ind->msgUnitParam.u8Buffer, @@ -224,12 +226,14 @@ data = NULL; data_len = 0; } - pcu_rx_data_ind_pdtch(bts, fl1h->trx_no, data_ind->u8Tn, data, - data_len, data_ind->u32Fn, &meas); + pdch = &bts->trx[fl1h->trx_no].pdch[data_ind->u8Tn]; + pcu_rx_data_ind_pdtch(bts, pdch, data, data_len, data_ind->u32Fn, &meas); break; default: - LOGP(DL1IF, LOGL_NOTICE, "Rx PH-DATA.ind for unknown L1 SAPI %s\n", - get_value_string(lc15bts_l1sapi_names, data_ind->sapi)); + LOGP(DL1IF, LOGL_NOTICE, + "(trx=%" PRIu8 ",ts=%u) FN=%u Rx PH-DATA.ind for unknown L1 SAPI %s\n", + fl1h->trx_no, data_ind->u8Tn, data_ind->u32Fn, + get_value_string(lc15bts_l1sapi_names, data_ind->sapi)); break; } diff --git a/src/osmo-bts-oc2g/oc2g_l1_if.c b/src/osmo-bts-oc2g/oc2g_l1_if.c index 5d2ce69..101bd56 100644 --- a/src/osmo-bts-oc2g/oc2g_l1_if.c +++ b/src/osmo-bts-oc2g/oc2g_l1_if.c @@ -194,11 +194,13 @@ { int rc = 0; struct gprs_rlcmac_bts *bts; + struct gprs_rlcmac_pdch *pdch; struct pcu_l1_meas meas = {0}; uint8_t *data; uint8_t data_len; - DEBUGP(DL1IF, "Rx PH-DATA.ind %s (hL2 %08x): %s\n", + DEBUGP(DL1IF, "(trx=%" PRIu8 ",ts=%u) FN=%u Rx PH-DATA.ind %s (hL2 %08x): %s\n", + fl1h->trx_no, data_ind->u8Tn, data_ind->u32Fn, get_value_string(oc2gbts_l1sapi_names, data_ind->sapi), data_ind->hLayer2, osmo_hexdump(data_ind->msgUnitParam.u8Buffer, @@ -229,12 +231,14 @@ data = NULL; data_len = 0; } - pcu_rx_data_ind_pdtch(bts, fl1h->trx_no, data_ind->u8Tn, data, - data_len, data_ind->u32Fn, &meas); + pdch = &bts->trx[fl1h->trx_no].pdch[data_ind->u8Tn]; + pcu_rx_data_ind_pdtch(bts, pdch, data, data_len, data_ind->u32Fn, &meas); break; default: - LOGP(DL1IF, LOGL_NOTICE, "Rx PH-DATA.ind for unknown L1 SAPI %s\n", - get_value_string(oc2gbts_l1sapi_names, data_ind->sapi)); + LOGP(DL1IF, LOGL_NOTICE, + "(trx=%" PRIu8 ",ts=%u) FN=%u Rx PH-DATA.ind for unknown L1 SAPI %s\n", + fl1h->trx_no, data_ind->u8Tn, data_ind->u32Fn, + get_value_string(oc2gbts_l1sapi_names, data_ind->sapi)); break; } diff --git a/src/osmo-bts-sysmo/sysmo_l1_if.c b/src/osmo-bts-sysmo/sysmo_l1_if.c index 4faccaa..eb869e1 100644 --- a/src/osmo-bts-sysmo/sysmo_l1_if.c +++ b/src/osmo-bts-sysmo/sysmo_l1_if.c @@ -176,12 +176,14 @@ { int rc = 0; struct gprs_rlcmac_bts *bts; + struct gprs_rlcmac_pdch *pdch; struct pcu_l1_meas meas = {0}; uint8_t *data; uint8_t data_len; - DEBUGP(DL1IF, "Rx PH-DATA.ind %s (hL2 %08x): %s\n", + DEBUGP(DL1IF, "(trx=%" PRIu8 ",ts=%u) FN=%u Rx PH-DATA.ind %s (hL2 %08x): %s\n", + fl1h->trx_no, data_ind->u8Tn, data_ind->u32Fn, get_value_string(femtobts_l1sapi_names, data_ind->sapi), data_ind->hLayer2, osmo_hexdump(data_ind->msgUnitParam.u8Buffer, @@ -208,12 +210,14 @@ data = NULL; data_len = 0; } - pcu_rx_data_ind_pdtch(bts, fl1h->trx_no, data_ind->u8Tn, data, - data_len, data_ind->u32Fn, &meas); + pdch = &bts->trx[fl1h->trx_no].pdch[data_ind->u8Tn]; + pcu_rx_data_ind_pdtch(bts, pdch, data, data_len, data_ind->u32Fn, &meas); break; default: - LOGP(DL1IF, LOGL_NOTICE, "Rx PH-DATA.ind for unknown L1 SAPI %s\n", - get_value_string(femtobts_l1sapi_names, data_ind->sapi)); + LOGP(DL1IF, LOGL_NOTICE, + "(trx=%" PRIu8 ",ts=%u) FN=%u Rx PH-DATA.ind for unknown L1 SAPI %s\n", + fl1h->trx_no, data_ind->u8Tn, data_ind->u32Fn, + get_value_string(femtobts_l1sapi_names, data_ind->sapi)); rc = -1; break; } diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index a14a4ee..b241aa2 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -281,12 +281,9 @@ bts_set_current_block_frame_number(bts, fn, 5); } -int pcu_rx_data_ind_pdtch(struct gprs_rlcmac_bts *bts, uint8_t trx_no, uint8_t ts_no, uint8_t *data, +int pcu_rx_data_ind_pdtch(struct gprs_rlcmac_bts *bts, struct gprs_rlcmac_pdch *pdch, uint8_t *data, uint8_t len, uint32_t fn, struct pcu_l1_meas *meas) { - struct gprs_rlcmac_pdch *pdch; - - pdch = &bts->trx[trx_no].pdch[ts_no]; return pdch->rcv_block(data, len, fn, meas); } @@ -366,27 +363,30 @@ int rc; int current_fn = bts_current_frame_number(bts); struct pcu_l1_meas meas = {0}; + struct gprs_rlcmac_pdch *pdch; uint8_t gsmtap_chantype; - LOGP(DL1IF, LOGL_DEBUG, "Data indication received: sapi=%d arfcn=%d " - "fn=%d cur_fn=%d block=%d data=%s\n", data_ind->sapi, - data_ind->arfcn, data_ind->fn, current_fn, data_ind->block_nr, - osmo_hexdump(data_ind->data, data_ind->len)); + LOGP(DL1IF, LOGL_DEBUG, "(bts=%" PRIu8 ",trx=%" PRIu8 ",ts=%" PRIu8 ") FN=%d " + "Rx DATA.ind: sapi=%d arfcn=%d cur_fn=%d " + "block=%d data=%s\n", bts->nr, data_ind->trx_nr, data_ind->ts_nr, + data_ind->fn, data_ind->sapi, data_ind->arfcn, current_fn, + data_ind->block_nr, osmo_hexdump(data_ind->data, data_ind->len)); switch (data_ind->sapi) { case PCU_IF_SAPI_PDTCH: + pdch = &bts->trx[data_ind->trx_nr].pdch[data_ind->ts_nr]; pcu_l1_meas_set_rssi(&meas, data_ind->rssi); /* convert BER to % value */ pcu_l1_meas_set_ber(&meas, data_ind->ber10k / 100); pcu_l1_meas_set_bto(&meas, data_ind->ta_offs_qbits); pcu_l1_meas_set_link_qual(&meas, data_ind->lqual_cb / 10); - LOGP(DL1IF, LOGL_DEBUG, "Data indication with raw measurements received: BER10k = %d, BTO = %d, Q = %d\n", - data_ind->ber10k, data_ind->ta_offs_qbits, data_ind->lqual_cb); + LOGPDCH(pdch, DL1IF, LOGL_DEBUG, "FN=%d Rx DATA.ind PDTCH: " + "BER10k = %d, BTO = %d, Q = %d\n", data_ind->fn, + data_ind->ber10k, data_ind->ta_offs_qbits, data_ind->lqual_cb); - rc = pcu_rx_data_ind_pdtch(bts, data_ind->trx_nr, data_ind->ts_nr, - data_ind->data, data_ind->len, data_ind->fn, - &meas); + rc = pcu_rx_data_ind_pdtch(bts, pdch, data_ind->data, data_ind->len, + data_ind->fn, &meas); gsmtap_chantype = GSMTAP_CHANNEL_PDTCH; break; case PCU_IF_SAPI_BCCH: @@ -394,8 +394,9 @@ gsmtap_chantype = GSMTAP_CHANNEL_BCCH; break; default: - LOGP(DL1IF, LOGL_ERROR, "Received PCU data indication with " - "unsupported sapi %d\n", data_ind->sapi); + LOGP(DL1IF, LOGL_ERROR, "(bts=%" PRIu8 ",trx=%" PRIu8 ",ts=%" PRIu8 ") " + "FN=%d Rx DATA.ind with unsupported sapi %d\n", + bts->nr, data_ind->trx_nr, data_ind->ts_nr, data_ind->fn, data_ind->sapi); rc = -EINVAL; gsmtap_chantype = GSMTAP_CHANNEL_UNKNOWN; } diff --git a/src/pcu_l1_if.h b/src/pcu_l1_if.h index e4a46a9..aff23f5 100644 --- a/src/pcu_l1_if.h +++ b/src/pcu_l1_if.h @@ -34,6 +34,8 @@ } #endif +#include "pdch.h" + static inline uint8_t qta2ta(int16_t qta) { if (qta < 0) @@ -171,7 +173,7 @@ uint32_t fn, uint8_t block_nr); int pcu_rx_rach_ind_ptcch(struct gprs_rlcmac_bts *bts, uint8_t trx_nr, uint8_t ts_nr, uint32_t fn, int16_t qta); -int pcu_rx_data_ind_pdtch(struct gprs_rlcmac_bts *bts, uint8_t trx, uint8_t ts, uint8_t *data, +int pcu_rx_data_ind_pdtch(struct gprs_rlcmac_bts *bts, struct gprs_rlcmac_pdch *pdch, uint8_t *data, uint8_t len, uint32_t fn, struct pcu_l1_meas *meas); void pcu_rx_block_time(struct gprs_rlcmac_bts *bts, uint16_t arfcn, uint32_t fn, uint8_t ts_no); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23289 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: If51f7bdbd626a44c7b8e182a3460dad49fda6ec3 Gerrit-Change-Number: 23289 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 Mar 9 15:30:30 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 9 Mar 2021 15:30:30 +0000 Subject: Change in osmo-pcu[master]: Improve logging in DATA.req and ACT.req References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23290 ) Change subject: Improve logging in DATA.req and ACT.req ...................................................................... Improve logging in DATA.req and ACT.req Change-Id: Id57d50d8bf528adfef3713c594102d31ab49c149 --- M src/pcu_l1_if.cpp 1 file changed, 19 insertions(+), 15 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/90/23290/1 diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index b241aa2..1f87666 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -147,14 +147,15 @@ return pcu_sock_send(msg); } -static int pcu_tx_act_req(struct gprs_rlcmac_bts *bts, uint8_t trx, uint8_t ts, uint8_t activate) +static int pcu_tx_act_req(struct gprs_rlcmac_bts *bts, const struct gprs_rlcmac_pdch *pdch, + uint8_t activate) { struct msgb *msg; struct gsm_pcu_if *pcu_prim; struct gsm_pcu_if_act_req *act_req; - LOGP(DL1IF, LOGL_INFO, "Sending %s request: trx=%d ts=%d\n", - (activate) ? "activate" : "deactivate", trx, ts); + LOGPDCH(pdch, DL1IF, LOGL_INFO, "Sending %s request\n", + (activate) ? "activate" : "deactivate"); msg = pcu_msgb_alloc(PCU_IF_MSG_ACT_REQ, bts->nr); if (!msg) @@ -162,8 +163,8 @@ pcu_prim = (struct gsm_pcu_if *) msg->data; act_req = &pcu_prim->u.act_req; act_req->activate = activate; - act_req->trx_nr = trx; - act_req->ts_nr = ts; + act_req->trx_nr = pdch->trx_no(); + act_req->ts_nr = pdch->ts_no; return pcu_sock_send(msg); } @@ -177,9 +178,9 @@ struct gsm_pcu_if_data *data_req; int current_fn = bts_current_frame_number(bts); - LOGP(DL1IF, LOGL_DEBUG, "Sending data request: trx=%d ts=%d sapi=%d " - "arfcn=%d fn=%d cur_fn=%d block=%d data=%s\n", trx, ts, sapi, arfcn, fn, current_fn, - block_nr, osmo_hexdump(data, len)); + LOGP(DL1IF, LOGL_DEBUG, "(bts=%u,trx=%u,ts=%u) FN=%u Sending data request: sapi=%d " + "arfcn=%d cur_fn=%d block=%d data=%s\n", bts->nr, trx, ts, fn, sapi, + arfcn, current_fn, block_nr, osmo_hexdump(data, len)); msg = pcu_msgb_alloc(PCU_IF_MSG_DATA_REQ, bts->nr); if (!msg) @@ -461,10 +462,12 @@ { int rc = 0; int current_fn = bts_current_frame_number(bts); + struct gprs_rlcmac_pdch *pdch; + pdch = &bts->trx[rts_req->trx_nr].pdch[rts_req->ts_nr]; - LOGP(DL1IF, LOGL_DEBUG, "RTS request received: trx=%d ts=%d sapi=%d " - "arfcn=%d fn=%d cur_fn=%d block=%d\n", rts_req->trx_nr, rts_req->ts_nr, - rts_req->sapi, rts_req->arfcn, rts_req->fn, current_fn, rts_req->block_nr); + LOGPDCH(pdch, DL1IF, LOGL_DEBUG, "FN=%u RX RTS.req: sapi=%d " + "arfcn=%d cur_fn=%d block=%d\n", rts_req->fn, + rts_req->sapi, rts_req->arfcn, current_fn, rts_req->block_nr); switch (rts_req->sapi) { case PCU_IF_SAPI_PDTCH: @@ -476,8 +479,9 @@ rts_req->fn, rts_req->block_nr); break; default: - LOGP(DL1IF, LOGL_ERROR, "Received PCU RTS request with " - "unsupported sapi %d\n", rts_req->sapi); + LOGP(DL1IF, LOGL_ERROR, "(bts=%u,trx=%u,ts=%u) FN=%u RX RTS.req with " + "unsupported sapi %d\n", bts->nr, rts_req->trx_nr, rts_req->ts_nr, + rts_req->fn, rts_req->sapi); rc = -EINVAL; } @@ -759,7 +763,7 @@ l1if_connect_pdch( bts->trx[trx_nr].fl1h, ts_nr); #endif - pcu_tx_act_req(bts, trx_nr, ts_nr, 1); + pcu_tx_act_req(bts, pdch, 1); pdch->enable(); } @@ -785,7 +789,7 @@ trx_nr, ts_nr, pdch->tsc, pdch->fh.enabled ? "yes" : "no"); } else { if (pdch->is_enabled()) { - pcu_tx_act_req(bts, trx_nr, ts_nr, 0); + pcu_tx_act_req(bts, pdch, 0); pdch->free_resources(); pdch->disable(); } -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23290 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id57d50d8bf528adfef3713c594102d31ab49c149 Gerrit-Change-Number: 23290 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 Mar 9 15:30:30 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 9 Mar 2021 15:30:30 +0000 Subject: Change in osmo-pcu[master]: WIP: Add new PDCH UL Controller, drop SBAllocator class References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23291 ) Change subject: WIP: Add new PDCH UL Controller, drop SBAllocator class ...................................................................... WIP: Add new PDCH UL Controller, drop SBAllocator class Right now we handle different types of UL allocations in different classes like PollAllocator and SBAllocator, and they usually don't take into account the other one in most cases. Furthermore, those objects are usually per-BTS object, instead of per PDCH object. This is a first step towards having a unified per-PDCH controller which takes care of controlling what is scheduled and hence expected on the uplink. Each PDCH has a UL Controller which keeps track of all reserved uplink frame, be it SB, RRBP poll or USF assigned, all under the same API. As a first step, only the SBA part is fully implemented and used (being it the easiest part to replace); TBF poll+usf will come in follow-up patches later on. As a result, the SBAllocator per-BTS class dissappears but some of its code is refactored/reused to provide more features to the gprs_rlcmac_sba object, which is also further integrated into the new UL Controller. Related: OS#5020 Change-Id: I84b24beea4a1aa2c1528f41435f77bd16df2b947 --- M src/Makefile.am M src/bts.cpp M src/bts.h M src/gprs_rlcmac_sched.cpp M src/pcu_l1_if.cpp M src/pdch.cpp M src/pdch.h A src/pdch_ul_controller.c A src/pdch_ul_controller.h M src/poll_controller.cpp A src/sba.c D src/sba.cpp M src/sba.h M src/tbf.cpp M tests/tbf/TbfTest.cpp M tests/tbf/TbfTest.err 16 files changed, 463 insertions(+), 224 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/91/23291/1 diff --git a/src/Makefile.am b/src/Makefile.am index eefbea1..ab9aeeb 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -62,9 +62,10 @@ tbf_dl.cpp \ bts.cpp \ pdch.cpp \ + pdch_ul_controller.c \ poll_controller.cpp \ encoding.cpp \ - sba.cpp \ + sba.c \ decoding.cpp \ llc.cpp \ rlc.cpp \ @@ -100,6 +101,7 @@ tbf_dl.h \ bts.h \ pdch.h \ + pdch_ul_controller.h \ poll_controller.h \ encoding.h \ sba.h \ diff --git a/src/bts.cpp b/src/bts.cpp index 1d3f690..a7d475c 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -212,7 +212,6 @@ * m_ms_store's destructor */ bts->ms_store->cleanup(); delete bts->ms_store; - delete bts->sba; delete bts->pollController; if (bts->ratectrs) { @@ -246,7 +245,6 @@ bts->nr = bts_nr; bts->pollController = new PollController(*bts); - bts->sba = new SBAController(*bts); bts->ms_store = new GprsMsStorage(bts); bts->cur_fn = 0; @@ -819,10 +817,43 @@ return 0; } +struct gprs_rlcmac_sba *bts_alloc_sba(struct gprs_rlcmac_bts *bts, uint8_t ta) +{ + struct gprs_rlcmac_pdch *pdch; + struct gprs_rlcmac_sba *sba = NULL; + int8_t trx, ts; + + if (!gsm48_ta_is_valid(ta)) + return NULL; + + for (trx = 0; trx < 8; trx++) { + for (ts = 7; ts >= 0; ts--) { + pdch = &bts->trx[trx].pdch[ts]; + if (!pdch->is_enabled()) + continue; + break; + } + if (ts >= 0) + break; + } + if (trx == 8) { + LOGP(DRLCMAC, LOGL_NOTICE, "No PDCH available.\n"); + return NULL; + } + + sba = sba_alloc(bts, pdch, ta); + if (!sba) + return NULL; + + bts_do_rate_ctr_inc(bts, CTR_SBA_ALLOCATED); + return sba; +} + int bts_rcv_rach(struct gprs_rlcmac_bts *bts, const struct rach_ind_params *rip) { struct chan_req_params chan_req = { 0 }; struct gprs_rlcmac_ul_tbf *tbf = NULL; + struct gprs_rlcmac_sba *sba; uint8_t trx_no, ts_no; uint32_t sb_fn = 0; uint8_t usf = 7; @@ -864,14 +895,18 @@ /* Should we allocate a single block or an Uplink TBF? */ if (chan_req.single_block) { - rc = bts_sba(bts)->alloc(&trx_no, &ts_no, &sb_fn, ta); - if (rc < 0) { + sba = bts_alloc_sba(bts, ta); + if (!sba) { LOGP(DRLCMAC, LOGL_NOTICE, "No PDCH resource for " - "single block allocation: rc=%d\n", rc); + "single block allocation\n"); + rc = -EBUSY; /* Send RR Immediate Assignment Reject */ goto send_imm_ass_rej; } + trx_no = sba->pdch->trx_no(); + ts_no = sba->pdch->ts_no; + sb_fn = sba->fn; tsc = bts->trx[trx_no].pdch[ts_no].tsc; LOGP(DRLCMAC, LOGL_DEBUG, "Allocated a single block at " "SBFn=%u TRX=%u TS=%u\n", sb_fn, trx_no, ts_no); @@ -1076,11 +1111,6 @@ return ms; } -struct SBAController *bts_sba(struct gprs_rlcmac_bts *bts) -{ - return bts->sba; -} - struct GprsMsStorage *bts_ms_store(struct gprs_rlcmac_bts *bts) { return bts->ms_store; diff --git a/src/bts.h b/src/bts.h index 3ddf501..051a698 100644 --- a/src/bts.h +++ b/src/bts.h @@ -253,7 +253,6 @@ uint8_t max_cs_dl, max_cs_ul; uint8_t max_mcs_dl, max_mcs_ul; struct PollController *pollController; - struct SBAController *sba; struct rate_ctr_group *ratectrs; struct osmo_stat_item_group *statg; @@ -308,8 +307,6 @@ enum pcu_gsmtap_category categ, uint8_t channel, const struct rach_ind_params *rip); -struct SBAController *bts_sba(struct gprs_rlcmac_bts *bts); - struct GprsMsStorage *bts_ms_store(struct gprs_rlcmac_bts *bts); struct GprsMs *bts_ms_by_tlli(struct gprs_rlcmac_bts *bts, uint32_t tlli, uint32_t old_tlli); @@ -339,6 +336,8 @@ struct gprs_rlcmac_bts *bts_alloc(struct gprs_pcu *pcu, uint8_t bts_nr); +struct gprs_rlcmac_sba *bts_alloc_sba(struct gprs_rlcmac_bts *bts, uint8_t ta); + void bts_recalc_initial_cs(struct gprs_rlcmac_bts *bts); void bts_recalc_initial_mcs(struct gprs_rlcmac_bts *bts); void bts_recalc_max_cs(struct gprs_rlcmac_bts *bts); diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp index 51deb65..d95cd81 100644 --- a/src/gprs_rlcmac_sched.cpp +++ b/src/gprs_rlcmac_sched.cpp @@ -482,11 +482,10 @@ block_nr, poll_fn, tbf_name(tbf_cand.poll)); usf = USF_UNUSED; /* else. check for sba */ - } else if ((sba_fn = bts_sba(bts)->sched(trx, ts, fn, block_nr)) != 0xffffffff) { - LOGP(DRLCMACSCHED, LOGL_DEBUG, "Received RTS for PDCH: TRX=%d " - "TS=%d FN=%d block_nr=%d scheduling free USF for " - "single block allocation at FN=%d\n", trx, ts, fn, - block_nr, sba_fn); +} else if ((sba_fn = find_sba_rts(pdch, fn, block_nr)) != 0xffffffff) { + LOGPDCH(pdch, DRLCMACSCHED, LOGL_DEBUG, "Received RTS for PDCH: " + "FN=%d block_nr=%d scheduling free USF for " + "single block allocation at FN=%d\n", fn, block_nr, sba_fn); usf = USF_UNUSED; /* else, we search for uplink resource */ } else { diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index 1f87666..412a220 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -285,7 +285,11 @@ int pcu_rx_data_ind_pdtch(struct gprs_rlcmac_bts *bts, struct gprs_rlcmac_pdch *pdch, uint8_t *data, uint8_t len, uint32_t fn, struct pcu_l1_meas *meas) { - return pdch->rcv_block(data, len, fn, meas); + int rc; + + rc = pdch->rcv_block(data, len, fn, meas); + pdch_ulc_expire_fn(pdch->ulc, fn); + return rc; } static int pcu_rx_data_ind_bcch(struct gprs_rlcmac_bts *bts, uint8_t *data, uint8_t len) diff --git a/src/pdch.cpp b/src/pdch.cpp index 466eaa5..2d66ac1 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -139,6 +139,7 @@ /* Initialize the PTCCH/D message (Packet Timing Advance Control Channel) */ memset(pdch->ptcch_msg, PTCCH_TAI_FREE, PTCCH_TAI_NUM); memset(pdch->ptcch_msg + PTCCH_TAI_NUM, PTCCH_PADDING, 7); + pdch->ulc = pdch_ulc_alloc(pdch, trx->bts); } void gprs_rlcmac_pdch::enable() @@ -169,7 +170,7 @@ while ((pag = dequeue_paging())) talloc_free(pag); - bts_sba(trx->bts)->free_resources(this); + talloc_free(this->ulc); } struct gprs_rlcmac_paging *gprs_rlcmac_pdch::dequeue_paging() @@ -604,10 +605,10 @@ LOGPDCH(this, DRLCMAC, LOGL_DEBUG, "MS requests UL TBF " "in packet resource request of single " "block, so we provide one:\n"); - sba = bts_sba(bts())->find(this, fn); + sba = pdch_ulc_get_sba(this->ulc, fn); if (sba) { ms_set_ta(ms, sba->ta); - bts_sba(bts())->free_sba(sba); + sba_free(sba); } else if (!ul_tbf || !ul_tbf->state_is(GPRS_RLCMAC_FINISHED)) { LOGPTBFUL(ul_tbf, LOGL_NOTICE, "MS requests UL TBF in PACKET RESOURCE REQ of " @@ -702,9 +703,9 @@ ms = bts_alloc_ms(bts(), 0, 0); ms_set_tlli(ms, report->TLLI); } - if ((sba = bts_sba(bts())->find(this, fn))) { + if ((sba = pdch_ulc_get_sba(this->ulc, fn))) { ms_set_ta(ms, sba->ta); - bts_sba(bts())->free_sba(sba); + sba_free(sba); } gprs_rlcmac_meas_rep(ms, report); } diff --git a/src/pdch.h b/src/pdch.h index fb28019..cfa0195 100644 --- a/src/pdch.h +++ b/src/pdch.h @@ -28,6 +28,7 @@ #include #include "gsm_rlcmac.h" #include "coding_scheme.h" +#include "pdch_ul_controller.h" } #endif @@ -126,6 +127,7 @@ /* back pointers */ struct gprs_rlcmac_trx *trx; uint8_t ts_no; + struct pdch_ulc *ulc; #ifdef __cplusplus private: @@ -191,10 +193,9 @@ void pdch_disable(struct gprs_rlcmac_pdch *pdch); #ifdef __cplusplus } +#endif #define LOGPDCH(pdch, category, level, fmt, args...) \ LOGP(category, level, "PDCH(bts=%" PRIu8 ",trx=%" PRIu8 ",ts=%" PRIu8 ") " fmt, \ (pdch)->trx->bts->nr, (pdch)->trx->trx_no, (pdch)->ts_no, \ ## args) - -#endif diff --git a/src/pdch_ul_controller.c b/src/pdch_ul_controller.c new file mode 100644 index 0000000..7864476 --- /dev/null +++ b/src/pdch_ul_controller.c @@ -0,0 +1,223 @@ +/* pdch_ul_controller.c + * + * Copyright (C) 2021 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 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#include +#include + +#include "pdch_ul_controller.h" +#include "bts.h" +#include "sba.h" +#include "pdch.h" + +/* TS 44.060 Table 10.4.5.1 states maximum RRBP is N + 26. Give extra space for time diff between Tx and Rx? */ +#define MAX_FN_RESERVED (27 + 50) + +const struct value_string pdch_ul_node_names[] = { + { PDCH_ULC_NODE_TBF_USF, "USF" }, + { PDCH_ULC_NODE_TBF_POLL, "POLL" }, + { PDCH_ULC_NODE_SBA, "SBA" }, + { 0, NULL } +}; + +/* +static inline void _free_pdch_ulc_node(struct pdch_ulc_node *item) +{ + switch (item->type) { + case PDCH_ULC_NODE_TBF_USF: + break; + case PDCH_ULC_NODE_TBF_POLL: + break; + case PDCH_ULC_NODE_SBA: + sba_free(sba); //it will detach it from pdch_ulc + break; + } +}*/ + +static int ulc_talloc_destructor(struct pdch_ulc* ulc) +{ + /* TODO: iterate over rb-tree and free whatever */ + return 0; +} + +struct pdch_ulc *pdch_ulc_alloc(struct gprs_rlcmac_pdch *pdch, void *ctx) +{ + struct pdch_ulc* ulc; + ulc = talloc_zero(ctx, struct pdch_ulc); + if (!ulc) + return ulc; + talloc_set_destructor(ulc, ulc_talloc_destructor); + ulc->pdch = pdch; + + ulc->pool_ctx = talloc_pool(ulc, sizeof(struct pdch_ulc_node) * MAX_FN_RESERVED); + return ulc; +} + +struct pdch_ulc_node *pdch_ulc_get_node(struct pdch_ulc *ulc, uint32_t fn) +{ + struct rb_node *node; + struct pdch_ulc_node *this; + for (node = rb_first(&ulc->tree_root); node; node = rb_next(node)) { + this = container_of(node, struct pdch_ulc_node, node); + if (this->fn == fn) + return this; + if (this->fn > fn) + break; + } + return NULL; +} +struct pdch_ulc_node *pdch_ulc_pop_node(struct pdch_ulc *ulc, uint32_t fn) +{ + struct pdch_ulc_node *item = pdch_ulc_get_node(ulc, fn); + if (!item) + return NULL; + rb_erase(&item->node, &ulc->tree_root); + return item; +} + +struct gprs_rlcmac_sba *pdch_ulc_get_sba(struct pdch_ulc *ulc, uint32_t fn) +{ + struct pdch_ulc_node *item = pdch_ulc_get_node(ulc, fn); + if (!item || item->type != PDCH_ULC_NODE_SBA) { + /*LOGPDCH(ulc->pdch, DRLCMAC, LOGL_ERROR, + "Expected SBA at FN=%u but got type %s\n", fn, + item ? get_value_string(pdch_ul_node_names, item->type) : + "EMPTY");*/ + /* It's OK if we don't find one, this func is used by RTS to see if we need to schedule one */ + return NULL; + } + return item->sba.sba; +} + +/* +struct gprs_rlcmac_sba *pdch_ulc_pop_sba(struct pdch_ulc *ulc, uint32_t fn) +{ + struct pdch_ulc_node *item = pdch_ulc_get_node(ulc, fn); + if (!item || item->type != PDCH_ULC_NODE_SBA) { + LOGPDCH(ulc->pdch, DRLCMAC, LOGL_ERROR, + "Expected SBA at FN=%" PRIu32 " but got type %s\n", fn, + item ? get_value_string(pdch_ul_node_names, item->type) : + "EMPTY"); + return NULL; + } + rb_erase(&item->node, &ulc->tree_root); + return item->sba.sba; +}*/ + +bool pdch_ulc_fn_is_free(struct pdch_ulc *ulc, uint32_t fn) +{ + return !pdch_ulc_get_node(ulc, fn); +} + +static struct pdch_ulc_node *_alloc_node(struct pdch_ulc *ulc, uint32_t fn) +{ + struct pdch_ulc_node *node; + node = talloc_zero(ulc->pool_ctx, struct pdch_ulc_node); + node->fn = fn; + return node; +} + +static int pdch_ulc_add_node(struct pdch_ulc *ulc, struct pdch_ulc_node *item) +{ + struct rb_node **new = &(ulc->tree_root.rb_node); + struct rb_node *parent = NULL; + + while (*new) { + struct pdch_ulc_node *this; + + this = container_of(*new, struct pdch_ulc_node, node); + + parent = *new; + if (item->fn < this->fn) + new = &((*new)->rb_left); + else + new = &((*new)->rb_right); + } + + rb_link_node(&item->node, parent, new); + rb_insert_color(&item->node, &ulc->tree_root); + return 0; +} + +int pdch_ulc_reserve_tbf_usf(struct pdch_ulc *ulc, uint32_t fn, struct gprs_rlcmac_ul_tbf *ul_tbf) +{ + return 0; /* TODO: implement */ +} + +int pdch_ulc_reserve_tbf_poll(struct pdch_ulc *ulc, uint32_t fn, struct gprs_rlcmac_tbf *tbf) +{ + return 0; /* TODO: implement */ +} + +int pdch_ulc_reserve_sba(struct pdch_ulc *ulc, struct gprs_rlcmac_sba *sba) +{ + struct pdch_ulc_node *item = _alloc_node(ulc, sba->fn); + item->type = PDCH_ULC_NODE_SBA; + item->sba.sba = sba; + return pdch_ulc_add_node(ulc, item); +} + +int pdch_ulc_release_fn(struct pdch_ulc *ulc, uint32_t fn) +{ + struct pdch_ulc_node *item = pdch_ulc_get_node(ulc, fn); + if (!item) + return -ENOKEY; + rb_erase(&item->node, &ulc->tree_root); + talloc_free(item); + return 0; +} + +void pdch_ulc_expire_fn(struct pdch_ulc *ulc, uint32_t fn) +{ + struct gprs_rlcmac_sba *sba; + struct pdch_ulc_node *item; + + /* Sanity check: */ + struct rb_node *first = rb_first(&ulc->tree_root); + if (first) { + struct pdch_ulc_node *first_it = container_of(first, struct pdch_ulc_node, node); + if (first_it->fn < fn) { + LOGPDCH(ulc->pdch, DRLCMAC, LOGL_ERROR, + "Expiring FN=%" PRIu32 " but previous FN=%" PRIu32 " is still reserved!\n", + fn, first_it->fn); + } + } + + item = pdch_ulc_pop_node(ulc, fn); + if (!item) + return; + + switch (item->type) { + case PDCH_ULC_NODE_TBF_USF: + /* TODO: increase N3...*/ + break; + case PDCH_ULC_NODE_TBF_POLL: + /* TODO: increase N3...*/ + break; + case PDCH_ULC_NODE_SBA: + sba = item->sba.sba; + LOGPDCH(sba->pdch, DRLCMAC, LOGL_NOTICE, + "Timeout for unregistered SBA (FN=%u, TA=%u)\n", + sba->fn, sba->ta); + sba_free(sba); + break; + } + + talloc_free(item); +} diff --git a/src/pdch_ul_controller.h b/src/pdch_ul_controller.h new file mode 100644 index 0000000..8382b27 --- /dev/null +++ b/src/pdch_ul_controller.h @@ -0,0 +1,80 @@ +/* pdch_ul_controller.h + * + * Copyright (C) 2021 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 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ +#pragma once + +#include +#include + +#include +#include + +struct gprs_rlcmac_pdch; +struct gprs_rlcmac_tbf; +struct gprs_rlcmac_ul_tbf; +struct gprs_rlcmac_sba; + +struct pdch_ulc { + struct gprs_rlcmac_pdch *pdch; /* back pointer */ + uint32_t last_fn; /* last FN rx from TDMA clock */ + struct rb_root tree_root; + void *pool_ctx; /* talloc pool of struct pdch_ulc_node */ +}; + +enum PdchUlcNode { + PDCH_ULC_NODE_TBF_USF, + PDCH_ULC_NODE_TBF_POLL, + PDCH_ULC_NODE_SBA, +}; +extern const struct value_string pdch_ul_node_names[]; + +struct pdch_ulc_node { + struct rb_node node; /*! entry in pdch_ulc->tree_root */ + uint32_t fn; + enum PdchUlcNode type; + union { + struct { + struct gprs_rlcmac_ul_tbf *ul_tbf; + } tbf_usf; + struct { + struct gprs_rlcmac_tbf *poll_tbf; + } tbf_poll; + struct { + struct gprs_rlcmac_sba *sba; + } sba; + }; +}; + + +struct pdch_ulc *pdch_ulc_alloc(struct gprs_rlcmac_pdch *pdch, void *ctx); + +int pdch_ulc_reserve_tbf_usf(struct pdch_ulc *ulc, uint32_t fn, struct gprs_rlcmac_ul_tbf *ul_tbf); +int pdch_ulc_reserve_tbf_poll(struct pdch_ulc *ulc, uint32_t fn, struct gprs_rlcmac_tbf *tbf); +int pdch_ulc_reserve_sba(struct pdch_ulc *ulc, struct gprs_rlcmac_sba *sba); + +bool pdch_ulc_fn_is_free(struct pdch_ulc *ulc, uint32_t fn); + +struct pdch_ulc_node *pdch_ulc_get_node(struct pdch_ulc *ulc, uint32_t fn); +struct pdch_ulc_node *pdch_ulc_pop_node(struct pdch_ulc *ulc, uint32_t fn); +struct gprs_rlcmac_sba *pdch_ulc_get_sba(struct pdch_ulc *ulc, uint32_t fn); +//struct gprs_rlcmac_sba *pdch_ulc_pop_sba(struct pdch_ulc *ulc, uint32_t fn); + +int pdch_ulc_release_fn(struct pdch_ulc *ulc, uint32_t fn); + +void pdch_ulc_expire_fn(struct pdch_ulc *ulc, uint32_t fn); diff --git a/src/poll_controller.cpp b/src/poll_controller.cpp index 04ec4fd..fe10171 100644 --- a/src/poll_controller.cpp +++ b/src/poll_controller.cpp @@ -51,7 +51,6 @@ { struct gprs_rlcmac_dl_tbf *dl_tbf; struct gprs_rlcmac_ul_tbf *ul_tbf; - struct gprs_rlcmac_sba *sba, *sba2; struct llist_item *pos; llist_for_each_entry(pos, &m_bts.ul_tbfs, list) { @@ -68,11 +67,4 @@ dl_tbf->poll_timeout(); } } - llist_for_each_entry_safe(sba, sba2, &bts_sba(&m_bts)->m_sbas, list) { - if (elapsed_fn_check(max_delay, frame_number, sba->fn)) { - /* sba will be freed here */ - bts_sba(&m_bts)->timeout(sba); - } - } - } diff --git a/src/sba.c b/src/sba.c new file mode 100644 index 0000000..6706fa3 --- /dev/null +++ b/src/sba.c @@ -0,0 +1,83 @@ +/* sba.cpp + * + * Copyright (C) 2012 Ivan Klyuchnikov + * Copyright (C) 2012 Andreas Eversberg + * Copyright (C) 2013 by Holger Hans Peter Freyther + * + * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#include "pdch.h" +#include "pdch_ul_controller.h" + +/* starting time for assigning single slot + * This offset must be a multiple of 13. */ +#define AGCH_START_OFFSET 52 + + +struct gprs_rlcmac_sba *sba_alloc(void *ctx, struct gprs_rlcmac_pdch *pdch, uint8_t ta) +{ + struct gprs_rlcmac_sba *sba; + sba = talloc_zero(ctx, struct gprs_rlcmac_sba); + if (!sba) + return NULL; + + sba->pdch = pdch; + sba->ta = ta; + + /* TODO: request ULC for next available FN instead of hardcoded AGCH_START_OFFSET */ + sba->fn = next_fn(pdch->last_rts_fn, AGCH_START_OFFSET); + + pdch_ulc_reserve_sba(pdch->ulc, sba); + return sba; +} + +void sba_free(struct gprs_rlcmac_sba *sba) +{ + if (pdch_ulc_release_fn(sba->pdch->ulc, sba->fn) < 0) + LOGPDCH(sba->pdch, DRLCMAC, LOGL_NOTICE, + "Trying to release unregistered SBA (FN=%u, TA=%u)\n", + sba->fn, sba->ta); + bts_do_rate_ctr_inc(sba->pdch->trx->bts, CTR_SBA_FREED); + talloc_free(sba); +} + +uint32_t find_sba_rts(struct gprs_rlcmac_pdch *pdch, uint32_t fn, uint8_t block_nr) +{ + uint32_t sba_fn = fn + 4; + struct gprs_rlcmac_sba *sba; + + /* check special TBF for events */ + if ((block_nr % 3) == 2) + sba_fn++; + sba_fn = sba_fn % GSM_MAX_FN; + sba = pdch_ulc_get_sba(pdch->ulc, sba_fn); + if (sba) + return sba_fn; + + return 0xffffffff; +} diff --git a/src/sba.cpp b/src/sba.cpp deleted file mode 100644 index 53eb847..0000000 --- a/src/sba.cpp +++ /dev/null @@ -1,157 +0,0 @@ -/* sba.cpp - * - * Copyright (C) 2012 Ivan Klyuchnikov - * Copyright (C) 2012 Andreas Eversberg - * Copyright (C) 2013 by Holger Hans Peter Freyther - * - * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - */ - -#include -#include -#include -#include -#include - -extern "C" { -#include -#include -#include -#include -} - -#include - -extern void *tall_pcu_ctx; - -/* starting time for assigning single slot - * This offset must be a multiple of 13. */ -#define AGCH_START_OFFSET 52 - -SBAController::SBAController(struct gprs_rlcmac_bts &bts) - : m_bts(bts) -{ - INIT_LLIST_HEAD(&m_sbas); -} - -int SBAController::alloc( - uint8_t *_trx, uint8_t *_ts, uint32_t *_fn, uint8_t ta) -{ - - struct gprs_rlcmac_pdch *pdch; - struct gprs_rlcmac_sba *sba; - 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; - - for (trx = 0; trx < 8; trx++) { - for (ts = 7; ts >= 0; ts--) { - pdch = &m_bts.trx[trx].pdch[ts]; - if (!pdch->is_enabled()) - continue; - break; - } - if (ts >= 0) - break; - } - if (trx == 8) { - LOGP(DRLCMAC, LOGL_NOTICE, "No PDCH available.\n"); - talloc_free(sba); - return -EINVAL; - } - - fn = next_fn(pdch->last_rts_fn, AGCH_START_OFFSET); - - sba->trx_no = trx; - sba->ts_no = ts; - sba->fn = fn; - sba->ta = ta; - - llist_add(&sba->list, &m_sbas); - bts_do_rate_ctr_inc(&m_bts, CTR_SBA_ALLOCATED); - - *_trx = trx; - *_ts = ts; - *_fn = fn; - return 0; -} - -gprs_rlcmac_sba *SBAController::find(uint8_t trx, uint8_t ts, uint32_t fn) -{ - struct gprs_rlcmac_sba *sba; - - llist_for_each_entry(sba, &m_sbas, list) { - if (sba->trx_no == trx && sba->ts_no == ts && sba->fn == fn) - return sba; - } - - return NULL; -} - -gprs_rlcmac_sba *SBAController::find(const gprs_rlcmac_pdch *pdch, uint32_t fn) -{ - return find(pdch->trx_no(), pdch->ts_no, fn); -} - -uint32_t SBAController::sched(uint8_t trx, uint8_t ts, uint32_t fn, uint8_t block_nr) -{ - uint32_t sba_fn = fn + 4; - struct gprs_rlcmac_sba *sba; - - /* check special TBF for events */ - if ((block_nr % 3) == 2) - sba_fn++; - sba_fn = sba_fn % GSM_MAX_FN; - sba = find(trx, ts, sba_fn); - if (sba) - return sba_fn; - - return 0xffffffff; -} - -int SBAController::timeout(struct gprs_rlcmac_sba *sba) -{ - LOGP(DRLCMAC, LOGL_NOTICE, - "Poll timeout for SBA (TRX=%u, TS=%u, FN=%u, TA=%u)\n", sba->trx_no, - sba->ts_no, sba->fn, sba->ta); - bts_do_rate_ctr_inc(&m_bts, CTR_SBA_TIMEDOUT); - free_sba(sba); - return 0; -} - -void SBAController::free_sba(gprs_rlcmac_sba *sba) -{ - bts_do_rate_ctr_inc(&m_bts, CTR_SBA_FREED); - llist_del(&sba->list); - talloc_free(sba); -} - -void SBAController::free_resources(struct gprs_rlcmac_pdch *pdch) -{ - struct gprs_rlcmac_sba *sba, *sba2; - const uint8_t trx_no = pdch->trx->trx_no; - const uint8_t ts_no = pdch->ts_no; - - llist_for_each_entry_safe(sba, sba2, &m_sbas, list) { - if (sba->trx_no == trx_no && sba->ts_no == ts_no) - free_sba(sba); - } -} diff --git a/src/sba.h b/src/sba.h index a6e3f82..446e2ff 100644 --- a/src/sba.h +++ b/src/sba.h @@ -20,48 +20,30 @@ */ #pragma once +#ifdef __cplusplus +extern "C" { +#endif + #include -extern "C" { #include -} -struct gprs_rlcmac_bts; struct gprs_rlcmac_pdch; /* * single block allocation entry */ struct gprs_rlcmac_sba { - struct llist_head list; - uint8_t trx_no; - uint8_t ts_no; + struct gprs_rlcmac_pdch *pdch; /* PDCH where the SBA is allocated on*/ uint32_t fn; uint8_t ta; }; -/** - * I help to manage SingleBlockAssignment (SBA). - * - * TODO: Add a flush method.. - */ -struct SBAController { - friend class PollController; -public: - SBAController(struct gprs_rlcmac_bts &bts); +struct gprs_rlcmac_sba *sba_alloc(void *ctx, struct gprs_rlcmac_pdch *pdch, uint8_t ta); +void sba_free(struct gprs_rlcmac_sba *sba); - int alloc(uint8_t *_trx, uint8_t *_ts, uint32_t *_fn, uint8_t ta); - gprs_rlcmac_sba *find(uint8_t trx, uint8_t ts, uint32_t fn); - gprs_rlcmac_sba *find(const gprs_rlcmac_pdch *pdch, uint32_t fn); +uint32_t find_sba_rts(struct gprs_rlcmac_pdch *pdch, uint32_t fn, uint8_t block_nr); - uint32_t sched(uint8_t trx, uint8_t ts, uint32_t fn, uint8_t block_nr); - - int timeout(struct gprs_rlcmac_sba *sba); - void free_resources(struct gprs_rlcmac_pdch *pdch); - - void free_sba(gprs_rlcmac_sba *sba); - -private: - struct gprs_rlcmac_bts &m_bts; - llist_head m_sbas; -}; +#ifdef __cplusplus +} +#endif diff --git a/src/tbf.cpp b/src/tbf.cpp index 15d3fa1..4c94960 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -562,7 +562,7 @@ LOGPTBF(this, LOGL_DEBUG, "Polling is already scheduled\n"); return -EBUSY; } - if (bts_sba(bts)->find(trx->trx_no, ts, new_poll_fn)) { + if (!pdch_ulc_fn_is_free(trx->pdch[ts].ulc, new_poll_fn)) { LOGPTBF(this, LOGL_DEBUG, "Polling is already scheduled " "for single block allocation at FN %d TS %d ...\n", new_poll_fn, ts); diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp index d921cbe..f7524c9 100644 --- a/tests/tbf/TbfTest.cpp +++ b/tests/tbf/TbfTest.cpp @@ -1793,7 +1793,7 @@ */ rc = bts_handle_rach(bts, 0x70, rach_fn, qta); - OSMO_ASSERT(rc == -EINVAL); + OSMO_ASSERT(rc == -EBUSY); TALLOC_FREE(the_pcu); fprintf(stderr, "=== end %s ===\n", __func__); diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index c3fff2d..dbf09d0 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -6232,7 +6232,7 @@ MS requests Uplink resource on CCCH/RACH: ra=0x70 (8 bit) Fn=2654167 qta=31 MS requests single block allocation No PDCH available. -No PDCH resource for single block allocation: rc=-22 +No PDCH resource for single block allocation Tx Immediate Assignment Reject on AGCH === end test_immediate_assign_rej_single_block === === start test_tbf_egprs_two_phase_puan === -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23291 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I84b24beea4a1aa2c1528f41435f77bd16df2b947 Gerrit-Change-Number: 23291 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 Mar 9 15:30:49 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 9 Mar 2021 15:30:49 +0000 Subject: Change in osmo-gbproxy[master]: manual: Update manuals, include sgsn pooling and NS variants References: Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/23292 ) Change subject: manual: Update manuals, include sgsn pooling and NS variants ...................................................................... manual: Update manuals, include sgsn pooling and NS variants Related: SYS#5005, SYS#5115, OS#4523 Change-Id: I440b0f9a6e18c21b11640ca32403f19d7e83b5c1 --- M doc/manuals/osmogbproxy-usermanual-docinfo.xml M doc/manuals/osmogbproxy-usermanual.adoc M doc/manuals/osmogbproxy-vty-reference.xml 3 files changed, 31 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gbproxy refs/changes/92/23292/1 diff --git a/doc/manuals/osmogbproxy-usermanual-docinfo.xml b/doc/manuals/osmogbproxy-usermanual-docinfo.xml index 29bb2aa..2f96a0e 100644 --- a/doc/manuals/osmogbproxy-usermanual-docinfo.xml +++ b/doc/manuals/osmogbproxy-usermanual-docinfo.xml @@ -7,6 +7,15 @@ Initial version. + + 2 + March 05, 2021 + DW + + Update configuration chapters after rewrite, + clarify new scope, pooling support + + @@ -21,10 +30,20 @@ Managing Director + + Daniel + Willmann + dwillmann at sysmocom.de + DW + + sysmocom + sysmocom - s.f.m.c. GmbH + + - 2013-2019 + 2013-2021 sysmocom - s.f.m.c. GmbH diff --git a/doc/manuals/osmogbproxy-usermanual.adoc b/doc/manuals/osmogbproxy-usermanual.adoc index bf2404d..06bc098 100644 --- a/doc/manuals/osmogbproxy-usermanual.adoc +++ b/doc/manuals/osmogbproxy-usermanual.adoc @@ -21,6 +21,10 @@ include::{srcdir}/chapters/gbproxy-configuration.adoc[] +include::{srcdir}/chapters/gbproxy-sgsnpool.adoc[] + +include::./common/chapters/gb-variants.adoc[] + include::./common/chapters/gb.adoc[] include::./common/chapters/control_if.adoc[] diff --git a/doc/manuals/osmogbproxy-vty-reference.xml b/doc/manuals/osmogbproxy-vty-reference.xml index 5c2a16a..ce05a41 100644 --- a/doc/manuals/osmogbproxy-vty-reference.xml +++ b/doc/manuals/osmogbproxy-vty-reference.xml @@ -18,12 +18,18 @@ hw Initial + + v2 + 26th January 2021 + dw + OsmoGbProxy rewrite, use NS2 from libosmogb + OsmoGbProxy VTY Reference - 2019 + 2021 -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/23292 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I440b0f9a6e18c21b11640ca32403f19d7e83b5c1 Gerrit-Change-Number: 23292 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 Tue Mar 9 15:30:49 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 9 Mar 2021 15:30:49 +0000 Subject: Change in osmo-gbproxy[master]: gbproxy_main: Fix naming bsc_hack/nsip_proxy -> (osmo-)gbproxy References: Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/23293 ) Change subject: gbproxy_main: Fix naming bsc_hack/nsip_proxy -> (osmo-)gbproxy ...................................................................... gbproxy_main: Fix naming bsc_hack/nsip_proxy -> (osmo-)gbproxy Change-Id: I58d75561f93ae5f3b23a07d8836e78f21e079928 --- M src/gb_proxy_main.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gbproxy refs/changes/93/23293/1 diff --git a/src/gb_proxy_main.c b/src/gb_proxy_main.c index b9ff2f1..87331ea 100644 --- a/src/gb_proxy_main.c +++ b/src/gb_proxy_main.c @@ -117,7 +117,7 @@ static void print_usage() { - printf("Usage: bsc_hack\n"); + printf("Usage: osmo-gbproxy\n"); } static void print_help() @@ -266,7 +266,7 @@ int rc; struct ctrl_handle *ctrl; - tall_sgsn_ctx = talloc_named_const(NULL, 0, "nsip_proxy"); + tall_sgsn_ctx = talloc_named_const(NULL, 0, "gb_proxy"); msgb_talloc_ctx_init(tall_sgsn_ctx, 0); vty_info.tall_ctx = tall_sgsn_ctx; -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/23293 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I58d75561f93ae5f3b23a07d8836e78f21e079928 Gerrit-Change-Number: 23293 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 Tue Mar 9 15:30:50 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 9 Mar 2021 15:30:50 +0000 Subject: Change in osmo-gbproxy[master]: manuals: Update vty reference xml References: Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/23294 ) Change subject: manuals: Update vty reference xml ...................................................................... manuals: Update vty reference xml Related: SYS#5115, SYS#5005 Change-Id: I39d60a7fd7ec66f3f20bfcef5c32502598f2708f --- M doc/manuals/vty/gbproxy_vty_reference.xml 1 file changed, 82 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gbproxy refs/changes/94/23294/1 diff --git a/doc/manuals/vty/gbproxy_vty_reference.xml b/doc/manuals/vty/gbproxy_vty_reference.xml index 19b04e1..b68b96f 100644 --- a/doc/manuals/vty/gbproxy_vty_reference.xml +++ b/doc/manuals/vty/gbproxy_vty_reference.xml @@ -160,6 +160,15 @@ + + + + + + + + + @@ -205,12 +214,11 @@ - + - @@ -272,11 +280,10 @@ - + - @@ -414,6 +421,13 @@ + + + + + + + @@ -600,6 +614,15 @@ + + + + + + + + + @@ -645,12 +668,11 @@ - + - @@ -712,11 +734,10 @@ - + - @@ -866,6 +887,13 @@ + + + + + + + @@ -1192,6 +1220,11 @@ + + + + + @@ -1241,6 +1274,15 @@ + + + + + + + + + @@ -1279,12 +1321,11 @@ - + - @@ -1443,6 +1484,33 @@ + + config-cpu-sched + + + + + + + + + + + + + + + + + + + + + + + + + config-gbproxy @@ -1481,7 +1549,7 @@ - + @@ -1509,7 +1577,7 @@ - + @@ -1518,7 +1586,7 @@ - + @@ -1529,7 +1597,7 @@ - + -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/23294 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I39d60a7fd7ec66f3f20bfcef5c32502598f2708f Gerrit-Change-Number: 23294 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 Tue Mar 9 15:30:50 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 9 Mar 2021 15:30:50 +0000 Subject: Change in osmo-gbproxy[master]: Update the max_sdu_len from NS References: Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/23295 ) Change subject: Update the max_sdu_len from NS ...................................................................... Update the max_sdu_len from NS Related: OS#4889 Change-Id: Ie26550198db0cc34ca0a882c137c8685a5662f2a --- M src/gb_proxy.c 1 file changed, 6 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gbproxy refs/changes/95/23295/1 diff --git a/src/gb_proxy.c b/src/gb_proxy.c index 78e1e1d..a42055c 100644 --- a/src/gb_proxy.c +++ b/src/gb_proxy.c @@ -1540,10 +1540,15 @@ LOGP(DGPRS, LOGL_NOTICE, "NS-NSE %d became available\n", nsp->nsei); sgsn_nse = gbproxy_nse_by_nsei(cfg, nsp->nsei, NSE_F_SGSN); if (sgsn_nse) { + // Update the NSE max SDU len + sgsn_nse->max_sdu_len = nsp->u.status.mtu; + uint8_t cause = BSSGP_CAUSE_OML_INTERV; bvc = gbproxy_bvc_by_bvci(sgsn_nse, 0); - if (bvc) + if (bvc) { + bssgp_bvc_fsm_set_max_pdu_len(bvc->fi, sgsn_nse->max_sdu_len); osmo_fsm_inst_dispatch(bvc->fi, BSSGP_BVCFSM_E_REQ_RESET, &cause); + } } break; case GPRS_NS2_AFF_CAUSE_FAILURE: -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/23295 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: Ie26550198db0cc34ca0a882c137c8685a5662f2a Gerrit-Change-Number: 23295 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 Tue Mar 9 15:30:50 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 9 Mar 2021 15:30:50 +0000 Subject: Change in osmo-gbproxy[master]: Handle GPRS_NS2_AFF_CAUSE_FAILURE References: Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/23296 ) Change subject: Handle GPRS_NS2_AFF_CAUSE_FAILURE ...................................................................... Handle GPRS_NS2_AFF_CAUSE_FAILURE When a complete NSE becomes unavailable gbproxy should notify the other side (bss/sgsn). The current code blocks every PtP-BVC (belonging to that BSS) on all SGSNs if a BSS goes down. The BSS-side should not be blocked unless no more SGSN connections are present. We could also remove all BSS nse and wait for those to reconnect. This is not yet implemented. Related: OS#4897 Change-Id: I6354a190ec1090a35c27671c72dab9126d0ad794 --- M src/gb_proxy.c 1 file changed, 34 insertions(+), 24 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gbproxy refs/changes/96/23296/1 diff --git a/src/gb_proxy.c b/src/gb_proxy.c index a42055c..ba99aec 100644 --- a/src/gb_proxy.c +++ b/src/gb_proxy.c @@ -1529,7 +1529,7 @@ */ struct gbproxy_bvc *bvc; - struct gbproxy_nse *sgsn_nse; + struct gbproxy_nse *nse; switch (nsp->u.status.cause) { case GPRS_NS2_AFF_CAUSE_SNS_FAILURE: @@ -1538,44 +1538,54 @@ case GPRS_NS2_AFF_CAUSE_RECOVERY: LOGP(DGPRS, LOGL_NOTICE, "NS-NSE %d became available\n", nsp->nsei); - sgsn_nse = gbproxy_nse_by_nsei(cfg, nsp->nsei, NSE_F_SGSN); - if (sgsn_nse) { + nse = gbproxy_nse_by_nsei(cfg, nsp->nsei, NSE_F_SGSN); + if (nse) { // Update the NSE max SDU len - sgsn_nse->max_sdu_len = nsp->u.status.mtu; + nse->max_sdu_len = nsp->u.status.mtu; uint8_t cause = BSSGP_CAUSE_OML_INTERV; - bvc = gbproxy_bvc_by_bvci(sgsn_nse, 0); + bvc = gbproxy_bvc_by_bvci(nse, 0); if (bvc) { - bssgp_bvc_fsm_set_max_pdu_len(bvc->fi, sgsn_nse->max_sdu_len); + bssgp_bvc_fsm_set_max_pdu_len(bvc->fi, nse->max_sdu_len); osmo_fsm_inst_dispatch(bvc->fi, BSSGP_BVCFSM_E_REQ_RESET, &cause); } } break; case GPRS_NS2_AFF_CAUSE_FAILURE: -#if 0 - if (gbproxy_is_sgsn_nsei(cfg, nsp->nsei)) { - /* sgsn */ - /* TODO: BSVC: block all PtP towards bss */ + nse = gbproxy_nse_by_nsei(cfg, nsp->nsei, NSE_F_BSS | NSE_F_SGSN); + if (!nse) { + LOGP(DGPRS, LOGL_ERROR, "Unknown NSE(%05d) became unavailable\n", nsp->nsei); + break; + } + if (nse->sgsn_facing) { + /* SGSN */ + /* TODO: When to block all PtP towards bss? Only if all SGSN are down? */ rate_ctr_inc(&cfg->ctrg-> ctr[GBPROX_GLOB_CTR_RESTART_RESET_SGSN]); } else { - /* bss became unavailable - * TODO: Block all BVC belonging to that NSE */ - bvc = gbproxy_bvc_by_nsei(cfg, nsp->nsei); - if (!bvc) { - /* TODO: use primitive name + status cause name */ - LOGP(DGPRS, LOGL_NOTICE, "Received ns2 primitive %d for unknown bvc NSEI=%u\n", - nsp->u.status.cause, nsp->nsei); - break; + int i; + /* BSS became unavailable + * Block matching PtP-BVCs on SGSN-side */ + hash_for_each(nse->bvcs, i, bvc, list) { + if (bvc->bvci == 0) + continue; + /* Get BVC for each SGSN and send block request */ + struct gbproxy_cell *cell = bvc->cell; + for (int j = 0; j < GBPROXY_MAX_NR_SGSN; j++) { + struct gbproxy_bvc *sgsn_bvc = cell->sgsn_bvc[j]; + if (!sgsn_bvc) + continue; + + /* Block BVC, indicate BSS equipment failure */ + uint8_t cause = BSSGP_CAUSE_EQUIP_FAIL; + osmo_fsm_inst_dispatch(sgsn_bvc->fi, BSSGP_BVCFSM_E_REQ_BLOCK, &cause); + } } - if (!bvc->blocked) - break; - hash_for_each(cfg->sgsn_nses, _sgsn, sgsn_nse, list) { - bssgp_tx_simple_bvci(BSSGP_PDUT_BVC_BLOCK, sgsn_nse->nsei, bvc->bvci, 0); - } + } -#endif + /* This frees the BVCs for us as well */ + gbproxy_nse_free(nse); LOGP(DGPRS, LOGL_NOTICE, "NS-NSE %d became unavailable\n", nsp->nsei); break; default: -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/23296 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I6354a190ec1090a35c27671c72dab9126d0ad794 Gerrit-Change-Number: 23296 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 Tue Mar 9 15:32:54 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 9 Mar 2021 15:32:54 +0000 Subject: Change in osmo-gbproxy[master]: manual: Update manuals, include sgsn pooling and NS variants In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/23292 ) Change subject: manual: Update manuals, include sgsn pooling and NS variants ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/23292 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I440b0f9a6e18c21b11640ca32403f19d7e83b5c1 Gerrit-Change-Number: 23292 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Tue, 09 Mar 2021 15:32:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 9 15:33:20 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 9 Mar 2021 15:33:20 +0000 Subject: Change in osmo-gbproxy[master]: gbproxy_main: Fix naming bsc_hack/nsip_proxy -> (osmo-)gbproxy In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/23293 ) Change subject: gbproxy_main: Fix naming bsc_hack/nsip_proxy -> (osmo-)gbproxy ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-gbproxy/+/23293/1/src/gb_proxy_main.c File src/gb_proxy_main.c: https://gerrit.osmocom.org/c/osmo-gbproxy/+/23293/1/src/gb_proxy_main.c at a120 PS1, Line 120: printf("Usage: bsc_hack\n"); lol -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/23293 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I58d75561f93ae5f3b23a07d8836e78f21e079928 Gerrit-Change-Number: 23293 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Tue, 09 Mar 2021 15:33:20 +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 Mar 9 15:33:24 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 9 Mar 2021 15:33:24 +0000 Subject: Change in osmo-gbproxy[master]: gbproxy_main: Fix naming bsc_hack/nsip_proxy -> (osmo-)gbproxy In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/23293 ) Change subject: gbproxy_main: Fix naming bsc_hack/nsip_proxy -> (osmo-)gbproxy ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/23293 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I58d75561f93ae5f3b23a07d8836e78f21e079928 Gerrit-Change-Number: 23293 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Tue, 09 Mar 2021 15:33:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 9 15:34:34 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 9 Mar 2021 15:34:34 +0000 Subject: Change in osmo-gbproxy[master]: manuals: Update vty reference xml In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/23294 ) Change subject: manuals: Update vty reference xml ...................................................................... Patch Set 1: Code-Review+1 This looks like the only project still containing manually-generated vty xml files, may be worth updating it to being generated at build time. -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/23294 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I39d60a7fd7ec66f3f20bfcef5c32502598f2708f Gerrit-Change-Number: 23294 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Tue, 09 Mar 2021 15:34: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 Mar 9 15:47:44 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 9 Mar 2021 15:47:44 +0000 Subject: Change in osmo-gbproxy[master]: manuals: Update vty reference xml In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/23294 ) Change subject: manuals: Update vty reference xml ...................................................................... Patch Set 1: Code-Review-1 > Patch Set 1: Code-Review+1 > > This looks like the only project still containing manually-generated vty xml files, may be worth updating it to being generated at build time. The file is updated on build (hence this commit), I'll see if I can simply remove it from git. -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/23294 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I39d60a7fd7ec66f3f20bfcef5c32502598f2708f Gerrit-Change-Number: 23294 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 09 Mar 2021 15:47: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 Mar 9 15:51:48 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 9 Mar 2021 15:51:48 +0000 Subject: Change in osmo-gbproxy[master]: gbproxy_main: Fix naming bsc_hack/nsip_proxy -> (osmo-)gbproxy In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/23293 ) Change subject: gbproxy_main: Fix naming bsc_hack/nsip_proxy -> (osmo-)gbproxy ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-gbproxy/+/23293/1/src/gb_proxy_main.c File src/gb_proxy_main.c: https://gerrit.osmocom.org/c/osmo-gbproxy/+/23293/1/src/gb_proxy_main.c at a120 PS1, Line 120: printf("Usage: bsc_hack\n"); > lol That was the original binary name of OpenBSC, but yeah. :-) -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/23293 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I58d75561f93ae5f3b23a07d8836e78f21e079928 Gerrit-Change-Number: 23293 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 09 Mar 2021 15:51:48 +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 Mar 9 15:55:02 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 9 Mar 2021 15:55:02 +0000 Subject: Change in osmo-gbproxy[master]: gbproxy_main: Fix naming bsc_hack/nsip_proxy -> (osmo-)gbproxy In-Reply-To: References: Message-ID: daniel has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/23293 ) Change subject: gbproxy_main: Fix naming bsc_hack/nsip_proxy -> (osmo-)gbproxy ...................................................................... gbproxy_main: Fix naming bsc_hack/nsip_proxy -> (osmo-)gbproxy Change-Id: I58d75561f93ae5f3b23a07d8836e78f21e079928 --- M src/gb_proxy_main.c 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/gb_proxy_main.c b/src/gb_proxy_main.c index b9ff2f1..87331ea 100644 --- a/src/gb_proxy_main.c +++ b/src/gb_proxy_main.c @@ -117,7 +117,7 @@ static void print_usage() { - printf("Usage: bsc_hack\n"); + printf("Usage: osmo-gbproxy\n"); } static void print_help() @@ -266,7 +266,7 @@ int rc; struct ctrl_handle *ctrl; - tall_sgsn_ctx = talloc_named_const(NULL, 0, "nsip_proxy"); + tall_sgsn_ctx = talloc_named_const(NULL, 0, "gb_proxy"); msgb_talloc_ctx_init(tall_sgsn_ctx, 0); vty_info.tall_ctx = tall_sgsn_ctx; -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/23293 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I58d75561f93ae5f3b23a07d8836e78f21e079928 Gerrit-Change-Number: 23293 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 9 15:55:49 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 9 Mar 2021 15:55:49 +0000 Subject: Change in libosmocore[master]: gsm0808_utils: add gsm0808_cell_id_lists_same() References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/23297 ) Change subject: gsm0808_utils: add gsm0808_cell_id_lists_same() ...................................................................... gsm0808_utils: add gsm0808_cell_id_lists_same() Change-Id: I16bc903f9c5820ad00d588e59a4a6923d1f3f542 --- M include/osmocom/gsm/gsm0808_utils.h M src/gsm/gsm0808_utils.c M src/gsm/libosmogsm.map 3 files changed, 25 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/97/23297/1 diff --git a/include/osmocom/gsm/gsm0808_utils.h b/include/osmocom/gsm/gsm0808_utils.h index 76e9064..53e22f9 100644 --- a/include/osmocom/gsm/gsm0808_utils.h +++ b/include/osmocom/gsm/gsm0808_utils.h @@ -91,6 +91,7 @@ bool gsm0808_cell_ids_match(const struct gsm0808_cell_id *id1, const struct gsm0808_cell_id *id2, bool exact_match); int gsm0808_cell_id_matches_list(const struct gsm0808_cell_id *id, const struct gsm0808_cell_id_list2 *list, unsigned int match_nr, bool exact_match); +bool gsm0808_cell_id_lists_same(const struct gsm0808_cell_id_list2 *a, const struct gsm0808_cell_id_list2 *b); void gsm0808_cell_id_from_cgi(struct gsm0808_cell_id *cid, enum CELL_IDENT id_discr, const struct osmo_cell_global_id *cgi); int gsm0808_cell_id_to_cgi(struct osmo_cell_global_id *cgi, const struct gsm0808_cell_id *cid); diff --git a/src/gsm/gsm0808_utils.c b/src/gsm/gsm0808_utils.c index dda73ad..7d7934a 100644 --- a/src/gsm/gsm0808_utils.c +++ b/src/gsm/gsm0808_utils.c @@ -1787,6 +1787,29 @@ return -1; } +/*! Determine whether two cell id lists are exactly identical, in ordering, id_discr and values. + * \param[in] a Cell ID list to compare. + * \param[in] b Other cell ID list to compare. + * \returns true when both lists are identical. + */ +bool gsm0808_cell_id_lists_same(const struct gsm0808_cell_id_list2 *a, const struct gsm0808_cell_id_list2 *b) +{ + int i; + if (a == b) + return true; + if (a->id_list_len != b->id_list_len) + return false; + if (a->id_discr != b->id_discr) + return false; + for (i = 0; i < a->id_list_len; i++) { + if (!gsm0808_cell_id_u_match(a->id_discr, &a->id_list[i], + b->id_discr, &b->id_list[i], + true)) + return false; + } + return true; +} + /*! Copy information from a CGI to form a Cell Identifier of the specified kind. * \param [out] cid Compose new Cell Identifier here. * \param [in] id_discr Which kind of Cell Identifier to compose. diff --git a/src/gsm/libosmogsm.map b/src/gsm/libosmogsm.map index 0ea0678..f43713a 100644 --- a/src/gsm/libosmogsm.map +++ b/src/gsm/libosmogsm.map @@ -238,6 +238,7 @@ gsm0808_cell_id_u_name; gsm0808_cell_ids_match; gsm0808_cell_id_matches_list; +gsm0808_cell_id_lists_same; gsm0808_chan_type_to_speech_codec; gsm0808_speech_codec_from_chan_type; gsm0808_sc_cfg_from_gsm48_mr_cfg; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23297 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I16bc903f9c5820ad00d588e59a4a6923d1f3f542 Gerrit-Change-Number: 23297 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 9 15:56:01 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 9 Mar 2021 15:56:01 +0000 Subject: Change in osmo-gbproxy[master]: manuals: Delete gbproxy_vty_reference.xml In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/23294 to look at the new patch set (#2). Change subject: manuals: Delete gbproxy_vty_reference.xml ...................................................................... manuals: Delete gbproxy_vty_reference.xml This file is generated during build, so remove it Related: SYS#5115, SYS#5005 Change-Id: I39d60a7fd7ec66f3f20bfcef5c32502598f2708f --- D doc/manuals/vty/gbproxy_vty_reference.xml 1 file changed, 0 insertions(+), 1,538 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gbproxy refs/changes/94/23294/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/23294 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I39d60a7fd7ec66f3f20bfcef5c32502598f2708f Gerrit-Change-Number: 23294 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 9 17:13:24 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 9 Mar 2021 17:13:24 +0000 Subject: Change in osmo-pcu[master]: tbf: Fix wrong variable printed in log References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23298 ) Change subject: tbf: Fix wrong variable printed in log ...................................................................... tbf: Fix wrong variable printed in log Change-Id: Iad99e48fcb7488daed40a5095c5dcdc02def00c5 --- M src/tbf.cpp 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/98/23298/1 diff --git a/src/tbf.cpp b/src/tbf.cpp index 15d3fa1..70b3b12 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -588,7 +588,7 @@ if ((state_flags & (1 << (GPRS_RLCMAC_FLAG_PACCH))) && (state_flags & (1 << (GPRS_RLCMAC_FLAG_CCCH)))) LOGPTBFDL(this, LOGL_ERROR, "Attempt to schedule polling on %s (FN=%d, TS=%d) with both CCCH and PACCH flags set - FIXME!\n", - chan, poll_fn, poll_ts); + chan, new_poll_fn, ts); /* schedule polling */ poll_state = GPRS_RLCMAC_POLL_SCHED; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23298 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iad99e48fcb7488daed40a5095c5dcdc02def00c5 Gerrit-Change-Number: 23298 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 Mar 9 17:17:17 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 9 Mar 2021 17:17:17 +0000 Subject: Change in libosmocore[master]: gsm0808_utils: add gsm0808_cell_id_lists_same() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23297 ) Change subject: gsm0808_utils: add gsm0808_cell_id_lists_same() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23297 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I16bc903f9c5820ad00d588e59a4a6923d1f3f542 Gerrit-Change-Number: 23297 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 09 Mar 2021 17:17:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 9 17:28:46 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 9 Mar 2021 17:28:46 +0000 Subject: Change in libosmocore[master]: gsm0808_utils: add gsm0808_cell_id_lists_same() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23297 ) Change subject: gsm0808_utils: add gsm0808_cell_id_lists_same() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23297 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I16bc903f9c5820ad00d588e59a4a6923d1f3f542 Gerrit-Change-Number: 23297 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 09 Mar 2021 17:28:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 9 17:29:21 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 9 Mar 2021 17:29:21 +0000 Subject: Change in osmo-pcu[master]: tests: rlcmac: Fix C vs C++ linkage of extern symbol In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23287 ) Change subject: tests: rlcmac: Fix C vs C++ linkage of extern symbol ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23287 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5922950dd0057bf7eb8578e2144f127082323fc6 Gerrit-Change-Number: 23287 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 09 Mar 2021 17:29: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 Mar 9 17:29:33 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 9 Mar 2021 17:29:33 +0000 Subject: Change in osmo-pcu[master]: pdch.h: Drop uneeded include bts.h In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23288 ) Change subject: pdch.h: Drop uneeded include bts.h ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23288 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ic12ab293f27b5e13d1401c6f17d4d549bf5115f9 Gerrit-Change-Number: 23288 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 09 Mar 2021 17:29:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 9 17:35:23 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 9 Mar 2021 17:35:23 +0000 Subject: Change in osmo-pcu[master]: Improve DATA.ind logging In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23289 ) Change subject: Improve DATA.ind logging ...................................................................... Patch Set 1: Code-Review+1 (3 comments) https://gerrit.osmocom.org/c/osmo-pcu/+/23289/1/src/pcu_l1_if.cpp File src/pcu_l1_if.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/23289/1/src/pcu_l1_if.cpp at 369 PS1, Line 369: FN=%d %u? https://gerrit.osmocom.org/c/osmo-pcu/+/23289/1/src/pcu_l1_if.cpp at 384 PS1, Line 384: FN=%d %u https://gerrit.osmocom.org/c/osmo-pcu/+/23289/1/src/pcu_l1_if.cpp at 398 PS1, Line 398: FN=%d %u -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23289 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: If51f7bdbd626a44c7b8e182a3460dad49fda6ec3 Gerrit-Change-Number: 23289 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Tue, 09 Mar 2021 17:35:23 +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 Mar 9 17:40:26 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 9 Mar 2021 17:40:26 +0000 Subject: Change in osmo-pcu[master]: Improve logging in DATA.req and ACT.req In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23290 ) Change subject: Improve logging in DATA.req and ACT.req ...................................................................... Patch Set 1: (3 comments) https://gerrit.osmocom.org/c/osmo-pcu/+/23290/1/src/pcu_l1_if.cpp File src/pcu_l1_if.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/23290/1/src/pcu_l1_if.cpp at 181 PS1, Line 181: bts=%u,trx=%u,ts=%u Finally no ugly PRIuN! \o/ https://gerrit.osmocom.org/c/osmo-pcu/+/23290/1/src/pcu_l1_if.cpp at 465 PS1, Line 465: struct gprs_rlcmac_pdch *pdch; const https://gerrit.osmocom.org/c/osmo-pcu/+/23290/1/src/pcu_l1_if.cpp at 482 PS1, Line 482: LOGP Why not LOGPDCH? -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23290 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id57d50d8bf528adfef3713c594102d31ab49c149 Gerrit-Change-Number: 23290 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 09 Mar 2021 17:40: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 Tue Mar 9 18:21:43 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 9 Mar 2021 18:21:43 +0000 Subject: Change in osmo-pcu[master]: Improve logging in DATA.req and ACT.req In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23290 ) Change subject: Improve logging in DATA.req and ACT.req ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/c/osmo-pcu/+/23290/1/src/pcu_l1_if.cpp File src/pcu_l1_if.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/23290/1/src/pcu_l1_if.cpp at 181 PS1, Line 181: bts=%u,trx=%u,ts=%u > Finally no ugly PRIuN! \o/ I still think PRIu% would be better but I'm changing so much stuff and in the process of rewriting the UL scheduler that I went for the quickest way here to have better output I can use later for debugging. https://gerrit.osmocom.org/c/osmo-pcu/+/23290/1/src/pcu_l1_if.cpp at 482 PS1, Line 482: LOGP > Why not LOGPDCH? Because it's clearly not a PDCH, since it's not SAPI PDTCH nor PTCCH. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23290 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id57d50d8bf528adfef3713c594102d31ab49c149 Gerrit-Change-Number: 23290 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 09 Mar 2021 18:21:43 +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 Mar 9 18:29:25 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 9 Mar 2021 18:29:25 +0000 Subject: Change in osmo-pcu[master]: Improve DATA.ind logging In-Reply-To: References: Message-ID: Hello Jenkins Builder, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/23289 to look at the new patch set (#2). Change subject: Improve DATA.ind logging ...................................................................... Improve DATA.ind logging pdch object is obtained prior in the stack so it is available for logging. Change-Id: If51f7bdbd626a44c7b8e182a3460dad49fda6ec3 --- M src/osmo-bts-litecell15/lc15_l1_if.c M src/osmo-bts-oc2g/oc2g_l1_if.c M src/osmo-bts-sysmo/sysmo_l1_if.c M src/pcu_l1_if.cpp M src/pcu_l1_if.h 5 files changed, 46 insertions(+), 31 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/89/23289/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23289 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: If51f7bdbd626a44c7b8e182a3460dad49fda6ec3 Gerrit-Change-Number: 23289 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 9 18:29:25 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 9 Mar 2021 18:29:25 +0000 Subject: Change in osmo-pcu[master]: Improve logging in DATA.req and ACT.req 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/+/23290 to look at the new patch set (#2). Change subject: Improve logging in DATA.req and ACT.req ...................................................................... Improve logging in DATA.req and ACT.req Change-Id: Id57d50d8bf528adfef3713c594102d31ab49c149 --- M src/pcu_l1_if.cpp 1 file changed, 19 insertions(+), 15 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/90/23290/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23290 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id57d50d8bf528adfef3713c594102d31ab49c149 Gerrit-Change-Number: 23290 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 9 20:24:07 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 9 Mar 2021 20:24:07 +0000 Subject: Change in osmo-pcu[master]: pdch: Log FN when decoding UL Ctrl block References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23299 ) Change subject: pdch: Log FN when decoding UL Ctrl block ...................................................................... pdch: Log FN when decoding UL Ctrl block Change-Id: I5a44ebf49f7489211a77607052db6d9731f38704 --- M src/pdch.cpp M tests/tbf/TbfTest.err 2 files changed, 64 insertions(+), 64 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/99/23299/1 diff --git a/src/pdch.cpp b/src/pdch.cpp index 466eaa5..66afda7 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -750,7 +750,7 @@ bitvec_unpack(rlc_block, data); ul_control_block = (RlcMacUplink_t *)talloc_zero(tall_pcu_ctx, RlcMacUplink_t); - LOGPDCH(this, DRLCMAC, LOGL_DEBUG, "+++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++\n"); + LOGPDCH(this, DRLCMAC, LOGL_DEBUG, "FN=%u +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++\n", fn); rc = decode_gsm_rlcmac_uplink(rlc_block, ul_control_block); if (ul_control_block->u.MESSAGE_TYPE == MT_PACKET_UPLINK_DUMMY_CONTROL_BLOCK) @@ -759,11 +759,11 @@ bts_send_gsmtap_meas(bts(), PCU_GSMTAP_C_UL_CTRL, true, trx_no(), ts_no, GSMTAP_CHANNEL_PACCH, fn, data, data_len, meas); if (rc < 0) { - LOGPDCH(this, DRLCMACUL, LOGL_ERROR, "Dropping Uplink Control Block " - "with invalid content, decode failed: %d)\n", rc); + LOGPDCH(this, DRLCMACUL, LOGL_ERROR, "FN=%u Dropping Uplink Control Block " + "with invalid content, decode failed: %d)\n", fn, rc); goto free_ret; } - LOGPDCH(this, DRLCMAC, LOGL_DEBUG, "------------------------- RX : Uplink Control Block -------------------------\n"); + LOGPDCH(this, DRLCMAC, LOGL_DEBUG, "FN=%u ------------------------- RX : Uplink Control Block -------------------------\n", fn); bts_do_rate_ctr_inc(bts(), CTR_RLC_RECV_CONTROL); switch (ul_control_block->u.MESSAGE_TYPE) { @@ -791,8 +791,8 @@ default: bts_do_rate_ctr_inc(bts(), CTR_DECODE_ERRORS); LOGPDCH(this, DRLCMAC, LOGL_NOTICE, - "RX: [PCU <- BTS] unknown control block(%d) received\n", - ul_control_block->u.MESSAGE_TYPE); + "FN=%u RX: [PCU <- BTS] unknown control block(%d) received\n", + fn, ul_control_block->u.MESSAGE_TYPE); } free_ret: talloc_free(ul_control_block); diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index c3fff2d..f483625 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -1516,8 +1516,8 @@ Allocated a single block at SBFn=2654270 TRX=0 TS=7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=-1 USF=7 Found first unallocated TRX=0 TFI=0 -PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ -PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- +PDCH(bts=0,trx=0,ts=7) FN=2654270 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ +PDCH(bts=0,trx=0,ts=7) FN=2654270 ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0xffffffff Modifying MS object, UL TLLI: 0xffffffff -> 0xf1223344, not yet confirmed PDCH(bts=0,trx=0,ts=7) MS requests UL TBF in packet resource request of single block, so we provide one: @@ -1547,8 +1547,8 @@ ------------------------- TX : Packet Uplink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) Scheduled UL Assignment polling on PACCH (FN=2654283, TS=7) PDCH(bts=0,trx=0,ts=7) FN=2654270 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) -PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ -PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- +PDCH(bts=0,trx=0,ts=7) FN=2654283 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ +PDCH(bts=0,trx=0,ts=7) FN=2654283 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) RX: [PCU <- BTS] Packet Control Ack TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes poll state from GPRS_RLCMAC_POLL_SCHED to GPRS_RLCMAC_POLL_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) [DOWNLINK] UPLINK ASSIGNED @@ -1596,8 +1596,8 @@ Allocated a single block at SBFn=2654270 TRX=0 TS=7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=-1 USF=7 Found first unallocated TRX=0 TFI=0 -PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ -PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- +PDCH(bts=0,trx=0,ts=7) FN=2654270 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ +PDCH(bts=0,trx=0,ts=7) FN=2654270 ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0xffffffff Modifying MS object, UL TLLI: 0xffffffff -> 0xf1223344, not yet confirmed PDCH(bts=0,trx=0,ts=7) MS requests UL TBF in packet resource request of single block, so we provide one: @@ -1627,8 +1627,8 @@ ------------------------- TX : Packet Uplink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) Scheduled UL Assignment polling on PACCH (FN=2654283, TS=7) PDCH(bts=0,trx=0,ts=7) FN=2654270 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) -PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ -PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- +PDCH(bts=0,trx=0,ts=7) FN=2654283 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ +PDCH(bts=0,trx=0,ts=7) FN=2654283 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) RX: [PCU <- BTS] Packet Control Ack TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes poll state from GPRS_RLCMAC_POLL_SCHED to GPRS_RLCMAC_POLL_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) [DOWNLINK] UPLINK ASSIGNED @@ -1675,8 +1675,8 @@ ------------------------- TX : Packet Downlink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Scheduled DL Assignment polling on PACCH (FN=2654288, TS=7) PDCH(bts=0,trx=0,ts=7) FN=2654275 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) -PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ -PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- +PDCH(bts=0,trx=0,ts=7) FN=2654288 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ +PDCH(bts=0,trx=0,ts=7) FN=2654288 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) RX: [PCU <- BTS] Packet Control Ack TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) changes poll state from GPRS_RLCMAC_POLL_SCHED to GPRS_RLCMAC_POLL_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) [UPLINK] DOWNLINK ASSIGNED @@ -1724,8 +1724,8 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) N3101 0 => 1 (< MAX 10) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) N3105 0 => 1 (< MAX 8) -PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ -PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- +PDCH(bts=0,trx=0,ts=7) FN=2654335 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ +PDCH(bts=0,trx=0,ts=7) FN=2654335 ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0xffffffff Modifying MS object, UL TLLI: 0xffffffff -> 0xf5667788, not yet confirmed PDCH(bts=0,trx=0,ts=7) MS requests UL TBF in packet resource request of single block, so we provide one: @@ -1756,8 +1756,8 @@ ------------------------- TX : Packet Uplink Assignment ------------------------- TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) Scheduled UL Assignment polling on PACCH (FN=2654348, TS=7) PDCH(bts=0,trx=0,ts=7) FN=2654335 Scheduling control message at RTS for TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) -PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ -PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- +PDCH(bts=0,trx=0,ts=7) FN=2654348 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ +PDCH(bts=0,trx=0,ts=7) FN=2654348 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) RX: [PCU <- BTS] Packet Control Ack TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) changes poll state from GPRS_RLCMAC_POLL_SCHED to GPRS_RLCMAC_POLL_NONE TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) [DOWNLINK] UPLINK ASSIGNED @@ -1788,8 +1788,8 @@ Allocated a single block at SBFn=2654270 TRX=0 TS=7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=-1 USF=7 Found first unallocated TRX=0 TFI=0 -PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ -PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- +PDCH(bts=0,trx=0,ts=7) FN=2654270 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ +PDCH(bts=0,trx=0,ts=7) FN=2654270 ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0xffffffff Modifying MS object, UL TLLI: 0xffffffff -> 0xf1223344, not yet confirmed PDCH(bts=0,trx=0,ts=7) MS requests UL TBF in packet resource request of single block, so we provide one: @@ -1820,8 +1820,8 @@ ------------------------- TX : Packet Uplink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) Scheduled UL Assignment polling on PACCH (FN=2654283, TS=7) PDCH(bts=0,trx=0,ts=7) FN=2654270 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) -PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ -PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- +PDCH(bts=0,trx=0,ts=7) FN=2654283 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ +PDCH(bts=0,trx=0,ts=7) FN=2654283 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) RX: [PCU <- BTS] Packet Control Ack TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes poll state from GPRS_RLCMAC_POLL_SCHED to GPRS_RLCMAC_POLL_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) [DOWNLINK] UPLINK ASSIGNED @@ -1875,8 +1875,8 @@ Allocated a single block at SBFn=2654327 TRX=0 TS=7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=-1 USF=7 Found first unallocated TRX=0 TFI=0 -PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ -PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- +PDCH(bts=0,trx=0,ts=7) FN=2654327 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ +PDCH(bts=0,trx=0,ts=7) FN=2654327 ------------------------- RX : Uplink Control Block ------------------------- PDCH(bts=0,trx=0,ts=7) MS requests UL TBF in packet resource request of single block, so we provide one: MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, DL) ********** UL-TBF starts here ********** MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, DL) Allocating UL TBF @@ -1902,8 +1902,8 @@ ------------------------- TX : Packet Uplink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) Scheduled UL Assignment polling on PACCH (FN=2654340, TS=7) PDCH(bts=0,trx=0,ts=7) FN=2654327 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) -PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ -PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- +PDCH(bts=0,trx=0,ts=7) FN=2654340 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ +PDCH(bts=0,trx=0,ts=7) FN=2654340 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) RX: [PCU <- BTS] Packet Control Ack TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes poll state from GPRS_RLCMAC_POLL_SCHED to GPRS_RLCMAC_POLL_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) [DOWNLINK] UPLINK ASSIGNED @@ -1926,8 +1926,8 @@ Allocated a single block at SBFn=2654270 TRX=0 TS=7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=-1 USF=7 Found first unallocated TRX=0 TFI=0 -PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ -PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- +PDCH(bts=0,trx=0,ts=7) FN=2654270 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ +PDCH(bts=0,trx=0,ts=7) FN=2654270 ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0xffffffff Modifying MS object, UL TLLI: 0xffffffff -> 0xf1223344, not yet confirmed PDCH(bts=0,trx=0,ts=7) MS requests UL TBF in packet resource request of single block, so we provide one: @@ -1958,8 +1958,8 @@ ------------------------- TX : Packet Uplink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) Scheduled UL Assignment polling on PACCH (FN=2654283, TS=7) PDCH(bts=0,trx=0,ts=7) FN=2654270 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) -PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ -PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- +PDCH(bts=0,trx=0,ts=7) FN=2654283 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ +PDCH(bts=0,trx=0,ts=7) FN=2654283 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) RX: [PCU <- BTS] Packet Control Ack TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes poll state from GPRS_RLCMAC_POLL_SCHED to GPRS_RLCMAC_POLL_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) [DOWNLINK] UPLINK ASSIGNED @@ -2068,8 +2068,8 @@ Allocated a single block at SBFn=2654270 TRX=0 TS=7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=-1 USF=7 Found first unallocated TRX=0 TFI=0 -PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ -PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- +PDCH(bts=0,trx=0,ts=7) FN=2654270 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ +PDCH(bts=0,trx=0,ts=7) FN=2654270 ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0xffffffff Modifying MS object, UL TLLI: 0xffffffff -> 0xf1223344, not yet confirmed PDCH(bts=0,trx=0,ts=7) MS requests UL TBF in packet resource request of single block, so we provide one: @@ -2100,8 +2100,8 @@ ------------------------- TX : Packet Uplink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) Scheduled UL Assignment polling on PACCH (FN=2654283, TS=7) PDCH(bts=0,trx=0,ts=7) FN=2654270 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) -PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ -PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- +PDCH(bts=0,trx=0,ts=7) FN=2654283 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ +PDCH(bts=0,trx=0,ts=7) FN=2654283 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) RX: [PCU <- BTS] Packet Control Ack TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes poll state from GPRS_RLCMAC_POLL_SCHED to GPRS_RLCMAC_POLL_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) [DOWNLINK] UPLINK ASSIGNED @@ -2188,8 +2188,8 @@ ------------------------- TX : Packet Downlink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Scheduled DL Assignment polling on PACCH (FN=2654288, TS=7) PDCH(bts=0,trx=0,ts=7) FN=2654275 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) -PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ -PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- +PDCH(bts=0,trx=0,ts=7) FN=2654288 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ +PDCH(bts=0,trx=0,ts=7) FN=2654288 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) RX: [PCU <- BTS] Packet Control Ack TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) changes poll state from GPRS_RLCMAC_POLL_SCHED to GPRS_RLCMAC_POLL_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) [UPLINK] DOWNLINK ASSIGNED @@ -2740,8 +2740,8 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) appending 21 bytes TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) appending 21 bytes TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) appending 21 bytes -PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ -PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- +PDCH(bts=0,trx=0,ts=7) FN=2654379 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ +PDCH(bts=0,trx=0,ts=7) FN=2654379 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) changes poll state from GPRS_RLCMAC_POLL_SCHED to GPRS_RLCMAC_POLL_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) RX: [PCU <- BTS] Packet Downlink Ack/Nack PDCH(bts=0,trx=0,ts=7) Got GPRS DL ACK bitmap: SSN: 0, BSN 0 to 28 - 1 (28 blocks), "RRRRRRRRRRRRRRRRRRRRRRRRRRRR" @@ -2779,8 +2779,8 @@ ------------------------- TX : Packet Downlink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) Scheduled DL Assignment polling on PACCH (FN=2654413, TS=7) PDCH(bts=0,trx=0,ts=7) FN=2654400 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) -PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ -PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- +PDCH(bts=0,trx=0,ts=7) FN=2654413 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ +PDCH(bts=0,trx=0,ts=7) FN=2654413 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) RX: [PCU <- BTS] Packet Control Ack TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) changes poll state from GPRS_RLCMAC_POLL_SCHED to GPRS_RLCMAC_POLL_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) [UPLINK] DOWNLINK ASSIGNED @@ -3108,8 +3108,8 @@ Allocated a single block at SBFn=2654270 TRX=0 TS=7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=-1 USF=7 Found first unallocated TRX=0 TFI=0 -PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ -PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- +PDCH(bts=0,trx=0,ts=7) FN=2654270 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ +PDCH(bts=0,trx=0,ts=7) FN=2654270 ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0xffffffff Modifying MS object, UL TLLI: 0xffffffff -> 0xf1223344, not yet confirmed PDCH(bts=0,trx=0,ts=7) MS requests UL TBF in packet resource request of single block, so we provide one: @@ -3144,8 +3144,8 @@ ------------------------- TX : Packet Uplink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) Scheduled UL Assignment polling on PACCH (FN=2654283, TS=7) PDCH(bts=0,trx=0,ts=7) FN=2654270 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) -PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ -PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- +PDCH(bts=0,trx=0,ts=7) FN=2654283 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ +PDCH(bts=0,trx=0,ts=7) FN=2654283 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) RX: [PCU <- BTS] Packet Control Ack TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes poll state from GPRS_RLCMAC_POLL_SCHED to GPRS_RLCMAC_POLL_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) [DOWNLINK] UPLINK ASSIGNED @@ -3196,8 +3196,8 @@ Allocated a single block at SBFn=2654270 TRX=0 TS=7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=-1 USF=7 Found first unallocated TRX=0 TFI=0 -PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ -PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- +PDCH(bts=0,trx=0,ts=7) FN=2654270 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ +PDCH(bts=0,trx=0,ts=7) FN=2654270 ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0xffffffff Modifying MS object, UL TLLI: 0xffffffff -> 0xf1223344, not yet confirmed PDCH(bts=0,trx=0,ts=7) MS requests UL TBF in packet resource request of single block, so we provide one: @@ -3232,8 +3232,8 @@ ------------------------- TX : Packet Uplink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) Scheduled UL Assignment polling on PACCH (FN=2654283, TS=7) PDCH(bts=0,trx=0,ts=7) FN=2654270 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) -PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ -PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- +PDCH(bts=0,trx=0,ts=7) FN=2654283 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ +PDCH(bts=0,trx=0,ts=7) FN=2654283 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) RX: [PCU <- BTS] Packet Control Ack TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes poll state from GPRS_RLCMAC_POLL_SCHED to GPRS_RLCMAC_POLL_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) [DOWNLINK] UPLINK ASSIGNED @@ -5762,8 +5762,8 @@ Allocated a single block at SBFn=2654270 TRX=0 TS=7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=-1 USF=7 Found first unallocated TRX=0 TFI=0 -PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ -PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- +PDCH(bts=0,trx=0,ts=7) FN=2654270 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ +PDCH(bts=0,trx=0,ts=7) FN=2654270 ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0xffffffff Modifying MS object, UL TLLI: 0xffffffff -> 0xf1223344, not yet confirmed PDCH(bts=0,trx=0,ts=7) MS requests UL TBF in packet resource request of single block, so we provide one: @@ -5798,8 +5798,8 @@ ------------------------- TX : Packet Uplink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) Scheduled UL Assignment polling on PACCH (FN=2654283, TS=7) PDCH(bts=0,trx=0,ts=7) FN=2654270 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) -PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ -PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- +PDCH(bts=0,trx=0,ts=7) FN=2654283 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ +PDCH(bts=0,trx=0,ts=7) FN=2654283 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) RX: [PCU <- BTS] Packet Control Ack TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes poll state from GPRS_RLCMAC_POLL_SCHED to GPRS_RLCMAC_POLL_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) [DOWNLINK] UPLINK ASSIGNED @@ -5921,8 +5921,8 @@ Allocated a single block at SBFn=2654270 TRX=0 TS=7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=-1 USF=7 Found first unallocated TRX=0 TFI=0 -PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ -PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- +PDCH(bts=0,trx=0,ts=7) FN=2654270 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ +PDCH(bts=0,trx=0,ts=7) FN=2654270 ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0xffffffff Modifying MS object, UL TLLI: 0xffffffff -> 0xf1223344, not yet confirmed PDCH(bts=0,trx=0,ts=7) MS requests UL TBF in packet resource request of single block, so we provide one: @@ -5957,8 +5957,8 @@ ------------------------- TX : Packet Uplink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) Scheduled UL Assignment polling on PACCH (FN=2654283, TS=7) PDCH(bts=0,trx=0,ts=7) FN=2654270 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) -PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ -PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- +PDCH(bts=0,trx=0,ts=7) FN=2654283 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ +PDCH(bts=0,trx=0,ts=7) FN=2654283 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) RX: [PCU <- BTS] Packet Control Ack TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes poll state from GPRS_RLCMAC_POLL_SCHED to GPRS_RLCMAC_POLL_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) [DOWNLINK] UPLINK ASSIGNED @@ -6241,8 +6241,8 @@ Allocated a single block at SBFn=2654270 TRX=0 TS=7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=-1 USF=7 Found first unallocated TRX=0 TFI=0 -PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ -PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- +PDCH(bts=0,trx=0,ts=7) FN=2654270 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ +PDCH(bts=0,trx=0,ts=7) FN=2654270 ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0xffffffff Modifying MS object, UL TLLI: 0xffffffff -> 0xf1223344, not yet confirmed PDCH(bts=0,trx=0,ts=7) MS requests UL TBF in packet resource request of single block, so we provide one: @@ -6277,8 +6277,8 @@ ------------------------- TX : Packet Uplink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) Scheduled UL Assignment polling on PACCH (FN=2654283, TS=7) PDCH(bts=0,trx=0,ts=7) FN=2654270 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) -PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ -PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- +PDCH(bts=0,trx=0,ts=7) FN=2654283 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ +PDCH(bts=0,trx=0,ts=7) FN=2654283 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) RX: [PCU <- BTS] Packet Control Ack TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes poll state from GPRS_RLCMAC_POLL_SCHED to GPRS_RLCMAC_POLL_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) [DOWNLINK] UPLINK ASSIGNED @@ -7640,8 +7640,8 @@ TBF(TFI=6 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(TFI=6 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654167 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=6 USF=6 -PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ -PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- +PDCH(bts=0,trx=0,ts=7) FN=2654270 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ +PDCH(bts=0,trx=0,ts=7) FN=2654270 ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0xffffffff Modifying MS object, UL TLLI: 0xffffffff -> 0xffeeddcc, not yet confirmed PDCH(bts=0,trx=0,ts=7) MS requests UL TBF in packet resource request of single block, so we provide one: -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23299 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5a44ebf49f7489211a77607052db6d9731f38704 Gerrit-Change-Number: 23299 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 Mar 9 21:35:35 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 9 Mar 2021 21:35:35 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test: use 'gsmtap-remote-host' parameter References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/23300 ) Change subject: ttcn3-bts-test: use 'gsmtap-remote-host' parameter ...................................................................... ttcn3-bts-test: use 'gsmtap-remote-host' parameter Command line argument '-i' has been deprecated. Change-Id: Ib01069a55a27e79c67b76abe39763c1b645075e5 Related: I17676a21c4e0c9cbc88f2c5c53a39c6c6c473ca1 --- M ttcn3-bts-test/jenkins.sh M ttcn3-bts-test/osmo-bts.cfg 2 files changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/00/23300/1 diff --git a/ttcn3-bts-test/jenkins.sh b/ttcn3-bts-test/jenkins.sh index 5fab160..67c6d07 100755 --- a/ttcn3-bts-test/jenkins.sh +++ b/ttcn3-bts-test/jenkins.sh @@ -51,7 +51,7 @@ --name ${BUILD_TAG}-bts -d \ $DOCKER_ARGS \ $REPO_USER/osmo-bts-$IMAGE_SUFFIX \ - /bin/sh -c "/usr/local/bin/respawn.sh osmo-bts-$variant -c /data/osmo-bts.cfg -i 172.18.9.10 >>/data/osmo-bts.log 2>&1" + /bin/sh -c "/usr/local/bin/respawn.sh osmo-bts-$variant -c /data/osmo-bts.cfg >>/data/osmo-bts.log 2>&1" } start_fake_trx() { diff --git a/ttcn3-bts-test/osmo-bts.cfg b/ttcn3-bts-test/osmo-bts.cfg index 3bc5fae..18b3201 100644 --- a/ttcn3-bts-test/osmo-bts.cfg +++ b/ttcn3-bts-test/osmo-bts.cfg @@ -51,6 +51,7 @@ rtp jitter-buffer 100 paging queue-size 200 paging lifetime 0 + gsmtap-remote-host 172.18.9.10 gsmtap-sapi rach gsmtap-sapi agch gsmtap-sapi bcch -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23300 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ib01069a55a27e79c67b76abe39763c1b645075e5 Gerrit-Change-Number: 23300 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 Mar 9 21:35:36 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 9 Mar 2021 21:35:36 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test: use 'gsmtap-sapi enable-all' parameter References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/23301 ) Change subject: ttcn3-bts-test: use 'gsmtap-sapi enable-all' parameter ...................................................................... ttcn3-bts-test: use 'gsmtap-sapi enable-all' parameter Change-Id: I551a6da7858342279db3c5e8ebff250a7922a291 --- M ttcn3-bts-test/osmo-bts.cfg 1 file changed, 1 insertion(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/01/23301/1 diff --git a/ttcn3-bts-test/osmo-bts.cfg b/ttcn3-bts-test/osmo-bts.cfg index 18b3201..f995264 100644 --- a/ttcn3-bts-test/osmo-bts.cfg +++ b/ttcn3-bts-test/osmo-bts.cfg @@ -52,14 +52,7 @@ paging queue-size 200 paging lifetime 0 gsmtap-remote-host 172.18.9.10 - gsmtap-sapi rach - gsmtap-sapi agch - gsmtap-sapi bcch - gsmtap-sapi pch - gsmtap-sapi sdcch - gsmtap-sapi sacch - gsmtap-sapi tch/h - gsmtap-sapi tch/f + gsmtap-sapi enable-all min-qual-rach 50 min-qual-norm -5 !settsc -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23301 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I551a6da7858342279db3c5e8ebff250a7922a291 Gerrit-Change-Number: 23301 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 Mar 9 21:35:36 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 9 Mar 2021 21:35:36 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test: OML tests ivolve no GSMTAP Um logging References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/23302 ) Change subject: ttcn3-bts-test: OML tests ivolve no GSMTAP Um logging ...................................................................... ttcn3-bts-test: OML tests ivolve no GSMTAP Um logging Change-Id: I50891130eaf7957efbf71839564a5dd9d58a1e3f --- M ttcn3-bts-test/oml/osmo-bts.cfg 1 file changed, 0 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/02/23302/1 diff --git a/ttcn3-bts-test/oml/osmo-bts.cfg b/ttcn3-bts-test/oml/osmo-bts.cfg index 6458725..52a2ace 100644 --- a/ttcn3-bts-test/oml/osmo-bts.cfg +++ b/ttcn3-bts-test/oml/osmo-bts.cfg @@ -46,12 +46,6 @@ rtp jitter-buffer 100 paging queue-size 200 paging lifetime 0 - 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 !settsc -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23302 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I50891130eaf7957efbf71839564a5dd9d58a1e3f Gerrit-Change-Number: 23302 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 Mar 10 00:09:23 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 10 Mar 2021 00:09:23 +0000 Subject: Change in docker-playground[master]: Make respawn.sh a common part of *-build/-obs images References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/23303 ) Change subject: Make respawn.sh a common part of *-build/-obs images ...................................................................... Make respawn.sh a common part of *-build/-obs images Maintaining several versions of the same file in different folders is a bad idea, because at some point their content gets out of sync. This is exactly what happened to 'respawn.sh': sleep()ing was only implemented in 'osmo-bts-master/respawn.sh', other versions of this file would simply ignore '$SLEEP_BEFORE_RESPAWN'. The easiest solution would be to have all common files in a single directory, however Docker does not allow to ADD files from outside of the build context. In other words, all files must be in the same directory with the Dockerfile itself. At the same time, Docker allows the first argument of ADD to be an URL, and at least HTTP(S) is supported. Most of our images require the Internet connectivity anyway, so let's make it grab 'respawn.sh' from https://git.osmocom.org/docker-playground/. Change-Id: I3ec86c8610b3b43d39ea8e3da444861d317ced4e --- M centos8-build/Dockerfile M centos8-obs-latest/Dockerfile R common/respawn.sh M debian-buster-build/Dockerfile M debian-jessie-build/Dockerfile M debian-sid-build/Dockerfile M debian-stretch-obs-latest/Dockerfile M osmo-bts-latest/Dockerfile D osmo-bts-latest/respawn.sh M osmo-bts-master/Dockerfile M osmo-pcu-latest/Dockerfile D osmo-pcu-latest/respawn.sh M osmo-pcu-master/Dockerfile D osmo-pcu-master/respawn.sh 14 files changed, 18 insertions(+), 53 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/03/23303/1 diff --git a/centos8-build/Dockerfile b/centos8-build/Dockerfile index 412816c..8a1125b 100644 --- a/centos8-build/Dockerfile +++ b/centos8-build/Dockerfile @@ -52,3 +52,6 @@ # Invalidate cache once the repository is updated ADD $OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/latest/CentOS_8/repodata/repomd.xml /tmp/repomd.xml + +# Make respawn.sh part of this image, so it can be used by other images based on it +ADD https://git.osmocom.org/docker-playground/plain/common/respawn.sh /usr/local/bin/respawn.sh diff --git a/centos8-obs-latest/Dockerfile b/centos8-obs-latest/Dockerfile index 4b2357b..37a2770 100644 --- a/centos8-obs-latest/Dockerfile +++ b/centos8-obs-latest/Dockerfile @@ -19,3 +19,6 @@ # Invalidate cache once the repository is updated ADD $OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/latest/CentOS_8/repodata/repomd.xml /tmp/repomd.xml + +# Make respawn.sh part of this image, so it can be used by other images based on it +ADD https://git.osmocom.org/docker-playground/plain/common/respawn.sh /usr/local/bin/respawn.sh diff --git a/osmo-bts-master/respawn.sh b/common/respawn.sh similarity index 100% rename from osmo-bts-master/respawn.sh rename to common/respawn.sh diff --git a/debian-buster-build/Dockerfile b/debian-buster-build/Dockerfile index 119afea..aca4a4d 100644 --- a/debian-buster-build/Dockerfile +++ b/debian-buster-build/Dockerfile @@ -52,3 +52,6 @@ stow \ wget && \ apt-get clean + +# Make respawn.sh part of this image, so it can be used by other images based on it +ADD https://git.osmocom.org/docker-playground/plain/common/respawn.sh /usr/local/bin/respawn.sh diff --git a/debian-jessie-build/Dockerfile b/debian-jessie-build/Dockerfile index 60f6ca9..74f4f46 100644 --- a/debian-jessie-build/Dockerfile +++ b/debian-jessie-build/Dockerfile @@ -52,3 +52,6 @@ stow \ wget && \ apt-get clean + +# Make respawn.sh part of this image, so it can be used by other images based on it +ADD https://git.osmocom.org/docker-playground/plain/common/respawn.sh /usr/local/bin/respawn.sh diff --git a/debian-sid-build/Dockerfile b/debian-sid-build/Dockerfile index ffa86e2..256840b 100644 --- a/debian-sid-build/Dockerfile +++ b/debian-sid-build/Dockerfile @@ -50,3 +50,6 @@ sqlite3 \ wget && \ apt-get clean + +# Make respawn.sh part of this image, so it can be used by other images based on it +ADD https://git.osmocom.org/docker-playground/plain/common/respawn.sh /usr/local/bin/respawn.sh diff --git a/debian-stretch-obs-latest/Dockerfile b/debian-stretch-obs-latest/Dockerfile index 3bef05c..9c4d818 100644 --- a/debian-stretch-obs-latest/Dockerfile +++ b/debian-stretch-obs-latest/Dockerfile @@ -20,3 +20,6 @@ # Invalidate cache once the repository is updated ADD $OSMOCOM_REPO/Release /tmp/Release + +# Make respawn.sh part of this image, so it can be used by other images based on it +ADD https://git.osmocom.org/docker-playground/plain/common/respawn.sh /usr/local/bin/respawn.sh diff --git a/osmo-bts-latest/Dockerfile b/osmo-bts-latest/Dockerfile index 202a29c..2b41968 100644 --- a/osmo-bts-latest/Dockerfile +++ b/osmo-bts-latest/Dockerfile @@ -20,8 +20,6 @@ ;; \ esac -ADD respawn.sh /usr/local/bin/respawn.sh - WORKDIR /tmp VOLUME /data diff --git a/osmo-bts-latest/respawn.sh b/osmo-bts-latest/respawn.sh deleted file mode 100755 index 2413916..0000000 --- a/osmo-bts-latest/respawn.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh - -trap "kill 0" EXIT - -i=0 -max_i=500 -while [ $i -lt $max_i ]; do - echo "$i: starting: $*" - $* & - LAST_PID=$! - wait $LAST_PID - echo "$i: stopped pid $LAST_PID with status $?" - i=$(expr $i + 1) -done -echo "exiting after $max_i runs" diff --git a/osmo-bts-master/Dockerfile b/osmo-bts-master/Dockerfile index 13df628..77c1e51 100644 --- a/osmo-bts-master/Dockerfile +++ b/osmo-bts-master/Dockerfile @@ -30,8 +30,6 @@ ;; \ esac -ADD respawn.sh /usr/local/bin/respawn.sh - WORKDIR /tmp ARG OSMO_BTS_BRANCH="master" diff --git a/osmo-pcu-latest/Dockerfile b/osmo-pcu-latest/Dockerfile index 622f933..7f1b3ac 100644 --- a/osmo-pcu-latest/Dockerfile +++ b/osmo-pcu-latest/Dockerfile @@ -17,8 +17,6 @@ ;; \ esac -ADD respawn.sh /usr/local/bin/respawn.sh - WORKDIR /tmp VOLUME /data diff --git a/osmo-pcu-latest/respawn.sh b/osmo-pcu-latest/respawn.sh deleted file mode 100755 index 2413916..0000000 --- a/osmo-pcu-latest/respawn.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh - -trap "kill 0" EXIT - -i=0 -max_i=500 -while [ $i -lt $max_i ]; do - echo "$i: starting: $*" - $* & - LAST_PID=$! - wait $LAST_PID - echo "$i: stopped pid $LAST_PID with status $?" - i=$(expr $i + 1) -done -echo "exiting after $max_i runs" diff --git a/osmo-pcu-master/Dockerfile b/osmo-pcu-master/Dockerfile index f8e6ded..41cd6d5 100644 --- a/osmo-pcu-master/Dockerfile +++ b/osmo-pcu-master/Dockerfile @@ -21,8 +21,6 @@ ;; \ esac -ADD respawn.sh /usr/local/bin/respawn.sh - WORKDIR /tmp ARG OSMO_PCU_BRANCH="master" diff --git a/osmo-pcu-master/respawn.sh b/osmo-pcu-master/respawn.sh deleted file mode 100755 index 2413916..0000000 --- a/osmo-pcu-master/respawn.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh - -trap "kill 0" EXIT - -i=0 -max_i=500 -while [ $i -lt $max_i ]; do - echo "$i: starting: $*" - $* & - LAST_PID=$! - wait $LAST_PID - echo "$i: stopped pid $LAST_PID with status $?" - i=$(expr $i + 1) -done -echo "exiting after $max_i runs" -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23303 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I3ec86c8610b3b43d39ea8e3da444861d317ced4e Gerrit-Change-Number: 23303 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 Mar 10 00:09:24 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 10 Mar 2021 00:09:24 +0000 Subject: Change in docker-playground[master]: Share a single instance of Release.key between all images References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/23304 ) Change subject: Share a single instance of Release.key between all images ...................................................................... Share a single instance of Release.key between all images This change employs the same approach as [1] for Release.key. Change-Id: Ic51d6e6557ee0b56d21d8ff4feaf04bc02e41a2e Related: [1] I3ec86c8610b3b43d39ea8e3da444861d317ced4e --- D Release.key R common/Release.key M debian-buster-erlang/Dockerfile D debian-buster-erlang/Release.key M debian-buster-simtrace2/Dockerfile D debian-buster-simtrace2/Release.key M debian-jessie-osmocom/Dockerfile D debian-jessie-osmocom/Release.key M debian-stretch-build-dist/Dockerfile D debian-stretch-build-dist/Release.key M debian-stretch-build/Dockerfile D debian-stretch-build/Release.key M debian-stretch-jenkins/Dockerfile D debian-stretch-jenkins/Release.key M debian-stretch-obs-latest/Dockerfile D debian-stretch-obs-latest/Release.key M debian-stretch-titan/Dockerfile D debian-stretch-titan/Release.key M osmo-gsm-tester/Dockerfile D osmo-gsm-tester/Release.key D osmo-msc-latest/Release.key M osmo-ran/Dockerfile M osmo-ran/split/ran-bsc_mgw/Dockerfile D osmo-ran/split/ran-bsc_mgw/Release.key M osmo-ran/split/ran-bts_pcu/Dockerfile D osmo-ran/split/ran-bts_pcu/Release.key M osmo-ran/split/ran-trx-ipc/Dockerfile D osmo-ran/split/ran-trx-ipc/Release.key M osmo-ran/split/ran-trx-uhd/Dockerfile D osmo-ran/split/ran-trx-uhd/Release.key M osmocom-bb-host-master/Dockerfile D osmocom-bb-host-master/Release.key 32 files changed, 15 insertions(+), 335 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/04/23304/1 diff --git a/Release.key b/Release.key deleted file mode 100644 index a737316..0000000 --- a/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-ran/Release.key b/common/Release.key similarity index 100% rename from osmo-ran/Release.key rename to common/Release.key diff --git a/debian-buster-erlang/Dockerfile b/debian-buster-erlang/Dockerfile index 401abe6..00ee90b 100644 --- a/debian-buster-erlang/Dockerfile +++ b/debian-buster-erlang/Dockerfile @@ -41,7 +41,7 @@ # add osmocom latest repo, should we ever require packages from there RUN apt-get update && apt-get install -y \ gnupg -COPY Release.key /tmp/Release.key +ADD https://git.osmocom.org/docker-playground/plain/common/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-latest.list diff --git a/debian-buster-erlang/Release.key b/debian-buster-erlang/Release.key deleted file mode 100644 index a737316..0000000 --- a/debian-buster-erlang/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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/debian-buster-simtrace2/Dockerfile b/debian-buster-simtrace2/Dockerfile index bac3c22..8823ba9 100644 --- a/debian-buster-simtrace2/Dockerfile +++ b/debian-buster-simtrace2/Dockerfile @@ -7,7 +7,7 @@ ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/Debian_10/" -COPY Release.key /tmp/Release.key +ADD https://git.osmocom.org/docker-playground/plain/common/Release.key /tmp/Release.key RUN apt-key add /tmp/Release.key && \ rm /tmp/Release.key && \ diff --git a/debian-buster-simtrace2/Release.key b/debian-buster-simtrace2/Release.key deleted file mode 100644 index a737316..0000000 --- a/debian-buster-simtrace2/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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/debian-jessie-osmocom/Dockerfile b/debian-jessie-osmocom/Dockerfile index 1a3101d..2020092 100644 --- a/debian-jessie-osmocom/Dockerfile +++ b/debian-jessie-osmocom/Dockerfile @@ -7,7 +7,7 @@ ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/Debian_8.0/" -COPY Release.key /tmp/Release.key +ADD https://git.osmocom.org/docker-playground/plain/common/Release.key /tmp/Release.key RUN apt-key add /tmp/Release.key && \ rm /tmp/Release.key && \ diff --git a/debian-jessie-osmocom/Release.key b/debian-jessie-osmocom/Release.key deleted file mode 100644 index a737316..0000000 --- a/debian-jessie-osmocom/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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/debian-stretch-build-dist/Dockerfile b/debian-stretch-build-dist/Dockerfile index 5e12a81..462b55a 100644 --- a/debian-stretch-build-dist/Dockerfile +++ b/debian-stretch-build-dist/Dockerfile @@ -5,7 +5,7 @@ ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/latest/Debian_9.0/" -COPY Release.key /tmp/Release.key +ADD https://git.osmocom.org/docker-playground/plain/common/Release.key /tmp/Release.key RUN apt-key add /tmp/Release.key && \ rm /tmp/Release.key && \ diff --git a/debian-stretch-build-dist/Release.key b/debian-stretch-build-dist/Release.key deleted file mode 100644 index a737316..0000000 --- a/debian-stretch-build-dist/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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/debian-stretch-build/Dockerfile b/debian-stretch-build/Dockerfile index a98fa3e..9b8da34 100644 --- a/debian-stretch-build/Dockerfile +++ b/debian-stretch-build/Dockerfile @@ -58,7 +58,7 @@ wget && \ apt-get clean -COPY Release.key /tmp/Release.key +ADD https://git.osmocom.org/docker-playground/plain/common/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 diff --git a/debian-stretch-build/Release.key b/debian-stretch-build/Release.key deleted file mode 100644 index a737316..0000000 --- a/debian-stretch-build/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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/debian-stretch-jenkins/Dockerfile b/debian-stretch-jenkins/Dockerfile index d218741..fbf3f1b 100644 --- a/debian-stretch-jenkins/Dockerfile +++ b/debian-stretch-jenkins/Dockerfile @@ -170,7 +170,7 @@ # * osmo-remsim: libulfius # * osmo-trx: liblimesuite-dev, libuhd-dev ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/Debian_9.0/" -COPY Release.key /tmp/Release.key +ADD https://git.osmocom.org/docker-playground/plain/common/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 diff --git a/debian-stretch-jenkins/Release.key b/debian-stretch-jenkins/Release.key deleted file mode 100644 index a737316..0000000 --- a/debian-stretch-jenkins/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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/debian-stretch-obs-latest/Dockerfile b/debian-stretch-obs-latest/Dockerfile index 9c4d818..98415de 100644 --- a/debian-stretch-obs-latest/Dockerfile +++ b/debian-stretch-obs-latest/Dockerfile @@ -13,7 +13,7 @@ && \ apt-get clean -COPY Release.key /tmp/Release.key +ADD https://git.osmocom.org/docker-playground/plain/common/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-latest.list diff --git a/debian-stretch-obs-latest/Release.key b/debian-stretch-obs-latest/Release.key deleted file mode 100644 index a737316..0000000 --- a/debian-stretch-obs-latest/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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/debian-stretch-titan/Dockerfile b/debian-stretch-titan/Dockerfile index 6a70d6c..0793f85 100644 --- a/debian-stretch-titan/Dockerfile +++ b/debian-stretch-titan/Dockerfile @@ -11,7 +11,7 @@ RUN apt-get update && apt-get install -y \ gnupg -COPY Release.key /tmp/Release.key +ADD https://git.osmocom.org/docker-playground/plain/common/Release.key /tmp/Release.key RUN apt-key add /tmp/Release.key && \ rm /tmp/Release.key && \ diff --git a/debian-stretch-titan/Release.key b/debian-stretch-titan/Release.key deleted file mode 100644 index a737316..0000000 --- a/debian-stretch-titan/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-gsm-tester/Dockerfile b/osmo-gsm-tester/Dockerfile index 52dc999..d4f1d26 100644 --- a/osmo-gsm-tester/Dockerfile +++ b/osmo-gsm-tester/Dockerfile @@ -79,7 +79,7 @@ ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/Debian_9.0/" -COPY Release.key /tmp/Release.key +ADD https://git.osmocom.org/docker-playground/plain/common/Release.key /tmp/Release.key RUN apt-key add /tmp/Release.key && \ rm /tmp/Release.key && \ diff --git a/osmo-gsm-tester/Release.key b/osmo-gsm-tester/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-gsm-tester/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-msc-latest/Release.key b/osmo-msc-latest/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-msc-latest/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-ran/Dockerfile b/osmo-ran/Dockerfile index 4b5195e..412ba53 100644 --- a/osmo-ran/Dockerfile +++ b/osmo-ran/Dockerfile @@ -10,7 +10,7 @@ ARG OSMOCOM_REPO_DEBIAN="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/$OSMOCOM_REPO_VERSION/Debian_9.0/" ARG OSMOCOM_REPO_CENTOS="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/$OSMOCOM_REPO_VERSION/CentOS_8/" -COPY Release.key /tmp/Release.key +ADD https://git.osmocom.org/docker-playground/plain/common/Release.key /tmp/Release.key RUN case "$DISTRO" in \ debian*) \ diff --git a/osmo-ran/split/ran-bsc_mgw/Dockerfile b/osmo-ran/split/ran-bsc_mgw/Dockerfile index f75316f..5401790 100644 --- a/osmo-ran/split/ran-bsc_mgw/Dockerfile +++ b/osmo-ran/split/ran-bsc_mgw/Dockerfile @@ -10,7 +10,7 @@ ARG OSMOCOM_REPO_DEBIAN="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/$OSMOCOM_REPO_VERSION/Debian_9.0/" ARG OSMOCOM_REPO_CENTOS="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/$OSMOCOM_REPO_VERSION/CentOS_8/" -COPY Release.key /tmp/Release.key +ADD https://git.osmocom.org/docker-playground/plain/common/Release.key /tmp/Release.key RUN case "$DISTRO" in \ debian*) \ diff --git a/osmo-ran/split/ran-bsc_mgw/Release.key b/osmo-ran/split/ran-bsc_mgw/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-ran/split/ran-bsc_mgw/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-ran/split/ran-bts_pcu/Dockerfile b/osmo-ran/split/ran-bts_pcu/Dockerfile index 68f710e..1f74210 100644 --- a/osmo-ran/split/ran-bts_pcu/Dockerfile +++ b/osmo-ran/split/ran-bts_pcu/Dockerfile @@ -10,7 +10,7 @@ ARG OSMOCOM_REPO_DEBIAN="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/$OSMOCOM_REPO_VERSION/Debian_9.0/" ARG OSMOCOM_REPO_CENTOS="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/$OSMOCOM_REPO_VERSION/CentOS_8/" -COPY Release.key /tmp/Release.key +ADD https://git.osmocom.org/docker-playground/plain/common/Release.key /tmp/Release.key RUN case "$DISTRO" in \ debian*) \ diff --git a/osmo-ran/split/ran-bts_pcu/Release.key b/osmo-ran/split/ran-bts_pcu/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-ran/split/ran-bts_pcu/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-ran/split/ran-trx-ipc/Dockerfile b/osmo-ran/split/ran-trx-ipc/Dockerfile index c5ce057..7413d18 100644 --- a/osmo-ran/split/ran-trx-ipc/Dockerfile +++ b/osmo-ran/split/ran-trx-ipc/Dockerfile @@ -10,7 +10,7 @@ ARG OSMOCOM_REPO_DEBIAN="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/$OSMOCOM_REPO_VERSION/Debian_9.0/" ARG OSMOCOM_REPO_CENTOS="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/$OSMOCOM_REPO_VERSION/CentOS_8/" -COPY Release.key /tmp/Release.key +ADD https://git.osmocom.org/docker-playground/plain/common/Release.key /tmp/Release.key RUN case "$DISTRO" in \ debian*) \ diff --git a/osmo-ran/split/ran-trx-ipc/Release.key b/osmo-ran/split/ran-trx-ipc/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-ran/split/ran-trx-ipc/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-ran/split/ran-trx-uhd/Dockerfile b/osmo-ran/split/ran-trx-uhd/Dockerfile index 5fe0cc3..77f7a83 100644 --- a/osmo-ran/split/ran-trx-uhd/Dockerfile +++ b/osmo-ran/split/ran-trx-uhd/Dockerfile @@ -10,7 +10,7 @@ ARG OSMOCOM_REPO_DEBIAN="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/$OSMOCOM_REPO_VERSION/Debian_9.0/" ARG OSMOCOM_REPO_CENTOS="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/$OSMOCOM_REPO_VERSION/CentOS_8/" -COPY Release.key /tmp/Release.key +ADD https://git.osmocom.org/docker-playground/plain/common/Release.key /tmp/Release.key RUN case "$DISTRO" in \ debian*) \ diff --git a/osmo-ran/split/ran-trx-uhd/Release.key b/osmo-ran/split/ran-trx-uhd/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-ran/split/ran-trx-uhd/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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/osmocom-bb-host-master/Dockerfile b/osmocom-bb-host-master/Dockerfile index 1684acb..7333959 100644 --- a/osmocom-bb-host-master/Dockerfile +++ b/osmocom-bb-host-master/Dockerfile @@ -12,7 +12,7 @@ ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/Debian_9.0/" -COPY Release.key /tmp/Release.key +ADD https://git.osmocom.org/docker-playground/plain/common/Release.key /tmp/Release.key RUN apt-key add /tmp/Release.key && \ rm /tmp/Release.key && \ diff --git a/osmocom-bb-host-master/Release.key b/osmocom-bb-host-master/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmocom-bb-host-master/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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----- -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23304 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ic51d6e6557ee0b56d21d8ff4feaf04bc02e41a2e Gerrit-Change-Number: 23304 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 Mar 10 00:10:59 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 10 Mar 2021 00:10:59 +0000 Subject: Change in docker-playground[master]: Make respawn.sh a common part of *-build/-obs images In-Reply-To: References: Message-ID: fixeria has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/docker-playground/+/23303 ) Change subject: Make respawn.sh a common part of *-build/-obs images ...................................................................... Make respawn.sh a common part of *-build/-obs images Maintaining several versions of the same file in different folders is a bad idea, because at some point their content gets out of sync. This is exactly what happened to 'respawn.sh': sleep()ing was only implemented in 'osmo-bts-master/respawn.sh', other versions of this file would simply ignore '$SLEEP_BEFORE_RESPAWN'. The easiest solution would be to have all common files in a single directory, however Docker does not allow to ADD files from outside of the build context. In other words, all files must be in the same directory as the Dockerfile itself. At the same time, Docker allows the first argument of ADD to be a URL, and at least HTTP(S) is supported. Most of our images require the Internet connectivity anyway, so let's make it grab 'respawn.sh' from https://git.osmocom.org/docker-playground/. Change-Id: I3ec86c8610b3b43d39ea8e3da444861d317ced4e --- M centos8-build/Dockerfile M centos8-obs-latest/Dockerfile R common/respawn.sh M debian-buster-build/Dockerfile M debian-jessie-build/Dockerfile M debian-sid-build/Dockerfile M debian-stretch-obs-latest/Dockerfile M osmo-bts-latest/Dockerfile D osmo-bts-latest/respawn.sh M osmo-bts-master/Dockerfile M osmo-pcu-latest/Dockerfile D osmo-pcu-latest/respawn.sh M osmo-pcu-master/Dockerfile D osmo-pcu-master/respawn.sh 14 files changed, 18 insertions(+), 53 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/03/23303/2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23303 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I3ec86c8610b3b43d39ea8e3da444861d317ced4e Gerrit-Change-Number: 23303 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 Mar 10 00:10:59 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 10 Mar 2021 00:10:59 +0000 Subject: Change in docker-playground[master]: Share a single instance of Release.key between all images In-Reply-To: References: Message-ID: fixeria has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/docker-playground/+/23304 ) Change subject: Share a single instance of Release.key between all images ...................................................................... Share a single instance of Release.key between all images This change employs the same approach as [1] for Release.key. Change-Id: Ic51d6e6557ee0b56d21d8ff4feaf04bc02e41a2e Related: [1] I3ec86c8610b3b43d39ea8e3da444861d317ced4e --- D Release.key R common/Release.key M debian-buster-erlang/Dockerfile D debian-buster-erlang/Release.key M debian-buster-simtrace2/Dockerfile D debian-buster-simtrace2/Release.key M debian-jessie-osmocom/Dockerfile D debian-jessie-osmocom/Release.key M debian-stretch-build-dist/Dockerfile D debian-stretch-build-dist/Release.key M debian-stretch-build/Dockerfile D debian-stretch-build/Release.key M debian-stretch-jenkins/Dockerfile D debian-stretch-jenkins/Release.key M debian-stretch-obs-latest/Dockerfile D debian-stretch-obs-latest/Release.key M debian-stretch-titan/Dockerfile D debian-stretch-titan/Release.key M osmo-gsm-tester/Dockerfile D osmo-gsm-tester/Release.key D osmo-msc-latest/Release.key M osmo-ran/Dockerfile M osmo-ran/split/ran-bsc_mgw/Dockerfile D osmo-ran/split/ran-bsc_mgw/Release.key M osmo-ran/split/ran-bts_pcu/Dockerfile D osmo-ran/split/ran-bts_pcu/Release.key M osmo-ran/split/ran-trx-ipc/Dockerfile D osmo-ran/split/ran-trx-ipc/Release.key M osmo-ran/split/ran-trx-uhd/Dockerfile D osmo-ran/split/ran-trx-uhd/Release.key M osmocom-bb-host-master/Dockerfile D osmocom-bb-host-master/Release.key 32 files changed, 15 insertions(+), 335 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/04/23304/2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23304 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ic51d6e6557ee0b56d21d8ff4feaf04bc02e41a2e Gerrit-Change-Number: 23304 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 Mar 10 00:12:25 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 10 Mar 2021 00:12:25 +0000 Subject: Change in docker-playground[master]: Make respawn.sh a common part of *-build/-obs images In-Reply-To: References: Message-ID: fixeria has uploaded a new patch set (#3). ( https://gerrit.osmocom.org/c/docker-playground/+/23303 ) Change subject: Make respawn.sh a common part of *-build/-obs images ...................................................................... Make respawn.sh a common part of *-build/-obs images Maintaining several versions of the same file in different folders is a bad idea, because at some point their content gets out of sync. This is exactly what happened to 'respawn.sh': sleep()ing was only implemented in 'osmo-bts-master/respawn.sh', other versions of this file would simply ignore '$SLEEP_BEFORE_RESPAWN'. The easiest solution would be to have all common files in a single directory, however Docker does not allow to ADD files from outside of the build context. In other words, all files must be in the same directory as the Dockerfile itself. At the same time, Docker allows the first argument of ADD to be a URL, and at least HTTP(S) is supported. Most of our images require the Internet connectivity anyway, so let's make it grab 'respawn.sh' from https://git.osmocom.org/docker-playground/. Change-Id: I3ec86c8610b3b43d39ea8e3da444861d317ced4e --- M centos8-build/Dockerfile M centos8-obs-latest/Dockerfile R common/respawn.sh M debian-buster-build/Dockerfile M debian-jessie-build/Dockerfile M debian-sid-build/Dockerfile M debian-stretch-obs-latest/Dockerfile M osmo-bts-latest/Dockerfile D osmo-bts-latest/respawn.sh M osmo-bts-master/Dockerfile M osmo-pcu-latest/Dockerfile D osmo-pcu-latest/respawn.sh M osmo-pcu-master/Dockerfile D osmo-pcu-master/respawn.sh 14 files changed, 18 insertions(+), 53 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/03/23303/3 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23303 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I3ec86c8610b3b43d39ea8e3da444861d317ced4e Gerrit-Change-Number: 23303 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Wed Mar 10 01:41:49 2021 From: admin at opensuse.org (OBS Notification) Date: Wed, 10 Mar 2021 01:41:49 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <604823fddff29_6b9e2ac67dffe600675633@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_20.04/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_20.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 125s] [COMPILING apps/dfu/main.c] [ 126s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 126s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 126s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 126s] Memory region Used Size Region Size %age Used [ 126s] rom: 16600 B 16 KB 101.32% [ 126s] ram: 11688 B 48 KB 23.78/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 126s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 126s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 126s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 126s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 126s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 126s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 216 bytes [ 126s] collect2: error: ld returned 1 exit status [ 126s] % [ 126s] make[2]: *** [Makefile:230: flash] Error 1 [ 126s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 126s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 126s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 126s] dh_auto_build: error: make -j1 returned exit code 2 [ 126s] make: *** [debian/rules:16: build] Error 25 [ 126s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 126s] ### VM INTERACTION START ### [ 129s] [ 119.005854] sysrq: Power Off [ 129s] [ 119.015979] reboot: Power down [ 129s] ### VM INTERACTION END ### [ 129s] [ 129s] sheep81 failed "build simtrace2_0.7.0.76.62ad.dsc" at Wed Mar 10 01:41:41 UTC 2021. [ 129s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Mar 10 01:46:23 2021 From: admin at opensuse.org (OBS Notification) Date: Wed, 10 Mar 2021 01:46:23 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.10/x86_64 In-Reply-To: References: Message-ID: <6048250c5c63f_6b9e2ac67dffe600675846@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_20.10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_20.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 80s] [COMPILING libboard/qmod/source/board_qmod.c] [ 80s] [COMPILING libboard/qmod/source/card_pres.c] [ 80s] [COMPILING libboard/qmod/source/i2c.c] [ 80s] [COMPILING libboard/qmod/source/wwan_led.c] [ 80s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 80s] [COMPILING apps/dfu/main.c] [ 80s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 80s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 80s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 80s] Memory region Used Size Region Size %age Used [ 80s] rom: 16592 B 16 KB 101.27% [ 80s] ram: 11680 B 48 KB 23.76/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 80s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 208 bytes [ 80s] collect2: error: ld returned 1 exit status [ 80s] % [ 80s] make[2]: *** [Makefile:230: flash] Error 1 [ 80s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 80s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 80s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 80s] dh_auto_build: error: make -j1 returned exit code 2 [ 80s] make: *** [debian/rules:16: build] Error 25 [ 80s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 80s] ### VM INTERACTION START ### [ 83s] [ 76.434277] sysrq: Power Off [ 83s] [ 76.440082] reboot: Power down [ 84s] ### VM INTERACTION END ### [ 84s] [ 84s] goat19 failed "build simtrace2_0.7.0.76.62ad.dsc" at Wed Mar 10 01:46:18 UTC 2021. [ 84s] -- 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 Mar 10 08:00:32 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 10 Mar 2021 08:00:32 +0000 Subject: Change in docker-playground[master]: Make respawn.sh a common part of *-build/-obs images In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23303 ) Change subject: Make respawn.sh a common part of *-build/-obs images ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23303 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I3ec86c8610b3b43d39ea8e3da444861d317ced4e Gerrit-Change-Number: 23303 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 10 Mar 2021 08:00: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 Mar 10 08:01:05 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 10 Mar 2021 08:01:05 +0000 Subject: Change in docker-playground[master]: Share a single instance of Release.key between all images In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23304 ) Change subject: Share a single instance of Release.key between all images ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23304 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ic51d6e6557ee0b56d21d8ff4feaf04bc02e41a2e Gerrit-Change-Number: 23304 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 10 Mar 2021 08:01: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 Wed Mar 10 08:02:52 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 10 Mar 2021 08:02:52 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test: use 'gsmtap-remote-host' parameter In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23300 ) Change subject: ttcn3-bts-test: use 'gsmtap-remote-host' parameter ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23300 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ib01069a55a27e79c67b76abe39763c1b645075e5 Gerrit-Change-Number: 23300 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 10 Mar 2021 08:02: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 Wed Mar 10 08:04:03 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 10 Mar 2021 08:04:03 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test: OML tests ivolve no GSMTAP Um logging In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23302 ) Change subject: ttcn3-bts-test: OML tests ivolve no GSMTAP Um logging ...................................................................... Patch Set 1: I'd leave those, I think it may still be useful to see Um side when looking at test pcap to see how BTS behaves? -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23302 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I50891130eaf7957efbf71839564a5dd9d58a1e3f Gerrit-Change-Number: 23302 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 10 Mar 2021 08:04: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 Mar 10 08:32:54 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 10 Mar 2021 08:32:54 +0000 Subject: Change in osmo-gbproxy[master]: manuals: Delete gbproxy_vty_reference.xml In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/23294 ) Change subject: manuals: Delete gbproxy_vty_reference.xml ...................................................................... Patch Set 2: > Patch Set 1: Code-Review-1 > > > Patch Set 1: Code-Review+1 > > > > This looks like the only project still containing manually-generated vty xml files, may be worth updating it to being generated at build time. > > The file is updated on build (hence this commit), I'll see if I can simply remove it from git. -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/23294 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I39d60a7fd7ec66f3f20bfcef5c32502598f2708f Gerrit-Change-Number: 23294 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 10 Mar 2021 08:32: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 Mar 10 09:10:59 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 10 Mar 2021 09:10:59 +0000 Subject: Change in libosmocore[master]: gsm0808_utils: add gsm0808_cell_id_lists_same() In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23297 ) Change subject: gsm0808_utils: add gsm0808_cell_id_lists_same() ...................................................................... Patch Set 1: I think I'm just now changing my mind about some implementation detail, which would mean that I won't need this API. It may still be useful, but no need to submit at this time, I guess. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23297 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I16bc903f9c5820ad00d588e59a4a6923d1f3f542 Gerrit-Change-Number: 23297 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 10 Mar 2021 09:10:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 10 09:23:49 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 10 Mar 2021 09:23:49 +0000 Subject: Change in osmo-gbproxy[master]: manuals: Delete gbproxy_vty_reference.xml In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/23294 ) Change subject: manuals: Delete gbproxy_vty_reference.xml ...................................................................... Patch Set 2: Code-Review-1 > Patch Set 1: Code-Review+1 > > This looks like the only project still containing manually-generated vty xml files, may be worth updating it to being generated at build time. It looks like other repositories (with the exception of osmo-sgsn and osmo-gbproxy) use docker, I will change those to use the same. -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/23294 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I39d60a7fd7ec66f3f20bfcef5c32502598f2708f Gerrit-Change-Number: 23294 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 10 Mar 2021 09:23: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 Mar 10 09:33:39 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 10 Mar 2021 09:33:39 +0000 Subject: Change in osmo-sgsn[master]: manuals: Regenerate counters/VTY through docker References: Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/23305 ) Change subject: manuals: Regenerate counters/VTY through docker ...................................................................... manuals: Regenerate counters/VTY through docker Change-Id: I09b01d2e4bc7b1c17588100b16ac9f04cf72cf99 --- M doc/manuals/regen_doc.sh 1 file changed, 11 insertions(+), 65 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/05/23305/1 diff --git a/doc/manuals/regen_doc.sh b/doc/manuals/regen_doc.sh index 9fcebb8..5c84a23 100755 --- a/doc/manuals/regen_doc.sh +++ b/doc/manuals/regen_doc.sh @@ -1,71 +1,17 @@ -#!/bin/sh -e +#!/bin/sh -x -require_osmo_interact_vty() { - if command -v osmo_interact_vty.py >/dev/null 2>&1; then - return - fi - echo "ERROR: osmo_interact_vty.py not found. Are osmo-python-tests in PATH?" +if [ -z "$DOCKER_PLAYGROUND" ]; then + echo "You need to set DOCKER_PLAYGROUND" exit 1 -} +fi -# $1: "update_vty_reference" or "update_counters" -# $2: output file -# $3: port -# $4-$n: command -interact_vty() { - action="$1" - output="$2" - port="$3" - log="/tmp/$4.log" - shift 3 +SCRIPT=$(realpath "$0") +MANUAL_DIR=$(dirname "$SCRIPT") - echo "Starting in background: $@" - "$@" > "$log" 2>&1 & - pid="$!" +COMMIT=${COMMIT:-$(git log -1 --format=format:%H)} - sleep 0.5 - if ! kill -0 "$pid" 2>/dev/null; then - echo "ERROR: start failed!" - cat "$log" - exit 1 - fi +cd "$DOCKER_PLAYGROUND/scripts" || exit 1 - case "$action" in - "update_vty_reference") - echo "Updating VTY reference: $output" - osmo_interact_vty.py -X -p "$port" -H 127.0.0.1 -O "$output" - ;; - "update_counters") - echo "Updating asciidoc counters: $output" - osmo_interact_vty.py -c "enable;show asciidoc counters" -p "$port" -H 127.0.0.1 -O "$output" - ;; - *) - echo "ERROR: invalid argument: $action" - exit 1 - ;; - esac - - kill "$pid" - echo "Done (killed $1)" - echo -} - -DIR="$(cd "$(dirname "$0")"; pwd)" -cd "$DIR" - -require_osmo_interact_vty - -interact_vty \ - "update_vty_reference" \ - "vty/sgsn_vty_reference.xml" \ - 4245 \ - osmo-sgsn -c "../examples/osmo-sgsn/osmo-sgsn.cfg" - -interact_vty \ - "update_counters" \ - "chapters/counters_generated.adoc" \ - 4245 \ - osmo-sgsn -c "../examples/osmo-sgsn/osmo-sgsn.cfg" - - -echo "Done with all" +OSMO_BSC_BRANCH=$COMMIT ./regen_doc.sh osmo-sgsn 4245 \ + "$MANUAL_DIR/chapters/counters_generated.adoc" \ + "$MANUAL_DIR/vty/sgsn_vty_reference.xml" -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/23305 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I09b01d2e4bc7b1c17588100b16ac9f04cf72cf99 Gerrit-Change-Number: 23305 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 Wed Mar 10 09:57:29 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 10 Mar 2021 09:57:29 +0000 Subject: Change in osmo-gbproxy[master]: manuals: Regenerate counters/VTY through docker In-Reply-To: References: Message-ID: Hello osmith, Jenkins Builder, fixeria, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/23294 to look at the new patch set (#3). Change subject: manuals: Regenerate counters/VTY through docker ...................................................................... manuals: Regenerate counters/VTY through docker Related: SYS#5115, SYS#5005 Change-Id: I39d60a7fd7ec66f3f20bfcef5c32502598f2708f --- M doc/manuals/regen_doc.sh D doc/manuals/vty/gbproxy_vty_reference.xml 2 files changed, 11 insertions(+), 1,606 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gbproxy refs/changes/94/23294/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/23294 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I39d60a7fd7ec66f3f20bfcef5c32502598f2708f Gerrit-Change-Number: 23294 Gerrit-PatchSet: 3 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria 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 Mar 10 09:57:30 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 10 Mar 2021 09:57:30 +0000 Subject: Change in osmo-gbproxy[master]: Remove some outdated TODO/comments References: Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/23306 ) Change subject: Remove some outdated TODO/comments ...................................................................... Remove some outdated TODO/comments Change-Id: Icd72ed92585f5701d293807022255b06e5641005 --- M include/osmocom/sgsn/gb_proxy.h M src/gb_proxy.c 2 files changed, 1 insertion(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gbproxy refs/changes/06/23306/1 diff --git a/include/osmocom/sgsn/gb_proxy.h b/include/osmocom/sgsn/gb_proxy.h index c9d2fca..2a800e5 100644 --- a/include/osmocom/sgsn/gb_proxy.h +++ b/include/osmocom/sgsn/gb_proxy.h @@ -165,7 +165,7 @@ /* NSEI of the NSE */ uint16_t nsei; - /* Maximum side of the NS-UNITDATA NS SDU that can be transported by the NSE */ + /* Maximum size of the NS-UNITDATA NS SDU that can be transported by the NSE */ uint16_t max_sdu_len; /* Are we facing towards a SGSN (true) or BSS (false) */ diff --git a/src/gb_proxy.c b/src/gb_proxy.c index ba99aec..f448c0b 100644 --- a/src/gb_proxy.c +++ b/src/gb_proxy.c @@ -1128,8 +1128,6 @@ int errctr = GBPROX_GLOB_CTR_PROTO_ERR_SGSN; int i, j; - /* FIXME: Handle paging logic to only page each matching NSE */ - if (TLVP_PRES_LEN(tp, BSSGP_IE_BVCI, 2)) { uint16_t bvci = ntohs(tlvp_val16_unal(tp, BSSGP_IE_BVCI)); errctr = GBPROX_GLOB_CTR_OTHER_ERR; @@ -1514,8 +1512,6 @@ /* TODO: What about handling: * GPRS_NS2_AFF_CAUSE_VC_FAILURE, GPRS_NS2_AFF_CAUSE_VC_RECOVERY, - GPRS_NS2_AFF_CAUSE_FAILURE, - GPRS_NS2_AFF_CAUSE_RECOVERY, osmocom own causes GPRS_NS2_AFF_CAUSE_SNS_CONFIGURED, GPRS_NS2_AFF_CAUSE_SNS_FAILURE, @@ -1524,8 +1520,6 @@ void gprs_ns_prim_status_cb(struct gbproxy_config *cfg, struct osmo_gprs_ns2_prim *nsp) { /* TODO: bss nsei available/unavailable bssgp_tx_simple_bvci(BSSGP_PDUT_BVC_BLOCK, nsvc->nsei, bvc->bvci, 0); - * TODO: sgsn nsei available/unavailable - * TODO: Update MTU */ struct gbproxy_bvc *bvc; -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/23306 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: Icd72ed92585f5701d293807022255b06e5641005 Gerrit-Change-Number: 23306 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 Wed Mar 10 09:57:30 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 10 Mar 2021 09:57:30 +0000 Subject: Change in osmo-gbproxy[master]: gb_proxy.h: Use pragma once instead of ifndef References: Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/23307 ) Change subject: gb_proxy.h: Use pragma once instead of ifndef ...................................................................... gb_proxy.h: Use pragma once instead of ifndef Change-Id: I7eb3b1cbd78c25112abf7d526a2aa42bd952c7c9 --- M include/osmocom/sgsn/gb_proxy.h 1 file changed, 1 insertion(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gbproxy refs/changes/07/23307/1 diff --git a/include/osmocom/sgsn/gb_proxy.h b/include/osmocom/sgsn/gb_proxy.h index 2a800e5..d6bf340 100644 --- a/include/osmocom/sgsn/gb_proxy.h +++ b/include/osmocom/sgsn/gb_proxy.h @@ -1,6 +1,4 @@ -#ifndef _GB_PROXY_H -#define _GB_PROXY_H - +#pragma once #include #include @@ -308,5 +306,3 @@ struct gbproxy_sgsn *gbproxy_sgsn_by_nri(struct gbproxy_config *cfg, uint16_t nri, bool *null_nri); struct gbproxy_sgsn *gbproxy_sgsn_by_tlli(struct gbproxy_config *cfg, struct gbproxy_sgsn *sgsn_avoid, uint32_t tlli); - -#endif -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/23307 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I7eb3b1cbd78c25112abf7d526a2aa42bd952c7c9 Gerrit-Change-Number: 23307 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 Wed Mar 10 09:57:30 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 10 Mar 2021 09:57:30 +0000 Subject: Change in osmo-gbproxy[master]: Remove osmo-sgsn relics References: Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/23308 ) Change subject: Remove osmo-sgsn relics ...................................................................... Remove osmo-sgsn relics * include/osmocom/sgsn -> gbproxy * (unused) tests specific to osmo-sgsn Change-Id: I3704760e8936bdd005a3f73727de5f2b3e8774a0 --- M configure.ac M debian/copyright M include/osmocom/Makefile.am R include/osmocom/gbproxy/Makefile.am R include/osmocom/gbproxy/gb_proxy.h M src/gb_proxy.c M src/gb_proxy_ctrl.c M src/gb_proxy_main.c M src/gb_proxy_peer.c M src/gb_proxy_vty.c M tests/ctrl_test_runner.py D tests/sndcp_xid/Makefile.am D tests/sndcp_xid/sndcp_xid_test.c D tests/sndcp_xid/sndcp_xid_test.ok 14 files changed, 11 insertions(+), 347 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gbproxy refs/changes/08/23308/1 diff --git a/configure.ac b/configure.ac index a4758b5..309d3f7 100644 --- a/configure.ac +++ b/configure.ac @@ -236,7 +236,7 @@ AC_OUTPUT( include/Makefile include/osmocom/Makefile - include/osmocom/sgsn/Makefile + include/osmocom/gbproxy/Makefile src/Makefile tests/Makefile doc/Makefile diff --git a/debian/copyright b/debian/copyright index 8bdbc5d..f6a5956 100644 --- a/debian/copyright +++ b/debian/copyright @@ -22,8 +22,8 @@ doc/examples/Makefile.am doc/examples/osmo-gbproxy/osmo-gbproxy.cfg include/Makefile.am - include/osmocom/sgsn/Makefile.am - include/osmocom/sgsn/gb_proxy.h + include/osmocom/gbproxy/Makefile.am + include/osmocom/gbproxy/gb_proxy.h m4/README src/Makefile.am src/gprs/.gitignore diff --git a/include/osmocom/Makefile.am b/include/osmocom/Makefile.am index 09db97a..a3f6651 100644 --- a/include/osmocom/Makefile.am +++ b/include/osmocom/Makefile.am @@ -1,3 +1,3 @@ SUBDIRS = \ - sgsn \ + gbproxy \ $(NULL) diff --git a/include/osmocom/sgsn/Makefile.am b/include/osmocom/gbproxy/Makefile.am similarity index 68% rename from include/osmocom/sgsn/Makefile.am rename to include/osmocom/gbproxy/Makefile.am index 6802740..550edb8 100644 --- a/include/osmocom/sgsn/Makefile.am +++ b/include/osmocom/gbproxy/Makefile.am @@ -1,3 +1,4 @@ noinst_HEADERS = \ gb_proxy.h \ + gb_proxy_igpp.h \ $(NULL) diff --git a/include/osmocom/sgsn/gb_proxy.h b/include/osmocom/gbproxy/gb_proxy.h similarity index 100% rename from include/osmocom/sgsn/gb_proxy.h rename to include/osmocom/gbproxy/gb_proxy.h diff --git a/src/gb_proxy.c b/src/gb_proxy.c index f448c0b..c07c36b 100644 --- a/src/gb_proxy.c +++ b/src/gb_proxy.c @@ -52,7 +52,7 @@ #include #include "debug.h" -#include +#include #include diff --git a/src/gb_proxy_ctrl.c b/src/gb_proxy_ctrl.c index b6f01af..35ef81b 100644 --- a/src/gb_proxy_ctrl.c +++ b/src/gb_proxy_ctrl.c @@ -28,7 +28,7 @@ #include #include -#include +#include #include "debug.h" diff --git a/src/gb_proxy_main.c b/src/gb_proxy_main.c index 87331ea..45e0858 100644 --- a/src/gb_proxy_main.c +++ b/src/gb_proxy_main.c @@ -43,7 +43,7 @@ #include #include "debug.h" -#include +#include #include #include diff --git a/src/gb_proxy_peer.c b/src/gb_proxy_peer.c index a9471f0..fa99832 100644 --- a/src/gb_proxy_peer.c +++ b/src/gb_proxy_peer.c @@ -20,7 +20,7 @@ * */ -#include +#include #include "debug.h" diff --git a/src/gb_proxy_vty.c b/src/gb_proxy_vty.c index 3a52e32..f48a6db 100644 --- a/src/gb_proxy_vty.c +++ b/src/gb_proxy_vty.c @@ -39,7 +39,7 @@ #include #include "debug.h" -#include +#include #include #include diff --git a/tests/ctrl_test_runner.py b/tests/ctrl_test_runner.py index 69b2478..9a004a4 100755 --- a/tests/ctrl_test_runner.py +++ b/tests/ctrl_test_runner.py @@ -143,28 +143,6 @@ return responses -class TestCtrlSGSN(TestCtrlBase): - def ctrl_command(self): - return ["./src/sgsn/osmo-sgsn", "-c", - "doc/examples/osmo-sgsn/osmo-sgsn.cfg"] - - def ctrl_app(self): - return (4251, "./src/sgsn/osmo-sgsn", "OsmoSGSN", "sgsn") - - def testListSubscribers(self): - # TODO. Add command to mark a subscriber as active - r = self.do_get('subscriber-list-active-v1') - self.assertEqual(r['mtype'], 'GET_REPLY') - self.assertEqual(r['var'], 'subscriber-list-active-v1') - self.assertEqual(r['value'], None) - -def add_sgsn_test(suite, workdir): - if not os.path.isfile(os.path.join(workdir, "src/sgsn/osmo-sgsn")): - print("Skipping the SGSN test") - return - test = unittest.TestLoader().loadTestsFromTestCase(TestCtrlSGSN) - suite.addTest(test) - if __name__ == '__main__': import argparse import sys @@ -195,6 +173,6 @@ os.chdir(workdir) print("Running tests for specific control commands") suite = unittest.TestSuite() - add_sgsn_test(suite, workdir) + print("GbProxy has not CTRL tests yet") res = unittest.TextTestRunner(verbosity=verbose_level).run(suite) sys.exit(len(res.errors) + len(res.failures)) diff --git a/tests/sndcp_xid/Makefile.am b/tests/sndcp_xid/Makefile.am deleted file mode 100644 index dad41ea..0000000 --- a/tests/sndcp_xid/Makefile.am +++ /dev/null @@ -1,17 +0,0 @@ -AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/include -AM_CFLAGS=-Wall -ggdb3 $(LIBOSMOCORE_CFLAGS) $(LIBOSMOGSM_CFLAGS) - -EXTRA_DIST = sndcp_xid_test.ok - -noinst_PROGRAMS = sndcp_xid_test - -sndcp_xid_test_SOURCES = sndcp_xid_test.c - -sndcp_xid_test_LDADD = \ - $(top_builddir)/src/sgsn/gprs_sndcp_xid.o \ - $(LIBOSMOABIS_LIBS) \ - $(LIBOSMOCORE_LIBS) \ - $(LIBOSMOGSM_LIBS) \ - $(LIBOSMOGB_LIBS) \ - $(LIBGTP_LIBS) \ - -lrt -lm diff --git a/tests/sndcp_xid/sndcp_xid_test.c b/tests/sndcp_xid/sndcp_xid_test.c deleted file mode 100644 index 56b97e3..0000000 --- a/tests/sndcp_xid/sndcp_xid_test.c +++ /dev/null @@ -1,287 +0,0 @@ -/* Test SNDCP-XID Encoding/Decoding */ - -/* (C) 2016 by sysmocom s.f.m.c. GmbH - * All Rights Reserved - * - * Author: Philipp Maier - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ - -#include -#include - -#include -#include - -#include - -#include -#include - -/* Test SNDCP-XID decoding with a real world sample */ -static void test_xid_decode_realworld(const void *ctx) -{ - struct llist_head *comp_fields; - int rc; - printf("Testing SNDCP XID-Decoder/Encoder (real world data)\n"); - - /* Example of a real world SNDCP-XID message */ - uint8_t xid[] = - { 0x00, 0x01, 0x00, 0x02, 0x31, 0x82, 0x02, 0x27, 0x89, 0xff, 0xe0, - 0x00, 0x0f, 0x00, 0xa8, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x02, - 0x01, 0x02, 0x00, 0x03, 0x01, 0x03, 0x00, 0x04, 0x01, 0x04, 0x00, 0x05, - 0x01, 0x05, 0x00, 0x06, 0x00, 0x07, 0x01, 0x07, 0x00, 0x08, 0x01, 0x08, - 0x80, 0x00, 0x04, 0x12, 0x00, 0x40, 0x07 }; - uint8_t xid_r[512]; - - /* Parse and show contained comp fields */ - comp_fields = gprs_sndcp_parse_xid(NULL, ctx, xid, sizeof(xid), NULL); - OSMO_ASSERT(comp_fields); - printf("Decoded:\n"); - gprs_sndcp_dump_comp_fields(comp_fields, DSNDCP); - - /* Encode comp-fields again */ - rc = gprs_sndcp_compile_xid(xid_r,sizeof(xid_r), comp_fields, - DEFAULT_SNDCP_VERSION); - printf("Result length=%i\n",rc); - printf("Encoded: %s\n", osmo_hexdump_nospc(xid, sizeof(xid))); - printf("Rencoded: %s\n", osmo_hexdump_nospc(xid_r, rc)); - - OSMO_ASSERT(rc == 54); - OSMO_ASSERT(memcmp(xid, xid_r, sizeof(xid)) == 0); - - /* Free comp fields */ - talloc_free(comp_fields); - - printf("\n"); -} - -/* Encode and decode test with artificial test data */ -static void test_xid_encode_decode(const void *ctx) -{ - printf("Testing SNDCP XID-Encoder/Decoder\n"); - - LLIST_HEAD(comp_fields); - struct gprs_sndcp_pcomp_rfc1144_params rfc1144_params; - struct gprs_sndcp_comp_field rfc1144_comp_field; - struct gprs_sndcp_pcomp_rfc2507_params rfc2507_params; - struct gprs_sndcp_comp_field rfc2507_comp_field; - struct gprs_sndcp_pcomp_rohc_params rohc_params; - struct gprs_sndcp_comp_field rohc_comp_field; - struct gprs_sndcp_dcomp_v42bis_params v42bis_params; - struct gprs_sndcp_comp_field v42bis_comp_field; - struct gprs_sndcp_dcomp_v44_params v44_params; - struct gprs_sndcp_comp_field v44_comp_field; - struct llist_head *comp_fields_dec; - - uint8_t xid[512]; - unsigned int xid_len = sizeof(xid); - int rc; - - memset(&rfc1144_comp_field, 0, sizeof(struct gprs_sndcp_comp_field)); - memset(&rfc2507_comp_field, 0, sizeof(struct gprs_sndcp_comp_field)); - memset(&rohc_comp_field, 0, sizeof(struct gprs_sndcp_comp_field)); - memset(&v42bis_comp_field, 0, sizeof(struct gprs_sndcp_comp_field)); - memset(&v44_comp_field, 0, sizeof(struct gprs_sndcp_comp_field)); - - /* Setup which NSAPIs shall make use of rfc1144 */ - rfc1144_params.nsapi[0] = 5; - rfc1144_params.nsapi_len = 1; - - /* Setup rfc1144 operating parameters */ - rfc1144_params.s01 = 7; - - /* Setup rfc1144 compression field */ - rfc1144_comp_field.p = 1; - rfc1144_comp_field.entity = 0; - rfc1144_comp_field.algo.pcomp = RFC_1144; - rfc1144_comp_field.comp[RFC1144_PCOMP1] = 1; - rfc1144_comp_field.comp[RFC1144_PCOMP2] = 2; - rfc1144_comp_field.comp_len = RFC1144_PCOMP_NUM; - rfc1144_comp_field.rfc1144_params = &rfc1144_params; - - /* Setup which NSAPIs shall make use of rfc1144 */ - rfc2507_params.nsapi[0] = 6; - rfc2507_params.nsapi_len = 1; - - /* Setup rfc2507 operating parameters */ - rfc2507_params.f_max_period = 256; - rfc2507_params.f_max_time = 5; - rfc2507_params.max_header = 168; - rfc2507_params.tcp_space = 15; - rfc2507_params.non_tcp_space = 15; - - /* Setup rfc2507 compression field */ - rfc2507_comp_field.p = 1; - rfc2507_comp_field.entity = 1; - rfc2507_comp_field.algo.pcomp = RFC_2507; - rfc2507_comp_field.comp[RFC2507_PCOMP1] = 3; - rfc2507_comp_field.comp[RFC2507_PCOMP2] = 4; - rfc2507_comp_field.comp[RFC2507_PCOMP3] = 5; - rfc2507_comp_field.comp[RFC2507_PCOMP4] = 6; - rfc2507_comp_field.comp[RFC2507_PCOMP5] = 7; - rfc2507_comp_field.comp_len = RFC2507_PCOMP_NUM; - rfc2507_comp_field.rfc2507_params = &rfc2507_params; - - /* Setup which NSAPIs shall make use of ROHC */ - rohc_params.nsapi[0] = 5; - rohc_params.nsapi[1] = 6; - rohc_params.nsapi[2] = 7; - rohc_params.nsapi[3] = 8; - rohc_params.nsapi[4] = 9; - rohc_params.nsapi[5] = 10; - rohc_params.nsapi[6] = 11; - rohc_params.nsapi[7] = 12; - rohc_params.nsapi[8] = 13; - rohc_params.nsapi[9] = 14; - rohc_params.nsapi[10] = 15; - rohc_params.nsapi_len = 11; - - /* Setup ROHC operating parameters */ - rohc_params.max_cid = 15; /* default */ - rohc_params.max_header = 168; /* default */ - rohc_params.profile[0] = ROHC_UNCOMPRESSED; - rohc_params.profile[1] = ROHC_RTP; - rohc_params.profile[2] = ROHCV2_RTP; - rohc_params.profile[3] = ROHC_UDP; - rohc_params.profile[4] = ROHCv2_UDP; - rohc_params.profile[5] = ROHC_ESP; - rohc_params.profile[6] = ROHCV2_ESP; - rohc_params.profile[7] = ROHC_IP; - rohc_params.profile[8] = ROHCV2_IP; - rohc_params.profile[9] = ROHC_LLA; - rohc_params.profile[10] = ROHC_LLA_WITH_R_MODE; - rohc_params.profile[11] = ROHC_TCP; - rohc_params.profile[12] = ROHC_RTP_UDP_LITE; - rohc_params.profile[13] = ROHCV2_RTP_UDP_LITE; - rohc_params.profile[14] = ROHC_UDP_LITE; - rohc_params.profile[15] = ROHCV2_UDP_LITE; - rohc_params.profile_len = 16; - - /* Setup ROHC compression field */ - rohc_comp_field.p = 1; - rohc_comp_field.entity = 2; - rohc_comp_field.algo.pcomp = ROHC; - rohc_comp_field.comp[ROHC_PCOMP1] = 8; - rohc_comp_field.comp[ROHC_PCOMP2] = 9; - rohc_comp_field.comp_len = ROHC_PCOMP_NUM; - rohc_comp_field.rohc_params = &rohc_params; - - /* Setup which NSAPIs shall make use of v42bis */ - v42bis_params.nsapi[0] = 5; - v42bis_params.nsapi_len = 1; - - /* Setup v42bis operating parameters */ - v42bis_params.p0 = 3; - v42bis_params.p1 = 2048; - v42bis_params.p2 = 20; - - /* Setup v42bis compression field */ - v42bis_comp_field.p = 1; - v42bis_comp_field.entity = 3; - v42bis_comp_field.algo.dcomp = V42BIS; - v42bis_comp_field.comp[V42BIS_DCOMP1] = 10; - v42bis_comp_field.comp_len = V42BIS_DCOMP_NUM; - v42bis_comp_field.v42bis_params = &v42bis_params; - - /* Setup which NSAPIs shall make use of v44 */ - v44_params.nsapi[0] = 5; - v44_params.nsapi_len = 1; - - /* Setup v44 operating parameters */ - v44_params.c0 = 0x80; - v44_params.p0 = 3; - v44_params.p1t = 300; - v44_params.p1r = 300; - v44_params.p3t = 600; - v44_params.p3r = 600; - - /* Setup v44 compression field */ - v44_comp_field.p = 1; - v44_comp_field.entity = 3; - v44_comp_field.algo.dcomp = V44; - v44_comp_field.comp[V44_DCOMP1] = 10; - v44_comp_field.comp[V44_DCOMP2] = 11; - v44_comp_field.comp_len = V44_DCOMP_NUM; - v44_comp_field.v44_params = &v44_params; - - /* Add compression field(s) to list */ - llist_add(&v44_comp_field.list, &comp_fields); - llist_add(&v42bis_comp_field.list, &comp_fields); - llist_add(&rfc1144_comp_field.list, &comp_fields); - llist_add(&rfc2507_comp_field.list, &comp_fields); - llist_add(&rohc_comp_field.list, &comp_fields); - printf("Test input data:\n"); - gprs_sndcp_dump_comp_fields(&comp_fields, DSNDCP); - - /* Encode SNDCP-XID fields */ - rc = gprs_sndcp_compile_xid(xid, xid_len, &comp_fields, - DEFAULT_SNDCP_VERSION); - OSMO_ASSERT(rc > 0); - - printf("Encoded: %s (%i bytes)\n", osmo_hexdump_nospc(xid, rc), rc); - - /* Parse and show contained comp fields */ - comp_fields_dec = gprs_sndcp_parse_xid(NULL, ctx, xid, rc, NULL); - OSMO_ASSERT(comp_fields_dec); - - printf("Decoded:\n"); - gprs_sndcp_dump_comp_fields(comp_fields_dec, DSNDCP); - - /* Free comp fields */ - talloc_free(comp_fields_dec); -} - -static struct log_info_cat gprs_categories[] = { - [DSNDCP] = { - .name = "DSNDCP", - .description = - "GPRS Sub-Network Dependent Control Protocol (SNDCP)", - .enabled = 1,.loglevel = LOGL_DEBUG, - } -}; - -static struct log_info info = { - .cat = gprs_categories, - .num_cat = ARRAY_SIZE(gprs_categories), -}; - -int main(int argc, char **argv) -{ - void *xid_ctx; - void *log_ctx; - - xid_ctx = talloc_named_const(NULL, 0, "xid_ctx"); - log_ctx = talloc_named_const(xid_ctx, 0, "log"); - osmo_init_logging2(log_ctx, &info); - - test_xid_decode_realworld(xid_ctx); - test_xid_encode_decode(xid_ctx); - - printf("Done\n"); - - talloc_report_full(xid_ctx, stderr); - talloc_free(log_ctx); - OSMO_ASSERT(talloc_total_blocks(xid_ctx) == 1); - talloc_free(xid_ctx); - return 0; -} - -/* stubs */ -struct osmo_prim_hdr; -int bssgp_prim_cb(struct osmo_prim_hdr *oph, void *ctx) -{ - abort(); -} diff --git a/tests/sndcp_xid/sndcp_xid_test.ok b/tests/sndcp_xid/sndcp_xid_test.ok deleted file mode 100644 index f357282..0000000 --- a/tests/sndcp_xid/sndcp_xid_test.ok +++ /dev/null @@ -1,11 +0,0 @@ -Testing SNDCP XID-Decoder/Encoder (real world data) -Decoded: -Result length=54 -Encoded: 000100023182022789ffe0000f00a8000000010101000201020003010300040104000501050006000701070008010880000412004007 -Rencoded: 000100023182022789ffe0000f00a8000000010101000201020003010300040104000501050006000701070008010880000412004007 - -Testing SNDCP XID-Encoder/Decoder -Test input data: -Encoded: 000100011a83010dab00208003012c012c02580258830007a000200308001402408000041200200781010c3456700040010005a80f000f82022789ffe0000f00a80000000101010002010200030103000401040005010500060007010700080108 (97 bytes) -Decoded: -Done -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/23308 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I3704760e8936bdd005a3f73727de5f2b3e8774a0 Gerrit-Change-Number: 23308 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 Wed Mar 10 10:05:06 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 10 Mar 2021 10:05:06 +0000 Subject: Change in docker-playground[master]: Make respawn.sh a common part of *-build/-obs images In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23303 ) Change subject: Make respawn.sh a common part of *-build/-obs images ...................................................................... Patch Set 3: Verified-1 If we download the file from https://git.osmocom.org/, we can't bisect changes in the file, it will always use the latest copy from master. I suggest we change make/Makefile (which is used to build all containers) and add this in the "pre-build" target: rm -rf .common cp -r ../common . Then add .common to gitignore, and add the file from .common to the *-build/Dockerfile and *-obs-latest/Dockerfile instead of downloading it from git.osmocom.org. (Idea untested) -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23303 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I3ec86c8610b3b43d39ea8e3da444861d317ced4e Gerrit-Change-Number: 23303 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 10 Mar 2021 10:05:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 10 10:06:39 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 10 Mar 2021 10:06:39 +0000 Subject: Change in osmo-gbproxy[master]: manuals: Regenerate counters/VTY through docker In-Reply-To: References: Message-ID: Hello osmith, Jenkins Builder, fixeria, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/23294 to look at the new patch set (#4). Change subject: manuals: Regenerate counters/VTY through docker ...................................................................... manuals: Regenerate counters/VTY through docker Related: SYS#5115, SYS#5005 Change-Id: I39d60a7fd7ec66f3f20bfcef5c32502598f2708f --- M doc/manuals/regen_doc.sh D doc/manuals/vty/gbproxy_vty_reference.xml 2 files changed, 11 insertions(+), 1,606 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gbproxy refs/changes/94/23294/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/23294 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I39d60a7fd7ec66f3f20bfcef5c32502598f2708f Gerrit-Change-Number: 23294 Gerrit-PatchSet: 4 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria 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 Mar 10 10:07:59 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 10 Mar 2021 10:07:59 +0000 Subject: Change in docker-playground[master]: Make respawn.sh a common part of *-build/-obs images In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23303 ) Change subject: Make respawn.sh a common part of *-build/-obs images ...................................................................... Patch Set 3: * "cp -r ../common .common" Same goes for the release key (next patch), even if we don't intend to bisect that. It's better to use all files from the local dir than making HTTP requests for each of them. -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23303 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I3ec86c8610b3b43d39ea8e3da444861d317ced4e Gerrit-Change-Number: 23303 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 10 Mar 2021 10:07:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 10 10:10:55 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 10 Mar 2021 10:10:55 +0000 Subject: Change in osmo-gbproxy[master]: manual: Update manuals, include sgsn pooling and NS variants In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/23292 ) Change subject: manual: Update manuals, include sgsn pooling and NS variants ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/23292 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I440b0f9a6e18c21b11640ca32403f19d7e83b5c1 Gerrit-Change-Number: 23292 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 10 Mar 2021 10:10:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 10 10:15:36 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 10 Mar 2021 10:15:36 +0000 Subject: Change in osmo-gbproxy[master]: manuals: Regenerate counters/VTY through docker In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/23294 ) Change subject: manuals: Regenerate counters/VTY through docker ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/23294 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I39d60a7fd7ec66f3f20bfcef5c32502598f2708f Gerrit-Change-Number: 23294 Gerrit-PatchSet: 4 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 10 Mar 2021 10:15: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 Mar 10 10:17:22 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 10 Mar 2021 10:17:22 +0000 Subject: Change in osmo-gbproxy[master]: Update the max_sdu_len from NS In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/23295 ) Change subject: Update the max_sdu_len from NS ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/23295 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: Ie26550198db0cc34ca0a882c137c8685a5662f2a Gerrit-Change-Number: 23295 Gerrit-PatchSet: 4 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 10 Mar 2021 10:17: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 Mar 10 10:18:03 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 10 Mar 2021 10:18:03 +0000 Subject: Change in osmo-gbproxy[master]: Remove osmo-sgsn relics 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-gbproxy/+/23308 to look at the new patch set (#3). Change subject: Remove osmo-sgsn relics ...................................................................... Remove osmo-sgsn relics * include/osmocom/sgsn -> gbproxy * (unused) tests specific to osmo-sgsn Change-Id: I3704760e8936bdd005a3f73727de5f2b3e8774a0 --- M configure.ac M debian/copyright M include/osmocom/Makefile.am R include/osmocom/gbproxy/Makefile.am R include/osmocom/gbproxy/gb_proxy.h M src/gb_proxy.c M src/gb_proxy_ctrl.c M src/gb_proxy_main.c M src/gb_proxy_peer.c M src/gb_proxy_vty.c M tests/ctrl_test_runner.py D tests/sndcp_xid/Makefile.am D tests/sndcp_xid/sndcp_xid_test.c D tests/sndcp_xid/sndcp_xid_test.ok 14 files changed, 10 insertions(+), 347 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gbproxy refs/changes/08/23308/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/23308 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I3704760e8936bdd005a3f73727de5f2b3e8774a0 Gerrit-Change-Number: 23308 Gerrit-PatchSet: 3 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 10 10:23:14 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 10 Mar 2021 10:23:14 +0000 Subject: Change in osmo-gbproxy[master]: Handle GPRS_NS2_AFF_CAUSE_FAILURE In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/23296 ) Change subject: Handle GPRS_NS2_AFF_CAUSE_FAILURE ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/23296 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I6354a190ec1090a35c27671c72dab9126d0ad794 Gerrit-Change-Number: 23296 Gerrit-PatchSet: 4 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 10 Mar 2021 10: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 Wed Mar 10 10:23:42 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 10 Mar 2021 10:23:42 +0000 Subject: Change in osmo-gbproxy[master]: Remove some outdated TODO/comments In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/23306 ) Change subject: Remove some outdated TODO/comments ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/23306 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: Icd72ed92585f5701d293807022255b06e5641005 Gerrit-Change-Number: 23306 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 10 Mar 2021 10:23: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 Mar 10 10:23:52 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 10 Mar 2021 10:23:52 +0000 Subject: Change in osmo-gbproxy[master]: gb_proxy.h: Use pragma once instead of ifndef In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/23307 ) Change subject: gb_proxy.h: Use pragma once instead of ifndef ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/23307 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I7eb3b1cbd78c25112abf7d526a2aa42bd952c7c9 Gerrit-Change-Number: 23307 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 10 Mar 2021 10:23: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 Wed Mar 10 10:25:29 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 10 Mar 2021 10:25:29 +0000 Subject: Change in osmo-gbproxy[master]: Remove osmo-sgsn relics In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/23308 ) Change subject: Remove osmo-sgsn relics ...................................................................... Patch Set 3: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-gbproxy/+/23308/3/tests/ctrl_test_runner.py File tests/ctrl_test_runner.py: https://gerrit.osmocom.org/c/osmo-gbproxy/+/23308/3/tests/ctrl_test_runner.py at 176 PS3, Line 176: not (no) -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/23308 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I3704760e8936bdd005a3f73727de5f2b3e8774a0 Gerrit-Change-Number: 23308 Gerrit-PatchSet: 3 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 10 Mar 2021 10:25: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 Mar 10 10:27:18 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 10 Mar 2021 10:27:18 +0000 Subject: Change in osmo-sgsn[master]: manuals: Regenerate counters/VTY through docker In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/23305 ) Change subject: manuals: Regenerate counters/VTY through docker ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/23305 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I09b01d2e4bc7b1c17588100b16ac9f04cf72cf99 Gerrit-Change-Number: 23305 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 10 Mar 2021 10:27:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 10 10:28:24 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 10 Mar 2021 10:28:24 +0000 Subject: Change in osmo-gbproxy[master]: manuals: Regenerate counters/VTY through docker In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/23294 ) Change subject: manuals: Regenerate counters/VTY through docker ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/23294 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I39d60a7fd7ec66f3f20bfcef5c32502598f2708f Gerrit-Change-Number: 23294 Gerrit-PatchSet: 4 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 10 Mar 2021 10:28:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 10 10:29:04 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 10 Mar 2021 10:29:04 +0000 Subject: Change in osmo-gbproxy[master]: Remove some outdated TODO/comments In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/23306 ) Change subject: Remove some outdated TODO/comments ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/23306 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: Icd72ed92585f5701d293807022255b06e5641005 Gerrit-Change-Number: 23306 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 10 Mar 2021 10:29: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 Mar 10 10:29:21 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 10 Mar 2021 10:29:21 +0000 Subject: Change in osmo-gbproxy[master]: gb_proxy.h: Use pragma once instead of ifndef In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/23307 ) Change subject: gb_proxy.h: Use pragma once instead of ifndef ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/23307 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I7eb3b1cbd78c25112abf7d526a2aa42bd952c7c9 Gerrit-Change-Number: 23307 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 10 Mar 2021 10:29: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 Mar 10 10:30:05 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 10 Mar 2021 10:30:05 +0000 Subject: Change in osmo-gbproxy[master]: Remove osmo-sgsn relics In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/23308 ) Change subject: Remove osmo-sgsn relics ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/23308 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I3704760e8936bdd005a3f73727de5f2b3e8774a0 Gerrit-Change-Number: 23308 Gerrit-PatchSet: 3 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 10 Mar 2021 10:30: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 Wed Mar 10 10:44:55 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 10 Mar 2021 10:44:55 +0000 Subject: Change in docker-playground[master]: osmo-msc-latest: centos8: add libdbi-dbd-sqlite In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23286 ) Change subject: osmo-msc-latest: centos8: add libdbi-dbd-sqlite ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23286 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I27d4573de22a8e013623ec606e056d348102abd1 Gerrit-Change-Number: 23286 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 10 Mar 2021 10:44:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 10 10:54:33 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 10 Mar 2021 10:54:33 +0000 Subject: Change in docker-playground[master]: osmo-msc-latest: centos8: add libdbi-dbd-sqlite In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23286 ) Change subject: osmo-msc-latest: centos8: add libdbi-dbd-sqlite ...................................................................... osmo-msc-latest: centos8: add libdbi-dbd-sqlite The missing dependency is being added to osmo-msc master's contrib/osmo-msc.spec.in file. Until the next release is done, which contains the patch, install the library explicitly to fix: <0009> db.c:648 Failed to create database connection to sqlite3 db 'sms.db'; Is the sqlite3 database driver for libdbi installed on this system? Related: https://gerrit.osmocom.org/c/osmo-msc/+/23284 Change-Id: I27d4573de22a8e013623ec606e056d348102abd1 --- M osmo-msc-latest/Dockerfile 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, approved osmith: Verified diff --git a/osmo-msc-latest/Dockerfile b/osmo-msc-latest/Dockerfile index d2c1107..29e932a 100644 --- a/osmo-msc-latest/Dockerfile +++ b/osmo-msc-latest/Dockerfile @@ -4,6 +4,7 @@ # Arguments used after FROM must be specified again ARG DISTRO +# libdbi-dbd-sqlite can be removed after osmo-msc > 1.7.0 release RUN case "$DISTRO" in \ debian*) \ apt-get update && \ @@ -13,6 +14,7 @@ ;; \ centos*) \ dnf install -y \ + libdbi-dbd-sqlite \ osmo-msc \ ;; \ esac -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23286 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I27d4573de22a8e013623ec606e056d348102abd1 Gerrit-Change-Number: 23286 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 10 11:24:58 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 10 Mar 2021 11:24:58 +0000 Subject: Change in osmo-gbproxy[master]: manual: Update manuals, include sgsn pooling and NS variants In-Reply-To: References: Message-ID: daniel has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/23292 ) Change subject: manual: Update manuals, include sgsn pooling and NS variants ...................................................................... manual: Update manuals, include sgsn pooling and NS variants Related: SYS#5005, SYS#5115, OS#4523 Change-Id: I440b0f9a6e18c21b11640ca32403f19d7e83b5c1 --- M doc/manuals/osmogbproxy-usermanual-docinfo.xml M doc/manuals/osmogbproxy-usermanual.adoc M doc/manuals/osmogbproxy-vty-reference.xml 3 files changed, 31 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/doc/manuals/osmogbproxy-usermanual-docinfo.xml b/doc/manuals/osmogbproxy-usermanual-docinfo.xml index 29bb2aa..2f96a0e 100644 --- a/doc/manuals/osmogbproxy-usermanual-docinfo.xml +++ b/doc/manuals/osmogbproxy-usermanual-docinfo.xml @@ -7,6 +7,15 @@ Initial version. + + 2 + March 05, 2021 + DW + + Update configuration chapters after rewrite, + clarify new scope, pooling support + + @@ -21,10 +30,20 @@ Managing Director + + Daniel + Willmann + dwillmann at sysmocom.de + DW + + sysmocom + sysmocom - s.f.m.c. GmbH + + - 2013-2019 + 2013-2021 sysmocom - s.f.m.c. GmbH diff --git a/doc/manuals/osmogbproxy-usermanual.adoc b/doc/manuals/osmogbproxy-usermanual.adoc index bf2404d..06bc098 100644 --- a/doc/manuals/osmogbproxy-usermanual.adoc +++ b/doc/manuals/osmogbproxy-usermanual.adoc @@ -21,6 +21,10 @@ include::{srcdir}/chapters/gbproxy-configuration.adoc[] +include::{srcdir}/chapters/gbproxy-sgsnpool.adoc[] + +include::./common/chapters/gb-variants.adoc[] + include::./common/chapters/gb.adoc[] include::./common/chapters/control_if.adoc[] diff --git a/doc/manuals/osmogbproxy-vty-reference.xml b/doc/manuals/osmogbproxy-vty-reference.xml index 5c2a16a..ce05a41 100644 --- a/doc/manuals/osmogbproxy-vty-reference.xml +++ b/doc/manuals/osmogbproxy-vty-reference.xml @@ -18,12 +18,18 @@ hw Initial + + v2 + 26th January 2021 + dw + OsmoGbProxy rewrite, use NS2 from libosmogb + OsmoGbProxy VTY Reference - 2019 + 2021 -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/23292 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I440b0f9a6e18c21b11640ca32403f19d7e83b5c1 Gerrit-Change-Number: 23292 Gerrit-PatchSet: 2 Gerrit-Owner: daniel 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 Wed Mar 10 11:25:19 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 10 Mar 2021 11:25:19 +0000 Subject: Change in osmo-gbproxy[master]: manuals: Regenerate counters/VTY through docker In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/23294 ) Change subject: manuals: Regenerate counters/VTY through docker ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/23294 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I39d60a7fd7ec66f3f20bfcef5c32502598f2708f Gerrit-Change-Number: 23294 Gerrit-PatchSet: 4 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 10 Mar 2021 11:25: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 Mar 10 11:25:22 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 10 Mar 2021 11:25:22 +0000 Subject: Change in osmo-gbproxy[master]: manuals: Regenerate counters/VTY through docker In-Reply-To: References: Message-ID: daniel has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/23294 ) Change subject: manuals: Regenerate counters/VTY through docker ...................................................................... manuals: Regenerate counters/VTY through docker Related: SYS#5115, SYS#5005 Change-Id: I39d60a7fd7ec66f3f20bfcef5c32502598f2708f --- M doc/manuals/regen_doc.sh D doc/manuals/vty/gbproxy_vty_reference.xml 2 files changed, 11 insertions(+), 1,606 deletions(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve daniel: Looks good to me, approved diff --git a/doc/manuals/regen_doc.sh b/doc/manuals/regen_doc.sh index e68e7e5..7014b90 100755 --- a/doc/manuals/regen_doc.sh +++ b/doc/manuals/regen_doc.sh @@ -1,74 +1,17 @@ -#!/bin/sh -e +#!/bin/sh -x -require_osmo_interact_vty() { - if command -v osmo_interact_vty.py >/dev/null 2>&1; then - return - fi - echo "ERROR: osmo_interact_vty.py not found. Are osmo-python-tests in PATH?" +if [ -z "$DOCKER_PLAYGROUND" ]; then + echo "You need to set DOCKER_PLAYGROUND" exit 1 -} +fi -# $1: "update_vty_reference" or "update_counters" -# $2: output file -# $3: port -# $4-$n: command -interact_vty() { - action="$1" - output="$2" - port="$3" - log="/tmp/$4.log" - shift 3 +SCRIPT=$(realpath "$0") +MANUAL_DIR=$(dirname "$SCRIPT") - echo "Starting in background: $@" - "$@" > "$log" 2>&1 & - pid="$!" +COMMIT=${COMMIT:-$(git log -1 --format=format:%H)} - sleep 0.5 - if ! kill -0 "$pid" 2>/dev/null; then - echo "ERROR: start failed!" - cat "$log" - exit 1 - fi +cd "$DOCKER_PLAYGROUND/scripts" || exit 1 - case "$action" in - "update_vty_reference") - echo "Updating VTY reference: $output" - osmo_interact_vty.py -X -p "$port" -H 127.0.0.1 -O "$output" - ;; - "update_counters") - echo "Updating asciidoc counters: $output" - osmo_interact_vty.py -c "enable;show asciidoc counters" -p "$port" -H 127.0.0.1 -O "$output" - ;; - *) - echo "ERROR: invalid argument: $action" - exit 1 - ;; - esac - - kill "$pid" - echo "Done (killed $1)" - echo -} - -DIR="$(cd "$(dirname "$0")"; pwd)" -echo $DIR -cd "$DIR" - -require_osmo_interact_vty - -interact_vty \ - "update_vty_reference" \ - "vty/gbproxy_vty_reference.xml" \ - 4246 \ - osmo-gbproxy -c "../examples/osmo-gbproxy/osmo-gbproxy.cfg" - -sleep 5 - -interact_vty \ - "update_counters" \ - "chapters/counters_generated.adoc" \ - 4246 \ - osmo-gbproxy -c "../examples/osmo-gbproxy/osmo-gbproxy.cfg" - - -echo "Done with all" +OSMO_BSC_BRANCH=$COMMIT ./regen_doc.sh osmo-gbproxy 4246 \ + "$MANUAL_DIR/chapters/counters_generated.adoc" \ + "$MANUAL_DIR/vty/gbproxy_vty_reference.xml" diff --git a/doc/manuals/vty/gbproxy_vty_reference.xml b/doc/manuals/vty/gbproxy_vty_reference.xml deleted file mode 100644 index 19b04e1..0000000 --- a/doc/manuals/vty/gbproxy_vty_reference.xml +++ /dev/null @@ -1,1538 +0,0 @@ - - - Common Commands - These commands are available on all VTY nodes. They are listed here only once, to unclutter the VTY reference. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - view - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - enable - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - config - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - config-log - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - config-stats - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - config-line - - - - - - - - - - - - - - - - - - - - - config-gbproxy - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - config-sgsn - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/23294 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I39d60a7fd7ec66f3f20bfcef5c32502598f2708f Gerrit-Change-Number: 23294 Gerrit-PatchSet: 4 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 10 11:33:19 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 10 Mar 2021 11:33:19 +0000 Subject: Change in docker-playground[master]: Make respawn.sh a common part of *-build/-obs images In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23303 ) Change subject: Make respawn.sh a common part of *-build/-obs images ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/docker-playground/+/23303/3/centos8-build/Dockerfile File centos8-build/Dockerfile: https://gerrit.osmocom.org/c/docker-playground/+/23303/3/centos8-build/Dockerfile at 57 PS3, Line 57: ADD https://git.osmocom.org/docker-playground/plain/common/respawn.sh /usr/local/bin/respawn.sh If using local file as suggested in the other comment, let's put it before the "# Invalidate cache" block above, so that one stays the last one. -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23303 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I3ec86c8610b3b43d39ea8e3da444861d317ced4e Gerrit-Change-Number: 23303 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 10 Mar 2021 11:33: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 Wed Mar 10 12:09:52 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 10 Mar 2021 12:09:52 +0000 Subject: Change in libosmocore[master]: gsm0808_utils: add gsm0808_cell_id_lists_same() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23297 ) Change subject: gsm0808_utils: add gsm0808_cell_id_lists_same() ...................................................................... Patch Set 1: > Patch Set 1: > > I think I'm just now changing my mind about some implementation detail, which would mean that I won't need this API. It may still be useful, but no need to submit at this time, I guess. if we won't use it, I would prefer not merge dead code. I'd suggest to abandon the change. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23297 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I16bc903f9c5820ad00d588e59a4a6923d1f3f542 Gerrit-Change-Number: 23297 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 10 Mar 2021 12:09: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 Mar 10 12:10:38 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 10 Mar 2021 12:10:38 +0000 Subject: Change in osmo-gbproxy[master]: Remove some outdated TODO/comments In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/23306 ) Change subject: Remove some outdated TODO/comments ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/23306 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: Icd72ed92585f5701d293807022255b06e5641005 Gerrit-Change-Number: 23306 Gerrit-PatchSet: 3 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 10 Mar 2021 12:10: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 Mar 10 12:10:42 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 10 Mar 2021 12:10:42 +0000 Subject: Change in osmo-gbproxy[master]: Remove some outdated TODO/comments In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/23306 ) Change subject: Remove some outdated TODO/comments ...................................................................... Remove some outdated TODO/comments Change-Id: Icd72ed92585f5701d293807022255b06e5641005 --- M include/osmocom/sgsn/gb_proxy.h M src/gb_proxy.c 2 files changed, 1 insertion(+), 7 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved osmith: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/include/osmocom/sgsn/gb_proxy.h b/include/osmocom/sgsn/gb_proxy.h index c9d2fca..2a800e5 100644 --- a/include/osmocom/sgsn/gb_proxy.h +++ b/include/osmocom/sgsn/gb_proxy.h @@ -165,7 +165,7 @@ /* NSEI of the NSE */ uint16_t nsei; - /* Maximum side of the NS-UNITDATA NS SDU that can be transported by the NSE */ + /* Maximum size of the NS-UNITDATA NS SDU that can be transported by the NSE */ uint16_t max_sdu_len; /* Are we facing towards a SGSN (true) or BSS (false) */ diff --git a/src/gb_proxy.c b/src/gb_proxy.c index 78e1e1d..4890981 100644 --- a/src/gb_proxy.c +++ b/src/gb_proxy.c @@ -1128,8 +1128,6 @@ int errctr = GBPROX_GLOB_CTR_PROTO_ERR_SGSN; int i, j; - /* FIXME: Handle paging logic to only page each matching NSE */ - if (TLVP_PRES_LEN(tp, BSSGP_IE_BVCI, 2)) { uint16_t bvci = ntohs(tlvp_val16_unal(tp, BSSGP_IE_BVCI)); errctr = GBPROX_GLOB_CTR_OTHER_ERR; @@ -1514,8 +1512,6 @@ /* TODO: What about handling: * GPRS_NS2_AFF_CAUSE_VC_FAILURE, GPRS_NS2_AFF_CAUSE_VC_RECOVERY, - GPRS_NS2_AFF_CAUSE_FAILURE, - GPRS_NS2_AFF_CAUSE_RECOVERY, osmocom own causes GPRS_NS2_AFF_CAUSE_SNS_CONFIGURED, GPRS_NS2_AFF_CAUSE_SNS_FAILURE, @@ -1524,8 +1520,6 @@ void gprs_ns_prim_status_cb(struct gbproxy_config *cfg, struct osmo_gprs_ns2_prim *nsp) { /* TODO: bss nsei available/unavailable bssgp_tx_simple_bvci(BSSGP_PDUT_BVC_BLOCK, nsvc->nsei, bvc->bvci, 0); - * TODO: sgsn nsei available/unavailable - * TODO: Update MTU */ struct gbproxy_bvc *bvc; -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/23306 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: Icd72ed92585f5701d293807022255b06e5641005 Gerrit-Change-Number: 23306 Gerrit-PatchSet: 3 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 10 12:10:57 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 10 Mar 2021 12:10:57 +0000 Subject: Change in osmo-gbproxy[master]: gb_proxy.h: Use pragma once instead of ifndef In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/23307 ) Change subject: gb_proxy.h: Use pragma once instead of ifndef ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/23307 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I7eb3b1cbd78c25112abf7d526a2aa42bd952c7c9 Gerrit-Change-Number: 23307 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 10 Mar 2021 12:10: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 Mar 10 12:11:49 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 10 Mar 2021 12:11:49 +0000 Subject: Change in osmo-gbproxy[master]: Remove osmo-sgsn relics In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/23308 ) Change subject: Remove osmo-sgsn relics ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/23308 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I3704760e8936bdd005a3f73727de5f2b3e8774a0 Gerrit-Change-Number: 23308 Gerrit-PatchSet: 3 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 10 Mar 2021 12:11: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 Mar 10 12:11:56 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 10 Mar 2021 12:11:56 +0000 Subject: Change in osmo-gbproxy[master]: gb_proxy.h: Use pragma once instead of ifndef In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/23307 ) Change subject: gb_proxy.h: Use pragma once instead of ifndef ...................................................................... Patch Set 3: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/23307 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I7eb3b1cbd78c25112abf7d526a2aa42bd952c7c9 Gerrit-Change-Number: 23307 Gerrit-PatchSet: 3 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 10 Mar 2021 12:11:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 10 12:11:59 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 10 Mar 2021 12:11:59 +0000 Subject: Change in osmo-gbproxy[master]: gb_proxy.h: Use pragma once instead of ifndef In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/23307 ) Change subject: gb_proxy.h: Use pragma once instead of ifndef ...................................................................... gb_proxy.h: Use pragma once instead of ifndef Change-Id: I7eb3b1cbd78c25112abf7d526a2aa42bd952c7c9 --- M include/osmocom/sgsn/gb_proxy.h 1 file changed, 1 insertion(+), 5 deletions(-) Approvals: laforge: Looks good to me, approved; Verified osmith: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/include/osmocom/sgsn/gb_proxy.h b/include/osmocom/sgsn/gb_proxy.h index 2a800e5..d6bf340 100644 --- a/include/osmocom/sgsn/gb_proxy.h +++ b/include/osmocom/sgsn/gb_proxy.h @@ -1,6 +1,4 @@ -#ifndef _GB_PROXY_H -#define _GB_PROXY_H - +#pragma once #include #include @@ -308,5 +306,3 @@ struct gbproxy_sgsn *gbproxy_sgsn_by_nri(struct gbproxy_config *cfg, uint16_t nri, bool *null_nri); struct gbproxy_sgsn *gbproxy_sgsn_by_tlli(struct gbproxy_config *cfg, struct gbproxy_sgsn *sgsn_avoid, uint32_t tlli); - -#endif -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/23307 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I7eb3b1cbd78c25112abf7d526a2aa42bd952c7c9 Gerrit-Change-Number: 23307 Gerrit-PatchSet: 3 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 10 12:13:36 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 10 Mar 2021 12:13:36 +0000 Subject: Change in osmo-sgsn[master]: manuals: Regenerate counters/VTY through docker In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/23305 ) Change subject: manuals: Regenerate counters/VTY through docker ...................................................................... Patch Set 1: I'm missing some kind of rationale. Is this what other osmo-* projects do? Why is docker needed here? ... -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/23305 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I09b01d2e4bc7b1c17588100b16ac9f04cf72cf99 Gerrit-Change-Number: 23305 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 10 Mar 2021 12:13: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 Wed Mar 10 12:14:13 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 10 Mar 2021 12:14:13 +0000 Subject: Change in osmo-gbproxy[master]: Update the max_sdu_len from NS In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/23295 ) Change subject: Update the max_sdu_len from NS ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/23295 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: Ie26550198db0cc34ca0a882c137c8685a5662f2a Gerrit-Change-Number: 23295 Gerrit-PatchSet: 4 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 10 Mar 2021 12:14: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 Mar 10 12:14:53 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 10 Mar 2021 12:14:53 +0000 Subject: Change in osmo-gbproxy[master]: Handle GPRS_NS2_AFF_CAUSE_FAILURE In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/23296 ) Change subject: Handle GPRS_NS2_AFF_CAUSE_FAILURE ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/23296 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I6354a190ec1090a35c27671c72dab9126d0ad794 Gerrit-Change-Number: 23296 Gerrit-PatchSet: 4 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 10 Mar 2021 12:14:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 10 12:14:56 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 10 Mar 2021 12:14:56 +0000 Subject: Change in osmo-gbproxy[master]: Update the max_sdu_len from NS In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/23295 ) Change subject: Update the max_sdu_len from NS ...................................................................... Update the max_sdu_len from NS Related: OS#4889 Change-Id: Ie26550198db0cc34ca0a882c137c8685a5662f2a --- M src/gb_proxy.c 1 file changed, 6 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/gb_proxy.c b/src/gb_proxy.c index 4890981..c98dbdd 100644 --- a/src/gb_proxy.c +++ b/src/gb_proxy.c @@ -1534,10 +1534,15 @@ LOGP(DGPRS, LOGL_NOTICE, "NS-NSE %d became available\n", nsp->nsei); sgsn_nse = gbproxy_nse_by_nsei(cfg, nsp->nsei, NSE_F_SGSN); if (sgsn_nse) { + // Update the NSE max SDU len + sgsn_nse->max_sdu_len = nsp->u.status.mtu; + uint8_t cause = BSSGP_CAUSE_OML_INTERV; bvc = gbproxy_bvc_by_bvci(sgsn_nse, 0); - if (bvc) + if (bvc) { + bssgp_bvc_fsm_set_max_pdu_len(bvc->fi, sgsn_nse->max_sdu_len); osmo_fsm_inst_dispatch(bvc->fi, BSSGP_BVCFSM_E_REQ_RESET, &cause); + } } break; case GPRS_NS2_AFF_CAUSE_FAILURE: -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/23295 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: Ie26550198db0cc34ca0a882c137c8685a5662f2a Gerrit-Change-Number: 23295 Gerrit-PatchSet: 5 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 10 12:14:56 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 10 Mar 2021 12:14:56 +0000 Subject: Change in osmo-gbproxy[master]: Handle GPRS_NS2_AFF_CAUSE_FAILURE In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/23296 ) Change subject: Handle GPRS_NS2_AFF_CAUSE_FAILURE ...................................................................... Handle GPRS_NS2_AFF_CAUSE_FAILURE When a complete NSE becomes unavailable gbproxy should notify the other side (bss/sgsn). The current code blocks every PtP-BVC (belonging to that BSS) on all SGSNs if a BSS goes down. The BSS-side should not be blocked unless no more SGSN connections are present. We could also remove all BSS nse and wait for those to reconnect. This is not yet implemented. Related: OS#4897 Change-Id: I6354a190ec1090a35c27671c72dab9126d0ad794 --- M src/gb_proxy.c 1 file changed, 34 insertions(+), 24 deletions(-) Approvals: laforge: Looks good to me, approved osmith: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/gb_proxy.c b/src/gb_proxy.c index c98dbdd..f448c0b 100644 --- a/src/gb_proxy.c +++ b/src/gb_proxy.c @@ -1523,7 +1523,7 @@ */ struct gbproxy_bvc *bvc; - struct gbproxy_nse *sgsn_nse; + struct gbproxy_nse *nse; switch (nsp->u.status.cause) { case GPRS_NS2_AFF_CAUSE_SNS_FAILURE: @@ -1532,44 +1532,54 @@ case GPRS_NS2_AFF_CAUSE_RECOVERY: LOGP(DGPRS, LOGL_NOTICE, "NS-NSE %d became available\n", nsp->nsei); - sgsn_nse = gbproxy_nse_by_nsei(cfg, nsp->nsei, NSE_F_SGSN); - if (sgsn_nse) { + nse = gbproxy_nse_by_nsei(cfg, nsp->nsei, NSE_F_SGSN); + if (nse) { // Update the NSE max SDU len - sgsn_nse->max_sdu_len = nsp->u.status.mtu; + nse->max_sdu_len = nsp->u.status.mtu; uint8_t cause = BSSGP_CAUSE_OML_INTERV; - bvc = gbproxy_bvc_by_bvci(sgsn_nse, 0); + bvc = gbproxy_bvc_by_bvci(nse, 0); if (bvc) { - bssgp_bvc_fsm_set_max_pdu_len(bvc->fi, sgsn_nse->max_sdu_len); + bssgp_bvc_fsm_set_max_pdu_len(bvc->fi, nse->max_sdu_len); osmo_fsm_inst_dispatch(bvc->fi, BSSGP_BVCFSM_E_REQ_RESET, &cause); } } break; case GPRS_NS2_AFF_CAUSE_FAILURE: -#if 0 - if (gbproxy_is_sgsn_nsei(cfg, nsp->nsei)) { - /* sgsn */ - /* TODO: BSVC: block all PtP towards bss */ + nse = gbproxy_nse_by_nsei(cfg, nsp->nsei, NSE_F_BSS | NSE_F_SGSN); + if (!nse) { + LOGP(DGPRS, LOGL_ERROR, "Unknown NSE(%05d) became unavailable\n", nsp->nsei); + break; + } + if (nse->sgsn_facing) { + /* SGSN */ + /* TODO: When to block all PtP towards bss? Only if all SGSN are down? */ rate_ctr_inc(&cfg->ctrg-> ctr[GBPROX_GLOB_CTR_RESTART_RESET_SGSN]); } else { - /* bss became unavailable - * TODO: Block all BVC belonging to that NSE */ - bvc = gbproxy_bvc_by_nsei(cfg, nsp->nsei); - if (!bvc) { - /* TODO: use primitive name + status cause name */ - LOGP(DGPRS, LOGL_NOTICE, "Received ns2 primitive %d for unknown bvc NSEI=%u\n", - nsp->u.status.cause, nsp->nsei); - break; + int i; + /* BSS became unavailable + * Block matching PtP-BVCs on SGSN-side */ + hash_for_each(nse->bvcs, i, bvc, list) { + if (bvc->bvci == 0) + continue; + /* Get BVC for each SGSN and send block request */ + struct gbproxy_cell *cell = bvc->cell; + for (int j = 0; j < GBPROXY_MAX_NR_SGSN; j++) { + struct gbproxy_bvc *sgsn_bvc = cell->sgsn_bvc[j]; + if (!sgsn_bvc) + continue; + + /* Block BVC, indicate BSS equipment failure */ + uint8_t cause = BSSGP_CAUSE_EQUIP_FAIL; + osmo_fsm_inst_dispatch(sgsn_bvc->fi, BSSGP_BVCFSM_E_REQ_BLOCK, &cause); + } } - if (!bvc->blocked) - break; - hash_for_each(cfg->sgsn_nses, _sgsn, sgsn_nse, list) { - bssgp_tx_simple_bvci(BSSGP_PDUT_BVC_BLOCK, sgsn_nse->nsei, bvc->bvci, 0); - } + } -#endif + /* This frees the BVCs for us as well */ + gbproxy_nse_free(nse); LOGP(DGPRS, LOGL_NOTICE, "NS-NSE %d became unavailable\n", nsp->nsei); break; default: -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/23296 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I6354a190ec1090a35c27671c72dab9126d0ad794 Gerrit-Change-Number: 23296 Gerrit-PatchSet: 5 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder 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 Wed Mar 10 12:15:52 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 10 Mar 2021 12:15:52 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test: use 'gsmtap-remote-host' parameter In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23300 ) Change subject: ttcn3-bts-test: use 'gsmtap-remote-host' parameter ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/docker-playground/+/23300/1/ttcn3-bts-test/osmo-bts.cfg File ttcn3-bts-test/osmo-bts.cfg: https://gerrit.osmocom.org/c/docker-playground/+/23300/1/ttcn3-bts-test/osmo-bts.cfg at a53 PS1, Line 53: paging lifetime 0 are we also updating the configs in osmo-ttcn3-hacks.git? -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23300 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ib01069a55a27e79c67b76abe39763c1b645075e5 Gerrit-Change-Number: 23300 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 10 Mar 2021 12:15: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 Mar 10 12:16:23 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 10 Mar 2021 12:16:23 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test: OML tests ivolve no GSMTAP Um logging In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23302 ) Change subject: ttcn3-bts-test: OML tests ivolve no GSMTAP Um logging ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23302 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I50891130eaf7957efbf71839564a5dd9d58a1e3f Gerrit-Change-Number: 23302 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 10 Mar 2021 12:16:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 10 12:16:53 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 10 Mar 2021 12:16:53 +0000 Subject: Change in docker-playground[master]: Share a single instance of Release.key between all images In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23304 ) Change subject: Share a single instance of Release.key between all images ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23304 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ic51d6e6557ee0b56d21d8ff4feaf04bc02e41a2e Gerrit-Change-Number: 23304 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 10 Mar 2021 12:16:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 10 12:18:33 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 10 Mar 2021 12:18:33 +0000 Subject: Change in osmo-msc[master]: contrib/osmo-msc.spec.in: depend on dbd-sqlite3 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/23284 ) Change subject: contrib/osmo-msc.spec.in: depend on dbd-sqlite3 ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/23284 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ia972944c300aecbb6ec460b2362aabff459baefd Gerrit-Change-Number: 23284 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Assignee: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: roox Gerrit-Comment-Date: Wed, 10 Mar 2021 12: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 Wed Mar 10 12:19:29 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 10 Mar 2021 12:19:29 +0000 Subject: Change in osmo-pcu[master]: direct_phy: Support submitting DATA.ind with len=0 to upper layers In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23268 ) Change subject: direct_phy: Support submitting DATA.ind with len=0 to upper layers ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23268 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I9a835e16ef0e5a68c003a93d1a33233aa43464ae Gerrit-Change-Number: 23268 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 10 Mar 2021 12:19: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 Mar 10 12:20:36 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 10 Mar 2021 12:20:36 +0000 Subject: Change in osmo-pcu[master]: Improve DATA.ind logging In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23289 ) Change subject: Improve DATA.ind logging ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23289 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: If51f7bdbd626a44c7b8e182a3460dad49fda6ec3 Gerrit-Change-Number: 23289 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 10 Mar 2021 12:20: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 Mar 10 12:20:54 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 10 Mar 2021 12:20:54 +0000 Subject: Change in osmo-pcu[master]: Improve logging in DATA.req and ACT.req In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23290 ) Change subject: Improve logging in DATA.req and ACT.req ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23290 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id57d50d8bf528adfef3713c594102d31ab49c149 Gerrit-Change-Number: 23290 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Wed, 10 Mar 2021 12:20:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 10 12:21:07 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 10 Mar 2021 12:21:07 +0000 Subject: Change in osmo-pcu[master]: tbf: Fix wrong variable printed in log In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23298 ) Change subject: tbf: Fix wrong variable printed in log ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23298 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iad99e48fcb7488daed40a5095c5dcdc02def00c5 Gerrit-Change-Number: 23298 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 10 Mar 2021 12:21: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 Mar 10 12:21:23 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 10 Mar 2021 12:21:23 +0000 Subject: Change in osmo-pcu[master]: pdch: Log FN when decoding UL Ctrl block In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23299 ) Change subject: pdch: Log FN when decoding UL Ctrl block ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23299 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5a44ebf49f7489211a77607052db6d9731f38704 Gerrit-Change-Number: 23299 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 10 Mar 2021 12:21:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 10 12:22:51 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 10 Mar 2021 12:22:51 +0000 Subject: Change in libosmocore[master]: gprs_ns2: Encapsulate setting NSE dialect In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23246 ) Change subject: gprs_ns2: Encapsulate setting NSE dialect ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23246 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I24fdc26fbcfda039bd58ea166f4d5c2fd1801da1 Gerrit-Change-Number: 23246 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 10 Mar 2021 12: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 Wed Mar 10 12:22:54 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 10 Mar 2021 12:22:54 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Split allstate action in generic and BSS-specific part In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23247 ) Change subject: gprs_ns2_sns: Split allstate action in generic and BSS-specific part ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23247 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Icd40bd76df12795b4efcaf5865c6cf00da145f94 Gerrit-Change-Number: 23247 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Wed, 10 Mar 2021 12:22:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 10 12:23:06 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 10 Mar 2021 12:23:06 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Unify handling of SNS-CONFIG for IPv4 + IPv6 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23245 ) Change subject: gprs_ns2_sns: Unify handling of SNS-CONFIG for IPv4 + IPv6 ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23245 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I49e5ca4a09bc772ef5a0cd5c2a76c8b200e56d1b Gerrit-Change-Number: 23245 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 10 Mar 2021 12:23: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 Mar 10 12:23:09 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 10 Mar 2021 12:23:09 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Unify handling of SNS-CONFIG for IPv4 + IPv6 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23245 ) Change subject: gprs_ns2_sns: Unify handling of SNS-CONFIG for IPv4 + IPv6 ...................................................................... gprs_ns2_sns: Unify handling of SNS-CONFIG for IPv4 + IPv6 Related: OS#3373 Change-Id: I49e5ca4a09bc772ef5a0cd5c2a76c8b200e56d1b --- M src/gb/gprs_ns2_sns.c 1 file changed, 74 insertions(+), 110 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/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index 1d4d069..7e2453a 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -3,7 +3,7 @@ * 3GPP TS 08.16 version 8.0.1 Release 1999 / ETSI TS 101 299 V8.0.1 (2002-05) * as well as its successor 3GPP TS 48.016 */ -/* (C) 2018 by Harald Welte +/* (C) 2018-2021 by Harald Welte * (C) 2020 by sysmocom - s.f.m.c. GmbH * Author: Alexander Couzens * @@ -205,6 +205,14 @@ #define ip6_weight_sum_data(x,y) ip6_weight_sum(x, y, true) #define ip6_weight_sum_sig(x,y) ip6_weight_sum(x, y, false) +static int nss_weight_sum(const struct ns2_sns_state *nss, bool data_weight) +{ + return ip4_weight_sum(nss->ip4_remote, nss->num_ip4_remote, data_weight) + + ip6_weight_sum(nss->ip6_remote, nss->num_ip6_remote, data_weight); +} +#define nss_weight_sum_data(nss) nss_weight_sum(nss, true) +#define nss_weight_sum_sig(nss) nss_weight_sum(nss, false) + static struct gprs_ns2_vc *nsvc_by_ip4_elem(struct gprs_ns2_nse *nse, const struct gprs_ns_ie_ip4_elem *ip4) { @@ -926,106 +934,54 @@ return secs; } -static void ns_sns_st_config_sgsn_ip4(struct osmo_fsm_inst *fi, uint32_t event, void *data) +/* append the remote endpoints from the parsed TLV array to the ns2_sns_state */ +static int ns_sns_append_remote_eps(struct osmo_fsm_inst *fi, const struct tlv_parsed *tp) { struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; - struct gprs_ns2_nse *nse = nse_inst_from_fi(fi); - const struct gprs_ns_ie_ip4_elem *v4_list; - unsigned int num_v4; - struct tlv_parsed *tp = NULL; - uint8_t cause; + if (TLVP_PRESENT(tp, NS_IE_IPv4_LIST)) { + const struct gprs_ns_ie_ip4_elem *v4_list; + unsigned int num_v4; + v4_list = (const struct gprs_ns_ie_ip4_elem *) TLVP_VAL(tp, NS_IE_IPv4_LIST); + num_v4 = TLVP_LEN(tp, NS_IE_IPv4_LIST) / sizeof(*v4_list); - tp = (struct tlv_parsed *) data; + if (num_v4 && gss->ip6_remote) + return -NS_CAUSE_INVAL_NR_IPv4_EP; - if (!TLVP_PRESENT(tp, NS_IE_IPv4_LIST)) { - cause = NS_CAUSE_INVAL_NR_IPv4_EP; - ns2_tx_sns_config_ack(gss->sns_nsvc, &cause); - osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_UNCONFIGURED, 0, 0); - return; + /* realloc to the new size */ + gss->ip4_remote = talloc_realloc(gss, gss->ip4_remote, + struct gprs_ns_ie_ip4_elem, + gss->num_ip4_remote + num_v4); + /* append the new entries to the end of the list */ + memcpy(&gss->ip4_remote[gss->num_ip4_remote], v4_list, num_v4*sizeof(*v4_list)); + gss->num_ip4_remote += num_v4; + + LOGPFSML(fi, LOGL_INFO, "Rx SNS-CONFIG: Remote IPv4 list now %u entries\n", + gss->num_ip4_remote); } - v4_list = (const struct gprs_ns_ie_ip4_elem *) TLVP_VAL(tp, NS_IE_IPv4_LIST); - num_v4 = TLVP_LEN(tp, NS_IE_IPv4_LIST) / sizeof(*v4_list); - /* realloc to the new size */ - gss->ip4_remote = talloc_realloc(gss, gss->ip4_remote, - struct gprs_ns_ie_ip4_elem, - gss->num_ip4_remote+num_v4); - /* append the new entries to the end of the list */ - memcpy(&gss->ip4_remote[gss->num_ip4_remote], v4_list, num_v4*sizeof(*v4_list)); - gss->num_ip4_remote += num_v4; - LOGPFSML(fi, LOGL_INFO, "Rx SNS-CONFIG: Remote IPv4 list now %u entries\n", - gss->num_ip4_remote); - if (event == GPRS_SNS_EV_RX_CONFIG_END) { - /* check if sum of data / sig weights == 0 */ - if (ip4_weight_sum_data(gss->ip4_remote, gss->num_ip4_remote) == 0 || - ip4_weight_sum_sig(gss->ip4_remote, gss->num_ip4_remote) == 0) { - cause = NS_CAUSE_INVAL_WEIGH; - ns2_tx_sns_config_ack(gss->sns_nsvc, &cause); - osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_UNCONFIGURED, 0, 0); - return; - } - create_missing_nsvcs(fi); - ns2_tx_sns_config_ack(gss->sns_nsvc, NULL); - /* start the test procedure on ALL NSVCs! */ - gprs_ns2_start_alive_all_nsvcs(nse); - osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_CONFIGURED, ns_sns_configured_timeout(fi), 4); - } else { - /* just send CONFIG-ACK */ - ns2_tx_sns_config_ack(gss->sns_nsvc, NULL); - osmo_timer_schedule(&fi->timer, nse->nsi->timeout[NS_TOUT_TSNS_PROV], 0); + if (TLVP_PRESENT(tp, NS_IE_IPv6_LIST)) { + const struct gprs_ns_ie_ip6_elem *v6_list; + unsigned int num_v6; + v6_list = (const struct gprs_ns_ie_ip6_elem *) TLVP_VAL(tp, NS_IE_IPv6_LIST); + num_v6 = TLVP_LEN(tp, NS_IE_IPv6_LIST) / sizeof(*v6_list); + + if (num_v6 && gss->ip4_remote) + return -NS_CAUSE_INVAL_NR_IPv6_EP; + + /* realloc to the new size */ + gss->ip6_remote = talloc_realloc(gss, gss->ip6_remote, + struct gprs_ns_ie_ip6_elem, + gss->num_ip6_remote + num_v6); + /* append the new entries to the end of the list */ + memcpy(&gss->ip6_remote[gss->num_ip6_remote], v6_list, num_v6*sizeof(*v6_list)); + gss->num_ip6_remote += num_v6; + + LOGPFSML(fi, LOGL_INFO, "Rx SNS-CONFIG: Remote IPv6 list now %u entries\n", + gss->num_ip6_remote); } -} -static void ns_sns_st_config_sgsn_ip6(struct osmo_fsm_inst *fi, uint32_t event, void *data) -{ - struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; - struct gprs_ns2_nse *nse = nse_inst_from_fi(fi); - const struct gprs_ns_ie_ip6_elem *v6_list; - unsigned int num_v6; - struct tlv_parsed *tp = NULL; - - uint8_t cause; - - tp = (struct tlv_parsed *) data; - - if (!TLVP_PRESENT(tp, NS_IE_IPv6_LIST)) { - cause = NS_CAUSE_INVAL_NR_IPv6_EP; - ns2_tx_sns_config_ack(gss->sns_nsvc, &cause); - osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_UNCONFIGURED, 0, 0); - return; - } - v6_list = (const struct gprs_ns_ie_ip6_elem *) TLVP_VAL(tp, NS_IE_IPv6_LIST); - num_v6 = TLVP_LEN(tp, NS_IE_IPv6_LIST) / sizeof(*v6_list); - /* realloc to the new size */ - gss->ip6_remote = talloc_realloc(gss, gss->ip6_remote, - struct gprs_ns_ie_ip6_elem, - gss->num_ip6_remote+num_v6); - /* append the new entries to the end of the list */ - memcpy(&gss->ip6_remote[gss->num_ip6_remote], v6_list, num_v6*sizeof(*v6_list)); - gss->num_ip6_remote += num_v6; - - LOGPFSML(fi, LOGL_INFO, "Rx SNS-CONFIG: Remote IPv6 list now %u entries\n", - gss->num_ip6_remote); - if (event == GPRS_SNS_EV_RX_CONFIG_END) { - /* check if sum of data / sig weights == 0 */ - if (ip6_weight_sum_data(gss->ip6_remote, gss->num_ip6_remote) == 0 || - ip6_weight_sum_sig(gss->ip6_remote, gss->num_ip6_remote) == 0) { - cause = NS_CAUSE_INVAL_WEIGH; - ns2_tx_sns_config_ack(gss->sns_nsvc, &cause); - osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_UNCONFIGURED, 0, 0); - return; - } - create_missing_nsvcs(fi); - ns2_tx_sns_config_ack(gss->sns_nsvc, NULL); - /* start the test procedure on ALL NSVCs! */ - gprs_ns2_start_alive_all_nsvcs(nse); - osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_CONFIGURED, 0, 0); - } else { - /* just send CONFIG-ACK */ - ns2_tx_sns_config_ack(gss->sns_nsvc, NULL); - osmo_timer_schedule(&fi->timer, nse->nsi->timeout[NS_TOUT_TSNS_PROV], 0); - } + return 0; } static void ns2_sns_st_config_sgsn_onenter(struct osmo_fsm_inst *fi, uint32_t old_state) @@ -1039,29 +995,37 @@ static void ns2_sns_st_config_sgsn(struct osmo_fsm_inst *fi, uint32_t event, void *data) { struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; + struct gprs_ns2_nse *nse = nse_inst_from_fi(fi); + uint8_t cause; + int rc; switch (event) { case GPRS_SNS_EV_RX_CONFIG_END: case GPRS_SNS_EV_RX_CONFIG: - -#if 0 /* part of incoming SNS-SIZE (doesn't happen on BSS side */ - if (TLVP_PRESENT(tp, NS_IE_RESET_FLAG)) { - /* reset all existing config */ - if (gss->ip4_remote) - talloc_free(gss->ip4_remote); - gss->num_ip4_remote = 0; + rc = ns_sns_append_remote_eps(fi, data); + if (rc < 0) { + cause = -rc; + ns2_tx_sns_config_ack(gss->sns_nsvc, &cause); + osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_UNCONFIGURED, 0, 0); + return; } -#endif - /* TODO: reject IPv6 elements on IPv4 mode and vice versa */ - switch (gss->ip) { - case IPv4: - ns_sns_st_config_sgsn_ip4(fi, event, data); - break; - case IPv6: - ns_sns_st_config_sgsn_ip6(fi, event, data); - break; - default: - OSMO_ASSERT(0); + if (event == GPRS_SNS_EV_RX_CONFIG_END) { + /* check if sum of data / sig weights == 0 */ + if (nss_weight_sum_data(gss) == 0 || nss_weight_sum_sig(gss) == 0) { + cause = NS_CAUSE_INVAL_WEIGH; + ns2_tx_sns_config_ack(gss->sns_nsvc, &cause); + osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_UNCONFIGURED, 0, 0); + return; + } + create_missing_nsvcs(fi); + ns2_tx_sns_config_ack(gss->sns_nsvc, NULL); + /* start the test procedure on ALL NSVCs! */ + gprs_ns2_start_alive_all_nsvcs(nse); + osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_CONFIGURED, 0, 0); + } else { + /* just send CONFIG-ACK */ + ns2_tx_sns_config_ack(gss->sns_nsvc, NULL); + osmo_timer_schedule(&fi->timer, nse->nsi->timeout[NS_TOUT_TSNS_PROV], 0); } break; default: -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23245 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I49e5ca4a09bc772ef5a0cd5c2a76c8b200e56d1b Gerrit-Change-Number: 23245 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 10 12:23:10 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 10 Mar 2021 12:23:10 +0000 Subject: Change in libosmocore[master]: gprs_ns2: Encapsulate setting NSE dialect In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23246 ) Change subject: gprs_ns2: Encapsulate setting NSE dialect ...................................................................... gprs_ns2: Encapsulate setting NSE dialect Setting the NSE dialect possibly involves the creating (or destruction) of a IP-SNS FSM. Encapsulate that, rather than having every caller re-implement that. Change-Id: I24fdc26fbcfda039bd58ea166f4d5c2fd1801da1 --- M src/gb/gprs_ns2.c M src/gb/gprs_ns2_internal.h M src/gb/gprs_ns2_vty.c 3 files changed, 53 insertions(+), 37 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/gb/gprs_ns2.c b/src/gb/gprs_ns2.c index e19ae78..93b7c3a 100644 --- a/src/gb/gprs_ns2.c +++ b/src/gb/gprs_ns2.c @@ -781,7 +781,6 @@ enum gprs_ns2_ll linklayer, enum gprs_ns2_dialect dialect) { struct gprs_ns2_nse *nse; - char sns[16]; nse = gprs_ns2_nse_by_nsei(nsi, nsei); if (nse) { @@ -792,17 +791,13 @@ nse = talloc_zero(nsi, struct gprs_ns2_nse); if (!nse) return NULL; + nse->dialect = GPRS_NS2_DIALECT_UNDEF; - if (dialect == GPRS_NS2_DIALECT_SNS) { - snprintf(sns, sizeof(sns), "NSE%05u-SNS", nsei); - nse->bss_sns_fi = ns2_sns_bss_fsm_alloc(nse, sns); - if (!nse->bss_sns_fi) { - talloc_free(nse); - return NULL; - } + if (ns2_nse_set_dialect(nse, dialect) < 0) { + talloc_free(nse); + return NULL; } - nse->dialect = dialect; nse->ll = linklayer; nse->nsei = nsei; nse->nsi = nsi; @@ -814,6 +809,38 @@ return nse; } +int ns2_nse_set_dialect(struct gprs_ns2_nse *nse, enum gprs_ns2_dialect dialect) +{ + char sns[16]; + + if (nse->dialect == dialect) + return 0; + + switch (nse->dialect) { + case GPRS_NS2_DIALECT_UNDEF: + if (dialect == GPRS_NS2_DIALECT_SNS) { + snprintf(sns, sizeof(sns), "NSE%05u-SNS", nse->nsei); + nse->bss_sns_fi = ns2_sns_bss_fsm_alloc(nse, sns); + if (!nse->bss_sns_fi) + return -1; + } + nse->dialect = dialect; + break; + default: + if (dialect == GPRS_NS2_DIALECT_UNDEF) { + if (nse->bss_sns_fi) + osmo_fsm_inst_term(nse->bss_sns_fi, OSMO_FSM_TERM_REQUEST, NULL); + nse->bss_sns_fi = NULL; + nse->dialect = GPRS_NS2_DIALECT_UNDEF; + } else { + /* we don't support arbitrary changes without going through UNDEF first */ + return -EPERM; + } + } + + return 0; +} + /*! Return the NSEI * \param[in] nse NS Entity * \return the nsei. diff --git a/src/gb/gprs_ns2_internal.h b/src/gb/gprs_ns2_internal.h index 80e664c..688a587 100644 --- a/src/gb/gprs_ns2_internal.h +++ b/src/gb/gprs_ns2_internal.h @@ -306,6 +306,7 @@ enum gprs_ns2_affecting_cause cause); void ns2_nse_notify_alive(struct gprs_ns2_vc *nsvc, bool alive); void ns2_nse_update_mtu(struct gprs_ns2_nse *nse); +int ns2_nse_set_dialect(struct gprs_ns2_nse *nse, enum gprs_ns2_dialect dialect); /* message */ int ns2_validate(struct gprs_ns2_vc *nsvc, diff --git a/src/gb/gprs_ns2_vty.c b/src/gb/gprs_ns2_vty.c index 76e4434..a769ad1 100644 --- a/src/gb/gprs_ns2_vty.c +++ b/src/gb/gprs_ns2_vty.c @@ -900,7 +900,7 @@ } if (nse->dialect == GPRS_NS2_DIALECT_UNDEF) { - nse->dialect = GPRS_NS2_DIALECT_STATIC_RESETBLOCK; + ns2_nse_set_dialect(nse, GPRS_NS2_DIALECT_STATIC_RESETBLOCK); dialect_modified = true; } @@ -935,7 +935,7 @@ if (ll_modified) nse->ll = GPRS_NS2_LL_UNDEF; if (dialect_modified) - nse->dialect = GPRS_NS2_DIALECT_UNDEF; + ns2_nse_set_dialect(nse, GPRS_NS2_DIALECT_UNDEF); return CMD_WARNING; } @@ -986,7 +986,7 @@ gprs_ns2_free_nsvc(nsvc); if (llist_empty(&nse->nsvc)) { nse->ll = GPRS_NS2_LL_UNDEF; - nse->dialect = GPRS_NS2_DIALECT_UNDEF; + ns2_nse_set_dialect(nse, GPRS_NS2_DIALECT_UNDEF); } return CMD_SUCCESS; @@ -1032,7 +1032,7 @@ gprs_ns2_free_nsvc(nsvc); if (llist_empty(&nse->nsvc)) { nse->ll = GPRS_NS2_LL_UNDEF; - nse->dialect = GPRS_NS2_DIALECT_UNDEF; + ns2_nse_set_dialect(nse, GPRS_NS2_DIALECT_UNDEF); } return CMD_SUCCESS; @@ -1056,7 +1056,7 @@ } if (nse->dialect == GPRS_NS2_DIALECT_UNDEF) { - nse->dialect = GPRS_NS2_DIALECT_STATIC_ALIVE; + ns2_nse_set_dialect(nse, GPRS_NS2_DIALECT_STATIC_ALIVE); dialect_modified = true; } @@ -1117,7 +1117,7 @@ if (ll_modified) nse->ll = GPRS_NS2_LL_UNDEF; if (dialect_modified) - nse->dialect = GPRS_NS2_DIALECT_UNDEF; + ns2_nse_set_dialect(nse, GPRS_NS2_DIALECT_UNDEF); return CMD_WARNING; } @@ -1232,7 +1232,7 @@ gprs_ns2_free_nsvc(nsvc); if (llist_empty(&nse->nsvc)) { nse->ll = GPRS_NS2_LL_UNDEF; - nse->dialect = GPRS_NS2_DIALECT_UNDEF; + ns2_nse_set_dialect(nse, GPRS_NS2_DIALECT_UNDEF); } return CMD_SUCCESS; @@ -1267,7 +1267,7 @@ } if (nse->dialect == GPRS_NS2_DIALECT_UNDEF) { - nse->dialect = GPRS_NS2_DIALECT_IPACCESS; + ns2_nse_set_dialect(nse, GPRS_NS2_DIALECT_IPACCESS); dialect_modified = true; } @@ -1317,7 +1317,7 @@ if (ll_modified) nse->ll = GPRS_NS2_LL_UNDEF; if (dialect_modified) - nse->dialect = GPRS_NS2_DIALECT_UNDEF; + ns2_nse_set_dialect(nse, GPRS_NS2_DIALECT_UNDEF); return CMD_WARNING; } @@ -1407,7 +1407,7 @@ gprs_ns2_free_nsvc(nsvc); if (llist_empty(&nse->nsvc)) { nse->ll = GPRS_NS2_LL_UNDEF; - nse->dialect = GPRS_NS2_DIALECT_UNDEF; + ns2_nse_set_dialect(nse, GPRS_NS2_DIALECT_UNDEF); } return CMD_SUCCESS; @@ -1436,12 +1436,8 @@ } if (nse->dialect == GPRS_NS2_DIALECT_UNDEF) { - char sns[16]; - snprintf(sns, sizeof(sns), "NSE%05u-SNS", nse->nsei); - nse->bss_sns_fi = ns2_sns_bss_fsm_alloc(nse, sns); - if (!nse->bss_sns_fi) + if (ns2_nse_set_dialect(nse, GPRS_NS2_DIALECT_SNS) < 0) goto err; - nse->dialect = GPRS_NS2_DIALECT_SNS; dialect_modified = true; } @@ -1481,7 +1477,7 @@ if (ll_modified) nse->ll = GPRS_NS2_LL_UNDEF; if (dialect_modified) - nse->dialect = GPRS_NS2_DIALECT_UNDEF; + ns2_nse_set_dialect(nse, GPRS_NS2_DIALECT_UNDEF); return CMD_WARNING; } @@ -1528,10 +1524,8 @@ return CMD_SUCCESS; } else { /* clean up nse to allow other nsvc commands */ - osmo_fsm_inst_term(nse->bss_sns_fi, OSMO_FSM_TERM_REQUEST, NULL); - nse->bss_sns_fi = NULL; + ns2_nse_set_dialect(nse, GPRS_NS2_DIALECT_UNDEF); nse->ll = GPRS_NS2_LL_UNDEF; - nse->dialect = GPRS_NS2_DIALECT_UNDEF; } return CMD_SUCCESS; @@ -1557,12 +1551,8 @@ } if (nse->dialect == GPRS_NS2_DIALECT_UNDEF) { - char sns[16]; - snprintf(sns, sizeof(sns), "NSE%05u-SNS", nse->nsei); - nse->bss_sns_fi = ns2_sns_bss_fsm_alloc(nse, sns); - if (!nse->bss_sns_fi) + if (ns2_nse_set_dialect(nse, GPRS_NS2_DIALECT_SNS) < 0) goto err; - nse->dialect = GPRS_NS2_DIALECT_SNS; dialect_modified = true; } @@ -1632,7 +1622,7 @@ if (ll_modified) nse->ll = GPRS_NS2_LL_UNDEF; if (dialect_modified) - nse->dialect = GPRS_NS2_DIALECT_UNDEF; + ns2_nse_set_dialect(nse, GPRS_NS2_DIALECT_UNDEF); return CMD_WARNING; } @@ -1698,10 +1688,8 @@ if (!vty_nse_check_sns(nse)) { /* clean up nse to allow other nsvc commands */ - osmo_fsm_inst_term(nse->bss_sns_fi, OSMO_FSM_TERM_REQUEST, NULL); - nse->bss_sns_fi = NULL; + ns2_nse_set_dialect(nse, GPRS_NS2_DIALECT_UNDEF); nse->ll = GPRS_NS2_LL_UNDEF; - nse->dialect = GPRS_NS2_DIALECT_UNDEF; } return CMD_SUCCESS; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23246 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I24fdc26fbcfda039bd58ea166f4d5c2fd1801da1 Gerrit-Change-Number: 23246 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 10 12:23:10 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 10 Mar 2021 12:23:10 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Split allstate action in generic and BSS-specific part In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23247 ) Change subject: gprs_ns2_sns: Split allstate action in generic and BSS-specific part ...................................................................... gprs_ns2_sns: Split allstate action in generic and BSS-specific part Related: OS#3373 Change-Id: Icd40bd76df12795b4efcaf5865c6cf00da145f94 --- M src/gb/gprs_ns2_sns.c 1 file changed, 50 insertions(+), 37 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index 7e2453a..1df8fc0 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -1387,49 +1387,14 @@ return 0; } +/* common allstate-action for both roles */ static void ns2_sns_st_all_action(struct osmo_fsm_inst *fi, uint32_t event, void *data) { - struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; struct gprs_ns2_nse *nse = nse_inst_from_fi(fi); struct ns2_sns_bind *sbind; struct gprs_ns2_vc *nsvc, *nsvc2; - /* reset when receiving GPRS_SNS_EV_REQ_NO_NSVC */ switch (event) { - case GPRS_SNS_EV_REQ_NO_NSVC: - /* ignore reselection running */ - if (gss->reselection_running) - break; - - LOGPFSML(fi, LOGL_ERROR, "NSE %d: no remaining NSVC, resetting SNS FSM\n", nse->nsei); - osmo_fsm_inst_dispatch(fi, GPRS_SNS_EV_REQ_SELECT_ENDPOINT, NULL); - break; - case GPRS_SNS_EV_REQ_SELECT_ENDPOINT: - /* tear down previous state - * gprs_ns2_free_nsvcs() will trigger NO_NSVC, prevent this from triggering a reselection */ - gss->reselection_running = true; - gprs_ns2_free_nsvcs(nse); - ns2_clear_ipv46_entries(gss); - - /* Choose the next sns endpoint. */ - if (llist_empty(&gss->sns_endpoints) || llist_empty(&gss->binds)) { - gss->initial = NULL; - ns2_prim_status_ind(gss->nse, NULL, 0, GPRS_NS2_AFF_CAUSE_SNS_NO_ENDPOINTS); - osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_UNCONFIGURED, 0, 3); - return; - } else if (!gss->initial) { - gss->initial = llist_first_entry(&gss->sns_endpoints, struct sns_endpoint, list); - } else if (gss->initial->list.next == &gss->sns_endpoints) { - /* last entry, continue with first */ - gss->initial = llist_first_entry(&gss->sns_endpoints, struct sns_endpoint, list); - } else { - /* next element is an entry */ - gss->initial = llist_entry(gss->initial->list.next, struct sns_endpoint, list); - } - - gss->reselection_running = false; - osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_SIZE, nse->nsi->timeout[NS_TOUT_TSNS_PROV], 1); - break; case GPRS_SNS_EV_REQ_ADD_BIND: sbind = data; switch (fi->state) { @@ -1477,6 +1442,54 @@ } } +/* allstate-action for BSS role */ +static void ns2_sns_st_all_action_bss(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; + struct gprs_ns2_nse *nse = nse_inst_from_fi(fi); + + /* reset when receiving GPRS_SNS_EV_REQ_NO_NSVC */ + switch (event) { + case GPRS_SNS_EV_REQ_NO_NSVC: + /* ignore reselection running */ + if (gss->reselection_running) + break; + + LOGPFSML(fi, LOGL_ERROR, "NSE %d: no remaining NSVC, resetting SNS FSM\n", nse->nsei); + osmo_fsm_inst_dispatch(fi, GPRS_SNS_EV_REQ_SELECT_ENDPOINT, NULL); + break; + case GPRS_SNS_EV_REQ_SELECT_ENDPOINT: + /* tear down previous state + * gprs_ns2_free_nsvcs() will trigger NO_NSVC, prevent this from triggering a reselection */ + gss->reselection_running = true; + gprs_ns2_free_nsvcs(nse); + ns2_clear_ipv46_entries(gss); + + /* Choose the next sns endpoint. */ + if (llist_empty(&gss->sns_endpoints) || llist_empty(&gss->binds)) { + gss->initial = NULL; + ns2_prim_status_ind(gss->nse, NULL, 0, GPRS_NS2_AFF_CAUSE_SNS_NO_ENDPOINTS); + osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_UNCONFIGURED, 0, 3); + return; + } else if (!gss->initial) { + gss->initial = llist_first_entry(&gss->sns_endpoints, struct sns_endpoint, list); + } else if (gss->initial->list.next == &gss->sns_endpoints) { + /* last entry, continue with first */ + gss->initial = llist_first_entry(&gss->sns_endpoints, struct sns_endpoint, list); + } else { + /* next element is an entry */ + gss->initial = llist_entry(gss->initial->list.next, struct sns_endpoint, list); + } + + gss->reselection_running = false; + osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_SIZE, nse->nsi->timeout[NS_TOUT_TSNS_PROV], 1); + break; + default: + ns2_sns_st_all_action(fi, event, data); + break; + } +} + static struct osmo_fsm gprs_ns2_sns_bss_fsm = { .name = "GPRS-NS2-SNS-BSS", .states = ns2_sns_bss_states, @@ -1485,7 +1498,7 @@ S(GPRS_SNS_EV_REQ_SELECT_ENDPOINT) | S(GPRS_SNS_EV_REQ_ADD_BIND) | S(GPRS_SNS_EV_REQ_DELETE_BIND), - .allstate_action = ns2_sns_st_all_action, + .allstate_action = ns2_sns_st_all_action_bss, .cleanup = NULL, .timer_cb = ns2_sns_fsm_bss_timer_cb, .event_names = gprs_sns_event_names, -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23247 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Icd40bd76df12795b4efcaf5865c6cf00da145f94 Gerrit-Change-Number: 23247 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 10 12:24:01 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 10 Mar 2021 12:24:01 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test: OML tests ivolve no GSMTAP Um logging In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23302 ) Change subject: ttcn3-bts-test: OML tests ivolve no GSMTAP Um logging ...................................................................... Patch Set 1: > Patch Set 1: > > I'd leave those, I think it may still be useful to see Um side when looking at test pcap to see how BTS behaves? The test suite never reaches the state when osmo-bts is supposed to transmit anything... -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23302 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I50891130eaf7957efbf71839564a5dd9d58a1e3f Gerrit-Change-Number: 23302 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 10 Mar 2021 12:24: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 Wed Mar 10 12:26:23 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 10 Mar 2021 12:26:23 +0000 Subject: Change in docker-playground[master]: debian-stretch-build-dist: use -obs-latest References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/23310 ) Change subject: debian-stretch-build-dist: use -obs-latest ...................................................................... debian-stretch-build-dist: use -obs-latest Change debian-stretch-build-dist to be based on debian-stretch-obs-latest instead of debian-stretch-build. The latter installs the nightly OBS repository now (as that is what we need for the TTCN-3 builds using debian-stretch-build), but debian-stretch-build-dist needs to install packages from OBS latest. Fixes jenkins failures: The following packages have unmet dependencies: libasn1c-dev : Depends: osmocom-latest but it is not going to be installed ... Related: OS#5049 Change-Id: I2cf6ed732e55b8f0e63bd8fc040749bd16676d0f --- M debian-stretch-build-dist/Dockerfile 1 file changed, 37 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/10/23310/1 diff --git a/debian-stretch-build-dist/Dockerfile b/debian-stretch-build-dist/Dockerfile index 5e12a81..359c687 100644 --- a/debian-stretch-build-dist/Dockerfile +++ b/debian-stretch-build-dist/Dockerfile @@ -1,40 +1,59 @@ ARG USER -FROM $USER/debian-stretch-build +FROM $USER/debian-stretch-obs-latest # Arguments used after FROM must be specified again -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/latest/Debian_9.0/" - -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-latest.list - -ADD $OSMOCOM_REPO/Release /tmp/Release RUN apt-get update && \ apt-get install -y --no-install-recommends \ + autoconf \ + autoconf-archive \ + autogen \ + automake \ + bison \ + build-essential \ ca-certificates \ - libboost-all-dev \ - liboping-dev \ - libuhd-dev \ - \ + dahdi-source \ + git \ libasn1c-dev \ + libboost-all-dev \ + libc-ares-dev \ + libdbd-sqlite3 \ + libdbi-dev \ + libfftw3-dev \ + libgnutls28-dev \ + libgps-dev \ + libgsm1-dev \ libgtp-dev \ libgtpnl-dev \ liblimesuite-dev \ + libncurses5-dev \ + liboping-dev \ liborcania-dev \ + libortp-dev \ libosmo-abis-dev \ - libosmocore-dev \ - libosmodsp-dev \ libosmo-gsup-client-dev \ libosmo-mgcp-client-dev \ libosmo-netif-dev \ libosmo-ranap-dev \ libosmo-sccp-dev \ libosmo-sigtran-dev \ + libosmocore-dev \ + libosmodsp-dev \ + libpcap-dev \ + libpcsclite-dev \ + libreadline-dev \ + libsctp-dev \ libsmpp34-dev \ + libsofia-sip-ua-glib-dev \ + libsqlite3-dev \ + libssl-dev \ + libtalloc-dev \ + libtool \ + libuhd-dev \ libulfius-dev \ + libusb-1.0-0-dev \ + libusb-dev \ libusrp-dev \ - libyder-dev && \ + libyder-dev \ + make \ + && \ apt-get clean -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23310 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I2cf6ed732e55b8f0e63bd8fc040749bd16676d0f Gerrit-Change-Number: 23310 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 Mar 10 12:27:20 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 10 Mar 2021 12:27:20 +0000 Subject: Change in docker-playground[master]: debian-stretch-build-dist: use -obs-latest In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23310 ) Change subject: debian-stretch-build-dist: use -obs-latest ...................................................................... Patch Set 1: Verified+1 Ran the job locally to generate all archives (to make sure all depends are there). -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23310 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I2cf6ed732e55b8f0e63bd8fc040749bd16676d0f Gerrit-Change-Number: 23310 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 10 Mar 2021 12:27: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 Mar 10 12:29:44 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 10 Mar 2021 12:29:44 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3-testsuites: kernel: keep workspace References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/23311 ) Change subject: jobs/ttcn3-testsuites: kernel: keep workspace ...................................................................... jobs/ttcn3-testsuites: kernel: keep workspace Don't wipe the workspace of kernel tests. Cloning the kernel sources takes a great amount of time and traffic, so we want to keep them around. Change-Id: Ifbf6ea127011d8c9fc5c08b584d99ea0220c3e1a --- M jobs/ttcn3-testsuites.yml 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/11/23311/1 diff --git a/jobs/ttcn3-testsuites.yml b/jobs/ttcn3-testsuites.yml index 393c552..4b00539 100644 --- a/jobs/ttcn3-testsuites.yml +++ b/jobs/ttcn3-testsuites.yml @@ -44,6 +44,7 @@ blocking: "^(ttcn3|TTCN3-.*)-ggsn-test.*" timer: 25 04 * * * # Cache the linux source tree in the workspace of one node + wipe_workspace: false node: ttcn3-ggsn-test-kernel-git description: | Test osmo-ggsn latest with the Linux kernel built from master of @@ -53,6 +54,7 @@ blocking: "^(ttcn3|TTCN3-.*)-ggsn-test.*" timer: 30 04 * * * # Cache the linux source tree in the workspace of one node + wipe_workspace: false node: ttcn3-ggsn-test-kernel-git description: | Test osmo-ggsn latest with the Linux kernel built from master of -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23311 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ifbf6ea127011d8c9fc5c08b584d99ea0220c3e1a Gerrit-Change-Number: 23311 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 Mar 10 12:29:46 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 10 Mar 2021 12:29:46 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3: add myself to e-mail recipients References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/23312 ) Change subject: jobs/ttcn3: add myself to e-mail recipients ...................................................................... jobs/ttcn3: add myself to e-mail recipients Change-Id: I415816035fe959f91984c3496a8d1aecfc5c3885 --- M jobs/ttcn3-testsuites-kernel-git.yml M jobs/ttcn3-testsuites.yml 2 files changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/12/23312/1 diff --git a/jobs/ttcn3-testsuites-kernel-git.yml b/jobs/ttcn3-testsuites-kernel-git.yml index 0d1e6cf..1bc07d5 100644 --- a/jobs/ttcn3-testsuites-kernel-git.yml +++ b/jobs/ttcn3-testsuites-kernel-git.yml @@ -106,7 +106,7 @@ allow-empty-results: false - email: notify-every-unstable-build: true - recipients: laforge at gnumonks.org + recipients: laforge at gnumonks.org osmith at sysmocom.de send-to-individuals: false - archive: allow-empty: false diff --git a/jobs/ttcn3-testsuites.yml b/jobs/ttcn3-testsuites.yml index 4b00539..888511d 100644 --- a/jobs/ttcn3-testsuites.yml +++ b/jobs/ttcn3-testsuites.yml @@ -370,7 +370,7 @@ allow-empty-results: false - email: notify-every-unstable-build: true - recipients: laforge at gnumonks.org + recipients: laforge at gnumonks.org osmith at sysmocom.de send-to-individuals: false - archive: allow-empty: false -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23312 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I415816035fe959f91984c3496a8d1aecfc5c3885 Gerrit-Change-Number: 23312 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 Mar 10 12:29:46 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 10 Mar 2021 12:29:46 +0000 Subject: Change in osmo-ci[master]: jobs/osmocom-release-tarballs: adjust containers References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/23313 ) Change subject: jobs/osmocom-release-tarballs: adjust containers ...................................................................... jobs/osmocom-release-tarballs: adjust containers Build debian-stretch-obs-latest instead of debian-stretch-build, before building debian-stretch-build-dist. Depends: docker-playground I2cf6ed732e55b8f0e63bd8fc040749bd16676d0f Change-Id: I4189ab1bf483f0a31ffdb35af0d42fe2e9a72a90 --- M jobs/osmocom-release-tarballs.yml 1 file changed, 3 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/13/23313/1 diff --git a/jobs/osmocom-release-tarballs.yml b/jobs/osmocom-release-tarballs.yml index fd078be..4ff1c1c 100644 --- a/jobs/osmocom-release-tarballs.yml +++ b/jobs/osmocom-release-tarballs.yml @@ -27,7 +27,9 @@ - shell: | export OSMO_BRANCH_DOCKER_PLAYGROUND="$BRANCH_DOCKER_PLAYGROUND" . scripts/common.sh - docker_images_require "debian-stretch-build" "debian-stretch-build-dist" + docker_images_require \ + "debian-stretch-obs-latest" \ + "debian-stretch-build-dist" docker run \ --rm=true \ -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23313 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I4189ab1bf483f0a31ffdb35af0d42fe2e9a72a90 Gerrit-Change-Number: 23313 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 Mar 10 12:30:06 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 10 Mar 2021 12:30:06 +0000 Subject: Change in osmo-sgsn[master]: Remove bogus DNS log category In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/23248 ) Change subject: Remove bogus DNS log category ...................................................................... Remove bogus DNS log category When we switched to the libosmogb NS2 implementation, we should have removed the DNS category, as NS2 uses DLNS internally and hence DNS is unused. Change-Id: Ia4723ab344ad6a1927029a2d5d0dda020266b39d Closes: OS#5058 --- M include/osmocom/sgsn/debug.h M src/sgsn/sgsn_main.c M tests/sgsn/sgsn_test.c 3 files changed, 0 insertions(+), 11 deletions(-) Approvals: fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/sgsn/debug.h b/include/osmocom/sgsn/debug.h index 37e4a09..80c5d9f 100644 --- a/include/osmocom/sgsn/debug.h +++ b/include/osmocom/sgsn/debug.h @@ -13,7 +13,6 @@ DMEAS, DREF, DGPRS, - DNS, DLLC, DSNDCP, DSLHC, diff --git a/src/sgsn/sgsn_main.c b/src/sgsn/sgsn_main.c index 2cabbf3..97309dd 100644 --- a/src/sgsn/sgsn_main.c +++ b/src/sgsn/sgsn_main.c @@ -310,11 +310,6 @@ .description = "GPRS Packet Service", .enabled = 1, .loglevel = LOGL_NOTICE, }, - [DNS] = { - .name = "DNS", - .description = "GPRS Network Service (NS)", - .enabled = 1, .loglevel = LOGL_NOTICE, - }, [DLLC] = { .name = "DLLC", .description = "GPRS Logical Link Control Protocol (LLC)", diff --git a/tests/sgsn/sgsn_test.c b/tests/sgsn/sgsn_test.c index 0574620..63a7f3e 100644 --- a/tests/sgsn/sgsn_test.c +++ b/tests/sgsn/sgsn_test.c @@ -1620,11 +1620,6 @@ .description = "GPRS Packet Service", .enabled = 1, .loglevel = LOGL_DEBUG, }, - [DNS] = { - .name = "DNS", - .description = "GPRS Network Service (NS)", - .enabled = 1, .loglevel = LOGL_INFO, - }, [DLLC] = { .name = "DLLC", .description = "GPRS Logical Link Control Protocol (LLC)", -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/23248 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ia4723ab344ad6a1927029a2d5d0dda020266b39d Gerrit-Change-Number: 23248 Gerrit-PatchSet: 2 Gerrit-Owner: laforge 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 Mar 10 12:30:17 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 10 Mar 2021 12:30:17 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Fix PCU_Tests_SNS.TC_sns_so_bvc_reset_unknown_bvci In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23250 ) Change subject: pcu: Fix PCU_Tests_SNS.TC_sns_so_bvc_reset_unknown_bvci ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23250 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I57ebfc50befc47d0690021d73b52c504f0df4f9a Gerrit-Change-Number: 23250 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 10 Mar 2021 12:30:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 10 12:30:19 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 10 Mar 2021 12:30:19 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Fix PCU_Tests_SNS.TC_sns_so_bvc_reset_unknown_bvci In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23250 ) Change subject: pcu: Fix PCU_Tests_SNS.TC_sns_so_bvc_reset_unknown_bvci ...................................................................... pcu: Fix PCU_Tests_SNS.TC_sns_so_bvc_reset_unknown_bvci All BSS-originated BVC-Reset for PTP BVC must contain a Cell Identifier. This test is not respecting that rule libosmogb correctly detects this and discards the RESET, which is not what is intended here: 20210305120722368 DLBSSGP ERROR BSSGP BVCI=1235 Rx RESET missing mandatory IE (gprs_bssgp.c:392) Change-Id: I57ebfc50befc47d0690021d73b52c504f0df4f9a Related: OS#3879 Fixes: Iea5519b453dd544c5a78b3b16ddb5132d20cf67c --- M pcu/PCU_Tests_SNS.ttcn 1 file changed, 4 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/pcu/PCU_Tests_SNS.ttcn b/pcu/PCU_Tests_SNS.ttcn index 34aec72..b63b51e 100644 --- a/pcu/PCU_Tests_SNS.ttcn +++ b/pcu/PCU_Tests_SNS.ttcn @@ -278,8 +278,10 @@ f_ns_exp(pdu); /* Send a BVC-RESET on the wrong BVC */ - var PDU_BSSGP bssgp_tx := valueof(ts_BVC_RESET(BSSGP_CAUSE_NET_SV_CAP_MOD_GT_ZERO_KBPS, mp_gb_cfg.bvc[0].bvci + 1, - omit)); + var BssgpCellId cell_id := mp_gb_cfg.bvc[0].cell_id; + cell_id.cell_id := cell_id.cell_id + 1; + var PDU_BSSGP bssgp_tx := valueof(ts_BVC_RESET(BSSGP_CAUSE_NET_SV_CAP_MOD_GT_ZERO_KBPS, + mp_gb_cfg.bvc[0].bvci + 1, cell_id)); NSCP[0].send(ts_NS_UNITDATA(t_SduCtrlB, 0, enc_PDU_BSSGP(bssgp_tx))); NSCP[0].receive(tr_NS_UNITDATA(t_SduCtrlB, 0, decmatch tr_BSSGP_STATUS(mp_gb_cfg.bvc[0].bvci + 1, BSSGP_CAUSE_BVCI_UNKNOWN, *))); setverdict(pass); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23250 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I57ebfc50befc47d0690021d73b52c504f0df4f9a Gerrit-Change-Number: 23250 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 Mar 10 12:30:58 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 10 Mar 2021 12:30:58 +0000 Subject: Change in osmo-pcu[master]: Introduce init() APIs for PDCH and TRX objects In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23269 ) Change subject: Introduce init() APIs for PDCH and TRX objects ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23269 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Idf1dbdf8bc0b1e16d86eeeffb1193fdf3a57d6ef Gerrit-Change-Number: 23269 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 10 Mar 2021 12:30: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 Mar 10 12:31:11 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 10 Mar 2021 12:31:11 +0000 Subject: Change in docker-playground[master]: ttcn3-pcu: Disable sending all DATA.ind on pcu -latest In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23277 ) Change subject: ttcn3-pcu: Disable sending all DATA.ind on pcu -latest ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23277 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I4365d54c64e750a708e04e36ea131ec7499560f1 Gerrit-Change-Number: 23277 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 10 Mar 2021 12:31: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 Mar 10 12:31:41 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 10 Mar 2021 12:31:41 +0000 Subject: Change in osmo-bts[master]: l1sap: Transmit pdtch invalid MAC blocks to PCU In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/23249 ) Change subject: l1sap: Transmit pdtch invalid MAC blocks to PCU ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/23249 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0b04b013b7bad5ff53d6a969ff0128b37f7f62d5 Gerrit-Change-Number: 23249 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 10 Mar 2021 12:31:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 10 12:35:58 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 10 Mar 2021 12:35:58 +0000 Subject: Change in docker-playground[master]: debian-stretch-build-dist: use -obs-latest In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23310 ) Change subject: debian-stretch-build-dist: use -obs-latest ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23310 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I2cf6ed732e55b8f0e63bd8fc040749bd16676d0f Gerrit-Change-Number: 23310 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 10 Mar 2021 12:35:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 10 12:36:35 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 10 Mar 2021 12:36:35 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3-testsuites: kernel: keep workspace In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23311 ) Change subject: jobs/ttcn3-testsuites: kernel: keep workspace ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23311 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ifbf6ea127011d8c9fc5c08b584d99ea0220c3e1a Gerrit-Change-Number: 23311 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 10 Mar 2021 12:36: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 Mar 10 12:36:52 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 10 Mar 2021 12:36:52 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3: add myself to e-mail recipients In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23312 ) Change subject: jobs/ttcn3: add myself to e-mail recipients ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23312 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I415816035fe959f91984c3496a8d1aecfc5c3885 Gerrit-Change-Number: 23312 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 10 Mar 2021 12:36: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 Wed Mar 10 12:37:54 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 10 Mar 2021 12:37:54 +0000 Subject: Change in osmo-ci[master]: jobs/osmocom-release-tarballs: adjust containers In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23313 ) Change subject: jobs/osmocom-release-tarballs: adjust containers ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23313 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I4189ab1bf483f0a31ffdb35af0d42fe2e9a72a90 Gerrit-Change-Number: 23313 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 10 Mar 2021 12:37: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 Mar 10 12:44:22 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 10 Mar 2021 12:44:22 +0000 Subject: Change in docker-playground[master]: Make respawn.sh a common part of *-build/-obs images In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23303 ) Change subject: Make respawn.sh a common part of *-build/-obs images ...................................................................... Patch Set 3: > Patch Set 3: Verified-1 > > If we download the file from https://git.osmocom.org/, we can't bisect changes in the file, it will always use the latest copy from master. Why would we need to bisect changes in respawn.sh? It's not like we change it too often. I also don't see why would we need a different version from the latest one. This is exactly what I am trying to achieve here: all images must be using the same respawn.sh with the same set of features. -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23303 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I3ec86c8610b3b43d39ea8e3da444861d317ced4e Gerrit-Change-Number: 23303 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 10 Mar 2021 12:44: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 Mar 10 12:51:25 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 10 Mar 2021 12:51:25 +0000 Subject: Change in libosmocore[master]: gsm0808_utils: add gsm0808_cell_id_lists_same() In-Reply-To: References: Message-ID: neels has abandoned this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23297 ) Change subject: gsm0808_utils: add gsm0808_cell_id_lists_same() ...................................................................... Abandoned it's a good patch but let's not merge it unless it is really needed -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23297 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I16bc903f9c5820ad00d588e59a4a6923d1f3f542 Gerrit-Change-Number: 23297 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 10 12:51:30 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 10 Mar 2021 12:51:30 +0000 Subject: Change in docker-playground[master]: Make respawn.sh a common part of *-build/-obs images In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23303 ) Change subject: Make respawn.sh a common part of *-build/-obs images ...................................................................... Patch Set 3: Ah, I see at least one disadvantage now: one won't be able to make changes to respawn.sh / Release.key and test them locally. It will be required to merge the patch first, or hack Dockerfiles to COPY the changed file from the current directory... -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23303 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I3ec86c8610b3b43d39ea8e3da444861d317ced4e Gerrit-Change-Number: 23303 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 10 Mar 2021 12:51:30 +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 Mar 10 12:52:34 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 10 Mar 2021 12:52:34 +0000 Subject: Change in osmo-gbproxy[master]: Remove osmo-sgsn relics In-Reply-To: References: Message-ID: Hello osmith, Jenkins Builder, laforge, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/23308 to look at the new patch set (#4). Change subject: Remove osmo-sgsn relics ...................................................................... Remove osmo-sgsn relics * include/osmocom/sgsn -> gbproxy * (unused) tests specific to osmo-sgsn Change-Id: I3704760e8936bdd005a3f73727de5f2b3e8774a0 --- M configure.ac M debian/copyright M include/osmocom/Makefile.am R include/osmocom/gbproxy/Makefile.am R include/osmocom/gbproxy/gb_proxy.h M src/gb_proxy.c M src/gb_proxy_ctrl.c M src/gb_proxy_main.c M src/gb_proxy_peer.c M src/gb_proxy_vty.c M tests/ctrl_test_runner.py D tests/sndcp_xid/Makefile.am D tests/sndcp_xid/sndcp_xid_test.c D tests/sndcp_xid/sndcp_xid_test.ok 14 files changed, 10 insertions(+), 347 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gbproxy refs/changes/08/23308/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/23308 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I3704760e8936bdd005a3f73727de5f2b3e8774a0 Gerrit-Change-Number: 23308 Gerrit-PatchSet: 4 Gerrit-Owner: daniel 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 Wed Mar 10 13:01:14 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 10 Mar 2021 13:01:14 +0000 Subject: Change in docker-playground[master]: debian-stretch-build-dist: use -obs-latest In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23310 ) Change subject: debian-stretch-build-dist: use -obs-latest ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23310 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I2cf6ed732e55b8f0e63bd8fc040749bd16676d0f Gerrit-Change-Number: 23310 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 10 Mar 2021 13:01: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 Wed Mar 10 13:01:16 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 10 Mar 2021 13:01:16 +0000 Subject: Change in osmo-gbproxy[master]: Remove osmo-sgsn relics In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/23308 ) Change subject: Remove osmo-sgsn relics ...................................................................... Patch Set 4: Code-Review+2 (1 comment) +2 from before https://gerrit.osmocom.org/c/osmo-gbproxy/+/23308/3/tests/ctrl_test_runner.py File tests/ctrl_test_runner.py: https://gerrit.osmocom.org/c/osmo-gbproxy/+/23308/3/tests/ctrl_test_runner.py at 176 PS3, Line 176: not > (no) Done -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/23308 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I3704760e8936bdd005a3f73727de5f2b3e8774a0 Gerrit-Change-Number: 23308 Gerrit-PatchSet: 4 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 10 Mar 2021 13:01:16 +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 Mar 10 13:01:27 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 10 Mar 2021 13:01:27 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3-testsuites: kernel: keep workspace In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23311 ) Change subject: jobs/ttcn3-testsuites: kernel: keep workspace ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23311 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ifbf6ea127011d8c9fc5c08b584d99ea0220c3e1a Gerrit-Change-Number: 23311 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 10 Mar 2021 13:01: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 Mar 10 13:02:06 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 10 Mar 2021 13:02:06 +0000 Subject: Change in osmo-gbproxy[master]: Remove osmo-sgsn relics In-Reply-To: References: Message-ID: daniel has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/23308 ) Change subject: Remove osmo-sgsn relics ...................................................................... Remove osmo-sgsn relics * include/osmocom/sgsn -> gbproxy * (unused) tests specific to osmo-sgsn Change-Id: I3704760e8936bdd005a3f73727de5f2b3e8774a0 --- M configure.ac M debian/copyright M include/osmocom/Makefile.am R include/osmocom/gbproxy/Makefile.am R include/osmocom/gbproxy/gb_proxy.h M src/gb_proxy.c M src/gb_proxy_ctrl.c M src/gb_proxy_main.c M src/gb_proxy_peer.c M src/gb_proxy_vty.c M tests/ctrl_test_runner.py D tests/sndcp_xid/Makefile.am D tests/sndcp_xid/sndcp_xid_test.c D tests/sndcp_xid/sndcp_xid_test.ok 14 files changed, 10 insertions(+), 347 deletions(-) Approvals: Jenkins Builder: Verified daniel: Looks good to me, approved diff --git a/configure.ac b/configure.ac index a4758b5..309d3f7 100644 --- a/configure.ac +++ b/configure.ac @@ -236,7 +236,7 @@ AC_OUTPUT( include/Makefile include/osmocom/Makefile - include/osmocom/sgsn/Makefile + include/osmocom/gbproxy/Makefile src/Makefile tests/Makefile doc/Makefile diff --git a/debian/copyright b/debian/copyright index 8bdbc5d..f6a5956 100644 --- a/debian/copyright +++ b/debian/copyright @@ -22,8 +22,8 @@ doc/examples/Makefile.am doc/examples/osmo-gbproxy/osmo-gbproxy.cfg include/Makefile.am - include/osmocom/sgsn/Makefile.am - include/osmocom/sgsn/gb_proxy.h + include/osmocom/gbproxy/Makefile.am + include/osmocom/gbproxy/gb_proxy.h m4/README src/Makefile.am src/gprs/.gitignore diff --git a/include/osmocom/Makefile.am b/include/osmocom/Makefile.am index 09db97a..a3f6651 100644 --- a/include/osmocom/Makefile.am +++ b/include/osmocom/Makefile.am @@ -1,3 +1,3 @@ SUBDIRS = \ - sgsn \ + gbproxy \ $(NULL) diff --git a/include/osmocom/sgsn/Makefile.am b/include/osmocom/gbproxy/Makefile.am similarity index 100% rename from include/osmocom/sgsn/Makefile.am rename to include/osmocom/gbproxy/Makefile.am diff --git a/include/osmocom/sgsn/gb_proxy.h b/include/osmocom/gbproxy/gb_proxy.h similarity index 100% rename from include/osmocom/sgsn/gb_proxy.h rename to include/osmocom/gbproxy/gb_proxy.h diff --git a/src/gb_proxy.c b/src/gb_proxy.c index f448c0b..c07c36b 100644 --- a/src/gb_proxy.c +++ b/src/gb_proxy.c @@ -52,7 +52,7 @@ #include #include "debug.h" -#include +#include #include diff --git a/src/gb_proxy_ctrl.c b/src/gb_proxy_ctrl.c index b6f01af..35ef81b 100644 --- a/src/gb_proxy_ctrl.c +++ b/src/gb_proxy_ctrl.c @@ -28,7 +28,7 @@ #include #include -#include +#include #include "debug.h" diff --git a/src/gb_proxy_main.c b/src/gb_proxy_main.c index 87331ea..45e0858 100644 --- a/src/gb_proxy_main.c +++ b/src/gb_proxy_main.c @@ -43,7 +43,7 @@ #include #include "debug.h" -#include +#include #include #include diff --git a/src/gb_proxy_peer.c b/src/gb_proxy_peer.c index a9471f0..fa99832 100644 --- a/src/gb_proxy_peer.c +++ b/src/gb_proxy_peer.c @@ -20,7 +20,7 @@ * */ -#include +#include #include "debug.h" diff --git a/src/gb_proxy_vty.c b/src/gb_proxy_vty.c index 3a52e32..f48a6db 100644 --- a/src/gb_proxy_vty.c +++ b/src/gb_proxy_vty.c @@ -39,7 +39,7 @@ #include #include "debug.h" -#include +#include #include #include diff --git a/tests/ctrl_test_runner.py b/tests/ctrl_test_runner.py index 69b2478..271e893 100755 --- a/tests/ctrl_test_runner.py +++ b/tests/ctrl_test_runner.py @@ -143,28 +143,6 @@ return responses -class TestCtrlSGSN(TestCtrlBase): - def ctrl_command(self): - return ["./src/sgsn/osmo-sgsn", "-c", - "doc/examples/osmo-sgsn/osmo-sgsn.cfg"] - - def ctrl_app(self): - return (4251, "./src/sgsn/osmo-sgsn", "OsmoSGSN", "sgsn") - - def testListSubscribers(self): - # TODO. Add command to mark a subscriber as active - r = self.do_get('subscriber-list-active-v1') - self.assertEqual(r['mtype'], 'GET_REPLY') - self.assertEqual(r['var'], 'subscriber-list-active-v1') - self.assertEqual(r['value'], None) - -def add_sgsn_test(suite, workdir): - if not os.path.isfile(os.path.join(workdir, "src/sgsn/osmo-sgsn")): - print("Skipping the SGSN test") - return - test = unittest.TestLoader().loadTestsFromTestCase(TestCtrlSGSN) - suite.addTest(test) - if __name__ == '__main__': import argparse import sys @@ -195,6 +173,6 @@ os.chdir(workdir) print("Running tests for specific control commands") suite = unittest.TestSuite() - add_sgsn_test(suite, workdir) + print("GbProxy has no CTRL tests yet") res = unittest.TextTestRunner(verbosity=verbose_level).run(suite) sys.exit(len(res.errors) + len(res.failures)) diff --git a/tests/sndcp_xid/Makefile.am b/tests/sndcp_xid/Makefile.am deleted file mode 100644 index dad41ea..0000000 --- a/tests/sndcp_xid/Makefile.am +++ /dev/null @@ -1,17 +0,0 @@ -AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/include -AM_CFLAGS=-Wall -ggdb3 $(LIBOSMOCORE_CFLAGS) $(LIBOSMOGSM_CFLAGS) - -EXTRA_DIST = sndcp_xid_test.ok - -noinst_PROGRAMS = sndcp_xid_test - -sndcp_xid_test_SOURCES = sndcp_xid_test.c - -sndcp_xid_test_LDADD = \ - $(top_builddir)/src/sgsn/gprs_sndcp_xid.o \ - $(LIBOSMOABIS_LIBS) \ - $(LIBOSMOCORE_LIBS) \ - $(LIBOSMOGSM_LIBS) \ - $(LIBOSMOGB_LIBS) \ - $(LIBGTP_LIBS) \ - -lrt -lm diff --git a/tests/sndcp_xid/sndcp_xid_test.c b/tests/sndcp_xid/sndcp_xid_test.c deleted file mode 100644 index 56b97e3..0000000 --- a/tests/sndcp_xid/sndcp_xid_test.c +++ /dev/null @@ -1,287 +0,0 @@ -/* Test SNDCP-XID Encoding/Decoding */ - -/* (C) 2016 by sysmocom s.f.m.c. GmbH - * All Rights Reserved - * - * Author: Philipp Maier - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ - -#include -#include - -#include -#include - -#include - -#include -#include - -/* Test SNDCP-XID decoding with a real world sample */ -static void test_xid_decode_realworld(const void *ctx) -{ - struct llist_head *comp_fields; - int rc; - printf("Testing SNDCP XID-Decoder/Encoder (real world data)\n"); - - /* Example of a real world SNDCP-XID message */ - uint8_t xid[] = - { 0x00, 0x01, 0x00, 0x02, 0x31, 0x82, 0x02, 0x27, 0x89, 0xff, 0xe0, - 0x00, 0x0f, 0x00, 0xa8, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x02, - 0x01, 0x02, 0x00, 0x03, 0x01, 0x03, 0x00, 0x04, 0x01, 0x04, 0x00, 0x05, - 0x01, 0x05, 0x00, 0x06, 0x00, 0x07, 0x01, 0x07, 0x00, 0x08, 0x01, 0x08, - 0x80, 0x00, 0x04, 0x12, 0x00, 0x40, 0x07 }; - uint8_t xid_r[512]; - - /* Parse and show contained comp fields */ - comp_fields = gprs_sndcp_parse_xid(NULL, ctx, xid, sizeof(xid), NULL); - OSMO_ASSERT(comp_fields); - printf("Decoded:\n"); - gprs_sndcp_dump_comp_fields(comp_fields, DSNDCP); - - /* Encode comp-fields again */ - rc = gprs_sndcp_compile_xid(xid_r,sizeof(xid_r), comp_fields, - DEFAULT_SNDCP_VERSION); - printf("Result length=%i\n",rc); - printf("Encoded: %s\n", osmo_hexdump_nospc(xid, sizeof(xid))); - printf("Rencoded: %s\n", osmo_hexdump_nospc(xid_r, rc)); - - OSMO_ASSERT(rc == 54); - OSMO_ASSERT(memcmp(xid, xid_r, sizeof(xid)) == 0); - - /* Free comp fields */ - talloc_free(comp_fields); - - printf("\n"); -} - -/* Encode and decode test with artificial test data */ -static void test_xid_encode_decode(const void *ctx) -{ - printf("Testing SNDCP XID-Encoder/Decoder\n"); - - LLIST_HEAD(comp_fields); - struct gprs_sndcp_pcomp_rfc1144_params rfc1144_params; - struct gprs_sndcp_comp_field rfc1144_comp_field; - struct gprs_sndcp_pcomp_rfc2507_params rfc2507_params; - struct gprs_sndcp_comp_field rfc2507_comp_field; - struct gprs_sndcp_pcomp_rohc_params rohc_params; - struct gprs_sndcp_comp_field rohc_comp_field; - struct gprs_sndcp_dcomp_v42bis_params v42bis_params; - struct gprs_sndcp_comp_field v42bis_comp_field; - struct gprs_sndcp_dcomp_v44_params v44_params; - struct gprs_sndcp_comp_field v44_comp_field; - struct llist_head *comp_fields_dec; - - uint8_t xid[512]; - unsigned int xid_len = sizeof(xid); - int rc; - - memset(&rfc1144_comp_field, 0, sizeof(struct gprs_sndcp_comp_field)); - memset(&rfc2507_comp_field, 0, sizeof(struct gprs_sndcp_comp_field)); - memset(&rohc_comp_field, 0, sizeof(struct gprs_sndcp_comp_field)); - memset(&v42bis_comp_field, 0, sizeof(struct gprs_sndcp_comp_field)); - memset(&v44_comp_field, 0, sizeof(struct gprs_sndcp_comp_field)); - - /* Setup which NSAPIs shall make use of rfc1144 */ - rfc1144_params.nsapi[0] = 5; - rfc1144_params.nsapi_len = 1; - - /* Setup rfc1144 operating parameters */ - rfc1144_params.s01 = 7; - - /* Setup rfc1144 compression field */ - rfc1144_comp_field.p = 1; - rfc1144_comp_field.entity = 0; - rfc1144_comp_field.algo.pcomp = RFC_1144; - rfc1144_comp_field.comp[RFC1144_PCOMP1] = 1; - rfc1144_comp_field.comp[RFC1144_PCOMP2] = 2; - rfc1144_comp_field.comp_len = RFC1144_PCOMP_NUM; - rfc1144_comp_field.rfc1144_params = &rfc1144_params; - - /* Setup which NSAPIs shall make use of rfc1144 */ - rfc2507_params.nsapi[0] = 6; - rfc2507_params.nsapi_len = 1; - - /* Setup rfc2507 operating parameters */ - rfc2507_params.f_max_period = 256; - rfc2507_params.f_max_time = 5; - rfc2507_params.max_header = 168; - rfc2507_params.tcp_space = 15; - rfc2507_params.non_tcp_space = 15; - - /* Setup rfc2507 compression field */ - rfc2507_comp_field.p = 1; - rfc2507_comp_field.entity = 1; - rfc2507_comp_field.algo.pcomp = RFC_2507; - rfc2507_comp_field.comp[RFC2507_PCOMP1] = 3; - rfc2507_comp_field.comp[RFC2507_PCOMP2] = 4; - rfc2507_comp_field.comp[RFC2507_PCOMP3] = 5; - rfc2507_comp_field.comp[RFC2507_PCOMP4] = 6; - rfc2507_comp_field.comp[RFC2507_PCOMP5] = 7; - rfc2507_comp_field.comp_len = RFC2507_PCOMP_NUM; - rfc2507_comp_field.rfc2507_params = &rfc2507_params; - - /* Setup which NSAPIs shall make use of ROHC */ - rohc_params.nsapi[0] = 5; - rohc_params.nsapi[1] = 6; - rohc_params.nsapi[2] = 7; - rohc_params.nsapi[3] = 8; - rohc_params.nsapi[4] = 9; - rohc_params.nsapi[5] = 10; - rohc_params.nsapi[6] = 11; - rohc_params.nsapi[7] = 12; - rohc_params.nsapi[8] = 13; - rohc_params.nsapi[9] = 14; - rohc_params.nsapi[10] = 15; - rohc_params.nsapi_len = 11; - - /* Setup ROHC operating parameters */ - rohc_params.max_cid = 15; /* default */ - rohc_params.max_header = 168; /* default */ - rohc_params.profile[0] = ROHC_UNCOMPRESSED; - rohc_params.profile[1] = ROHC_RTP; - rohc_params.profile[2] = ROHCV2_RTP; - rohc_params.profile[3] = ROHC_UDP; - rohc_params.profile[4] = ROHCv2_UDP; - rohc_params.profile[5] = ROHC_ESP; - rohc_params.profile[6] = ROHCV2_ESP; - rohc_params.profile[7] = ROHC_IP; - rohc_params.profile[8] = ROHCV2_IP; - rohc_params.profile[9] = ROHC_LLA; - rohc_params.profile[10] = ROHC_LLA_WITH_R_MODE; - rohc_params.profile[11] = ROHC_TCP; - rohc_params.profile[12] = ROHC_RTP_UDP_LITE; - rohc_params.profile[13] = ROHCV2_RTP_UDP_LITE; - rohc_params.profile[14] = ROHC_UDP_LITE; - rohc_params.profile[15] = ROHCV2_UDP_LITE; - rohc_params.profile_len = 16; - - /* Setup ROHC compression field */ - rohc_comp_field.p = 1; - rohc_comp_field.entity = 2; - rohc_comp_field.algo.pcomp = ROHC; - rohc_comp_field.comp[ROHC_PCOMP1] = 8; - rohc_comp_field.comp[ROHC_PCOMP2] = 9; - rohc_comp_field.comp_len = ROHC_PCOMP_NUM; - rohc_comp_field.rohc_params = &rohc_params; - - /* Setup which NSAPIs shall make use of v42bis */ - v42bis_params.nsapi[0] = 5; - v42bis_params.nsapi_len = 1; - - /* Setup v42bis operating parameters */ - v42bis_params.p0 = 3; - v42bis_params.p1 = 2048; - v42bis_params.p2 = 20; - - /* Setup v42bis compression field */ - v42bis_comp_field.p = 1; - v42bis_comp_field.entity = 3; - v42bis_comp_field.algo.dcomp = V42BIS; - v42bis_comp_field.comp[V42BIS_DCOMP1] = 10; - v42bis_comp_field.comp_len = V42BIS_DCOMP_NUM; - v42bis_comp_field.v42bis_params = &v42bis_params; - - /* Setup which NSAPIs shall make use of v44 */ - v44_params.nsapi[0] = 5; - v44_params.nsapi_len = 1; - - /* Setup v44 operating parameters */ - v44_params.c0 = 0x80; - v44_params.p0 = 3; - v44_params.p1t = 300; - v44_params.p1r = 300; - v44_params.p3t = 600; - v44_params.p3r = 600; - - /* Setup v44 compression field */ - v44_comp_field.p = 1; - v44_comp_field.entity = 3; - v44_comp_field.algo.dcomp = V44; - v44_comp_field.comp[V44_DCOMP1] = 10; - v44_comp_field.comp[V44_DCOMP2] = 11; - v44_comp_field.comp_len = V44_DCOMP_NUM; - v44_comp_field.v44_params = &v44_params; - - /* Add compression field(s) to list */ - llist_add(&v44_comp_field.list, &comp_fields); - llist_add(&v42bis_comp_field.list, &comp_fields); - llist_add(&rfc1144_comp_field.list, &comp_fields); - llist_add(&rfc2507_comp_field.list, &comp_fields); - llist_add(&rohc_comp_field.list, &comp_fields); - printf("Test input data:\n"); - gprs_sndcp_dump_comp_fields(&comp_fields, DSNDCP); - - /* Encode SNDCP-XID fields */ - rc = gprs_sndcp_compile_xid(xid, xid_len, &comp_fields, - DEFAULT_SNDCP_VERSION); - OSMO_ASSERT(rc > 0); - - printf("Encoded: %s (%i bytes)\n", osmo_hexdump_nospc(xid, rc), rc); - - /* Parse and show contained comp fields */ - comp_fields_dec = gprs_sndcp_parse_xid(NULL, ctx, xid, rc, NULL); - OSMO_ASSERT(comp_fields_dec); - - printf("Decoded:\n"); - gprs_sndcp_dump_comp_fields(comp_fields_dec, DSNDCP); - - /* Free comp fields */ - talloc_free(comp_fields_dec); -} - -static struct log_info_cat gprs_categories[] = { - [DSNDCP] = { - .name = "DSNDCP", - .description = - "GPRS Sub-Network Dependent Control Protocol (SNDCP)", - .enabled = 1,.loglevel = LOGL_DEBUG, - } -}; - -static struct log_info info = { - .cat = gprs_categories, - .num_cat = ARRAY_SIZE(gprs_categories), -}; - -int main(int argc, char **argv) -{ - void *xid_ctx; - void *log_ctx; - - xid_ctx = talloc_named_const(NULL, 0, "xid_ctx"); - log_ctx = talloc_named_const(xid_ctx, 0, "log"); - osmo_init_logging2(log_ctx, &info); - - test_xid_decode_realworld(xid_ctx); - test_xid_encode_decode(xid_ctx); - - printf("Done\n"); - - talloc_report_full(xid_ctx, stderr); - talloc_free(log_ctx); - OSMO_ASSERT(talloc_total_blocks(xid_ctx) == 1); - talloc_free(xid_ctx); - return 0; -} - -/* stubs */ -struct osmo_prim_hdr; -int bssgp_prim_cb(struct osmo_prim_hdr *oph, void *ctx) -{ - abort(); -} diff --git a/tests/sndcp_xid/sndcp_xid_test.ok b/tests/sndcp_xid/sndcp_xid_test.ok deleted file mode 100644 index f357282..0000000 --- a/tests/sndcp_xid/sndcp_xid_test.ok +++ /dev/null @@ -1,11 +0,0 @@ -Testing SNDCP XID-Decoder/Encoder (real world data) -Decoded: -Result length=54 -Encoded: 000100023182022789ffe0000f00a8000000010101000201020003010300040104000501050006000701070008010880000412004007 -Rencoded: 000100023182022789ffe0000f00a8000000010101000201020003010300040104000501050006000701070008010880000412004007 - -Testing SNDCP XID-Encoder/Decoder -Test input data: -Encoded: 000100011a83010dab00208003012c012c02580258830007a000200308001402408000041200200781010c3456700040010005a80f000f82022789ffe0000f00a80000000101010002010200030103000401040005010500060007010700080108 (97 bytes) -Decoded: -Done -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/23308 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: I3704760e8936bdd005a3f73727de5f2b3e8774a0 Gerrit-Change-Number: 23308 Gerrit-PatchSet: 4 Gerrit-Owner: daniel 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 Wed Mar 10 13:12:10 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 10 Mar 2021 13:12:10 +0000 Subject: Change in osmo-sgsn[master]: manuals: Regenerate counters/VTY through docker In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/23305 ) Change subject: manuals: Regenerate counters/VTY through docker ...................................................................... Patch Set 1: > Patch Set 1: > > I'm missing some kind of rationale. Is this what other osmo-* projects do? Why is docker needed here? ... Yeah, every other project uses it: $ find . -name regen_doc.sh -exec grep -l DOCKER_PLAYGROUND {} \; ./osmo-ggsn/doc/manuals/regen_doc.sh ./osmo-bts/doc/manuals/regen_doc.sh ./osmo-pcu/doc/manuals/regen_doc.sh ./osmo-mgw/doc/manuals/regen_doc.sh ./osmo-msc/doc/manuals/regen_doc.sh ./osmo-bsc/doc/manuals/regen_doc.sh ./osmo-cbc/doc/manuals/regen_doc.sh ./osmo-sgsn/doc/manuals/regen_doc.sh ./osmo-gbproxy/doc/manuals/regen_doc.sh ./osmo-hlr/doc/manuals/regen_doc.sh The issue the current script has is that it uses whatever osmo-sgsn is in you path, so the version will most likely mismatch (and it will fail if the version found in path can not read the config file from examples). What I can't explain is why simply calling ../../src/osmo-sgsn in regen_doc.sh won't work as well as using docker. -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/23305 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I09b01d2e4bc7b1c17588100b16ac9f04cf72cf99 Gerrit-Change-Number: 23305 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 10 Mar 2021 13:12:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 10 14:34:41 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 10 Mar 2021 14:34:41 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3-testsuites: kernel: keep workspace In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23311 ) Change subject: jobs/ttcn3-testsuites: kernel: keep workspace ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23311 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ifbf6ea127011d8c9fc5c08b584d99ea0220c3e1a Gerrit-Change-Number: 23311 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 10 Mar 2021 14:34:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 10 14:34:46 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 10 Mar 2021 14:34:46 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3-testsuites: kernel: keep workspace In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23311 ) Change subject: jobs/ttcn3-testsuites: kernel: keep workspace ...................................................................... jobs/ttcn3-testsuites: kernel: keep workspace Don't wipe the workspace of kernel tests. Cloning the kernel sources takes a great amount of time and traffic, so we want to keep them around. Change-Id: Ifbf6ea127011d8c9fc5c08b584d99ea0220c3e1a --- M jobs/ttcn3-testsuites.yml 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: fixeria: Looks good to me, approved pespin: Looks good to me, but someone else must approve osmith: Verified diff --git a/jobs/ttcn3-testsuites.yml b/jobs/ttcn3-testsuites.yml index 393c552..4b00539 100644 --- a/jobs/ttcn3-testsuites.yml +++ b/jobs/ttcn3-testsuites.yml @@ -44,6 +44,7 @@ blocking: "^(ttcn3|TTCN3-.*)-ggsn-test.*" timer: 25 04 * * * # Cache the linux source tree in the workspace of one node + wipe_workspace: false node: ttcn3-ggsn-test-kernel-git description: | Test osmo-ggsn latest with the Linux kernel built from master of @@ -53,6 +54,7 @@ blocking: "^(ttcn3|TTCN3-.*)-ggsn-test.*" timer: 30 04 * * * # Cache the linux source tree in the workspace of one node + wipe_workspace: false node: ttcn3-ggsn-test-kernel-git description: | Test osmo-ggsn latest with the Linux kernel built from master of -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23311 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ifbf6ea127011d8c9fc5c08b584d99ea0220c3e1a Gerrit-Change-Number: 23311 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 10 14:34:49 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 10 Mar 2021 14:34:49 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3: add myself to e-mail recipients In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23312 ) Change subject: jobs/ttcn3: add myself to e-mail recipients ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23312 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I415816035fe959f91984c3496a8d1aecfc5c3885 Gerrit-Change-Number: 23312 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Comment-Date: Wed, 10 Mar 2021 14:34: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 Mar 10 14:34:52 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 10 Mar 2021 14:34:52 +0000 Subject: Change in osmo-ci[master]: jobs/ttcn3: add myself to e-mail recipients In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23312 ) Change subject: jobs/ttcn3: add myself to e-mail recipients ...................................................................... jobs/ttcn3: add myself to e-mail recipients Change-Id: I415816035fe959f91984c3496a8d1aecfc5c3885 --- M jobs/ttcn3-testsuites-kernel-git.yml M jobs/ttcn3-testsuites.yml 2 files changed, 2 insertions(+), 2 deletions(-) Approvals: fixeria: Looks good to me, approved osmith: Verified diff --git a/jobs/ttcn3-testsuites-kernel-git.yml b/jobs/ttcn3-testsuites-kernel-git.yml index 0d1e6cf..1bc07d5 100644 --- a/jobs/ttcn3-testsuites-kernel-git.yml +++ b/jobs/ttcn3-testsuites-kernel-git.yml @@ -106,7 +106,7 @@ allow-empty-results: false - email: notify-every-unstable-build: true - recipients: laforge at gnumonks.org + recipients: laforge at gnumonks.org osmith at sysmocom.de send-to-individuals: false - archive: allow-empty: false diff --git a/jobs/ttcn3-testsuites.yml b/jobs/ttcn3-testsuites.yml index 4b00539..888511d 100644 --- a/jobs/ttcn3-testsuites.yml +++ b/jobs/ttcn3-testsuites.yml @@ -370,7 +370,7 @@ allow-empty-results: false - email: notify-every-unstable-build: true - recipients: laforge at gnumonks.org + recipients: laforge at gnumonks.org osmith at sysmocom.de send-to-individuals: false - archive: allow-empty: false -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23312 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I415816035fe959f91984c3496a8d1aecfc5c3885 Gerrit-Change-Number: 23312 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 10 14:43:51 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 10 Mar 2021 14:43:51 +0000 Subject: Change in docker-playground[master]: debian-stretch-build-dist: use -obs-latest In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23310 ) Change subject: debian-stretch-build-dist: use -obs-latest ...................................................................... Patch Set 1: Code-Review+2 1+1=2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23310 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I2cf6ed732e55b8f0e63bd8fc040749bd16676d0f Gerrit-Change-Number: 23310 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 10 Mar 2021 14:43: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 Mar 10 14:43:54 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 10 Mar 2021 14:43:54 +0000 Subject: Change in docker-playground[master]: debian-stretch-build-dist: use -obs-latest In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23310 ) Change subject: debian-stretch-build-dist: use -obs-latest ...................................................................... debian-stretch-build-dist: use -obs-latest Change debian-stretch-build-dist to be based on debian-stretch-obs-latest instead of debian-stretch-build. The latter installs the nightly OBS repository now (as that is what we need for the TTCN-3 builds using debian-stretch-build), but debian-stretch-build-dist needs to install packages from OBS latest. Fixes jenkins failures: The following packages have unmet dependencies: libasn1c-dev : Depends: osmocom-latest but it is not going to be installed ... Related: OS#5049 Change-Id: I2cf6ed732e55b8f0e63bd8fc040749bd16676d0f --- M debian-stretch-build-dist/Dockerfile 1 file changed, 37 insertions(+), 18 deletions(-) Approvals: osmith: 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/debian-stretch-build-dist/Dockerfile b/debian-stretch-build-dist/Dockerfile index 5e12a81..359c687 100644 --- a/debian-stretch-build-dist/Dockerfile +++ b/debian-stretch-build-dist/Dockerfile @@ -1,40 +1,59 @@ ARG USER -FROM $USER/debian-stretch-build +FROM $USER/debian-stretch-obs-latest # Arguments used after FROM must be specified again -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/latest/Debian_9.0/" - -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-latest.list - -ADD $OSMOCOM_REPO/Release /tmp/Release RUN apt-get update && \ apt-get install -y --no-install-recommends \ + autoconf \ + autoconf-archive \ + autogen \ + automake \ + bison \ + build-essential \ ca-certificates \ - libboost-all-dev \ - liboping-dev \ - libuhd-dev \ - \ + dahdi-source \ + git \ libasn1c-dev \ + libboost-all-dev \ + libc-ares-dev \ + libdbd-sqlite3 \ + libdbi-dev \ + libfftw3-dev \ + libgnutls28-dev \ + libgps-dev \ + libgsm1-dev \ libgtp-dev \ libgtpnl-dev \ liblimesuite-dev \ + libncurses5-dev \ + liboping-dev \ liborcania-dev \ + libortp-dev \ libosmo-abis-dev \ - libosmocore-dev \ - libosmodsp-dev \ libosmo-gsup-client-dev \ libosmo-mgcp-client-dev \ libosmo-netif-dev \ libosmo-ranap-dev \ libosmo-sccp-dev \ libosmo-sigtran-dev \ + libosmocore-dev \ + libosmodsp-dev \ + libpcap-dev \ + libpcsclite-dev \ + libreadline-dev \ + libsctp-dev \ libsmpp34-dev \ + libsofia-sip-ua-glib-dev \ + libsqlite3-dev \ + libssl-dev \ + libtalloc-dev \ + libtool \ + libuhd-dev \ libulfius-dev \ + libusb-1.0-0-dev \ + libusb-dev \ libusrp-dev \ - libyder-dev && \ + libyder-dev \ + make \ + && \ apt-get clean -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23310 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I2cf6ed732e55b8f0e63bd8fc040749bd16676d0f Gerrit-Change-Number: 23310 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 10 15:09:46 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 10 Mar 2021 15:09:46 +0000 Subject: Change in docker-playground[master]: Make respawn.sh a common part of *-build/-obs images In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23303 ) Change subject: Make respawn.sh a common part of *-build/-obs images ...................................................................... Patch Set 3: > Why would we need to bisect changes in respawn.sh? Not in the script in particular, but maybe we need to bisect the whole docker-playground.git. I've done this before once. Even if that is not used very often, if we have the choice to break it or not, I'd rather not break it. > Ah, I see at least one disadvantage now: one won't be able to make changes to respawn.sh / Release.key and test them locally. It will be required to merge the patch first, or hack Dockerfiles to COPY the changed file from the current directory... Yes, that's another good argument. -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23303 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I3ec86c8610b3b43d39ea8e3da444861d317ced4e Gerrit-Change-Number: 23303 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 10 Mar 2021 15:09: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 Mar 10 15:32:25 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 10 Mar 2021 15:32:25 +0000 Subject: Change in osmo-pcu[master]: direct_phy: Support submitting DATA.ind with len=0 to upper layers In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23268 ) Change subject: direct_phy: Support submitting DATA.ind with len=0 to upper layers ...................................................................... direct_phy: Support submitting DATA.ind with len=0 to upper layers Since recently (see Depends below), BTS side submits DATA.ind with len=0 to announce nothing was received on that UL block FN. This will allow osmo-pcu track time more accurately, and use this information to quickly find out if a UL block was expected as requested by RRBP or USF poll and increment counters such as N3101 (finally being able to properly implement timers such as T3619). This patch does the same for direct phy feature, where the osmo-pcu process receives the DATA.ind directly from the DSP. Depends: osmo-bts.git Change-Id I343c7a721dab72411edbca816c8864926bc329fb Related: OS#5033 Change-Id: I9a835e16ef0e5a68c003a93d1a33233aa43464ae --- M src/osmo-bts-litecell15/lc15_l1_if.c M src/osmo-bts-oc2g/oc2g_l1_if.c M src/osmo-bts-sysmo/sysmo_l1_if.c 3 files changed, 43 insertions(+), 51 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/osmo-bts-litecell15/lc15_l1_if.c b/src/osmo-bts-litecell15/lc15_l1_if.c index 8f64863..c87edaf 100644 --- a/src/osmo-bts-litecell15/lc15_l1_if.c +++ b/src/osmo-bts-litecell15/lc15_l1_if.c @@ -195,6 +195,8 @@ int rc = 0; struct gprs_rlcmac_bts *bts; struct pcu_l1_meas meas = {0}; + uint8_t *data; + uint8_t data_len; DEBUGP(DL1IF, "Rx PH-DATA.ind %s (hL2 %08x): %s\n", get_value_string(lc15bts_l1sapi_names, data_ind->sapi), @@ -202,14 +204,6 @@ osmo_hexdump(data_ind->msgUnitParam.u8Buffer, data_ind->msgUnitParam.u8Size)); - /* - * TODO: Add proper bad frame handling here. This could be used - * to switch the used CS. Avoid a crash with the PCU right now - * feed "0 - 1" amount of data. - */ - if (data_ind->msgUnitParam.u8Size == 0) - return -1; - bts = llist_first_entry_or_null(&the_pcu->bts_list, struct gprs_rlcmac_bts, list); get_meas(&meas, &data_ind->measParam); @@ -219,16 +213,19 @@ switch (data_ind->sapi) { case GsmL1_Sapi_Pdtch: case GsmL1_Sapi_Pacch: - /* drop incomplete UL block */ - if (data_ind->msgUnitParam.u8Buffer[0] - != GsmL1_PdtchPlType_Full) - break; /* PDTCH / PACCH frame handling */ - rc = pcu_rx_data_ind_pdtch(bts, fl1h->trx_no, data_ind->u8Tn, - data_ind->msgUnitParam.u8Buffer + 1, - data_ind->msgUnitParam.u8Size - 1, - data_ind->u32Fn, - &meas); + if (data_ind->msgUnitParam.u8Size != 0 && + data_ind->msgUnitParam.u8Buffer[0] != GsmL1_PdtchPlType_Full) { + data = data_ind->msgUnitParam.u8Buffer + 1; + data_len = data_ind->msgUnitParam.u8Size - 1; + if (data_len == 0) + data = NULL; + } else { + data = NULL; + data_len = 0; + } + pcu_rx_data_ind_pdtch(bts, fl1h->trx_no, data_ind->u8Tn, data, + data_len, data_ind->u32Fn, &meas); break; default: LOGP(DL1IF, LOGL_NOTICE, "Rx PH-DATA.ind for unknown L1 SAPI %s\n", diff --git a/src/osmo-bts-oc2g/oc2g_l1_if.c b/src/osmo-bts-oc2g/oc2g_l1_if.c index d81bc4f..5d2ce69 100644 --- a/src/osmo-bts-oc2g/oc2g_l1_if.c +++ b/src/osmo-bts-oc2g/oc2g_l1_if.c @@ -195,6 +195,8 @@ int rc = 0; struct gprs_rlcmac_bts *bts; struct pcu_l1_meas meas = {0}; + uint8_t *data; + uint8_t data_len; DEBUGP(DL1IF, "Rx PH-DATA.ind %s (hL2 %08x): %s\n", get_value_string(oc2gbts_l1sapi_names, data_ind->sapi), @@ -202,14 +204,6 @@ osmo_hexdump(data_ind->msgUnitParam.u8Buffer, data_ind->msgUnitParam.u8Size)); - /* - * TODO: Add proper bad frame handling here. This could be used - * to switch the used CS. Avoid a crash with the PCU right now - * feed "0 - 1" amount of data. - */ - if (data_ind->msgUnitParam.u8Size == 0) - return -1; - bts = llist_first_entry_or_null(&the_pcu->bts_list, struct gprs_rlcmac_bts, list); gsmtap_send(fl1h->gsmtap, data_ind->u16Arfcn | GSMTAP_ARFCN_F_UPLINK, @@ -224,16 +218,19 @@ switch (data_ind->sapi) { case GsmL1_Sapi_Pdtch: case GsmL1_Sapi_Pacch: - /* drop incomplete UL block */ - if (data_ind->msgUnitParam.u8Buffer[0] - != GsmL1_PdtchPlType_Full) - break; /* PDTCH / PACCH frame handling */ - pcu_rx_data_ind_pdtch(bts, fl1h->trx_no, data_ind->u8Tn, - data_ind->msgUnitParam.u8Buffer + 1, - data_ind->msgUnitParam.u8Size - 1, - data_ind->u32Fn, - &meas); + if (data_ind->msgUnitParam.u8Size != 0 && + data_ind->msgUnitParam.u8Buffer[0] != GsmL1_PdtchPlType_Full) { + data = data_ind->msgUnitParam.u8Buffer + 1; + data_len = data_ind->msgUnitParam.u8Size - 1; + if (data_len == 0) + data = NULL; + } else { + data = NULL; + data_len = 0; + } + pcu_rx_data_ind_pdtch(bts, fl1h->trx_no, data_ind->u8Tn, data, + data_len, data_ind->u32Fn, &meas); break; default: LOGP(DL1IF, LOGL_NOTICE, "Rx PH-DATA.ind for unknown L1 SAPI %s\n", diff --git a/src/osmo-bts-sysmo/sysmo_l1_if.c b/src/osmo-bts-sysmo/sysmo_l1_if.c index f9db0b8..4faccaa 100644 --- a/src/osmo-bts-sysmo/sysmo_l1_if.c +++ b/src/osmo-bts-sysmo/sysmo_l1_if.c @@ -177,6 +177,9 @@ int rc = 0; struct gprs_rlcmac_bts *bts; struct pcu_l1_meas meas = {0}; + uint8_t *data; + uint8_t data_len; + DEBUGP(DL1IF, "Rx PH-DATA.ind %s (hL2 %08x): %s\n", get_value_string(femtobts_l1sapi_names, data_ind->sapi), @@ -187,14 +190,6 @@ bts = llist_first_entry_or_null(&the_pcu->bts_list, struct gprs_rlcmac_bts, list); pcu_rx_block_time(bts, data_ind->u16Arfcn, data_ind->u32Fn, data_ind->u8Tn); - /* - * TODO: Add proper bad frame handling here. This could be used - * to switch the used CS. Avoid a crash with the PCU right now - * feed "0 - 1" amount of data. - */ - if (data_ind->msgUnitParam.u8Size == 0) - return -1; - get_meas(&meas, &data_ind->measParam); bts_update_tbf_ta(bts, "PH-DATA", data_ind->u32Fn, fl1h->trx_no, data_ind->u8Tn, sign_qta2ta(meas.bto), false); @@ -202,16 +197,19 @@ switch (data_ind->sapi) { case GsmL1_Sapi_Pdtch: case GsmL1_Sapi_Pacch: - /* drop incomplete UL block */ - if (data_ind->msgUnitParam.u8Buffer[0] - != GsmL1_PdtchPlType_Full) - break; /* PDTCH / PACCH frame handling */ - pcu_rx_data_ind_pdtch(bts, fl1h->trx_no, data_ind->u8Tn, - data_ind->msgUnitParam.u8Buffer + 1, - data_ind->msgUnitParam.u8Size - 1, - data_ind->u32Fn, - &meas); + if (data_ind->msgUnitParam.u8Size != 0 && + data_ind->msgUnitParam.u8Buffer[0] != GsmL1_PdtchPlType_Full) { + data = data_ind->msgUnitParam.u8Buffer + 1; + data_len = data_ind->msgUnitParam.u8Size - 1; + if (data_len == 0) + data = NULL; + } else { + data = NULL; + data_len = 0; + } + pcu_rx_data_ind_pdtch(bts, fl1h->trx_no, data_ind->u8Tn, data, + data_len, data_ind->u32Fn, &meas); break; default: LOGP(DL1IF, LOGL_NOTICE, "Rx PH-DATA.ind for unknown L1 SAPI %s\n", -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23268 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I9a835e16ef0e5a68c003a93d1a33233aa43464ae Gerrit-Change-Number: 23268 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 Wed Mar 10 16:05:41 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 10 Mar 2021 16:05:41 +0000 Subject: Change in osmo-ci[master]: ansible: jenkins-slave: enable ntpd References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/23315 ) Change subject: ansible: jenkins-slave: enable ntpd ...................................................................... ansible: jenkins-slave: enable ntpd Enable ntpd to prevent clock difference issues reported by jenkins. I just saw them appearing with one of the new raspberry pis. Change-Id: I2685e60221b0f3baa3f9e6076c01acf37cd38444 --- A ansible/roles/ntpd/README.md A ansible/roles/ntpd/tasks/main.yml M ansible/setup-jenkins-slave.yml 3 files changed, 13 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/15/23315/1 diff --git a/ansible/roles/ntpd/README.md b/ansible/roles/ntpd/README.md new file mode 100644 index 0000000..92338c9 --- /dev/null +++ b/ansible/roles/ntpd/README.md @@ -0,0 +1 @@ +# Install ntpd for debian diff --git a/ansible/roles/ntpd/tasks/main.yml b/ansible/roles/ntpd/tasks/main.yml new file mode 100644 index 0000000..b4ca48f --- /dev/null +++ b/ansible/roles/ntpd/tasks/main.yml @@ -0,0 +1,10 @@ +--- +- name: install ntp from debian + apt: + name: ntp + +- name: start and enable ntp daemon + systemd: + name: ntp + state: started + enabled: yes diff --git a/ansible/setup-jenkins-slave.yml b/ansible/setup-jenkins-slave.yml index 8565530..07414aa 100644 --- a/ansible/setup-jenkins-slave.yml +++ b/ansible/setup-jenkins-slave.yml @@ -42,6 +42,8 @@ tags: - jenkins-slave + - name: ntpd + - name: setup coverity slaves hosts: coverity-slaves user: root -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23315 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I2685e60221b0f3baa3f9e6076c01acf37cd38444 Gerrit-Change-Number: 23315 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 Mar 10 16:06:28 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 10 Mar 2021 16:06:28 +0000 Subject: Change in osmo-ci[master]: ansible: jenkins-slave: enable ntpd In-Reply-To: References: Message-ID: osmith has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-ci/+/23315 ) Change subject: ansible: jenkins-slave: enable ntpd ...................................................................... ansible: jenkins-slave: enable ntpd Enable ntpd to prevent clock difference issues reported by jenkins. I just saw them appearing with one of the new raspberry pis. Related: https://jenkins.osmocom.org/jenkins/computer/ (shows clock diff) Change-Id: I2685e60221b0f3baa3f9e6076c01acf37cd38444 --- A ansible/roles/ntpd/README.md A ansible/roles/ntpd/tasks/main.yml M ansible/setup-jenkins-slave.yml 3 files changed, 13 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/15/23315/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23315 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I2685e60221b0f3baa3f9e6076c01acf37cd38444 Gerrit-Change-Number: 23315 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 10 16:19:00 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 10 Mar 2021 16:19:00 +0000 Subject: Change in osmo-msc[master]: contrib/osmo-msc.spec.in: depend on dbd-sqlite3 In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/23284 ) Change subject: contrib/osmo-msc.spec.in: depend on dbd-sqlite3 ...................................................................... Patch Set 3: Verified+1 https://build.opensuse.org/package/show/home:osmith42/osmo-msc -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/23284 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ia972944c300aecbb6ec460b2362aabff459baefd Gerrit-Change-Number: 23284 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Assignee: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: roox Gerrit-Comment-Date: Wed, 10 Mar 2021 16:19: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 Mar 10 16:22:10 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 10 Mar 2021 16:22:10 +0000 Subject: Change in osmo-ci[master]: ansible: jenkins-slave: enable ntpd In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23315 ) Change subject: ansible: jenkins-slave: enable ntpd ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23315 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I2685e60221b0f3baa3f9e6076c01acf37cd38444 Gerrit-Change-Number: 23315 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 10 Mar 2021 16:22:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 10 16:22:25 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 10 Mar 2021 16:22:25 +0000 Subject: Change in osmo-msc[master]: contrib/osmo-msc.spec.in: depend on dbd-sqlite3 In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/23284 ) Change subject: contrib/osmo-msc.spec.in: depend on dbd-sqlite3 ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/23284 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ia972944c300aecbb6ec460b2362aabff459baefd Gerrit-Change-Number: 23284 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Assignee: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Reviewer: roox Gerrit-Comment-Date: Wed, 10 Mar 2021 16: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 Wed Mar 10 16:23:09 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 10 Mar 2021 16:23:09 +0000 Subject: Change in osmo-msc[master]: contrib/osmo-msc.spec.in: depend on dbd-sqlite3 In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/23284 ) Change subject: contrib/osmo-msc.spec.in: depend on dbd-sqlite3 ...................................................................... contrib/osmo-msc.spec.in: depend on dbd-sqlite3 Add the missing runtime dependency to the sqlite3 driver of libdbd. The library does not provide a pkgconfig file, so using "pkgconfig(...)" as done in the BuildRequires is not possible. Write both the OpenSUSE and CentOS name with an if..else. Fixes: <0009> db.c:648 Failed to create database connection to sqlite3 db 'sms.db'; Is the sqlite3 database driver for libdbi installed on this system? Change-Id: Ia972944c300aecbb6ec460b2362aabff459baefd --- M contrib/osmo-msc.spec.in 1 file changed, 5 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, approved osmith: Verified Jenkins Builder: Verified diff --git a/contrib/osmo-msc.spec.in b/contrib/osmo-msc.spec.in index d588e5b..a832408 100644 --- a/contrib/osmo-msc.spec.in +++ b/contrib/osmo-msc.spec.in @@ -54,6 +54,11 @@ BuildRequires: pkgconfig(libasn1c) >= 0.9.30 BuildRequires: pkgconfig(libosmo-ranap) >= 0.3.0 %endif +%if 0%{?suse_version} +Requires: libdbi-drivers-dbd-sqlite3 +%else +Requires: libdbi-dbd-sqlite +%endif %description The Mobile Switching Center (MSC) is the heart of 2G/3G -- To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/23284 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-msc Gerrit-Branch: master Gerrit-Change-Id: Ia972944c300aecbb6ec460b2362aabff459baefd Gerrit-Change-Number: 23284 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Assignee: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Reviewer: roox Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 10 16:23:41 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 10 Mar 2021 16:23:41 +0000 Subject: Change in osmo-ci[master]: ansible: jenkins-slave: enable ntpd In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23315 ) Change subject: ansible: jenkins-slave: enable ntpd ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23315 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I2685e60221b0f3baa3f9e6076c01acf37cd38444 Gerrit-Change-Number: 23315 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 10 Mar 2021 16:23:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 10 16:25:45 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 10 Mar 2021 16:25:45 +0000 Subject: Change in osmo-ci[master]: ansible: jenkins-slave: enable ntpd In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23315 ) Change subject: ansible: jenkins-slave: enable ntpd ...................................................................... Patch Set 2: Verified+1 Code-Review+2 1+1=2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23315 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I2685e60221b0f3baa3f9e6076c01acf37cd38444 Gerrit-Change-Number: 23315 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 10 Mar 2021 16:25: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 Mar 10 16:25:52 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 10 Mar 2021 16:25:52 +0000 Subject: Change in osmo-ci[master]: ansible: jenkins-slave: enable ntpd In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23315 ) Change subject: ansible: jenkins-slave: enable ntpd ...................................................................... ansible: jenkins-slave: enable ntpd Enable ntpd to prevent clock difference issues reported by jenkins. I just saw them appearing with one of the new raspberry pis. Related: https://jenkins.osmocom.org/jenkins/computer/ (shows clock diff) Change-Id: I2685e60221b0f3baa3f9e6076c01acf37cd38444 --- A ansible/roles/ntpd/README.md A ansible/roles/ntpd/tasks/main.yml M ansible/setup-jenkins-slave.yml 3 files changed, 13 insertions(+), 0 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve fixeria: Looks good to me, but someone else must approve osmith: Looks good to me, approved; Verified diff --git a/ansible/roles/ntpd/README.md b/ansible/roles/ntpd/README.md new file mode 100644 index 0000000..92338c9 --- /dev/null +++ b/ansible/roles/ntpd/README.md @@ -0,0 +1 @@ +# Install ntpd for debian diff --git a/ansible/roles/ntpd/tasks/main.yml b/ansible/roles/ntpd/tasks/main.yml new file mode 100644 index 0000000..b4ca48f --- /dev/null +++ b/ansible/roles/ntpd/tasks/main.yml @@ -0,0 +1,10 @@ +--- +- name: install ntp from debian + apt: + name: ntp + +- name: start and enable ntp daemon + systemd: + name: ntp + state: started + enabled: yes diff --git a/ansible/setup-jenkins-slave.yml b/ansible/setup-jenkins-slave.yml index 8565530..07414aa 100644 --- a/ansible/setup-jenkins-slave.yml +++ b/ansible/setup-jenkins-slave.yml @@ -42,6 +42,8 @@ tags: - jenkins-slave + - name: ntpd + - name: setup coverity slaves hosts: coverity-slaves user: root -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23315 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I2685e60221b0f3baa3f9e6076c01acf37cd38444 Gerrit-Change-Number: 23315 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 10 17:48:52 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 10 Mar 2021 17:48:52 +0000 Subject: Change in docker-playground[master]: Make respawn.sh a common part of *-build/-obs images In-Reply-To: References: Message-ID: Hello osmith, laforge, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/docker-playground/+/23303 to look at the new patch set (#4). Change subject: Make respawn.sh a common part of *-build/-obs images ...................................................................... Make respawn.sh a common part of *-build/-obs images Maintaining several versions of the same file in different folders is a bad idea, because at some point their content gets out of sync. This is exactly what happened to 'respawn.sh': sleep()ing was only implemented in 'osmo-bts-master/respawn.sh', other versions of this file would simply ignore '$SLEEP_BEFORE_RESPAWN'. The easiest solution would be to have all common files in a single directory, however Docker does not allow to ADD files from outside of the build context. In other words, all files must be in the same directory as the Dockerfile itself. Modify 'make/Makefile' in order to copy the contents of common directory to the current build context ('pre-build' target) and remove it after building ('post-build' target). Change-Id: I3ec86c8610b3b43d39ea8e3da444861d317ced4e --- M .gitignore M centos8-build/Dockerfile M centos8-obs-latest/Dockerfile R common/respawn.sh M debian-buster-build/Dockerfile M debian-jessie-build/Dockerfile M debian-sid-build/Dockerfile M debian-stretch-obs-latest/Dockerfile M make/Makefile M osmo-bts-latest/Dockerfile D osmo-bts-latest/respawn.sh M osmo-bts-master/Dockerfile M osmo-pcu-latest/Dockerfile D osmo-pcu-latest/respawn.sh M osmo-pcu-master/Dockerfile D osmo-pcu-master/respawn.sh 16 files changed, 22 insertions(+), 53 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/03/23303/4 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23303 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I3ec86c8610b3b43d39ea8e3da444861d317ced4e Gerrit-Change-Number: 23303 Gerrit-PatchSet: 4 Gerrit-Owner: 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 Mar 10 17:48:52 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 10 Mar 2021 17:48:52 +0000 Subject: Change in docker-playground[master]: Share a single instance of Release.key between all images In-Reply-To: References: Message-ID: Hello osmith, laforge, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/docker-playground/+/23304 to look at the new patch set (#4). Change subject: Share a single instance of Release.key between all images ...................................................................... Share a single instance of Release.key between all images This change employs the same approach as [1] for Release.key. Change-Id: Ic51d6e6557ee0b56d21d8ff4feaf04bc02e41a2e Related: [1] I3ec86c8610b3b43d39ea8e3da444861d317ced4e --- D Release.key R common/Release.key M debian-buster-erlang/Dockerfile D debian-buster-erlang/Release.key M debian-buster-simtrace2/Dockerfile D debian-buster-simtrace2/Release.key M debian-jessie-osmocom/Dockerfile D debian-jessie-osmocom/Release.key D debian-stretch-build-dist/Release.key M debian-stretch-build/Dockerfile D debian-stretch-build/Release.key M debian-stretch-jenkins/Dockerfile D debian-stretch-jenkins/Release.key M debian-stretch-obs-latest/Dockerfile D debian-stretch-obs-latest/Release.key M debian-stretch-titan/Dockerfile D debian-stretch-titan/Release.key M osmo-gsm-tester/Dockerfile D osmo-gsm-tester/Release.key D osmo-msc-latest/Release.key M osmo-ran/Dockerfile M osmo-ran/split/ran-bsc_mgw/Dockerfile D osmo-ran/split/ran-bsc_mgw/Release.key M osmo-ran/split/ran-bts_pcu/Dockerfile D osmo-ran/split/ran-bts_pcu/Release.key M osmo-ran/split/ran-trx-ipc/Dockerfile D osmo-ran/split/ran-trx-ipc/Release.key M osmo-ran/split/ran-trx-uhd/Dockerfile D osmo-ran/split/ran-trx-uhd/Release.key M osmocom-bb-host-master/Dockerfile D osmocom-bb-host-master/Release.key 31 files changed, 14 insertions(+), 334 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/04/23304/4 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23304 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ic51d6e6557ee0b56d21d8ff4feaf04bc02e41a2e Gerrit-Change-Number: 23304 Gerrit-PatchSet: 4 Gerrit-Owner: 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 Mar 10 17:48:54 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 10 Mar 2021 17:48:54 +0000 Subject: Change in docker-playground[master]: make/Makefile: use git to get the project's root directory References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/23316 ) Change subject: make/Makefile: use git to get the project's root directory ...................................................................... make/Makefile: use git to get the project's root directory Change-Id: I87a425515692e62df7b593a3c2a5b88a765d217d --- M make/Makefile 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/16/23316/1 diff --git a/make/Makefile b/make/Makefile index 5280bef..f149291 100644 --- a/make/Makefile +++ b/make/Makefile @@ -41,7 +41,8 @@ OSMOCOM_REPO_VERSION?=latest # Use "nightly" to use the nightly repo -RELEASE_SUPPORT := $(shell dirname $(abspath $(lastword $(MAKEFILE_LIST))))/.make-release-support +ROOT_DIR=$(shell git rev-parse --show-toplevel) +RELEASE_SUPPORT := $(ROOT_DIR)/make/.make-release-support IMAGE?=$(REGISTRY_HOST)/$(USER)/$(NAME) VERSION?=$(shell . $(RELEASE_SUPPORT) ; getRelease) -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23316 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I87a425515692e62df7b593a3c2a5b88a765d217d Gerrit-Change-Number: 23316 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 Mar 10 23:42:02 2021 From: gerrit-no-reply at lists.osmocom.org (javi-tic) Date: Wed, 10 Mar 2021 23:42:02 +0000 Subject: Change in osmo-bsc[master]: Add vty command for Ericsson sync References: Message-ID: javi-tic has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23317 ) Change subject: Add vty command for Ericsson sync ...................................................................... Add vty command for Ericsson sync This commit adds support for Selection of syncronization source Options are internal for E1 and external for GPS Change-Id: Ia3d1acd6b3442238b35fc911092e12a6ac989adb --- M include/osmocom/bsc/abis_om2000.h M include/osmocom/bsc/bts.h M src/osmo-bsc/abis_om2000.c M src/osmo-bsc/abis_om2000_vty.c 4 files changed, 39 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/17/23317/1 diff --git a/include/osmocom/bsc/abis_om2000.h b/include/osmocom/bsc/abis_om2000.h index 62aef9d..51ec11b 100644 --- a/include/osmocom/bsc/abis_om2000.h +++ b/include/osmocom/bsc/abis_om2000.h @@ -43,6 +43,11 @@ OM2K_MO_S_DISABLED, }; +enum om2k_sync_src { + OM2K_SYNC_SRC_INTERNAL = 0x00, + OM2K_SYNC_SRC_EXTERNAL = 0x01, +}; + /* on-wire format for IS conn group */ struct om2k_is_conn_grp { uint16_t icp1; diff --git a/include/osmocom/bsc/bts.h b/include/osmocom/bsc/bts.h index 6b58c7e..70d72a5 100644 --- a/include/osmocom/bsc/bts.h +++ b/include/osmocom/bsc/bts.h @@ -378,6 +378,7 @@ uint16_t limit; uint16_t active; } om2k_version[16]; + int sync_src; } rbs2000; struct { uint8_t bts_type; diff --git a/src/osmo-bsc/abis_om2000.c b/src/osmo-bsc/abis_om2000.c index 90d558a..edcf8cf 100644 --- a/src/osmo-bsc/abis_om2000.c +++ b/src/osmo-bsc/abis_om2000.c @@ -1389,7 +1389,7 @@ fill_om2k_hdr(o2k, &bts->rbs2000.tf.om2k_mo.addr, OM2K_MSGT_TF_CONF_REQ); msgb_tv_put(msg, OM2K_DEI_TF_MODE, OM2K_TF_MODE_STANDALONE); - msgb_tv_put(msg, OM2K_DEI_TF_SYNC_SRC, 0x00); + msgb_tv_put(msg, OM2K_DEI_TF_SYNC_SRC, bts->rbs2000.sync_src); msgb_tv_fixed_put(msg, OM2K_DEI_FS_OFFSET, sizeof(fs_offset_undef), fs_offset_undef); DEBUGP(DNM, "Tx MO=%s %s\n", abis_om2k_mo_name(&bts->rbs2000.tf.om2k_mo.addr), @@ -3103,6 +3103,7 @@ bts_fi = om2k_bts_fsm_alloc(bts); bts->rbs2000.bts_fi = bts_fi; + bts->rbs2000.sync_src = OM2K_SYNC_SRC_INTERNAL; om2k_mo_init(&bts->rbs2000.cf.om2k_mo, OM2K_MO_CLS_CF, bts->nr, 0xFF, 0); om2k_mo_fsm_alloc(bts_fi, OM2K_BTS_EVT_CF_DONE, bts->c0, &bts->rbs2000.cf.om2k_mo); diff --git a/src/osmo-bsc/abis_om2000_vty.c b/src/osmo-bsc/abis_om2000_vty.c index ef063a1..7909fc7 100644 --- a/src/osmo-bsc/abis_om2000_vty.c +++ b/src/osmo-bsc/abis_om2000_vty.c @@ -81,6 +81,7 @@ "Central Function\n" \ "Transmitter\n" \ "Receiver\n" +#define OM2K_VTY_HELP "Configure OM2K specific parameters\n" DEFUN(om2k_class_inst, om2k_class_inst_cmd, "bts <0-255> om2000 class " OM2K_OBJCLASS_VTY @@ -475,10 +476,31 @@ return CMD_SUCCESS; } +DEFUN_USRATTR(cfg_bts_om2k_sync, cfg_bts_om2k_sync_cmd, + X(BSC_VTY_ATTR_RESTART_ABIS_OML_LINK), + "om2000 sync-source (internal|external)", + OM2K_VTY_HELP + "TF Synchronization Source\n" + "Use Internal (E1)\n" + "USe External (GPS)\n") +{ + struct gsm_bts *bts = vty->index; + if (bts->type != GSM_BTS_TYPE_RBS2000) { + vty_out(vty, "%% Command only works for RBS2000%s", + VTY_NEWLINE); + return CMD_WARNING; + } + if (!strcmp(argv[0], "internal")) + bts->rbs2000.sync_src = OM2K_SYNC_SRC_INTERNAL; + if (!strcmp(argv[0], "external")) + bts->rbs2000.sync_src = OM2K_SYNC_SRC_EXTERNAL; + return CMD_SUCCESS; +} + DEFUN_USRATTR(cfg_bts_om2k_version_limit, cfg_bts_om2k_version_limit_cmd, X(BSC_VTY_ATTR_RESTART_ABIS_OML_LINK), "om2000 version-limit (oml|rsl) gen <0-99> rev <0-99>", - "Configure OM2K specific parameters\n" + OM2K_VTY_HELP "Configure optional maximum protocol version to negotiate\n" "Limit OML IWD version\n" "Limit RSL IWD version\n" "Generation limit\n" @@ -656,6 +678,13 @@ (bts->rbs2000.om2k_version[i].limit >> 8), (bts->rbs2000.om2k_version[i].limit & 0xff), VTY_NEWLINE); + if (bts->rbs2000.sync_src >= 0) { + vty_out(vty, " om2000 sync-source %s%s", + bts->rbs2000.sync_src != OM2K_SYNC_SRC_EXTERNAL + ? "internal" : "external", + VTY_NEWLINE); + } + } static void vty_dump_om2k_mo(struct vty *vty, const struct om2k_mo *mo, const char *pfx) @@ -755,6 +784,7 @@ install_element(BTS_NODE, &cfg_bts_is_conn_list_cmd); install_element(BTS_NODE, &cfg_bts_alt_mode_cmd); + install_element(BTS_NODE, &cfg_bts_om2k_sync_cmd); install_element(BTS_NODE, &cfg_bts_om2k_version_limit_cmd); install_element(BTS_NODE, &cfg_om2k_con_group_cmd); install_element(BTS_NODE, &del_om2k_con_group_cmd); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23317 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia3d1acd6b3442238b35fc911092e12a6ac989adb Gerrit-Change-Number: 23317 Gerrit-PatchSet: 1 Gerrit-Owner: javi-tic Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 10 23:54:01 2021 From: gerrit-no-reply at lists.osmocom.org (javi-tic) Date: Wed, 10 Mar 2021 23:54:01 +0000 Subject: Change in osmo-bsc[master]: Add command to enable RX diversity to RBS2000 Allow selection of RX ... References: Message-ID: javi-tic has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23318 ) Change subject: Add command to enable RX diversity to RBS2000 Allow selection of RX diversity from VTY options are a,ab,b default is a so there is no change from previous behavior ...................................................................... Add command to enable RX diversity to RBS2000 Allow selection of RX diversity from VTY options are a,ab,b default is a so there is no change from previous behavior Change-Id: I430762b8cfa51060841d90ba4446de73bd557c6c --- M include/osmocom/bsc/abis_om2000.h M include/osmocom/bsc/bts_trx.h M src/osmo-bsc/abis_om2000.c M src/osmo-bsc/abis_om2000_vty.c M src/osmo-bsc/bts_ericsson_rbs2000.c 5 files changed, 63 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/18/23318/1 diff --git a/include/osmocom/bsc/abis_om2000.h b/include/osmocom/bsc/abis_om2000.h index 51ec11b..ee03583 100644 --- a/include/osmocom/bsc/abis_om2000.h +++ b/include/osmocom/bsc/abis_om2000.h @@ -48,6 +48,12 @@ OM2K_SYNC_SRC_EXTERNAL = 0x01, }; +enum om2k_rx_diversity { + OM2K_RX_DIVERSITY_A = 0x02, + OM2K_RX_DIVERSITY_AB = 0x03, + OM2K_RX_DIVERSITY_B = 0x01, +}; + /* on-wire format for IS conn group */ struct om2k_is_conn_grp { uint16_t icp1; @@ -151,6 +157,7 @@ struct vty; void abis_om2k_config_write_bts(struct vty *vty, struct gsm_bts *bts); +void abis_om2k_config_write_trx(struct vty *vty, struct gsm_bts_trx *trx); const char *abis_om2k_mo_name(const struct abis_om2k_mo *mo); diff --git a/include/osmocom/bsc/bts_trx.h b/include/osmocom/bsc/bts_trx.h index 85adc9b..998ed7a 100644 --- a/include/osmocom/bsc/bts_trx.h +++ b/include/osmocom/bsc/bts_trx.h @@ -76,6 +76,7 @@ struct { struct om2k_mo om2k_mo; } tx; + int rx_diversity; } rbs2000; }; struct gsm_bts_trx_ts ts[TRX_NR_TS]; diff --git a/src/osmo-bsc/abis_om2000.c b/src/osmo-bsc/abis_om2000.c index edcf8cf..61db437 100644 --- a/src/osmo-bsc/abis_om2000.c +++ b/src/osmo-bsc/abis_om2000.c @@ -1344,7 +1344,7 @@ /* OM2K_DEI_FREQ_SPEC_RX: Using trx_nr as "RX address" only works for single MCTR case */ msgb_tv16_put(msg, OM2K_DEI_FREQ_SPEC_RX, 0x8000 | ((uint16_t)trx->nr << 10)); - msgb_tv_put(msg, OM2K_DEI_RX_DIVERSITY, 0x02); /* A */ + msgb_tv_put(msg, OM2K_DEI_RX_DIVERSITY, trx->rbs2000.rx_diversity); return abis_om2k_sendmsg(trx->bts, msg); } @@ -1518,7 +1518,7 @@ msgb_tv_put(msg, OM2K_DEI_HSN, ts->hopping.hsn); msgb_tv_put(msg, OM2K_DEI_MAIO, ts->hopping.maio); msgb_tv_put(msg, OM2K_DEI_BSIC, ts->trx->bts->bsic); - msgb_tv_put(msg, OM2K_DEI_RX_DIVERSITY, 0x02); /* A */ + msgb_tv_put(msg, OM2K_DEI_RX_DIVERSITY, ts->trx->rbs2000.rx_diversity); msgb_tv16_put(msg, OM2K_DEI_FN_OFFSET, 0); msgb_tv_put(msg, OM2K_DEI_EXT_RANGE, 0); /* Off */ /* Optional: Interference Rejection Combining */ @@ -3076,6 +3076,7 @@ trx_fi = om2k_trx_fsm_alloc(trx->bts->rbs2000.bts_fi, trx, OM2K_BTS_EVT_TRX_DONE); trx->rbs2000.trx_fi = trx_fi; + trx->rbs2000.rx_diversity = OM2K_RX_DIVERSITY_A; om2k_mo_init(&trx->rbs2000.trxc.om2k_mo, OM2K_MO_CLS_TRXC, bts->nr, 255, trx->nr); om2k_mo_fsm_alloc(trx_fi, OM2K_TRX_EVT_TRXC_DONE, trx, &trx->rbs2000.trxc.om2k_mo); diff --git a/src/osmo-bsc/abis_om2000_vty.c b/src/osmo-bsc/abis_om2000_vty.c index 7909fc7..7050fc5 100644 --- a/src/osmo-bsc/abis_om2000_vty.c +++ b/src/osmo-bsc/abis_om2000_vty.c @@ -574,6 +574,32 @@ return CMD_SUCCESS; } +DEFUN_USRATTR(cfg_trx_om2k_rx_diversity, + cfg_trx_om2k_rx_diversity_cmd, + X(BSC_VTY_ATTR_RESTART_ABIS_RSL_LINK), + "om2000 rx-diversity-mode (a|ab|b)", + OM2K_VTY_HELP + "RX Diversity\n" + "Antenna TX/RX (A)\n" + "Antenna RX (B)\n" + "Both\n") +{ + struct gsm_bts_trx *trx = vty->index; + + if (trx->bts->type != GSM_BTS_TYPE_RBS2000) { + vty_out(vty, "%% Command only works for RBS2000%s", + VTY_NEWLINE); + return CMD_WARNING; + } + + if (!strcmp(argv[0], "a")) + trx->rbs2000.rx_diversity = OM2K_RX_DIVERSITY_A; + if (!strcmp(argv[0], "ab")) + trx->rbs2000.rx_diversity = OM2K_RX_DIVERSITY_AB; + if (!strcmp(argv[0], "b")) + trx->rbs2000.rx_diversity = OM2K_RX_DIVERSITY_B; + return CMD_SUCCESS; +} DEFUN(om2k_conf_req, om2k_conf_req_cmd, "configuration-request", @@ -653,6 +679,24 @@ } } +const struct value_string om2k_rx_diversity_names[4] = { + { OM2K_RX_DIVERSITY_A, "a" }, + { OM2K_RX_DIVERSITY_AB, "ab" }, + { OM2K_RX_DIVERSITY_B, "b" }, + { 0, NULL } +}; + +const char *rx_diversity2str(enum om2k_rx_diversity type) +{ + return get_value_string(om2k_rx_diversity_names, type); +} + +void abis_om2k_config_write_trx(struct vty *vty, struct gsm_bts_trx *trx) +{ + vty_out(vty, " om2000 rx-diversity-mode %s%s", + rx_diversity2str(trx->rbs2000.rx_diversity), VTY_NEWLINE); +} + void abis_om2k_config_write_bts(struct vty *vty, struct gsm_bts *bts) { struct is_conn_group *igrp; @@ -789,5 +833,7 @@ install_element(BTS_NODE, &cfg_om2k_con_group_cmd); install_element(BTS_NODE, &del_om2k_con_group_cmd); + install_element(TRX_NODE, &cfg_trx_om2k_rx_diversity_cmd); + return 0; } diff --git a/src/osmo-bsc/bts_ericsson_rbs2000.c b/src/osmo-bsc/bts_ericsson_rbs2000.c index fa0dab8..7d29657 100644 --- a/src/osmo-bsc/bts_ericsson_rbs2000.c +++ b/src/osmo-bsc/bts_ericsson_rbs2000.c @@ -174,6 +174,11 @@ abis_om2k_config_write_bts(vty, bts); } +static void config_write_trx(struct vty *vty, struct gsm_bts_trx *trx) +{ + abis_om2k_config_write_trx(vty, trx); +} + static int bts_model_rbs2k_start(struct gsm_network *net); static void bts_model_rbs2k_e1line_bind_ops(struct e1inp_line *line) @@ -201,6 +206,7 @@ .trx_init = bts_model_rbs2k_trx_init, .oml_rcvmsg = &abis_om2k_rcvmsg, .config_write_bts = &config_write_bts, + .config_write_trx = &config_write_trx, .e1line_bind_ops = &bts_model_rbs2k_e1line_bind_ops, }; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23318 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I430762b8cfa51060841d90ba4446de73bd557c6c Gerrit-Change-Number: 23318 Gerrit-PatchSet: 1 Gerrit-Owner: javi-tic Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 11 00:00:52 2021 From: gerrit-no-reply at lists.osmocom.org (javi-tic) Date: Thu, 11 Mar 2021 00:00:52 +0000 Subject: Change in osmo-bsc[master]: Add command to enable RX diversity to RBS2000 In-Reply-To: References: Message-ID: javi-tic has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-bsc/+/23318 ) Change subject: Add command to enable RX diversity to RBS2000 ...................................................................... Add command to enable RX diversity to RBS2000 Allow selection of RX diversity from VTY options are a,ab,b default is a so there is no change from previous behavior Change-Id: I430762b8cfa51060841d90ba4446de73bd557c6c --- M include/osmocom/bsc/abis_om2000.h M include/osmocom/bsc/bts_trx.h M src/osmo-bsc/abis_om2000.c M src/osmo-bsc/abis_om2000_vty.c M src/osmo-bsc/bts_ericsson_rbs2000.c 5 files changed, 63 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/18/23318/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23318 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I430762b8cfa51060841d90ba4446de73bd557c6c Gerrit-Change-Number: 23318 Gerrit-PatchSet: 2 Gerrit-Owner: javi-tic Gerrit-CC: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 11 00:08:34 2021 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Thu, 11 Mar 2021 00:08:34 +0000 Subject: Change in osmo-bsc[master]: Add vty command for Ericsson sync In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23317 ) Change subject: Add vty command for Ericsson sync ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/23317/1/src/osmo-bsc/abis_om2000_vty.c File src/osmo-bsc/abis_om2000_vty.c: https://gerrit.osmocom.org/c/osmo-bsc/+/23317/1/src/osmo-bsc/abis_om2000_vty.c at 481 PS1, Line 481: "om2000 sync-source (internal|external)", Alternative names for these options might be PCM/GPS, these are the values that the Ericsson OMT reports in the status monitor. internal/external was suggested in some channel and maybe makes more sense. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23317 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia3d1acd6b3442238b35fc911092e12a6ac989adb Gerrit-Change-Number: 23317 Gerrit-PatchSet: 1 Gerrit-Owner: javi-tic Gerrit-Reviewer: Jenkins Builder Gerrit-CC: keith Gerrit-Comment-Date: Thu, 11 Mar 2021 00:08: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 Thu Mar 11 00:23:07 2021 From: gerrit-no-reply at lists.osmocom.org (javi-tic) Date: Thu, 11 Mar 2021 00:23:07 +0000 Subject: Change in osmo-bsc[master]: Add vty command for Ericsson RBS2000 sync 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/+/23317 to look at the new patch set (#2). Change subject: Add vty command for Ericsson RBS2000 sync ...................................................................... Add vty command for Ericsson RBS2000 sync This commit adds support for Selection of syncronization source Options are internal for E1 and external for GPS Change-Id: Ia3d1acd6b3442238b35fc911092e12a6ac989adb --- M include/osmocom/bsc/abis_om2000.h M include/osmocom/bsc/bts.h M src/osmo-bsc/abis_om2000.c M src/osmo-bsc/abis_om2000_vty.c 4 files changed, 39 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/17/23317/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23317 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia3d1acd6b3442238b35fc911092e12a6ac989adb Gerrit-Change-Number: 23317 Gerrit-PatchSet: 2 Gerrit-Owner: javi-tic Gerrit-Reviewer: Jenkins Builder Gerrit-CC: keith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 11 00:23:07 2021 From: gerrit-no-reply at lists.osmocom.org (javi-tic) Date: Thu, 11 Mar 2021 00:23:07 +0000 Subject: Change in osmo-bsc[master]: Add command to enable RX diversity to RBS2000 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/+/23318 to look at the new patch set (#3). Change subject: Add command to enable RX diversity to RBS2000 ...................................................................... Add command to enable RX diversity to RBS2000 Allow selection of RX diversity from VTY options are a,ab,b default is a so there is no change from previous behavior Change-Id: I430762b8cfa51060841d90ba4446de73bd557c6c --- M include/osmocom/bsc/abis_om2000.h M include/osmocom/bsc/bts_trx.h M src/osmo-bsc/abis_om2000.c M src/osmo-bsc/abis_om2000_vty.c M src/osmo-bsc/bts_ericsson_rbs2000.c 5 files changed, 63 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/18/23318/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23318 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I430762b8cfa51060841d90ba4446de73bd557c6c Gerrit-Change-Number: 23318 Gerrit-PatchSet: 3 Gerrit-Owner: javi-tic Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 11 00:34:52 2021 From: gerrit-no-reply at lists.osmocom.org (javi-tic) Date: Thu, 11 Mar 2021 00:34:52 +0000 Subject: Change in osmo-bsc[master]: Add command to enable RX diversity to RBS2000 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/+/23318 to look at the new patch set (#4). Change subject: Add command to enable RX diversity to RBS2000 ...................................................................... Add command to enable RX diversity to RBS2000 Allow selection of RX diversity from VTY Options are a,ab,b Default is 'a' so there is no change from previous behavior Change-Id: I430762b8cfa51060841d90ba4446de73bd557c6c --- M include/osmocom/bsc/abis_om2000.h M include/osmocom/bsc/bts_trx.h M src/osmo-bsc/abis_om2000.c M src/osmo-bsc/abis_om2000_vty.c M src/osmo-bsc/bts_ericsson_rbs2000.c 5 files changed, 63 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/18/23318/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23318 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I430762b8cfa51060841d90ba4446de73bd557c6c Gerrit-Change-Number: 23318 Gerrit-PatchSet: 4 Gerrit-Owner: javi-tic Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 11 00:43:10 2021 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Thu, 11 Mar 2021 00:43:10 +0000 Subject: Change in osmo-bsc[master]: Add command to enable RX diversity to RBS2000 In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23318 ) Change subject: Add command to enable RX diversity to RBS2000 ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/23318/4/src/osmo-bsc/abis_om2000_vty.c File src/osmo-bsc/abis_om2000_vty.c: https://gerrit.osmocom.org/c/osmo-bsc/+/23318/4/src/osmo-bsc/abis_om2000_vty.c at 580 PS4, Line 580: "om2000 rx-diversity-mode (a|ab|b)", Here I had originally capitalised A, AB. Not really sure if there is a preference. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23318 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I430762b8cfa51060841d90ba4446de73bd557c6c Gerrit-Change-Number: 23318 Gerrit-PatchSet: 4 Gerrit-Owner: javi-tic Gerrit-Reviewer: Jenkins Builder Gerrit-CC: keith Gerrit-Comment-Date: Thu, 11 Mar 2021 00:43:10 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Thu Mar 11 01:41:33 2021 From: admin at opensuse.org (OBS Notification) Date: Thu, 11 Mar 2021 01:41:33 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <6049755da780a_14252b13a9ad06001955ad@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_20.04/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_20.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 162s] [COMPILING apps/dfu/main.c] [ 162s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 162s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 162s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 163s] Memory region Used Size Region Size %age Used [ 163s] rom: 16600 B 16 KB 101.32% [ 163s] ram: 11688 B 48 KB 23.78/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 163s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 163s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 163s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 163s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 163s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 163s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 216 bytes [ 163s] collect2: error: ld returned 1 exit status [ 163s] % [ 163s] make[2]: *** [Makefile:230: flash] Error 1 [ 163s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 163s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 163s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 163s] dh_auto_build: error: make -j1 returned exit code 2 [ 163s] make: *** [debian/rules:16: build] Error 25 [ 163s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 163s] ### VM INTERACTION START ### [ 166s] [ 154.372793] sysrq: Power Off [ 166s] [ 154.388960] reboot: Power down [ 166s] ### VM INTERACTION END ### [ 166s] [ 166s] lamb15 failed "build simtrace2_0.7.0.76.62ad.dsc" at Thu Mar 11 01:41:21 UTC 2021. [ 166s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Mar 11 01:50:25 2021 From: admin at opensuse.org (OBS Notification) Date: Thu, 11 Mar 2021 01:50:25 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.10/x86_64 In-Reply-To: References: Message-ID: <6049777c18f90_14252b13a9ad06001971f2@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_20.10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_20.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 523s] [COMPILING libboard/qmod/source/board_qmod.c] [ 523s] [COMPILING libboard/qmod/source/card_pres.c] [ 523s] [COMPILING libboard/qmod/source/i2c.c] [ 524s] [COMPILING libboard/qmod/source/wwan_led.c] [ 524s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 524s] [COMPILING apps/dfu/main.c] [ 524s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 525s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 525s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 525s] Memory region Used Size Region Size %age Used [ 525s] rom: 16592 B 16 KB 101.27% [ 525s] ram: 11680 B 48 KB 23.76/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 525s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 208 bytes [ 525s] collect2: error: ld returned 1 exit status [ 525s] % [ 525s] make[2]: *** [Makefile:230: flash] Error 1 [ 525s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 525s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 525s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 525s] dh_auto_build: error: make -j1 returned exit code 2 [ 525s] make: *** [debian/rules:16: build] Error 25 [ 525s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 526s] ### VM INTERACTION START ### [ 529s] [ 473.813894] sysrq: Power Off [ 529s] [ 473.875394] reboot: Power down [ 529s] ### VM INTERACTION END ### [ 529s] [ 529s] lamb54 failed "build simtrace2_0.7.0.76.62ad.dsc" at Thu Mar 11 01:50:24 UTC 2021. [ 529s] -- 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 Mar 11 08:54:15 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 11 Mar 2021 08:54:15 +0000 Subject: Change in osmo-gbproxy[master]: gbproxy: Don't free NSE/BVC0 if SGSN NSE goes down References: Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/23319 ) Change subject: gbproxy: Don't free NSE/BVC0 if SGSN NSE goes down ...................................................................... gbproxy: Don't free NSE/BVC0 if SGSN NSE goes down SGSN NSEs are static and should not be removed. Instead remove all PtP-BVCs. BVC0 can't be blocked and will be reset after the NSE becomes available again. It might be cleaner to remove BVC0 on NS failure and create it again, but that change is a bit more complicated. Fixes ttcn3 test after commit f96cac5077 broke them. Related: OS#4897 Change-Id: Ie0cef38e4423b672f5cba35ae7fc3eb2c4071d5a --- M src/gb_proxy.c 1 file changed, 9 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gbproxy refs/changes/19/23319/1 diff --git a/src/gb_proxy.c b/src/gb_proxy.c index c07c36b..c01c5c6 100644 --- a/src/gb_proxy.c +++ b/src/gb_proxy.c @@ -1522,6 +1522,7 @@ /* TODO: bss nsei available/unavailable bssgp_tx_simple_bvci(BSSGP_PDUT_BVC_BLOCK, nsvc->nsei, bvc->bvci, 0); */ + int i; struct gbproxy_bvc *bvc; struct gbproxy_nse *nse; @@ -1552,12 +1553,17 @@ break; } if (nse->sgsn_facing) { + struct hlist_node *ntmp; /* SGSN */ /* TODO: When to block all PtP towards bss? Only if all SGSN are down? */ + hash_for_each_safe(nse->bvcs, i, ntmp, bvc, list) { + if (bvc->bvci == 0) + continue; + gbproxy_bvc_free(bvc); + } rate_ctr_inc(&cfg->ctrg-> ctr[GBPROX_GLOB_CTR_RESTART_RESET_SGSN]); } else { - int i; /* BSS became unavailable * Block matching PtP-BVCs on SGSN-side */ hash_for_each(nse->bvcs, i, bvc, list) { @@ -1576,10 +1582,9 @@ } } - + /* This frees the BVCs for us as well */ + gbproxy_nse_free(nse); } - /* This frees the BVCs for us as well */ - gbproxy_nse_free(nse); LOGP(DGPRS, LOGL_NOTICE, "NS-NSE %d became unavailable\n", nsp->nsei); break; default: -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/23319 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: Ie0cef38e4423b672f5cba35ae7fc3eb2c4071d5a Gerrit-Change-Number: 23319 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 Mar 11 09:23:26 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 11 Mar 2021 09:23:26 +0000 Subject: Change in docker-playground[master]: make/Makefile: use git to get the project's root directory In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23316 ) Change subject: make/Makefile: use git to get the project's root directory ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23316 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I87a425515692e62df7b593a3c2a5b88a765d217d Gerrit-Change-Number: 23316 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 11 Mar 2021 09:23: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 Mar 11 09:23:32 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 11 Mar 2021 09:23:32 +0000 Subject: Change in docker-playground[master]: Make respawn.sh a common part of *-build/-obs images In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23303 ) Change subject: Make respawn.sh a common part of *-build/-obs images ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23303 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I3ec86c8610b3b43d39ea8e3da444861d317ced4e Gerrit-Change-Number: 23303 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 11 Mar 2021 09:23:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 11 09:27:24 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 11 Mar 2021 09:27:24 +0000 Subject: Change in docker-playground[master]: Share a single instance of Release.key between all images In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23304 ) Change subject: Share a single instance of Release.key between all images ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23304 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ic51d6e6557ee0b56d21d8ff4feaf04bc02e41a2e Gerrit-Change-Number: 23304 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 11 Mar 2021 09:27:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 11 09:31:17 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 11 Mar 2021 09:31:17 +0000 Subject: Change in osmo-gbproxy[master]: gbproxy: Don't free NSE/BVC0 if SGSN NSE goes down In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/23319 ) Change subject: gbproxy: Don't free NSE/BVC0 if SGSN NSE goes down ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/23319 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: Ie0cef38e4423b672f5cba35ae7fc3eb2c4071d5a Gerrit-Change-Number: 23319 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 11 Mar 2021 09: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 Thu Mar 11 13:18:15 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 11 Mar 2021 13:18:15 +0000 Subject: Change in pysim[master]: filesystem: case insensitive select. In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23205 ) Change subject: filesystem: case insensitive select. ...................................................................... Patch Set 2: > Patch Set 1: Code-Review-1 > > I'm not entirely sure if we want that, at least not for file names. Pepople using unix-like operating systems are used to file names being case sensitive anyway. > > For hexadecimal FIDs, I agree with you, they should ideally be selectable both by upper case and lower case. > > However, I don't like the idea of doubling the number of entries in the auto-completion array. This will just make the list of choices when entering extremely long with no benefit to the user. > > We will need to implement this in a way without changing the autocompletion array/dict. Maybe simply have tab-completion only for the lower case version, but when the user manually entres an upper-case hex string convert that to lowercase before doing the dict lookup? This implementation does not touch the auto-completion array (yet). However when using this it turned out to be a bit clumsy anyway since the lowercase versions of the file names are still missing from the auto completion I ended up using the uppercase names anyway, so its probably not needed anyway. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23205 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ibe283a108ddc9058af77c823b7222db555e1e0f6 Gerrit-Change-Number: 23205 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: dexter Gerrit-Comment-Date: Thu, 11 Mar 2021 13:18: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 Thu Mar 11 13:43:09 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 11 Mar 2021 13:43:09 +0000 Subject: Change in pysim[master]: filesystem: be case insensitive when selecting files by fid (HEX) In-Reply-To: References: Message-ID: dexter has uploaded a new patch set (#3) to the change originally created by laforge. ( https://gerrit.osmocom.org/c/pysim/+/23205 ) Change subject: filesystem: be case insensitive when selecting files by fid (HEX) ...................................................................... filesystem: be case insensitive when selecting files by fid (HEX) The file identifier (and allso application ids for ADFs), are hexadecimal. We should be case insensitive when accepting hex identifiers but file names should still be full matched. Change-Id: Ibe283a108ddc9058af77c823b7222db555e1e0f6 Related: OS#4963 --- M pySim/filesystem.py 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/05/23205/3 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23205 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ibe283a108ddc9058af77c823b7222db555e1e0f6 Gerrit-Change-Number: 23205 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: dexter Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 11 13:43:10 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 11 Mar 2021 13:43:10 +0000 Subject: Change in pysim[master]: utils: add is_hex function to check hex strings References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/23320 ) Change subject: utils: add is_hex function to check hex strings ...................................................................... utils: add is_hex function to check hex strings since we have added pySim-shell.py that has a lot of locations where the user can enter hexadecimal data there is an increased need for input validation. Lets add a central is_hex function that verifies hex strings. Change-Id: Ia29a13c9215357dd2adf141f2ef222c823f8456d --- M pySim/utils.py 1 file changed, 22 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/20/23320/1 diff --git a/pySim/utils.py b/pySim/utils.py index 6dbd980..e92dbdf 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -577,6 +577,28 @@ return s +def is_hex(string, minlen=2, maxlen=None) -> bool: + """ + Check if a string is a valid hexstring + """ + + # Filter obviously bad strings + if not string: + return False + if len(string) < minlen or minlen < 2: + return False + if len(string) % 2: + return False + if maxlen and len(string) > maxlen: + return False + + # Try actual encoding to be sure + try: + try_encode = h2b(string) + return True + except: + return False + def sanitize_pin_adm(pin_adm, pin_adm_hex = None): """ The ADM pin can be supplied either in its hexadecimal form or as -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23320 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ia29a13c9215357dd2adf141f2ef222c823f8456d Gerrit-Change-Number: 23320 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 Mar 11 14:04:50 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 11 Mar 2021 14:04:50 +0000 Subject: Change in docker-playground[master]: make/Makefile: use git to get the project's root directory In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23316 ) Change subject: make/Makefile: use git to get the project's root directory ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23316 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I87a425515692e62df7b593a3c2a5b88a765d217d Gerrit-Change-Number: 23316 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 11 Mar 2021 14:04: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 Mar 11 14:06:06 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 11 Mar 2021 14:06:06 +0000 Subject: Change in docker-playground[master]: Make respawn.sh a common part of *-build/-obs images In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23303 ) Change subject: Make respawn.sh a common part of *-build/-obs images ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23303 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I3ec86c8610b3b43d39ea8e3da444861d317ced4e Gerrit-Change-Number: 23303 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 11 Mar 2021 14:06:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 11 14:06:27 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 11 Mar 2021 14:06:27 +0000 Subject: Change in docker-playground[master]: Share a single instance of Release.key between all images In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23304 ) Change subject: Share a single instance of Release.key between all images ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23304 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ic51d6e6557ee0b56d21d8ff4feaf04bc02e41a2e Gerrit-Change-Number: 23304 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 11 Mar 2021 14:06: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 Mar 11 14:07:31 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 11 Mar 2021 14:07:31 +0000 Subject: Change in docker-playground[master]: make/Makefile: use git to get the project's root directory In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23316 ) Change subject: make/Makefile: use git to get the project's root directory ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23316 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I87a425515692e62df7b593a3c2a5b88a765d217d Gerrit-Change-Number: 23316 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 11 Mar 2021 14:07:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 11 14:07:35 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 11 Mar 2021 14:07:35 +0000 Subject: Change in docker-playground[master]: Make respawn.sh a common part of *-build/-obs images In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23303 ) Change subject: Make respawn.sh a common part of *-build/-obs images ...................................................................... Patch Set 4: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23303 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I3ec86c8610b3b43d39ea8e3da444861d317ced4e Gerrit-Change-Number: 23303 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 11 Mar 2021 14: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 Thu Mar 11 14:07:42 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 11 Mar 2021 14:07:42 +0000 Subject: Change in docker-playground[master]: Share a single instance of Release.key between all images In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23304 ) Change subject: Share a single instance of Release.key between all images ...................................................................... Patch Set 4: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23304 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ic51d6e6557ee0b56d21d8ff4feaf04bc02e41a2e Gerrit-Change-Number: 23304 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 11 Mar 2021 14:07:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 11 14:07:46 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 11 Mar 2021 14:07:46 +0000 Subject: Change in osmo-gbproxy[master]: gbproxy: Don't free NSE/BVC0 if SGSN NSE goes down In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/23319 ) Change subject: gbproxy: Don't free NSE/BVC0 if SGSN NSE goes down ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/23319 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: Ie0cef38e4423b672f5cba35ae7fc3eb2c4071d5a Gerrit-Change-Number: 23319 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 11 Mar 2021 14:07: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 Mar 11 14:07:46 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 11 Mar 2021 14:07:46 +0000 Subject: Change in docker-playground[master]: make/Makefile: use git to get the project's root directory In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23316 ) Change subject: make/Makefile: use git to get the project's root directory ...................................................................... make/Makefile: use git to get the project's root directory Change-Id: I87a425515692e62df7b593a3c2a5b88a765d217d --- M make/Makefile 1 file changed, 2 insertions(+), 1 deletion(-) Approvals: osmith: Looks good to me, but someone else must approve pespin: Looks good to me, approved fixeria: Verified diff --git a/make/Makefile b/make/Makefile index 5280bef..f149291 100644 --- a/make/Makefile +++ b/make/Makefile @@ -41,7 +41,8 @@ OSMOCOM_REPO_VERSION?=latest # Use "nightly" to use the nightly repo -RELEASE_SUPPORT := $(shell dirname $(abspath $(lastword $(MAKEFILE_LIST))))/.make-release-support +ROOT_DIR=$(shell git rev-parse --show-toplevel) +RELEASE_SUPPORT := $(ROOT_DIR)/make/.make-release-support IMAGE?=$(REGISTRY_HOST)/$(USER)/$(NAME) VERSION?=$(shell . $(RELEASE_SUPPORT) ; getRelease) -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23316 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I87a425515692e62df7b593a3c2a5b88a765d217d Gerrit-Change-Number: 23316 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 11 14:07:47 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 11 Mar 2021 14:07:47 +0000 Subject: Change in docker-playground[master]: Make respawn.sh a common part of *-build/-obs images In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23303 ) Change subject: Make respawn.sh a common part of *-build/-obs images ...................................................................... Make respawn.sh a common part of *-build/-obs images Maintaining several versions of the same file in different folders is a bad idea, because at some point their content gets out of sync. This is exactly what happened to 'respawn.sh': sleep()ing was only implemented in 'osmo-bts-master/respawn.sh', other versions of this file would simply ignore '$SLEEP_BEFORE_RESPAWN'. The easiest solution would be to have all common files in a single directory, however Docker does not allow to ADD files from outside of the build context. In other words, all files must be in the same directory as the Dockerfile itself. Modify 'make/Makefile' in order to copy the contents of common directory to the current build context ('pre-build' target) and remove it after building ('post-build' target). Change-Id: I3ec86c8610b3b43d39ea8e3da444861d317ced4e --- M .gitignore M centos8-build/Dockerfile M centos8-obs-latest/Dockerfile R common/respawn.sh M debian-buster-build/Dockerfile M debian-jessie-build/Dockerfile M debian-sid-build/Dockerfile M debian-stretch-obs-latest/Dockerfile M make/Makefile M osmo-bts-latest/Dockerfile D osmo-bts-latest/respawn.sh M osmo-bts-master/Dockerfile M osmo-pcu-latest/Dockerfile D osmo-pcu-latest/respawn.sh M osmo-pcu-master/Dockerfile D osmo-pcu-master/respawn.sh 16 files changed, 22 insertions(+), 53 deletions(-) Approvals: osmith: Looks good to me, but someone else must approve pespin: Looks good to me, approved fixeria: Verified diff --git a/.gitignore b/.gitignore index 0aba0f6..386d3f8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ .release +.common /_cache diff --git a/centos8-build/Dockerfile b/centos8-build/Dockerfile index 412816c..001c161 100644 --- a/centos8-build/Dockerfile +++ b/centos8-build/Dockerfile @@ -50,5 +50,8 @@ sqlite-devel \ telnet +# Make respawn.sh part of this image, so it can be used by other images based on it +COPY .common/respawn.sh /usr/local/bin/respawn.sh + # Invalidate cache once the repository is updated ADD $OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/latest/CentOS_8/repodata/repomd.xml /tmp/repomd.xml diff --git a/centos8-obs-latest/Dockerfile b/centos8-obs-latest/Dockerfile index 4b2357b..a9dfc9b 100644 --- a/centos8-obs-latest/Dockerfile +++ b/centos8-obs-latest/Dockerfile @@ -17,5 +17,8 @@ RUN dnf install -y \ telnet +# Make respawn.sh part of this image, so it can be used by other images based on it +COPY .common/respawn.sh /usr/local/bin/respawn.sh + # Invalidate cache once the repository is updated ADD $OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/latest/CentOS_8/repodata/repomd.xml /tmp/repomd.xml diff --git a/osmo-bts-master/respawn.sh b/common/respawn.sh similarity index 100% rename from osmo-bts-master/respawn.sh rename to common/respawn.sh diff --git a/debian-buster-build/Dockerfile b/debian-buster-build/Dockerfile index 119afea..2625e9e 100644 --- a/debian-buster-build/Dockerfile +++ b/debian-buster-build/Dockerfile @@ -52,3 +52,6 @@ stow \ wget && \ apt-get clean + +# Make respawn.sh part of this image, so it can be used by other images based on it +COPY .common/respawn.sh /usr/local/bin/respawn.sh diff --git a/debian-jessie-build/Dockerfile b/debian-jessie-build/Dockerfile index 60f6ca9..b043762 100644 --- a/debian-jessie-build/Dockerfile +++ b/debian-jessie-build/Dockerfile @@ -52,3 +52,6 @@ stow \ wget && \ apt-get clean + +# Make respawn.sh part of this image, so it can be used by other images based on it +COPY .common/respawn.sh /usr/local/bin/respawn.sh diff --git a/debian-sid-build/Dockerfile b/debian-sid-build/Dockerfile index ffa86e2..f4fe990 100644 --- a/debian-sid-build/Dockerfile +++ b/debian-sid-build/Dockerfile @@ -50,3 +50,6 @@ sqlite3 \ wget && \ apt-get clean + +# Make respawn.sh part of this image, so it can be used by other images based on it +COPY .common/respawn.sh /usr/local/bin/respawn.sh diff --git a/debian-stretch-obs-latest/Dockerfile b/debian-stretch-obs-latest/Dockerfile index 3bef05c..04f831d 100644 --- a/debian-stretch-obs-latest/Dockerfile +++ b/debian-stretch-obs-latest/Dockerfile @@ -18,5 +18,8 @@ rm /tmp/Release.key && \ echo "deb " $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-latest.list +# Make respawn.sh part of this image, so it can be used by other images based on it +COPY .common/respawn.sh /usr/local/bin/respawn.sh + # Invalidate cache once the repository is updated ADD $OSMOCOM_REPO/Release /tmp/Release diff --git a/make/Makefile b/make/Makefile index f149291..d2cacf3 100644 --- a/make/Makefile +++ b/make/Makefile @@ -55,9 +55,12 @@ build: pre-build docker-build post-build pre-build: + rm -rf .common + cp -r $(ROOT_DIR)/common .common post-build: + rm -rf .common post-push: diff --git a/osmo-bts-latest/Dockerfile b/osmo-bts-latest/Dockerfile index 202a29c..2b41968 100644 --- a/osmo-bts-latest/Dockerfile +++ b/osmo-bts-latest/Dockerfile @@ -20,8 +20,6 @@ ;; \ esac -ADD respawn.sh /usr/local/bin/respawn.sh - WORKDIR /tmp VOLUME /data diff --git a/osmo-bts-latest/respawn.sh b/osmo-bts-latest/respawn.sh deleted file mode 100755 index 2413916..0000000 --- a/osmo-bts-latest/respawn.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh - -trap "kill 0" EXIT - -i=0 -max_i=500 -while [ $i -lt $max_i ]; do - echo "$i: starting: $*" - $* & - LAST_PID=$! - wait $LAST_PID - echo "$i: stopped pid $LAST_PID with status $?" - i=$(expr $i + 1) -done -echo "exiting after $max_i runs" diff --git a/osmo-bts-master/Dockerfile b/osmo-bts-master/Dockerfile index 13df628..77c1e51 100644 --- a/osmo-bts-master/Dockerfile +++ b/osmo-bts-master/Dockerfile @@ -30,8 +30,6 @@ ;; \ esac -ADD respawn.sh /usr/local/bin/respawn.sh - WORKDIR /tmp ARG OSMO_BTS_BRANCH="master" diff --git a/osmo-pcu-latest/Dockerfile b/osmo-pcu-latest/Dockerfile index 622f933..7f1b3ac 100644 --- a/osmo-pcu-latest/Dockerfile +++ b/osmo-pcu-latest/Dockerfile @@ -17,8 +17,6 @@ ;; \ esac -ADD respawn.sh /usr/local/bin/respawn.sh - WORKDIR /tmp VOLUME /data diff --git a/osmo-pcu-latest/respawn.sh b/osmo-pcu-latest/respawn.sh deleted file mode 100755 index 2413916..0000000 --- a/osmo-pcu-latest/respawn.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh - -trap "kill 0" EXIT - -i=0 -max_i=500 -while [ $i -lt $max_i ]; do - echo "$i: starting: $*" - $* & - LAST_PID=$! - wait $LAST_PID - echo "$i: stopped pid $LAST_PID with status $?" - i=$(expr $i + 1) -done -echo "exiting after $max_i runs" diff --git a/osmo-pcu-master/Dockerfile b/osmo-pcu-master/Dockerfile index f8e6ded..41cd6d5 100644 --- a/osmo-pcu-master/Dockerfile +++ b/osmo-pcu-master/Dockerfile @@ -21,8 +21,6 @@ ;; \ esac -ADD respawn.sh /usr/local/bin/respawn.sh - WORKDIR /tmp ARG OSMO_PCU_BRANCH="master" diff --git a/osmo-pcu-master/respawn.sh b/osmo-pcu-master/respawn.sh deleted file mode 100755 index 2413916..0000000 --- a/osmo-pcu-master/respawn.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh - -trap "kill 0" EXIT - -i=0 -max_i=500 -while [ $i -lt $max_i ]; do - echo "$i: starting: $*" - $* & - LAST_PID=$! - wait $LAST_PID - echo "$i: stopped pid $LAST_PID with status $?" - i=$(expr $i + 1) -done -echo "exiting after $max_i runs" -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23303 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I3ec86c8610b3b43d39ea8e3da444861d317ced4e Gerrit-Change-Number: 23303 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria 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 Mar 11 14:07:47 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 11 Mar 2021 14:07:47 +0000 Subject: Change in docker-playground[master]: Share a single instance of Release.key between all images In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23304 ) Change subject: Share a single instance of Release.key between all images ...................................................................... Share a single instance of Release.key between all images This change employs the same approach as [1] for Release.key. Change-Id: Ic51d6e6557ee0b56d21d8ff4feaf04bc02e41a2e Related: [1] I3ec86c8610b3b43d39ea8e3da444861d317ced4e --- D Release.key R common/Release.key M debian-buster-erlang/Dockerfile D debian-buster-erlang/Release.key M debian-buster-simtrace2/Dockerfile D debian-buster-simtrace2/Release.key M debian-jessie-osmocom/Dockerfile D debian-jessie-osmocom/Release.key D debian-stretch-build-dist/Release.key M debian-stretch-build/Dockerfile D debian-stretch-build/Release.key M debian-stretch-jenkins/Dockerfile D debian-stretch-jenkins/Release.key M debian-stretch-obs-latest/Dockerfile D debian-stretch-obs-latest/Release.key M debian-stretch-titan/Dockerfile D debian-stretch-titan/Release.key M osmo-gsm-tester/Dockerfile D osmo-gsm-tester/Release.key D osmo-msc-latest/Release.key M osmo-ran/Dockerfile M osmo-ran/split/ran-bsc_mgw/Dockerfile D osmo-ran/split/ran-bsc_mgw/Release.key M osmo-ran/split/ran-bts_pcu/Dockerfile D osmo-ran/split/ran-bts_pcu/Release.key M osmo-ran/split/ran-trx-ipc/Dockerfile D osmo-ran/split/ran-trx-ipc/Release.key M osmo-ran/split/ran-trx-uhd/Dockerfile D osmo-ran/split/ran-trx-uhd/Release.key M osmocom-bb-host-master/Dockerfile D osmocom-bb-host-master/Release.key 31 files changed, 14 insertions(+), 334 deletions(-) Approvals: osmith: Looks good to me, but someone else must approve pespin: Looks good to me, approved fixeria: Verified diff --git a/Release.key b/Release.key deleted file mode 100644 index a737316..0000000 --- a/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-ran/Release.key b/common/Release.key similarity index 100% rename from osmo-ran/Release.key rename to common/Release.key diff --git a/debian-buster-erlang/Dockerfile b/debian-buster-erlang/Dockerfile index 401abe6..e909731 100644 --- a/debian-buster-erlang/Dockerfile +++ b/debian-buster-erlang/Dockerfile @@ -41,7 +41,7 @@ # add osmocom latest repo, should we ever require packages from there RUN apt-get update && apt-get install -y \ gnupg -COPY Release.key /tmp/Release.key +COPY .common/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-latest.list diff --git a/debian-buster-erlang/Release.key b/debian-buster-erlang/Release.key deleted file mode 100644 index a737316..0000000 --- a/debian-buster-erlang/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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/debian-buster-simtrace2/Dockerfile b/debian-buster-simtrace2/Dockerfile index bac3c22..e07e65a 100644 --- a/debian-buster-simtrace2/Dockerfile +++ b/debian-buster-simtrace2/Dockerfile @@ -7,7 +7,7 @@ ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/Debian_10/" -COPY Release.key /tmp/Release.key +COPY .common/Release.key /tmp/Release.key RUN apt-key add /tmp/Release.key && \ rm /tmp/Release.key && \ diff --git a/debian-buster-simtrace2/Release.key b/debian-buster-simtrace2/Release.key deleted file mode 100644 index a737316..0000000 --- a/debian-buster-simtrace2/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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/debian-jessie-osmocom/Dockerfile b/debian-jessie-osmocom/Dockerfile index 1a3101d..087a783 100644 --- a/debian-jessie-osmocom/Dockerfile +++ b/debian-jessie-osmocom/Dockerfile @@ -7,7 +7,7 @@ ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/Debian_8.0/" -COPY Release.key /tmp/Release.key +COPY .common/Release.key /tmp/Release.key RUN apt-key add /tmp/Release.key && \ rm /tmp/Release.key && \ diff --git a/debian-jessie-osmocom/Release.key b/debian-jessie-osmocom/Release.key deleted file mode 100644 index a737316..0000000 --- a/debian-jessie-osmocom/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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/debian-stretch-build-dist/Release.key b/debian-stretch-build-dist/Release.key deleted file mode 100644 index a737316..0000000 --- a/debian-stretch-build-dist/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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/debian-stretch-build/Dockerfile b/debian-stretch-build/Dockerfile index a98fa3e..e1570c3 100644 --- a/debian-stretch-build/Dockerfile +++ b/debian-stretch-build/Dockerfile @@ -58,7 +58,7 @@ wget && \ apt-get clean -COPY Release.key /tmp/Release.key +COPY .common/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 diff --git a/debian-stretch-build/Release.key b/debian-stretch-build/Release.key deleted file mode 100644 index a737316..0000000 --- a/debian-stretch-build/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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/debian-stretch-jenkins/Dockerfile b/debian-stretch-jenkins/Dockerfile index d218741..43a4035 100644 --- a/debian-stretch-jenkins/Dockerfile +++ b/debian-stretch-jenkins/Dockerfile @@ -170,7 +170,7 @@ # * osmo-remsim: libulfius # * osmo-trx: liblimesuite-dev, libuhd-dev ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/Debian_9.0/" -COPY Release.key /tmp/Release.key +COPY .common/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 diff --git a/debian-stretch-jenkins/Release.key b/debian-stretch-jenkins/Release.key deleted file mode 100644 index a737316..0000000 --- a/debian-stretch-jenkins/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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/debian-stretch-obs-latest/Dockerfile b/debian-stretch-obs-latest/Dockerfile index 04f831d..3089712 100644 --- a/debian-stretch-obs-latest/Dockerfile +++ b/debian-stretch-obs-latest/Dockerfile @@ -13,7 +13,7 @@ && \ apt-get clean -COPY Release.key /tmp/Release.key +COPY .common/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-latest.list diff --git a/debian-stretch-obs-latest/Release.key b/debian-stretch-obs-latest/Release.key deleted file mode 100644 index a737316..0000000 --- a/debian-stretch-obs-latest/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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/debian-stretch-titan/Dockerfile b/debian-stretch-titan/Dockerfile index 6a70d6c..e28c556 100644 --- a/debian-stretch-titan/Dockerfile +++ b/debian-stretch-titan/Dockerfile @@ -11,7 +11,7 @@ RUN apt-get update && apt-get install -y \ gnupg -COPY Release.key /tmp/Release.key +COPY .common/Release.key /tmp/Release.key RUN apt-key add /tmp/Release.key && \ rm /tmp/Release.key && \ diff --git a/debian-stretch-titan/Release.key b/debian-stretch-titan/Release.key deleted file mode 100644 index a737316..0000000 --- a/debian-stretch-titan/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-gsm-tester/Dockerfile b/osmo-gsm-tester/Dockerfile index 52dc999..764d6dc 100644 --- a/osmo-gsm-tester/Dockerfile +++ b/osmo-gsm-tester/Dockerfile @@ -79,7 +79,7 @@ ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/Debian_9.0/" -COPY Release.key /tmp/Release.key +COPY .common/Release.key /tmp/Release.key RUN apt-key add /tmp/Release.key && \ rm /tmp/Release.key && \ diff --git a/osmo-gsm-tester/Release.key b/osmo-gsm-tester/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-gsm-tester/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-msc-latest/Release.key b/osmo-msc-latest/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-msc-latest/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-ran/Dockerfile b/osmo-ran/Dockerfile index 4b5195e..3a5dac9 100644 --- a/osmo-ran/Dockerfile +++ b/osmo-ran/Dockerfile @@ -10,7 +10,7 @@ ARG OSMOCOM_REPO_DEBIAN="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/$OSMOCOM_REPO_VERSION/Debian_9.0/" ARG OSMOCOM_REPO_CENTOS="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/$OSMOCOM_REPO_VERSION/CentOS_8/" -COPY Release.key /tmp/Release.key +COPY .common/Release.key /tmp/Release.key RUN case "$DISTRO" in \ debian*) \ diff --git a/osmo-ran/split/ran-bsc_mgw/Dockerfile b/osmo-ran/split/ran-bsc_mgw/Dockerfile index f75316f..b433d72 100644 --- a/osmo-ran/split/ran-bsc_mgw/Dockerfile +++ b/osmo-ran/split/ran-bsc_mgw/Dockerfile @@ -10,7 +10,7 @@ ARG OSMOCOM_REPO_DEBIAN="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/$OSMOCOM_REPO_VERSION/Debian_9.0/" ARG OSMOCOM_REPO_CENTOS="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/$OSMOCOM_REPO_VERSION/CentOS_8/" -COPY Release.key /tmp/Release.key +COPY .common/Release.key /tmp/Release.key RUN case "$DISTRO" in \ debian*) \ diff --git a/osmo-ran/split/ran-bsc_mgw/Release.key b/osmo-ran/split/ran-bsc_mgw/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-ran/split/ran-bsc_mgw/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-ran/split/ran-bts_pcu/Dockerfile b/osmo-ran/split/ran-bts_pcu/Dockerfile index 68f710e..f30e3d2 100644 --- a/osmo-ran/split/ran-bts_pcu/Dockerfile +++ b/osmo-ran/split/ran-bts_pcu/Dockerfile @@ -10,7 +10,7 @@ ARG OSMOCOM_REPO_DEBIAN="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/$OSMOCOM_REPO_VERSION/Debian_9.0/" ARG OSMOCOM_REPO_CENTOS="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/$OSMOCOM_REPO_VERSION/CentOS_8/" -COPY Release.key /tmp/Release.key +COPY .common/Release.key /tmp/Release.key RUN case "$DISTRO" in \ debian*) \ diff --git a/osmo-ran/split/ran-bts_pcu/Release.key b/osmo-ran/split/ran-bts_pcu/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-ran/split/ran-bts_pcu/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-ran/split/ran-trx-ipc/Dockerfile b/osmo-ran/split/ran-trx-ipc/Dockerfile index c5ce057..0720ccc 100644 --- a/osmo-ran/split/ran-trx-ipc/Dockerfile +++ b/osmo-ran/split/ran-trx-ipc/Dockerfile @@ -10,7 +10,7 @@ ARG OSMOCOM_REPO_DEBIAN="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/$OSMOCOM_REPO_VERSION/Debian_9.0/" ARG OSMOCOM_REPO_CENTOS="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/$OSMOCOM_REPO_VERSION/CentOS_8/" -COPY Release.key /tmp/Release.key +COPY .common/Release.key /tmp/Release.key RUN case "$DISTRO" in \ debian*) \ diff --git a/osmo-ran/split/ran-trx-ipc/Release.key b/osmo-ran/split/ran-trx-ipc/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-ran/split/ran-trx-ipc/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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-ran/split/ran-trx-uhd/Dockerfile b/osmo-ran/split/ran-trx-uhd/Dockerfile index 5fe0cc3..5431210 100644 --- a/osmo-ran/split/ran-trx-uhd/Dockerfile +++ b/osmo-ran/split/ran-trx-uhd/Dockerfile @@ -10,7 +10,7 @@ ARG OSMOCOM_REPO_DEBIAN="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/$OSMOCOM_REPO_VERSION/Debian_9.0/" ARG OSMOCOM_REPO_CENTOS="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/$OSMOCOM_REPO_VERSION/CentOS_8/" -COPY Release.key /tmp/Release.key +COPY .common/Release.key /tmp/Release.key RUN case "$DISTRO" in \ debian*) \ diff --git a/osmo-ran/split/ran-trx-uhd/Release.key b/osmo-ran/split/ran-trx-uhd/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmo-ran/split/ran-trx-uhd/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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/osmocom-bb-host-master/Dockerfile b/osmocom-bb-host-master/Dockerfile index 1684acb..53b8dcc 100644 --- a/osmocom-bb-host-master/Dockerfile +++ b/osmocom-bb-host-master/Dockerfile @@ -12,7 +12,7 @@ ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/Debian_9.0/" -COPY Release.key /tmp/Release.key +COPY .common/Release.key /tmp/Release.key RUN apt-key add /tmp/Release.key && \ rm /tmp/Release.key && \ diff --git a/osmocom-bb-host-master/Release.key b/osmocom-bb-host-master/Release.key deleted file mode 100644 index a737316..0000000 --- a/osmocom-bb-host-master/Release.key +++ /dev/null @@ -1,20 +0,0 @@ ------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----- -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23304 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ic51d6e6557ee0b56d21d8ff4feaf04bc02e41a2e Gerrit-Change-Number: 23304 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria 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 Mar 11 14:08:25 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 11 Mar 2021 14:08:25 +0000 Subject: Change in pysim[master]: filesystem: be case insensitive when selecting files by fid (HEX) In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23205 ) Change subject: filesystem: be case insensitive when selecting files by fid (HEX) ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23205 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ibe283a108ddc9058af77c823b7222db555e1e0f6 Gerrit-Change-Number: 23205 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: dexter Gerrit-Comment-Date: Thu, 11 Mar 2021 14: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 Thu Mar 11 14:10:18 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 11 Mar 2021 14:10:18 +0000 Subject: Change in pysim[master]: utils: add is_hex function to check hex strings In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23320 ) Change subject: utils: add is_hex function to check hex strings ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/pysim/+/23320/1/pySim/utils.py File pySim/utils.py: https://gerrit.osmocom.org/c/pysim/+/23320/1/pySim/utils.py at 580 PS1, Line 580: def is_hex(string, minlen=2, maxlen=None) -> bool: firs time I see this "-> bool" syntax lol. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23320 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ia29a13c9215357dd2adf141f2ef222c823f8456d Gerrit-Change-Number: 23320 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 11 Mar 2021 14:10: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 Thu Mar 11 14:17:10 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 11 Mar 2021 14:17:10 +0000 Subject: Change in osmo-bsc[master]: Add vty command for Ericsson RBS2000 sync In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23317 ) Change subject: Add vty command for Ericsson RBS2000 sync ...................................................................... Patch Set 2: (3 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/23317/2/include/osmocom/bsc/bts.h File include/osmocom/bsc/bts.h: https://gerrit.osmocom.org/c/osmo-bsc/+/23317/2/include/osmocom/bsc/bts.h at 381 PS2, Line 381: int please use 'enum om2k_sync_src' as type here. https://gerrit.osmocom.org/c/osmo-bsc/+/23317/2/src/osmo-bsc/abis_om2000_vty.c File src/osmo-bsc/abis_om2000_vty.c: https://gerrit.osmocom.org/c/osmo-bsc/+/23317/2/src/osmo-bsc/abis_om2000_vty.c at 495 PS2, Line 495: if else if https://gerrit.osmocom.org/c/osmo-bsc/+/23317/2/src/osmo-bsc/abis_om2000_vty.c at 681 PS2, Line 681: sync_src >= 0 AFAIU, this condition is always true for both variants? I would just print it unconditionally. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23317 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia3d1acd6b3442238b35fc911092e12a6ac989adb Gerrit-Change-Number: 23317 Gerrit-PatchSet: 2 Gerrit-Owner: javi-tic Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-CC: keith Gerrit-Comment-Date: Thu, 11 Mar 2021 14:17: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 Thu Mar 11 14:21:02 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 11 Mar 2021 14:21:02 +0000 Subject: Change in osmo-bsc[master]: Add vty command for Ericsson RBS2000 sync In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23317 ) Change subject: Add vty command for Ericsson RBS2000 sync ...................................................................... Patch Set 2: (4 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/23317/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-bsc/+/23317/2//COMMIT_MSG at 9 PS2, Line 9: This commit adds support for Selection of syncronization source Missing dot at end of line? https://gerrit.osmocom.org/c/osmo-bsc/+/23317/2/include/osmocom/bsc/bts.h File include/osmocom/bsc/bts.h: https://gerrit.osmocom.org/c/osmo-bsc/+/23317/2/include/osmocom/bsc/bts.h at 381 PS2, Line 381: int sync_src; enum om2k_sync_src sync_src; https://gerrit.osmocom.org/c/osmo-bsc/+/23317/2/src/osmo-bsc/abis_om2000_vty.c File src/osmo-bsc/abis_om2000_vty.c: https://gerrit.osmocom.org/c/osmo-bsc/+/23317/2/src/osmo-bsc/abis_om2000_vty.c at 495 PS2, Line 495: if (!strcmp(argv[0], "external")) "else if", or simply else. https://gerrit.osmocom.org/c/osmo-bsc/+/23317/2/src/osmo-bsc/abis_om2000_vty.c at 681 PS2, Line 681: if (bts->rbs2000.sync_src >= 0) { I don't see sync_src being < 0 anywhere. As I wrote in other comment, using enum type for this variable would also make it clear. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23317 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia3d1acd6b3442238b35fc911092e12a6ac989adb Gerrit-Change-Number: 23317 Gerrit-PatchSet: 2 Gerrit-Owner: javi-tic Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-CC: keith Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 11 Mar 2021 14:21:02 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 11 14:21:44 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 11 Mar 2021 14:21:44 +0000 Subject: Change in osmo-bsc[master]: Add command to enable RX diversity to RBS2000 In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23318 ) Change subject: Add command to enable RX diversity to RBS2000 ...................................................................... Patch Set 4: (4 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/23318/4/include/osmocom/bsc/bts_trx.h File include/osmocom/bsc/bts_trx.h: https://gerrit.osmocom.org/c/osmo-bsc/+/23318/4/include/osmocom/bsc/bts_trx.h at 79 PS4, Line 79: int enum om2k_rx_diversity https://gerrit.osmocom.org/c/osmo-bsc/+/23318/4/src/osmo-bsc/abis_om2000_vty.c File src/osmo-bsc/abis_om2000_vty.c: https://gerrit.osmocom.org/c/osmo-bsc/+/23318/4/src/osmo-bsc/abis_om2000_vty.c at 585 PS4, Line 585: "Both\n" I see 'ab' in the middle of '(a|ab|b)', so this help string corresponds to 'b'. Did you mean '(a|b|ab)' instead? https://gerrit.osmocom.org/c/osmo-bsc/+/23318/4/src/osmo-bsc/abis_om2000_vty.c at 597 PS4, Line 597: if else if https://gerrit.osmocom.org/c/osmo-bsc/+/23318/4/src/osmo-bsc/abis_om2000_vty.c at 599 PS4, Line 599: if else if -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23318 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I430762b8cfa51060841d90ba4446de73bd557c6c Gerrit-Change-Number: 23318 Gerrit-PatchSet: 4 Gerrit-Owner: javi-tic Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-CC: keith Gerrit-Comment-Date: Thu, 11 Mar 2021 14:21:44 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 11 14:26:14 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 11 Mar 2021 14:26:14 +0000 Subject: Change in osmo-gbproxy[master]: gbproxy: Don't free NSE/BVC0 if SGSN NSE goes down In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/23319 ) Change subject: gbproxy: Don't free NSE/BVC0 if SGSN NSE goes down ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/23319 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: Ie0cef38e4423b672f5cba35ae7fc3eb2c4071d5a Gerrit-Change-Number: 23319 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 11 Mar 2021 14:26:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 11 14:26:16 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 11 Mar 2021 14:26:16 +0000 Subject: Change in osmo-gbproxy[master]: gbproxy: Don't free NSE/BVC0 if SGSN NSE goes down In-Reply-To: References: Message-ID: daniel has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gbproxy/+/23319 ) Change subject: gbproxy: Don't free NSE/BVC0 if SGSN NSE goes down ...................................................................... gbproxy: Don't free NSE/BVC0 if SGSN NSE goes down SGSN NSEs are static and should not be removed. Instead remove all PtP-BVCs. BVC0 can't be blocked and will be reset after the NSE becomes available again. It might be cleaner to remove BVC0 on NS failure and create it again, but that change is a bit more complicated. Fixes ttcn3 test after commit f96cac5077 broke them. Related: OS#4897 Change-Id: Ie0cef38e4423b672f5cba35ae7fc3eb2c4071d5a --- M src/gb_proxy.c 1 file changed, 9 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve daniel: Looks good to me, approved diff --git a/src/gb_proxy.c b/src/gb_proxy.c index c07c36b..c01c5c6 100644 --- a/src/gb_proxy.c +++ b/src/gb_proxy.c @@ -1522,6 +1522,7 @@ /* TODO: bss nsei available/unavailable bssgp_tx_simple_bvci(BSSGP_PDUT_BVC_BLOCK, nsvc->nsei, bvc->bvci, 0); */ + int i; struct gbproxy_bvc *bvc; struct gbproxy_nse *nse; @@ -1552,12 +1553,17 @@ break; } if (nse->sgsn_facing) { + struct hlist_node *ntmp; /* SGSN */ /* TODO: When to block all PtP towards bss? Only if all SGSN are down? */ + hash_for_each_safe(nse->bvcs, i, ntmp, bvc, list) { + if (bvc->bvci == 0) + continue; + gbproxy_bvc_free(bvc); + } rate_ctr_inc(&cfg->ctrg-> ctr[GBPROX_GLOB_CTR_RESTART_RESET_SGSN]); } else { - int i; /* BSS became unavailable * Block matching PtP-BVCs on SGSN-side */ hash_for_each(nse->bvcs, i, bvc, list) { @@ -1576,10 +1582,9 @@ } } - + /* This frees the BVCs for us as well */ + gbproxy_nse_free(nse); } - /* This frees the BVCs for us as well */ - gbproxy_nse_free(nse); LOGP(DGPRS, LOGL_NOTICE, "NS-NSE %d became unavailable\n", nsp->nsei); break; default: -- To view, visit https://gerrit.osmocom.org/c/osmo-gbproxy/+/23319 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gbproxy Gerrit-Branch: master Gerrit-Change-Id: Ie0cef38e4423b672f5cba35ae7fc3eb2c4071d5a Gerrit-Change-Number: 23319 Gerrit-PatchSet: 1 Gerrit-Owner: daniel 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 Mar 11 16:01:29 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 11 Mar 2021 16:01:29 +0000 Subject: Change in osmo-pcu[master]: pcu_utils.h: Fix trailing whitespace References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23321 ) Change subject: pcu_utils.h: Fix trailing whitespace ...................................................................... pcu_utils.h: Fix trailing whitespace Change-Id: I113766e342a00f61f9894dee1bb89b8ae8354007 --- M src/pcu_utils.h 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/21/23321/1 diff --git a/src/pcu_utils.h b/src/pcu_utils.h index cb2fd91..1d43045 100644 --- a/src/pcu_utils.h +++ b/src/pcu_utils.h @@ -15,7 +15,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#pragma once +#pragma once #ifdef __cplusplus extern "C" { #endif -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23321 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I113766e342a00f61f9894dee1bb89b8ae8354007 Gerrit-Change-Number: 23321 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 Mar 11 16:23:31 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 11 Mar 2021 16:23:31 +0000 Subject: Change in osmo-pcu[master]: pcu_utils.h: Fix trailing whitespace In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23321 ) Change subject: pcu_utils.h: Fix trailing whitespace ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23321 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I113766e342a00f61f9894dee1bb89b8ae8354007 Gerrit-Change-Number: 23321 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 11 Mar 2021 16: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 Thu Mar 11 16:23:33 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 11 Mar 2021 16:23:33 +0000 Subject: Change in osmo-pcu[master]: pcu_utils.h: Fix trailing whitespace In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23321 ) Change subject: pcu_utils.h: Fix trailing whitespace ...................................................................... pcu_utils.h: Fix trailing whitespace Change-Id: I113766e342a00f61f9894dee1bb89b8ae8354007 --- M src/pcu_utils.h 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/pcu_utils.h b/src/pcu_utils.h index cb2fd91..1d43045 100644 --- a/src/pcu_utils.h +++ b/src/pcu_utils.h @@ -15,7 +15,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#pragma once +#pragma once #ifdef __cplusplus extern "C" { #endif -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23321 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I113766e342a00f61f9894dee1bb89b8ae8354007 Gerrit-Change-Number: 23321 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 Mar 11 16:30:17 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 11 Mar 2021 16:30:17 +0000 Subject: Change in pysim[master]: pySim-shell: add functionality to walk through the fs recursively In-Reply-To: References: Message-ID: dexter has uploaded a new patch set (#2) to the change originally created by laforge. ( https://gerrit.osmocom.org/c/pysim/+/23208 ) Change subject: pySim-shell: add functionality to walk through the fs recursively ...................................................................... pySim-shell: add functionality to walk through the fs recursively We might add functionality that may require to walk through the entire filesystem tree to perform an action to all files at once. Lets add a generic walker that gets a function pointer that can carray out a file specific action then. Also add another command that just displays the whole filesystem tree. Change-Id: If93d24dfb80c83eda39303c936910fa1fa7f48f8 Related: OS#4963 --- M pySim-shell.py 1 file changed, 17 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/08/23208/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23208 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: If93d24dfb80c83eda39303c936910fa1fa7f48f8 Gerrit-Change-Number: 23208 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 Thu Mar 11 16:30:17 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 11 Mar 2021 16:30:17 +0000 Subject: Change in pysim[master]: pySim-shell: add filesystem exporter In-Reply-To: References: Message-ID: dexter has uploaded a new patch set (#2) to the change originally created by laforge. ( https://gerrit.osmocom.org/c/pysim/+/23210 ) Change subject: pySim-shell: add filesystem exporter ...................................................................... pySim-shell: add filesystem exporter add a new command "export" that can either export indidividual files or a whole directory tree. The command will generate a script that contains update_binary and update_record commands along with the file contents. This script can later be used to restore multiple files at once. Change-Id: I82f3ce92cd91a5ed3c4884d62f6b22e9589c8a49 Related: OS#4963 --- M pySim-shell.py 1 file changed, 41 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/10/23210/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23210 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I82f3ce92cd91a5ed3c4884d62f6b22e9589c8a49 Gerrit-Change-Number: 23210 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 Thu Mar 11 16:33:22 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 11 Mar 2021 16:33:22 +0000 Subject: Change in pysim[master]: pySim-shell: add filesystem exporter In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23210 ) Change subject: pySim-shell: add filesystem exporter ...................................................................... Patch Set 2: (1 comment) I have fixed the problem with the missing select commands. I did not execute the script before submitting the patch. Now it executes fine (at least on my pmaier/shell2 branch, which has a few unsubmitted patches on top but it should also work with the current gerrit state.) https://gerrit.osmocom.org/c/pysim/+/23210/1/pySim-shell.py File pySim-shell.py: https://gerrit.osmocom.org/c/pysim/+/23210/1/pySim-shell.py at 167 PS1, Line 167: print > we should use poutput rather than print, IMHO? (also below for the update_record). Done -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23210 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I82f3ce92cd91a5ed3c4884d62f6b22e9589c8a49 Gerrit-Change-Number: 23210 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-CC: dexter Gerrit-Comment-Date: Thu, 11 Mar 2021 16:33:22 +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 Mar 11 16:47:34 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 11 Mar 2021 16:47:34 +0000 Subject: Change in pysim[master]: utils: add is_hex function to check hex strings In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/23320 to look at the new patch set (#2). Change subject: utils: add is_hex function to check hex strings ...................................................................... utils: add is_hex function to check hex strings since we have added pySim-shell.py that has a lot of locations where the user can enter hexadecimal data there is an increased need for input validation. Lets add a central is_hex function that verifies hex strings. Change-Id: Ia29a13c9215357dd2adf141f2ef222c823f8456d Related: OS#4963 --- M pySim/utils.py 1 file changed, 22 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/20/23320/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23320 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ia29a13c9215357dd2adf141f2ef222c823f8456d Gerrit-Change-Number: 23320 Gerrit-PatchSet: 2 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 Thu Mar 11 16:47:34 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 11 Mar 2021 16:47:34 +0000 Subject: Change in pysim[master]: filesystem: be case insensitive when selecting files by fid (HEX) In-Reply-To: References: Message-ID: dexter has uploaded a new patch set (#4) to the change originally created by laforge. ( https://gerrit.osmocom.org/c/pysim/+/23205 ) Change subject: filesystem: be case insensitive when selecting files by fid (HEX) ...................................................................... filesystem: be case insensitive when selecting files by fid (HEX) The file identifier (and allso application ids for ADFs), are hexadecimal. We should be case insensitive when accepting hex identifiers but file names should still be full matched. Change-Id: Ibe283a108ddc9058af77c823b7222db555e1e0f6 Related: OS#4963 --- M pySim/filesystem.py 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/05/23205/4 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23205 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ibe283a108ddc9058af77c823b7222db555e1e0f6 Gerrit-Change-Number: 23205 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: dexter Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 11 16:47:34 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 11 Mar 2021 16:47:34 +0000 Subject: Change in pysim[master]: filesystem: allow dumping multiple records of a file In-Reply-To: References: Message-ID: dexter has uploaded a new patch set (#4) to the change originally created by laforge. ( https://gerrit.osmocom.org/c/pysim/+/23206 ) Change subject: filesystem: allow dumping multiple records of a file ...................................................................... filesystem: allow dumping multiple records of a file At the moment we can only request pySim-shell to dump a specific record of a file. However, it may be useful to dump multiple records of a record oriented file at once. Change-Id: Id62db2cba4e3dfb6a7b3e6be8b892c16d11a8e3e Related: OS#4963 --- M pySim/filesystem.py 1 file changed, 10 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/06/23206/4 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23206 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id62db2cba4e3dfb6a7b3e6be8b892c16d11a8e3e Gerrit-Change-Number: 23206 Gerrit-PatchSet: 4 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 Thu Mar 11 16:47:34 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 11 Mar 2021 16:47:34 +0000 Subject: Change in pysim[master]: pySim-shell: add "dir" command. In-Reply-To: References: Message-ID: dexter has uploaded a new patch set (#4) to the change originally created by laforge. ( https://gerrit.osmocom.org/c/pysim/+/23207 ) Change subject: pySim-shell: add "dir" command. ...................................................................... pySim-shell: add "dir" command. pysim-shell does not have a convinient way to list the files available in one directory. Tab completion currently is the only way to obtain a list of the available files. Lets add a dir command to print a file list. Change-Id: Ic06a60e0a0ec54d9bb26e151453ceb49d69e3df7 Related: OS#4963 --- M pySim-shell.py M pySim/utils.py 2 files changed, 37 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/07/23207/4 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23207 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ic06a60e0a0ec54d9bb26e151453ceb49d69e3df7 Gerrit-Change-Number: 23207 Gerrit-PatchSet: 4 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 Thu Mar 11 16:47:34 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 11 Mar 2021 16:47:34 +0000 Subject: Change in pysim[master]: pySim-shell: add functionality to walk through the fs recursively In-Reply-To: References: Message-ID: dexter has uploaded a new patch set (#3) to the change originally created by laforge. ( https://gerrit.osmocom.org/c/pysim/+/23208 ) Change subject: pySim-shell: add functionality to walk through the fs recursively ...................................................................... pySim-shell: add functionality to walk through the fs recursively We might add functionality that may require to walk through the entire filesystem tree to perform an action to all files at once. Lets add a generic walker that gets a function pointer that can carray out a file specific action then. Also add another command that just displays the whole filesystem tree. Change-Id: If93d24dfb80c83eda39303c936910fa1fa7f48f8 Related: OS#4963 --- M pySim-shell.py 1 file changed, 17 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/08/23208/3 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23208 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: If93d24dfb80c83eda39303c936910fa1fa7f48f8 Gerrit-Change-Number: 23208 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 Thu Mar 11 16:47:34 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 11 Mar 2021 16:47:34 +0000 Subject: Change in pysim[master]: filesystem: decode select response for MF In-Reply-To: References: Message-ID: dexter has uploaded a new patch set (#3) to the change originally created by laforge. ( https://gerrit.osmocom.org/c/pysim/+/23209 ) Change subject: filesystem: decode select response for MF ...................................................................... filesystem: decode select response for MF We always use the select response parser from the parent file. The usual case will be that on the way up at least one parent has overloeaded the response parser from the MF. However, this is not the case when an EF at the top level is selected, then we will just get the hexdump of the response since no response parser is available. Lets add a response parser for the MF as well so that we always parse the select response. Change-Id: Ib2b2476fc0e7d34cdacf7eb100ffadceb788c4d2 Related: OS#4963 --- M pySim/filesystem.py 1 file changed, 3 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/09/23209/3 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23209 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ib2b2476fc0e7d34cdacf7eb100ffadceb788c4d2 Gerrit-Change-Number: 23209 Gerrit-PatchSet: 3 Gerrit-Owner: laforge 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 Mar 11 16:47:34 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 11 Mar 2021 16:47:34 +0000 Subject: Change in pysim[master]: pySim-shell: add filesystem exporter In-Reply-To: References: Message-ID: dexter has uploaded a new patch set (#3) to the change originally created by laforge. ( https://gerrit.osmocom.org/c/pysim/+/23210 ) Change subject: pySim-shell: add filesystem exporter ...................................................................... pySim-shell: add filesystem exporter add a new command "export" that can either export indidividual files or a whole directory tree. The command will generate a script that contains update_binary and update_record commands along with the file contents. This script can later be used to restore multiple files at once. Change-Id: I82f3ce92cd91a5ed3c4884d62f6b22e9589c8a49 Related: OS#4963 --- M pySim-shell.py 1 file changed, 41 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/10/23210/3 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23210 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I82f3ce92cd91a5ed3c4884d62f6b22e9589c8a49 Gerrit-Change-Number: 23210 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-CC: dexter Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 11 16:47:34 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 11 Mar 2021 16:47:34 +0000 Subject: Change in pysim[master]: ts_102_221: fix fixup_fcp_proprietary_tlv_map() In-Reply-To: References: Message-ID: dexter has uploaded a new patch set (#3) to the change originally created by laforge. ( https://gerrit.osmocom.org/c/pysim/+/23211 ) Change subject: ts_102_221: fix fixup_fcp_proprietary_tlv_map() ...................................................................... ts_102_221: fix fixup_fcp_proprietary_tlv_map() According to its description, the function fixup_fcp_proprietary_tlv_map() is supposed to add propritary TLV tags to satisfy the pyTlv parser, which can't handle unexpected tags. However, the function adds tags but it does only fill up the gaps from 0xd0 onwards. This makes no sense, lets extended it so that it adds a propritary tag for each tag that it is not already in the dictionary so that we get a continious dictionary that starts at 0x00 and ends at 0xff Change-Id: Ib06041361851f05dd990576fff47048dc1aa6290 Related: OS#4963 --- M pySim/ts_102_221.py 1 file changed, 4 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/11/23211/3 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23211 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ib06041361851f05dd990576fff47048dc1aa6290 Gerrit-Change-Number: 23211 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 Thu Mar 11 16:56:57 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 11 Mar 2021 16:56:57 +0000 Subject: Change in pysim[master]: filesystem: decode select response for MF In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23209 ) Change subject: filesystem: decode select response for MF ...................................................................... Patch Set 3: (1 comment) > Patch Set 1: Code-Review-1 > > (1 comment) > > the problem here is whether it is 'legal' to make such an assumption. Afte https://gerrit.osmocom.org/c/pysim/+/23209/1/pySim/filesystem.py File pySim/filesystem.py: https://gerrit.osmocom.org/c/pysim/+/23209/1/pySim/filesystem.py at 247 PS1, Line 247: > are we sure this is the right thing to do? Which spec states that the root of any card will provide [?] Oh, I did not know that. I just thought that the MF would behave like any other EF in this case. I used sysmo-usim-sjs1 and sysmo-isim-sja2 so far. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23209 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ib2b2476fc0e7d34cdacf7eb100ffadceb788c4d2 Gerrit-Change-Number: 23209 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: dexter Gerrit-Comment-Date: Thu, 11 Mar 2021 16:56:57 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 11 17:13:54 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 11 Mar 2021 17:13:54 +0000 Subject: Change in osmo-bts[master]: l1sap: Transmit pdtch invalid MAC blocks to PCU In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/23249 ) Change subject: l1sap: Transmit pdtch invalid MAC blocks to PCU ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/23249 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0b04b013b7bad5ff53d6a969ff0128b37f7f62d5 Gerrit-Change-Number: 23249 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 11 Mar 2021 17:13:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 11 17:21:28 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 11 Mar 2021 17:21:28 +0000 Subject: Change in osmo-bts[master]: bts-trx: Always submit rx PDTCH DATA.ind to l1sap In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/23257 ) Change subject: bts-trx: Always submit rx PDTCH DATA.ind to l1sap ...................................................................... Patch Set 4: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/23257/4/src/osmo-bts-trx/sched_lchan_pdtch.c File src/osmo-bts-trx/sched_lchan_pdtch.c: https://gerrit.osmocom.org/c/osmo-bts/+/23257/4/src/osmo-bts-trx/sched_lchan_pdtch.c at 148 PS4, Line 148: presence_info I think you could just do: (rc > 0) ? PRES_INFO_BOTH : PRES_INFO_INVALID without the need to maintain a variable for that. This looks cleaner to me. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/23257 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I343c7a721dab72411edbca816c8864926bc329fb Gerrit-Change-Number: 23257 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Thu, 11 Mar 2021 17:21: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 Thu Mar 11 17:41:46 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 11 Mar 2021 17:41:46 +0000 Subject: Change in osmo-bts[master]: bts-trx: Always submit rx PDTCH DATA.ind to l1sap In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/23257 ) Change subject: bts-trx: Always submit rx PDTCH DATA.ind to l1sap ...................................................................... Patch Set 4: Code-Review+2 (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/23257/4/src/osmo-bts-trx/sched_lchan_pdtch.c File src/osmo-bts-trx/sched_lchan_pdtch.c: https://gerrit.osmocom.org/c/osmo-bts/+/23257/4/src/osmo-bts-trx/sched_lchan_pdtch.c at 148 PS4, Line 148: presence_info > I think you could just do: [?] That means yet another comparison/branching which is not needed since we already do that above. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/23257 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I343c7a721dab72411edbca816c8864926bc329fb Gerrit-Change-Number: 23257 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 11 Mar 2021 17:41:46 +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 Thu Mar 11 17:41:49 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 11 Mar 2021 17:41:49 +0000 Subject: Change in osmo-bts[master]: l1sap: Transmit pdtch invalid MAC blocks to PCU In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/23249 ) Change subject: l1sap: Transmit pdtch invalid MAC blocks to PCU ...................................................................... l1sap: Transmit pdtch invalid MAC blocks to PCU Similar to what we have been doing for TCH channels, we want to make sure all MAC blocks get to the upper layers, even if containing invalid data (flagging it with data_len=0) so that upper layers (osmo-pcu through PCUIF in this case) can rely on FN clock without gaps due to Rx errors. Related: OS#5020 Change-Id: I0b04b013b7bad5ff53d6a969ff0128b37f7f62d5 --- M src/common/l1sap.c M src/common/pcu_sock.c 2 files changed, 4 insertions(+), 6 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/common/l1sap.c b/src/common/l1sap.c index 0600658..9bb8be3 100644 --- a/src/common/l1sap.c +++ b/src/common/l1sap.c @@ -1530,12 +1530,9 @@ return 1; } - /* don't send bad frames to PCU */ - if (len == 0) - return -EINVAL; - /* drop incomplete UL block */ + /* Drop all data from incomplete UL block */ if (pr_info != PRES_INFO_BOTH) - return 0; + len = 0; /* PDTCH / PACCH frame handling */ pcu_tx_data_ind(&trx->ts[tn], PCU_IF_SAPI_PDTCH, fn, trx->arfcn, diff --git a/src/common/pcu_sock.c b/src/common/pcu_sock.c index ec7f876..2d44e02 100644 --- a/src/common/pcu_sock.c +++ b/src/common/pcu_sock.c @@ -501,7 +501,8 @@ data_ind->ber10k = ber10k; data_ind->ta_offs_qbits = bto; data_ind->lqual_cb = lqual; - memcpy(data_ind->data, data, len); + if (len) + memcpy(data_ind->data, data, len); data_ind->len = len; return pcu_sock_send(&bts_gsmnet, msg); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/23249 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I0b04b013b7bad5ff53d6a969ff0128b37f7f62d5 Gerrit-Change-Number: 23249 Gerrit-PatchSet: 6 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 Mar 11 17:41:49 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 11 Mar 2021 17:41:49 +0000 Subject: Change in osmo-bts[master]: bts-trx: Always submit rx PDTCH DATA.ind to l1sap In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/23257 ) Change subject: bts-trx: Always submit rx PDTCH DATA.ind to l1sap ...................................................................... bts-trx: Always submit rx PDTCH DATA.ind to l1sap Similar to what we have been doing for TCH channels, we want to make sure all MAC blocks get to the upper layers, even if containing invalid data (flagging it with data_len=0) so that upper layers (osmo-pcu through PCUIF in this case) can rely on FN clock without gaps due to Rx errors. Related: OS#5020 Change-Id: I343c7a721dab72411edbca816c8864926bc329fb --- M src/common/scheduler.c M src/osmo-bts-trx/sched_lchan_pdtch.c 2 files changed, 18 insertions(+), 6 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/common/scheduler.c b/src/common/scheduler.c index 3d780fd..c7c3e62 100644 --- a/src/common/scheduler.c +++ b/src/common/scheduler.c @@ -1411,7 +1411,6 @@ /* handle NOPE indications */ if (bi->flags & TRX_BI_F_NOPE_IND) { switch (chan) { - case TRXC_PDTCH: case TRXC_PTCCH: case TRXC_RACH: /* For some logical channel types NOPE.ind is valueless. */ diff --git a/src/osmo-bts-trx/sched_lchan_pdtch.c b/src/osmo-bts-trx/sched_lchan_pdtch.c index 28a45f5..665f643 100644 --- a/src/osmo-bts-trx/sched_lchan_pdtch.c +++ b/src/osmo-bts-trx/sched_lchan_pdtch.c @@ -53,6 +53,7 @@ int n_bits_total = 0; uint16_t ber10k; int rc; + enum osmo_ph_pres_info_type presence_info; LOGL1S(DL1P, LOGL_DEBUG, l1t, bi->tn, chan, bi->fn, "Received PDTCH bid=%u\n", bid); @@ -79,16 +80,24 @@ trx_sched_meas_push(chan_state, bi); /* copy burst to buffer of 4 bursts */ - if (bi->burst_len == EGPRS_BURST_LEN) { + switch (bi->burst_len) { + case EGPRS_BURST_LEN: burst = *bursts_p + bid * 348; memcpy(burst, bi->burst + 9, 174); memcpy(burst + 174, bi->burst + 261, 174); n_bursts_bits = GSM0503_EGPRS_BURSTS_NBITS; - } else { + break; + case GSM_BURST_LEN: burst = *bursts_p + bid * 116; memcpy(burst, bi->burst + 3, 58); memcpy(burst + 58, bi->burst + 87, 58); n_bursts_bits = GSM0503_GPRS_BURSTS_NBITS; + break; + case 0: + /* NOPE.ind, assume GPRS? */ + burst = *bursts_p + bid * 116; + memset(burst, 0, 116); + n_bursts_bits = GSM0503_GPRS_BURSTS_NBITS; } /* wait until complete set of bursts */ @@ -120,19 +129,23 @@ &n_errors, &n_bits_total); } - if (rc <= 0) { + if (rc > 0) { + presence_info = PRES_INFO_BOTH; + } else { LOGL1S(DL1P, LOGL_DEBUG, l1t, bi->tn, chan, bi->fn, "Received bad PDTCH (%u/%u)\n", bi->fn % l1ts->mf_period, l1ts->mf_period); - return 0; + rc = 0; + presence_info = PRES_INFO_INVALID; } ber10k = compute_ber10k(n_bits_total, n_errors); + return _sched_compose_ph_data_ind(l1t, bi->tn, *first_fn, chan, l2, rc, meas_avg.rssi, meas_avg.toa256, meas_avg.ci_cb, ber10k, - PRES_INFO_BOTH); + presence_info); } /* obtain a to-be-transmitted PDTCH (packet data) burst */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/23257 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I343c7a721dab72411edbca816c8864926bc329fb Gerrit-Change-Number: 23257 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel 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 Mar 11 17:42:02 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 11 Mar 2021 17:42:02 +0000 Subject: Change in osmo-bts[master]: bts-trx: Avoid submitting first data_ind with FN=0 to upper layers References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/23322 ) Change subject: bts-trx: Avoid submitting first data_ind with FN=0 to upper layers ...................................................................... bts-trx: Avoid submitting first data_ind with FN=0 to upper layers It can happen that the first burst we receive after enabling the PDCH channel (when PCU connects to the BTS) is bid!=0. As a result, chan_state->ul_first_fn is never set and defautl value 0 in there is passed to the upper layers. As a result, when the 2nd block is transmitted, this time with correct FN, the PCU will see a huge jump in FNs. Since in PDCH the bursts are always consecutive, let's simply use bi->fn - 3 as a first_fn and be done with the issue. Related: OS#5020 Change-Id: Ie982caeb29f3ffd880b44e88a89b85ea3e6e6947 --- M src/osmo-bts-trx/sched_lchan_pdtch.c 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/22/23322/1 diff --git a/src/osmo-bts-trx/sched_lchan_pdtch.c b/src/osmo-bts-trx/sched_lchan_pdtch.c index 665f643..5e61a1d 100644 --- a/src/osmo-bts-trx/sched_lchan_pdtch.c +++ b/src/osmo-bts-trx/sched_lchan_pdtch.c @@ -44,7 +44,7 @@ struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, bi->tn); struct l1sched_chan_state *chan_state = &l1ts->chan_state[chan]; sbit_t *burst, **bursts_p = &chan_state->ul_bursts; - uint32_t *first_fn = &chan_state->ul_first_fn; + uint32_t first_fn; uint8_t *mask = &chan_state->ul_mask; struct l1sched_meas_set meas_avg; uint8_t l2[EGPRS_0503_MAX_BYTES]; @@ -70,7 +70,6 @@ if (bid == 0) { memset(*bursts_p, 0, GSM0503_EGPRS_BURSTS_NBITS); *mask = 0x0; - *first_fn = bi->fn; } /* update mask */ @@ -141,8 +140,9 @@ ber10k = compute_ber10k(n_bits_total, n_errors); + first_fn = GSM_TDMA_FN_SUB(bi->fn, 3); return _sched_compose_ph_data_ind(l1t, bi->tn, - *first_fn, chan, l2, rc, + first_fn, chan, l2, rc, meas_avg.rssi, meas_avg.toa256, meas_avg.ci_cb, ber10k, presence_info); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/23322 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ie982caeb29f3ffd880b44e88a89b85ea3e6e6947 Gerrit-Change-Number: 23322 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 Mar 11 17:43:56 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 11 Mar 2021 17:43:56 +0000 Subject: Change in osmo-bts[master]: bts-trx: Avoid submitting first data_ind with FN=0 to upper layers In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/23322 ) Change subject: bts-trx: Avoid submitting first data_ind with FN=0 to upper layers ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/23322 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ie982caeb29f3ffd880b44e88a89b85ea3e6e6947 Gerrit-Change-Number: 23322 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: fixeria Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Thu, 11 Mar 2021 17:43:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 11 17:49:14 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 11 Mar 2021 17:49:14 +0000 Subject: Change in osmo-bts[master]: bts-trx: Avoid submitting first data_ind with FN=0 to upper layers In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/23322 ) Change subject: bts-trx: Avoid submitting first data_ind with FN=0 to upper layers ...................................................................... bts-trx: Avoid submitting first data_ind with FN=0 to upper layers It can happen that the first burst we receive after enabling the PDCH channel (when PCU connects to the BTS) is bid!=0. As a result, chan_state->ul_first_fn is never set and defautl value 0 in there is passed to the upper layers. As a result, when the 2nd block is transmitted, this time with correct FN, the PCU will see a huge jump in FNs. Since in PDCH the bursts are always consecutive, let's simply use bi->fn - 3 as a first_fn and be done with the issue. Related: OS#5020 Change-Id: Ie982caeb29f3ffd880b44e88a89b85ea3e6e6947 --- M src/osmo-bts-trx/sched_lchan_pdtch.c 1 file changed, 3 insertions(+), 3 deletions(-) Approvals: fixeria: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bts-trx/sched_lchan_pdtch.c b/src/osmo-bts-trx/sched_lchan_pdtch.c index 665f643..5e61a1d 100644 --- a/src/osmo-bts-trx/sched_lchan_pdtch.c +++ b/src/osmo-bts-trx/sched_lchan_pdtch.c @@ -44,7 +44,7 @@ struct l1sched_ts *l1ts = l1sched_trx_get_ts(l1t, bi->tn); struct l1sched_chan_state *chan_state = &l1ts->chan_state[chan]; sbit_t *burst, **bursts_p = &chan_state->ul_bursts; - uint32_t *first_fn = &chan_state->ul_first_fn; + uint32_t first_fn; uint8_t *mask = &chan_state->ul_mask; struct l1sched_meas_set meas_avg; uint8_t l2[EGPRS_0503_MAX_BYTES]; @@ -70,7 +70,6 @@ if (bid == 0) { memset(*bursts_p, 0, GSM0503_EGPRS_BURSTS_NBITS); *mask = 0x0; - *first_fn = bi->fn; } /* update mask */ @@ -141,8 +140,9 @@ ber10k = compute_ber10k(n_bits_total, n_errors); + first_fn = GSM_TDMA_FN_SUB(bi->fn, 3); return _sched_compose_ph_data_ind(l1t, bi->tn, - *first_fn, chan, l2, rc, + first_fn, chan, l2, rc, meas_avg.rssi, meas_avg.toa256, meas_avg.ci_cb, ber10k, presence_info); -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/23322 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ie982caeb29f3ffd880b44e88a89b85ea3e6e6947 Gerrit-Change-Number: 23322 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 Mar 11 18:39:27 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 11 Mar 2021 18:39:27 +0000 Subject: Change in osmo-pcu[master]: Track TDMA clock with DATA.ind instead of TIME.ind In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23261 ) Change subject: Track TDMA clock with DATA.ind instead of TIME.ind ...................................................................... Patch Set 3: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/23261/3/src/pcu_l1_if.cpp File src/pcu_l1_if.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/23261/3/src/pcu_l1_if.cpp at 810 PS3, Line 810: * providing all block FNs. */ Do we still want/need the log message above? Otherwise we could get rid of the modulo/if and simply return 0 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23261 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibc495173119465e74f726ddc36e312334e6dc0fd Gerrit-Change-Number: 23261 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-CC: fixeria Gerrit-Comment-Date: Thu, 11 Mar 2021 18:39: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 Thu Mar 11 18:40:20 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 11 Mar 2021 18:40:20 +0000 Subject: Change in osmo-pcu[master]: sched: Use new PDCH UL Controller References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23323 ) Change subject: sched: Use new PDCH UL Controller ...................................................................... sched: Use new PDCH UL Controller Take the time to also do small refactorings to clarify and simplify the function, by using rts_next_fn() already available in pcu_utils.h and getting rid of poll_tbf from tbf_candidates, which clearly follows another objective. Using PDCH UL Controller has the advantatge that we don't need to check poll_scheduled() on each TBF, but only do the query once. Related: OS#5020 Change-Id: Ia60bb5249a9837dec1f42180e44d9848334d86d6 --- M src/gprs_rlcmac_sched.cpp M src/pdch_ul_controller.c M src/pdch_ul_controller.h 3 files changed, 25 insertions(+), 24 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/23/23323/1 diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp index ce8fd02..c63ed6e 100644 --- a/src/gprs_rlcmac_sched.cpp +++ b/src/gprs_rlcmac_sched.cpp @@ -35,36 +35,25 @@ } struct tbf_sched_candidates { - struct gprs_rlcmac_tbf *poll; struct gprs_rlcmac_tbf *ul_ass; struct gprs_rlcmac_tbf *dl_ass; struct gprs_rlcmac_tbf *nacc; struct gprs_rlcmac_ul_tbf *ul_ack; }; -static uint32_t sched_poll(struct gprs_rlcmac_bts *bts, - uint8_t trx, uint8_t ts, uint32_t fn, uint8_t block_nr, - struct tbf_sched_candidates *tbf_cand) +static void get_tbf_candidates(const struct gprs_rlcmac_bts *bts, uint8_t trx, + uint8_t ts, struct tbf_sched_candidates *tbf_cand) { struct gprs_rlcmac_ul_tbf *ul_tbf; struct gprs_rlcmac_dl_tbf *dl_tbf; struct llist_item *pos; - uint32_t poll_fn; - /* check special TBF for events */ - poll_fn = fn + 4; - if ((block_nr % 3) == 2) - poll_fn ++; - poll_fn = poll_fn % GSM_MAX_FN; llist_for_each_entry(pos, &bts->ul_tbfs, list) { ul_tbf = as_ul_tbf((struct gprs_rlcmac_tbf *)pos->entry); OSMO_ASSERT(ul_tbf); /* this trx, this ts */ if (ul_tbf->trx->trx_no != trx || !ul_tbf->is_control_ts(ts)) continue; - /* polling for next uplink block */ - if (ul_tbf->poll_scheduled() && ul_tbf->poll_fn == poll_fn) - tbf_cand->poll = ul_tbf; if (ul_tbf->ul_ack_state_is(GPRS_RLCMAC_UL_ACK_SEND_ACK)) tbf_cand->ul_ack = ul_tbf; if (ul_tbf->dl_ass_state_is(GPRS_RLCMAC_DL_ASS_SEND_ASS)) @@ -84,9 +73,6 @@ /* this trx, this ts */ if (dl_tbf->trx->trx_no != trx || !dl_tbf->is_control_ts(ts)) continue; - /* polling for next uplink block */ - if (dl_tbf->poll_scheduled() && dl_tbf->poll_fn == poll_fn) - tbf_cand->poll = dl_tbf; if (dl_tbf->dl_ass_state_is(GPRS_RLCMAC_DL_ASS_SEND_ASS)) tbf_cand->dl_ass = dl_tbf; if (dl_tbf->ul_ass_state_is(GPRS_RLCMAC_UL_ASS_SEND_ASS) @@ -96,8 +82,6 @@ if (dl_tbf->is_tfi_assigned() && ms_nacc_rts(dl_tbf->ms())) tbf_cand->nacc = dl_tbf; } - - return poll_fn; } static struct gprs_rlcmac_ul_tbf *sched_select_uplink(uint8_t trx, uint8_t ts, uint32_t fn, @@ -436,10 +420,12 @@ { struct gprs_rlcmac_pdch *pdch; struct tbf_sched_candidates tbf_cand = {0}; + struct gprs_rlcmac_tbf *poll_tbf; struct gprs_rlcmac_ul_tbf *usf_tbf; + struct gprs_rlcmac_sba *sba; uint8_t usf; struct msgb *msg = NULL; - uint32_t poll_fn, sba_fn; + uint32_t poll_fn; enum pcu_gsmtap_category gsmtap_cat; bool tx_is_egprs = false; bool require_gprs_only; @@ -473,19 +459,21 @@ req_mcs_kind = EGPRS; /* all kinds are fine */ } - poll_fn = sched_poll(bts, trx, ts, fn, block_nr, &tbf_cand); + /* polling for next uplink block */ + poll_fn = rts_next_fn(fn, block_nr); + /* check uplink resource for polling */ - if (tbf_cand.poll) { + if ((poll_tbf = pdch_ulc_get_tbf_poll(pdch->ulc, poll_fn))) { LOGP(DRLCMACSCHED, LOGL_DEBUG, "Received RTS for PDCH: TRX=%d " "TS=%d FN=%d block_nr=%d scheduling free USF for " "polling at FN=%d of %s\n", trx, ts, fn, - block_nr, poll_fn, tbf_name(tbf_cand.poll)); + block_nr, poll_fn, tbf_name(poll_tbf)); usf = USF_UNUSED; /* else. check for sba */ - } else if ((sba_fn = find_sba_rts(pdch, fn, block_nr)) != 0xffffffff) { + } else if ((sba = pdch_ulc_get_sba(pdch->ulc, poll_fn))) { LOGPDCH(pdch, DRLCMACSCHED, LOGL_DEBUG, "Received RTS for PDCH: " "FN=%d block_nr=%d scheduling free USF for " - "single block allocation at FN=%d\n", fn, block_nr, sba_fn); + "single block allocation at FN=%d\n", fn, block_nr, sba->fn); usf = USF_UNUSED; /* else, we search for uplink resource */ } else { @@ -503,6 +491,8 @@ } } + get_tbf_candidates(bts, trx, ts, &tbf_cand); + /* Prio 1: select control message */ if ((msg = sched_select_ctrl_msg(pdch, fn, block_nr, &tbf_cand))) { gsmtap_cat = PCU_GSMTAP_C_DL_CTRL; diff --git a/src/pdch_ul_controller.c b/src/pdch_ul_controller.c index 622dfaf..7106048 100644 --- a/src/pdch_ul_controller.c +++ b/src/pdch_ul_controller.c @@ -106,6 +106,16 @@ return item->sba.sba; } +struct gprs_rlcmac_tbf *pdch_ulc_get_tbf_poll(struct pdch_ulc *ulc, uint32_t fn) +{ + struct pdch_ulc_node *item = pdch_ulc_get_node(ulc, fn); + if (!item || item->type != PDCH_ULC_NODE_TBF_POLL) { + /* It's OK if we don't find one, this func is used by RTS to see if we need to schedule one */ + return NULL; + } + return item->tbf_poll.poll_tbf; +} + bool pdch_ulc_fn_is_free(struct pdch_ulc *ulc, uint32_t fn) { return !pdch_ulc_get_node(ulc, fn); diff --git a/src/pdch_ul_controller.h b/src/pdch_ul_controller.h index 53604a9..eb93143 100644 --- a/src/pdch_ul_controller.h +++ b/src/pdch_ul_controller.h @@ -75,6 +75,7 @@ struct pdch_ulc_node *pdch_ulc_get_node(struct pdch_ulc *ulc, uint32_t fn); struct pdch_ulc_node *pdch_ulc_pop_node(struct pdch_ulc *ulc, uint32_t fn); struct gprs_rlcmac_sba *pdch_ulc_get_sba(struct pdch_ulc *ulc, uint32_t fn); +struct gprs_rlcmac_tbf *pdch_ulc_get_tbf_poll(struct pdch_ulc *ulc, uint32_t fn); void pdch_ulc_release_tbf(struct pdch_ulc *ulc, const struct gprs_rlcmac_tbf *tbf); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23323 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia60bb5249a9837dec1f42180e44d9848334d86d6 Gerrit-Change-Number: 23323 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 Mar 11 18:41:30 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 11 Mar 2021 18:41:30 +0000 Subject: Change in osmo-pcu[master]: Track TDMA clock with DATA.ind instead of TIME.ind In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23261 ) Change subject: Track TDMA clock with DATA.ind instead of TIME.ind ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/23261/3/src/pcu_l1_if.cpp File src/pcu_l1_if.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/23261/3/src/pcu_l1_if.cpp at 810 PS3, Line 810: * providing all block FNs. */ > Do we still want/need the log message above? [?] I think it's still good to keep it for debugging purposes. Once in a while when the new system is proven robust and working we can end up dropping it. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23261 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibc495173119465e74f726ddc36e312334e6dc0fd Gerrit-Change-Number: 23261 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-CC: fixeria Gerrit-Comment-Date: Thu, 11 Mar 2021 18:41:30 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: daniel Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 11 19:59:17 2021 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Thu, 11 Mar 2021 19:59:17 +0000 Subject: Change in osmo-bsc[master]: Add vty command for Ericsson RBS2000 sync In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23317 ) Change subject: Add vty command for Ericsson RBS2000 sync ...................................................................... Patch Set 2: (2 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/23317/2/src/osmo-bsc/abis_om2000_vty.c File src/osmo-bsc/abis_om2000_vty.c: https://gerrit.osmocom.org/c/osmo-bsc/+/23317/2/src/osmo-bsc/abis_om2000_vty.c at 495 PS2, Line 495: if (!strcmp(argv[0], "external")) > "else if", or simply else. ah right.. saves an instruction i guess. I actually wondered about these vty functions; if we should return CMD_SUCCESS only for a recognized param. if somehow the function were to be called with a invalid param should return an error (which is impossible from the vty, right?) so instead of if else, it would be ifs with early returm? https://gerrit.osmocom.org/c/osmo-bsc/+/23317/2/src/osmo-bsc/abis_om2000_vty.c at 681 PS2, Line 681: if (bts->rbs2000.sync_src >= 0) { > I don't see sync_src being < 0 anywhere. [?] you're (both) right of course - this is a hangover from an earlier draft when this code was in bsc_vty.c and before we initialised the member. @javi can you remove the condition? (remember, if you git rebase -i first it's easier to amend the commit) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23317 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia3d1acd6b3442238b35fc911092e12a6ac989adb Gerrit-Change-Number: 23317 Gerrit-PatchSet: 2 Gerrit-Owner: javi-tic Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-CC: keith Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 11 Mar 2021 19:59:17 +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 Mar 11 20:03:26 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 11 Mar 2021 20:03:26 +0000 Subject: Change in osmo-bsc[master]: Add vty command for Ericsson RBS2000 sync In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23317 ) Change subject: Add vty command for Ericsson RBS2000 sync ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/23317/2/src/osmo-bsc/abis_om2000_vty.c File src/osmo-bsc/abis_om2000_vty.c: https://gerrit.osmocom.org/c/osmo-bsc/+/23317/2/src/osmo-bsc/abis_om2000_vty.c at 495 PS2, Line 495: if (!strcmp(argv[0], "external")) > ah right.. saves an instruction i guess. [?] VTY internal code is parsing the parameters and making sure whatever is passed to this function is either "internal" or "external", so there's no need for checking any other possibilities. I would even strongly discourage doing that kind of extra checks because if it ever happens, it's a bug which for sure should be fixed in core VTY code, and doing these kind of assumptions could even hide those kind of issues. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23317 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia3d1acd6b3442238b35fc911092e12a6ac989adb Gerrit-Change-Number: 23317 Gerrit-PatchSet: 2 Gerrit-Owner: javi-tic Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-CC: keith Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 11 Mar 2021 20:03:26 +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 Thu Mar 11 20:05:01 2021 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Thu, 11 Mar 2021 20:05:01 +0000 Subject: Change in osmo-bsc[master]: Add command to enable RX diversity to RBS2000 In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23318 ) Change subject: Add command to enable RX diversity to RBS2000 ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/23318/4/src/osmo-bsc/abis_om2000_vty.c File src/osmo-bsc/abis_om2000_vty.c: https://gerrit.osmocom.org/c/osmo-bsc/+/23318/4/src/osmo-bsc/abis_om2000_vty.c at 585 PS4, Line 585: "Both\n" > I see 'ab' in the middle of '(a|ab|b)', so this help string corresponds to 'b'. [?] Right. again.. hangover from the first draft. I had a,b,ab but then i think in an email the was a suggestion of a,ab,b.. which seems to make sense in a Left to Right kind of way. @javi Can you change the order of the help texts, compile and check it with the vty "?" -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23318 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I430762b8cfa51060841d90ba4446de73bd557c6c Gerrit-Change-Number: 23318 Gerrit-PatchSet: 4 Gerrit-Owner: javi-tic Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-CC: keith Gerrit-Comment-Date: Thu, 11 Mar 2021 20:05:01 +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 Mar 11 20:28:38 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 11 Mar 2021 20:28:38 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Set up PCU TDMA clock by sending initial DATA.ind References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23324 ) Change subject: pcu: Set up PCU TDMA clock by sending initial DATA.ind ...................................................................... pcu: Set up PCU TDMA clock by sending initial DATA.ind In recent osmo-pcu commits, initial fn was changed to invalid value -1, in order to be able to detect FN jumps. previously, the initial value was set randomly to 0, which was wrong anyway because first FN received from the BTS could be any other FN counted by the BTS at that time. This makes some tests fail because they send RACH.ind + RTS.ind to receive the Imm Assignment, and the Request reference in the Imm Assign was calculated on the invalid unset FN "-1", hence it won't match test expectancies. In order to fix it, simply make sure the TDMA clock is initiated by sending a DATA.ind to the PCU before tests start doing stuff (f_init_raw() is blocked waiting for BTS_EV_SI13_NEGO). Related: osmo-pcu.git Change-Id I29fb27981597edc69abb976049ba41aa840488cb Related: OS#5020 Change-Id: I00c4dd9133ec9a236bf28fb8cb0afd0615791012 --- M pcu/PCUIF_Components.ttcn 1 file changed, 33 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/24/23324/1 diff --git a/pcu/PCUIF_Components.ttcn b/pcu/PCUIF_Components.ttcn index 6b0a412..47c65c7 100644 --- a/pcu/PCUIF_Components.ttcn +++ b/pcu/PCUIF_Components.ttcn @@ -216,10 +216,12 @@ return ss; } -function f_ClckGen_CT_handler() +function f_ClckGen_CT_handler(integer start_fn := 0) runs on RAW_PCU_ClckGen_CT { var integer fn104, fn52, fn13; + fn := start_fn; + while (true) { fn104 := fn mod 104; fn52 := fn mod 52; @@ -343,6 +345,32 @@ } } +/* Submit empty data on any available TS, to set up initial TDMA clock */ +private function f_tx_first_data_ind(integer bts_nr, PCUIF_info_ind info_ind, integer start_fn) +runs on RAW_PCU_BTS_CT +{ + var PCUIF_Message pcu_msg; + var PCUIF_InfoV10TrxList trx_list := g_info_ind.trx.v10; + + /* Find an active TS: */ + for (var uint8_t ts_nr := 0; ts_nr < 8; ts_nr := ts_nr + 1) { + for (var integer trx_nr := 0; trx_nr < lengthof(trx_list); trx_nr := trx_nr + 1) { + if (trx_list[trx_nr].pdch_mask[ts_nr] == '0'B) { + continue; /* TRX+TS not activated */ + } + + /* Send empty DATA.ind to set up FN */ + pcu_msg := valueof(ts_PCUIF_DATA_IND(bts_nr, trx_nr, ts_nr, 0 /* FIXME */, + PCU_IF_SAPI_PDTCH, ''O, start_fn, + trx_list[trx_nr].arfcn, + rssi := -80, ber10k := 0, + ta_offs_qbits := 0, lqual_cb := 10)); + PCUIF.send(pcu_msg); + return; + } + } +} + /* Get first message from queue. true if non-empty, false otherwise */ private function f_tx_data_ind_fn(integer bts_nr, integer fn) runs on RAW_PCU_BTS_CT @@ -477,11 +505,14 @@ u := { info_ind := info_ind } }); + var integer start_fn := 0; + f_tx_first_data_ind(bts_nr, info_ind, start_fn); + /* Notify the test case that we're done with SI13 */ TC.send(ts_RAW_PCU_EV(BTS_EV_SI13_NEGO)); /* Start feeding clock to the PCU */ - vc_CLCK_GEN.start(f_ClckGen_CT_handler()); + vc_CLCK_GEN.start(f_ClckGen_CT_handler(start_fn)); repeat; } /* PCU -> TS becomes active */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23324 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I00c4dd9133ec9a236bf28fb8cb0afd0615791012 Gerrit-Change-Number: 23324 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 Mar 11 21:59:45 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 11 Mar 2021 21:59:45 +0000 Subject: Change in pysim[master]: Get rid of Python 2 specific compatibility leftovers References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/23325 ) Change subject: Get rid of Python 2 specific compatibility leftovers ...................................................................... Get rid of Python 2 specific compatibility leftovers Change-Id: I0068caa775d89349db2ad378fad22e89832b8d20 --- M pySim/exceptions.py M pySim/transport/calypso.py M pySim/transport/modem_atcmd.py M pySim/transport/serial.py 4 files changed, 0 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/25/23325/1 diff --git a/pySim/exceptions.py b/pySim/exceptions.py index 156ec62..2ffe5f9 100644 --- a/pySim/exceptions.py +++ b/pySim/exceptions.py @@ -21,14 +21,6 @@ # along with this program. If not, see . # -from __future__ import absolute_import - -try: - # This is for compatibility with python 2 and 3 - from exceptions import Exception -except: - pass - class NoCardError(Exception): pass diff --git a/pySim/transport/calypso.py b/pySim/transport/calypso.py index fd2e110..7f99d21 100644 --- a/pySim/transport/calypso.py +++ b/pySim/transport/calypso.py @@ -20,8 +20,6 @@ # along with this program. If not, see . # -from __future__ import absolute_import - import select import struct import socket diff --git a/pySim/transport/modem_atcmd.py b/pySim/transport/modem_atcmd.py index ccf608c..86d4443 100644 --- a/pySim/transport/modem_atcmd.py +++ b/pySim/transport/modem_atcmd.py @@ -19,8 +19,6 @@ # along with this program. If not, see . # -from __future__ import absolute_import - import logging as log import serial import time diff --git a/pySim/transport/serial.py b/pySim/transport/serial.py index 11104b1..03d3f38 100644 --- a/pySim/transport/serial.py +++ b/pySim/transport/serial.py @@ -20,8 +20,6 @@ # along with this program. If not, see . # -from __future__ import absolute_import - import serial import time import os.path -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23325 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I0068caa775d89349db2ad378fad22e89832b8d20 Gerrit-Change-Number: 23325 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 Mar 11 22:02:02 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 11 Mar 2021 22:02:02 +0000 Subject: Change in pysim[master]: pySim/utils_test.py: use proper shebang for this executable References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/23326 ) Change subject: pySim/utils_test.py: use proper shebang for this executable ...................................................................... pySim/utils_test.py: use proper shebang for this executable Change-Id: I8ad843643b5a97d41a12f74e2ada49088a54974d --- M pySim/utils_test.py 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/26/23326/1 diff --git a/pySim/utils_test.py b/pySim/utils_test.py index 8db04bd..5cdb55e 100644 --- a/pySim/utils_test.py +++ b/pySim/utils_test.py @@ -1,4 +1,4 @@ -#!/usr/bin/pyton +#!/usr/bin/env python3 import unittest import utils -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23326 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I8ad843643b5a97d41a12f74e2ada49088a54974d Gerrit-Change-Number: 23326 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 Mar 11 22:21:41 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 11 Mar 2021 22:21:41 +0000 Subject: Change in pysim[master]: pySim/utils_test.py: rename, move, and execute this on Jenkins References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/23327 ) Change subject: pySim/utils_test.py: rename, move, and execute this on Jenkins ...................................................................... pySim/utils_test.py: rename, move, and execute this on Jenkins As it turns out, we had this set of unit tests since 2018, but so far they were not executed during the build verification. Let's fix this: * rename this file, so it can be automatically detected and executed; * run unittest in discovery mode for all files in 'tests/'; * properly import the API to be tested. Currently 2 out of 16 unit tests are failing. Change-Id: I4d4facfabc75187acd5238ff4d0f26022bd58f82 --- M contrib/jenkins.sh R tests/test_utils.py 2 files changed, 4 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/27/23327/1 diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index bfbf4e0..e286047 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -15,6 +15,9 @@ pip install pyyaml pip install cmd2 +# Execute automatically discovered unit tests first +python -m unittest discover -v -s tests/ + cd pysim-testdata ../tests/pysim-test.sh diff --git a/pySim/utils_test.py b/tests/test_utils.py similarity index 97% rename from pySim/utils_test.py rename to tests/test_utils.py index 5cdb55e..44fe631 100644 --- a/pySim/utils_test.py +++ b/tests/test_utils.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 import unittest -import utils +import pySim.utils as utils class DecTestCase(unittest.TestCase): -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23327 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I4d4facfabc75187acd5238ff4d0f26022bd58f82 Gerrit-Change-Number: 23327 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 Mar 11 22:23:04 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 11 Mar 2021 22:23:04 +0000 Subject: Change in pysim[master]: Get rid of Python 2 specific compatibility leftovers In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23325 ) Change subject: Get rid of Python 2 specific compatibility leftovers ...................................................................... Set Ready For Review -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23325 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I0068caa775d89349db2ad378fad22e89832b8d20 Gerrit-Change-Number: 23325 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Thu, 11 Mar 2021 22:23:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 12 00:13:31 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 12 Mar 2021 00:13:31 +0000 Subject: Change in pysim[master]: pySim/utils_test.py: prepare this to be executed on Jenkins 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/+/23327 to look at the new patch set (#2). Change subject: pySim/utils_test.py: prepare this to be executed on Jenkins ...................................................................... pySim/utils_test.py: prepare this to be executed on Jenkins As it turns out, we had this set of unit tests since 2018, but so far they were not executed during the build verification. Let's fix this: * run unittest in discovery mode for all files in 'tests/' (commented out); * rename this file, so it can be automatically detected and executed; * properly import the API to be tested. Currently 2 out of 16 unit tests are failing, so we need to get them passing first and then uncomment the unittest execution. Change-Id: I4d4facfabc75187acd5238ff4d0f26022bd58f82 --- M contrib/jenkins.sh R tests/test_utils.py 2 files changed, 5 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/27/23327/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23327 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I4d4facfabc75187acd5238ff4d0f26022bd58f82 Gerrit-Change-Number: 23327 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 Fri Mar 12 00:13:31 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 12 Mar 2021 00:13:31 +0000 Subject: Change in pysim[master]: Revert "utils.py: Fix for parsing MNC" References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/23328 ) Change subject: Revert "utils.py: Fix for parsing MNC" ...................................................................... Revert "utils.py: Fix for parsing MNC" This reverts commit bdf3d3597b5d8e4260f80a00ada78e9ad612b00b, which broke pySim.utils.dec_mnc_from_plmn(). According to 3GPP TS 31.102, which points to TS 24.008, the three-digit EHPLMN shall be encoded as shown below (ASCII-art interpretation): 0 1 2 3 4 5 6 7 +---+---+---+---+---+---+---+---+ | MCC Digit 2 | MCC Digit 1 | +---+---+---+---+---+---+---+---+ | MNC Digit 3 | MCC Digit 3 | +---+---+---+---+---+---+---+---+ | MNC Digit 2 | MNC Digit 1 | +---+---+---+---+---+---+---+---+ So the original implementation was correct, and we even had a unit test for it. Most likely, the SIM card itself was programmed incorrectly? Makes 'testDecMNCfromPLMN_threeDigitMNC' pass again. Change-Id: If6bf5383988ad442e275efc7c5a159327d104879 --- M pySim/utils.py 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/28/23328/1 diff --git a/pySim/utils.py b/pySim/utils.py index 6dbd980..b49a437 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -140,9 +140,9 @@ def dec_mnc_from_plmn(plmn): ia = h2i(plmn) - digit1 = (ia[1] & 0xF0) >>4 # 2nd byte, MSB - digit2 = ia[2] & 0x0F # 3rd byte, LSB - digit3 = (ia[2] & 0xF0) >> 4 # 3nd byte, MSB + digit1 = ia[2] & 0x0F # 3rd byte, LSB + digit2 = (ia[2] & 0xF0) >> 4 # 3rd byte, MSB + digit3 = (ia[1] & 0xF0) >> 4 # 2nd byte, MSB if digit3 == 0xF and digit2 == 0xF and digit1 == 0xF: return 0xFFF # 4095 return derive_mnc(digit1, digit2, digit3) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23328 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: If6bf5383988ad442e275efc7c5a159327d104879 Gerrit-Change-Number: 23328 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 12 00:13:32 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 12 Mar 2021 00:13:32 +0000 Subject: Change in pysim[master]: pySim/utils.py: fix 3-digit MNC encoding in enc_plmn() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/23329 ) Change subject: pySim/utils.py: fix 3-digit MNC encoding in enc_plmn() ...................................................................... pySim/utils.py: fix 3-digit MNC encoding in enc_plmn() The bug that was attempted to be fixed in [1] actually was in the encoding API - pySim.utils.enc_plmn(). According to 3GPP TS 31.102, which points to TS 24.008, the three-digit (E)HPLMN shall be encoded as shown below (ASCII-art interpretation): 0 1 2 3 4 5 6 7 +---+---+---+---+---+---+---+---+ | MCC Digit 2 | MCC Digit 1 | +---+---+---+---+---+---+---+---+ | MNC Digit 3 | MCC Digit 3 | +---+---+---+---+---+---+---+---+ | MNC Digit 2 | MNC Digit 1 | +---+---+---+---+---+---+---+---+ while pySim.utils.enc_plmn() would produce the following: 0 1 2 3 4 5 6 7 +---+---+---+---+---+---+---+---+ | MCC Digit 2 | MCC Digit 1 | +---+---+---+---+---+---+---+---+ | MNC Digit 1 | MCC Digit 3 | +---+---+---+---+---+---+---+---+ | MNC Digit 3 | MNC Digit 2 | +---+---+---+---+---+---+---+---+ Initially the _decoding_ API was correct, but then got changed in [1] to follow buggy pySim's encoding API. As a result, a (E)HPLMN programmed with pySim-prog.py would look correct if verified by pySim-read.py, but the actual file content would be wrong. This situation shows that our 'program-read-match' build verification approach alone is insignificant. The lack of unit test coverage, at least for the core parts of the project, makes it possible to have symmetrical bugs in both encoding and decoding API parts unnoticed. This problem was found while trying to enable dead unit tests in [3]. Change [1] that introduced a symmetrical bug is reverted in [2]. Change-Id: Ic7612502e1bb0d280133dabbcb5cb146fc6997e5 Related: [1] I799469206f87e930d8888367890babcb8ebe23a9 Related: [2] If6bf5383988ad442e275efc7c5a159327d104879 Related: [3] I4d4facfabc75187acd5238ff4d0f26022bd58f82 --- M pySim/utils.py M tests/test_utils.py 2 files changed, 12 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/29/23329/1 diff --git a/pySim/utils.py b/pySim/utils.py index b49a437..d75a000 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -109,8 +109,8 @@ def enc_plmn(mcc, mnc): """Converts integer MCC/MNC into 3 bytes for EF""" if len(mnc) == 2: - mnc = "F%s" % mnc - return swap_nibbles("%s%s" % (mcc, mnc)) + mnc += "F" # pad to 3 digits if needed + return (mcc[1] + mcc[0]) + (mnc[2] + mcc[2]) + (mnc[1] + mnc[0]) def dec_spn(ef): byte1 = int(ef[0:2]) diff --git a/tests/test_utils.py b/tests/test_utils.py index 44fe631..0df205a 100644 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -29,6 +29,16 @@ def testDecMNCfromPLMN_unused(self): self.assertEqual(utils.dec_mnc_from_plmn("00f0ff"), 4095) + def test_enc_plmn(self): + with self.subTest("2-digit MCC"): + self.assertEqual(utils.enc_plmn("001", "01F"), "00F110") + self.assertEqual(utils.enc_plmn("001", "01"), "00F110") + self.assertEqual(utils.enc_plmn("295", "10"), "92F501") + + with self.subTest("3-digit MCC"): + self.assertEqual(utils.enc_plmn("001", "001"), "001100") + self.assertEqual(utils.enc_plmn("302", "361"), "031263") + def testDecAct_noneSet(self): self.assertEqual(utils.dec_act("0000"), []) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23329 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ic7612502e1bb0d280133dabbcb5cb146fc6997e5 Gerrit-Change-Number: 23329 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 12 00:13:32 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 12 Mar 2021 00:13:32 +0000 Subject: Change in pysim[master]: tests/test_utils.py: update expectations for format_xplmn_w_act() References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/23330 ) Change subject: tests/test_utils.py: update expectations for format_xplmn_w_act() ...................................................................... tests/test_utils.py: update expectations for format_xplmn_w_act() Change-Id: I520328e3490cc3a333d2daad84e745d115196626 --- M tests/test_utils.py 1 file changed, 10 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/30/23330/1 diff --git a/tests/test_utils.py b/tests/test_utils.py index 0df205a..bcf6140 100644 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -69,17 +69,16 @@ def testFormatxPlmn_w_act(self): input_str = "92f501800092f5508000ffffff0000ffffff0000ffffff0000ffffff0000ffffff0000ffffff0000ffffff0000ffffff0000" - expected = '''92f5018000 # MCC: 295 MNC: 10 AcT: UTRAN -92f5508000 # MCC: 295 MNC: 5 AcT: UTRAN -ffffff0000 # unused -ffffff0000 # unused -ffffff0000 # unused -ffffff0000 # unused -ffffff0000 # unused -ffffff0000 # unused -ffffff0000 # unused -ffffff0000 # unused -''' + expected = "\t92f5018000 # MCC: 295 MNC: 010 AcT: UTRAN\n" + expected += "\t92f5508000 # MCC: 295 MNC: 005 AcT: UTRAN\n" + expected += "\tffffff0000 # unused\n" + expected += "\tffffff0000 # unused\n" + expected += "\tffffff0000 # unused\n" + expected += "\tffffff0000 # unused\n" + expected += "\tffffff0000 # unused\n" + expected += "\tffffff0000 # unused\n" + expected += "\tffffff0000 # unused\n" + expected += "\tffffff0000 # unused\n" self.assertEqual(utils.format_xplmn_w_act(input_str), expected) if __name__ == "__main__": -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23330 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I520328e3490cc3a333d2daad84e745d115196626 Gerrit-Change-Number: 23330 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 12 00:13:33 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 12 Mar 2021 00:13:33 +0000 Subject: Change in pysim[master]: contrib/jenkins.sh: enable automatic execution of unit tests References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/23331 ) Change subject: contrib/jenkins.sh: enable automatic execution of unit tests ...................................................................... contrib/jenkins.sh: enable automatic execution of unit tests Change-Id: I7b4bb49efd5e6ae284da063b7899e368ea4f1e22 Related: I4d4facfabc75187acd5238ff4d0f26022bd58f82 --- M contrib/jenkins.sh 1 file changed, 1 insertion(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/31/23331/1 diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index 9b4689d..e286047 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -16,8 +16,7 @@ pip install cmd2 # Execute automatically discovered unit tests first -# TODO: uncomment once all tests are passing -# python -m unittest discover -v -s tests/ +python -m unittest discover -v -s tests/ cd pysim-testdata ../tests/pysim-test.sh -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23331 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I7b4bb49efd5e6ae284da063b7899e368ea4f1e22 Gerrit-Change-Number: 23331 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 12 01:18:24 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 12 Mar 2021 01:18:24 +0000 Subject: Change in pysim[master]: pySim/exceptions.py: fix referencing an instance member References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/23332 ) Change subject: pySim/exceptions.py: fix referencing an instance member ...................................................................... pySim/exceptions.py: fix referencing an instance member Change-Id: I6debfc03e9847b907f959e681234daf21df41656 --- M pySim/exceptions.py 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/32/23332/1 diff --git a/pySim/exceptions.py b/pySim/exceptions.py index 156ec62..cfc234c 100644 --- a/pySim/exceptions.py +++ b/pySim/exceptions.py @@ -47,7 +47,7 @@ self.rs = rs def __str__(self): if self.rs: - r = self.rs.interpret_sw(sw_actual) + r = self.rs.interpret_sw(self.sw_actual) if r: return "SW match failed! Expected %s and got %s: %s - %s" % (self.sw_expected, self.sw_actual, r[0], r[1]) return "SW match failed! Expected %s and got %s." % (self.sw_expected, self.sw_actual) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23332 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I6debfc03e9847b907f959e681234daf21df41656 Gerrit-Change-Number: 23332 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Fri Mar 12 01:51:20 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 12 Mar 2021 01:51:20 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.10/x86_64 In-Reply-To: References: Message-ID: <604ac931ae811_57e52b18cc7d25fc327923@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_20.10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_20.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 158s] [COMPILING libboard/qmod/source/board_qmod.c] [ 159s] [COMPILING libboard/qmod/source/card_pres.c] [ 159s] [COMPILING libboard/qmod/source/i2c.c] [ 159s] [COMPILING libboard/qmod/source/wwan_led.c] [ 159s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 159s] [COMPILING apps/dfu/main.c] [ 159s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 159s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 159s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 160s] Memory region Used Size Region Size %age Used [ 160s] rom: 16592 B 16 KB 101.27% [ 160s] ram: 11680 B 48 KB 23.76/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 160s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 208 bytes [ 160s] collect2: error: ld returned 1 exit status [ 160s] % [ 160s] make[2]: *** [Makefile:230: flash] Error 1 [ 160s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 160s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 160s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 160s] dh_auto_build: error: make -j1 returned exit code 2 [ 160s] make: *** [debian/rules:16: build] Error 25 [ 160s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 160s] ### VM INTERACTION START ### [ 163s] [ 150.538642] sysrq: Power Off [ 163s] [ 150.546017] reboot: Power down [ 163s] ### VM INTERACTION END ### [ 163s] [ 163s] lamb16 failed "build simtrace2_0.7.0.76.62ad.dsc" at Fri Mar 12 01:51:07 UTC 2021. [ 163s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 12 01:53:20 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 12 Mar 2021 01:53:20 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <604ac9a945227_57e52b18cc7d25fc328216@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_20.04/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_20.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 157s] [COMPILING apps/dfu/main.c] [ 157s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 157s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 157s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 158s] Memory region Used Size Region Size %age Used [ 158s] rom: 16600 B 16 KB 101.32% [ 158s] ram: 11688 B 48 KB 23.78/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 158s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 158s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 158s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 158s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 158s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 158s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 216 bytes [ 158s] collect2: error: ld returned 1 exit status [ 158s] % [ 158s] make[2]: *** [Makefile:230: flash] Error 1 [ 158s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 158s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 158s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 158s] dh_auto_build: error: make -j1 returned exit code 2 [ 158s] make: *** [debian/rules:16: build] Error 25 [ 158s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 158s] ### VM INTERACTION START ### [ 161s] [ 148.958707] sysrq: Power Off [ 161s] [ 148.964018] reboot: Power down [ 161s] ### VM INTERACTION END ### [ 161s] [ 161s] old-atreju3 failed "build simtrace2_0.7.0.76.62ad.dsc" at Fri Mar 12 01:53:10 UTC 2021. [ 161s] -- 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 Mar 12 07:25:10 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 12 Mar 2021 07:25:10 +0000 Subject: Change in pysim[master]: Get rid of Python 2 specific compatibility leftovers In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23325 ) Change subject: Get rid of Python 2 specific compatibility leftovers ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23325 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I0068caa775d89349db2ad378fad22e89832b8d20 Gerrit-Change-Number: 23325 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 12 Mar 2021 07:25:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 12 07:25:17 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 12 Mar 2021 07:25:17 +0000 Subject: Change in pysim[master]: pySim/utils_test.py: use proper shebang for this executable In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23326 ) Change subject: pySim/utils_test.py: use proper shebang for this executable ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23326 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I8ad843643b5a97d41a12f74e2ada49088a54974d Gerrit-Change-Number: 23326 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 12 Mar 2021 07:25: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 Fri Mar 12 07:25:38 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 12 Mar 2021 07:25:38 +0000 Subject: Change in pysim[master]: pySim/utils_test.py: prepare this to be executed on Jenkins In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23327 ) Change subject: pySim/utils_test.py: prepare this to be executed on Jenkins ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23327 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I4d4facfabc75187acd5238ff4d0f26022bd58f82 Gerrit-Change-Number: 23327 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 12 Mar 2021 07:25:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 12 07:25:52 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 12 Mar 2021 07:25:52 +0000 Subject: Change in pysim[master]: Get rid of Python 2 specific compatibility leftovers In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/23325 ) Change subject: Get rid of Python 2 specific compatibility leftovers ...................................................................... Get rid of Python 2 specific compatibility leftovers Change-Id: I0068caa775d89349db2ad378fad22e89832b8d20 --- M pySim/exceptions.py M pySim/transport/calypso.py M pySim/transport/modem_atcmd.py M pySim/transport/serial.py 4 files changed, 0 insertions(+), 14 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim/exceptions.py b/pySim/exceptions.py index 156ec62..2ffe5f9 100644 --- a/pySim/exceptions.py +++ b/pySim/exceptions.py @@ -21,14 +21,6 @@ # along with this program. If not, see . # -from __future__ import absolute_import - -try: - # This is for compatibility with python 2 and 3 - from exceptions import Exception -except: - pass - class NoCardError(Exception): pass diff --git a/pySim/transport/calypso.py b/pySim/transport/calypso.py index fd2e110..7f99d21 100644 --- a/pySim/transport/calypso.py +++ b/pySim/transport/calypso.py @@ -20,8 +20,6 @@ # along with this program. If not, see . # -from __future__ import absolute_import - import select import struct import socket diff --git a/pySim/transport/modem_atcmd.py b/pySim/transport/modem_atcmd.py index ccf608c..86d4443 100644 --- a/pySim/transport/modem_atcmd.py +++ b/pySim/transport/modem_atcmd.py @@ -19,8 +19,6 @@ # along with this program. If not, see . # -from __future__ import absolute_import - import logging as log import serial import time diff --git a/pySim/transport/serial.py b/pySim/transport/serial.py index 11104b1..03d3f38 100644 --- a/pySim/transport/serial.py +++ b/pySim/transport/serial.py @@ -20,8 +20,6 @@ # along with this program. If not, see . # -from __future__ import absolute_import - import serial import time import os.path -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23325 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I0068caa775d89349db2ad378fad22e89832b8d20 Gerrit-Change-Number: 23325 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 Mar 12 07:25:53 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 12 Mar 2021 07:25:53 +0000 Subject: Change in pysim[master]: pySim/utils_test.py: use proper shebang for this executable In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/23326 ) Change subject: pySim/utils_test.py: use proper shebang for this executable ...................................................................... pySim/utils_test.py: use proper shebang for this executable Change-Id: I8ad843643b5a97d41a12f74e2ada49088a54974d --- M pySim/utils_test.py 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim/utils_test.py b/pySim/utils_test.py index 8db04bd..5cdb55e 100644 --- a/pySim/utils_test.py +++ b/pySim/utils_test.py @@ -1,4 +1,4 @@ -#!/usr/bin/pyton +#!/usr/bin/env python3 import unittest import utils -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23326 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I8ad843643b5a97d41a12f74e2ada49088a54974d Gerrit-Change-Number: 23326 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 Mar 12 07:25:53 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 12 Mar 2021 07:25:53 +0000 Subject: Change in pysim[master]: pySim/utils_test.py: prepare this to be executed on Jenkins In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/23327 ) Change subject: pySim/utils_test.py: prepare this to be executed on Jenkins ...................................................................... pySim/utils_test.py: prepare this to be executed on Jenkins As it turns out, we had this set of unit tests since 2018, but so far they were not executed during the build verification. Let's fix this: * run unittest in discovery mode for all files in 'tests/' (commented out); * rename this file, so it can be automatically detected and executed; * properly import the API to be tested. Currently 2 out of 16 unit tests are failing, so we need to get them passing first and then uncomment the unittest execution. Change-Id: I4d4facfabc75187acd5238ff4d0f26022bd58f82 --- M contrib/jenkins.sh R tests/test_utils.py 2 files changed, 5 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index bfbf4e0..9b4689d 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -15,6 +15,10 @@ pip install pyyaml pip install cmd2 +# Execute automatically discovered unit tests first +# TODO: uncomment once all tests are passing +# python -m unittest discover -v -s tests/ + cd pysim-testdata ../tests/pysim-test.sh diff --git a/pySim/utils_test.py b/tests/test_utils.py similarity index 97% rename from pySim/utils_test.py rename to tests/test_utils.py index 5cdb55e..44fe631 100644 --- a/pySim/utils_test.py +++ b/tests/test_utils.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 import unittest -import utils +import pySim.utils as utils class DecTestCase(unittest.TestCase): -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23327 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I4d4facfabc75187acd5238ff4d0f26022bd58f82 Gerrit-Change-Number: 23327 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 Mar 12 07:26:04 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 12 Mar 2021 07:26:04 +0000 Subject: Change in pysim[master]: Revert "utils.py: Fix for parsing MNC" In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23328 ) Change subject: Revert "utils.py: Fix for parsing MNC" ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23328 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: If6bf5383988ad442e275efc7c5a159327d104879 Gerrit-Change-Number: 23328 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: herlesupreeth Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 12 Mar 2021 07:26:04 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 12 07:26:13 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 12 Mar 2021 07:26:13 +0000 Subject: Change in pysim[master]: pySim/utils.py: fix 3-digit MNC encoding in enc_plmn() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23329 ) Change subject: pySim/utils.py: fix 3-digit MNC encoding in enc_plmn() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23329 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ic7612502e1bb0d280133dabbcb5cb146fc6997e5 Gerrit-Change-Number: 23329 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: herlesupreeth Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 12 Mar 2021 07:26: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 Mar 12 07:26:25 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 12 Mar 2021 07:26:25 +0000 Subject: Change in pysim[master]: tests/test_utils.py: update expectations for format_xplmn_w_act() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23330 ) Change subject: tests/test_utils.py: update expectations for format_xplmn_w_act() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23330 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I520328e3490cc3a333d2daad84e745d115196626 Gerrit-Change-Number: 23330 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 12 Mar 2021 07:26:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 12 07:26:31 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 12 Mar 2021 07:26:31 +0000 Subject: Change in pysim[master]: contrib/jenkins.sh: enable automatic execution of unit tests In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23331 ) Change subject: contrib/jenkins.sh: enable automatic execution of unit tests ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23331 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I7b4bb49efd5e6ae284da063b7899e368ea4f1e22 Gerrit-Change-Number: 23331 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 12 Mar 2021 07:26: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 Fri Mar 12 07:26:33 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 12 Mar 2021 07:26:33 +0000 Subject: Change in pysim[master]: Revert "utils.py: Fix for parsing MNC" In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/23328 ) Change subject: Revert "utils.py: Fix for parsing MNC" ...................................................................... Revert "utils.py: Fix for parsing MNC" This reverts commit bdf3d3597b5d8e4260f80a00ada78e9ad612b00b, which broke pySim.utils.dec_mnc_from_plmn(). According to 3GPP TS 31.102, which points to TS 24.008, the three-digit EHPLMN shall be encoded as shown below (ASCII-art interpretation): 0 1 2 3 4 5 6 7 +---+---+---+---+---+---+---+---+ | MCC Digit 2 | MCC Digit 1 | +---+---+---+---+---+---+---+---+ | MNC Digit 3 | MCC Digit 3 | +---+---+---+---+---+---+---+---+ | MNC Digit 2 | MNC Digit 1 | +---+---+---+---+---+---+---+---+ So the original implementation was correct, and we even had a unit test for it. Most likely, the SIM card itself was programmed incorrectly? Makes 'testDecMNCfromPLMN_threeDigitMNC' pass again. Change-Id: If6bf5383988ad442e275efc7c5a159327d104879 --- M pySim/utils.py 1 file changed, 3 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim/utils.py b/pySim/utils.py index 6dbd980..b49a437 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -140,9 +140,9 @@ def dec_mnc_from_plmn(plmn): ia = h2i(plmn) - digit1 = (ia[1] & 0xF0) >>4 # 2nd byte, MSB - digit2 = ia[2] & 0x0F # 3rd byte, LSB - digit3 = (ia[2] & 0xF0) >> 4 # 3nd byte, MSB + digit1 = ia[2] & 0x0F # 3rd byte, LSB + digit2 = (ia[2] & 0xF0) >> 4 # 3rd byte, MSB + digit3 = (ia[1] & 0xF0) >> 4 # 2nd byte, MSB if digit3 == 0xF and digit2 == 0xF and digit1 == 0xF: return 0xFFF # 4095 return derive_mnc(digit1, digit2, digit3) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23328 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: If6bf5383988ad442e275efc7c5a159327d104879 Gerrit-Change-Number: 23328 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria 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 Fri Mar 12 07:26:34 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 12 Mar 2021 07:26:34 +0000 Subject: Change in pysim[master]: pySim/utils.py: fix 3-digit MNC encoding in enc_plmn() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/23329 ) Change subject: pySim/utils.py: fix 3-digit MNC encoding in enc_plmn() ...................................................................... pySim/utils.py: fix 3-digit MNC encoding in enc_plmn() The bug that was attempted to be fixed in [1] actually was in the encoding API - pySim.utils.enc_plmn(). According to 3GPP TS 31.102, which points to TS 24.008, the three-digit (E)HPLMN shall be encoded as shown below (ASCII-art interpretation): 0 1 2 3 4 5 6 7 +---+---+---+---+---+---+---+---+ | MCC Digit 2 | MCC Digit 1 | +---+---+---+---+---+---+---+---+ | MNC Digit 3 | MCC Digit 3 | +---+---+---+---+---+---+---+---+ | MNC Digit 2 | MNC Digit 1 | +---+---+---+---+---+---+---+---+ while pySim.utils.enc_plmn() would produce the following: 0 1 2 3 4 5 6 7 +---+---+---+---+---+---+---+---+ | MCC Digit 2 | MCC Digit 1 | +---+---+---+---+---+---+---+---+ | MNC Digit 1 | MCC Digit 3 | +---+---+---+---+---+---+---+---+ | MNC Digit 3 | MNC Digit 2 | +---+---+---+---+---+---+---+---+ Initially the _decoding_ API was correct, but then got changed in [1] to follow buggy pySim's encoding API. As a result, a (E)HPLMN programmed with pySim-prog.py would look correct if verified by pySim-read.py, but the actual file content would be wrong. This situation shows that our 'program-read-match' build verification approach alone is insignificant. The lack of unit test coverage, at least for the core parts of the project, makes it possible to have symmetrical bugs in both encoding and decoding API parts unnoticed. This problem was found while trying to enable dead unit tests in [3]. Change [1] that introduced a symmetrical bug is reverted in [2]. Change-Id: Ic7612502e1bb0d280133dabbcb5cb146fc6997e5 Related: [1] I799469206f87e930d8888367890babcb8ebe23a9 Related: [2] If6bf5383988ad442e275efc7c5a159327d104879 Related: [3] I4d4facfabc75187acd5238ff4d0f26022bd58f82 --- M pySim/utils.py M tests/test_utils.py 2 files changed, 12 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim/utils.py b/pySim/utils.py index b49a437..d75a000 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -109,8 +109,8 @@ def enc_plmn(mcc, mnc): """Converts integer MCC/MNC into 3 bytes for EF""" if len(mnc) == 2: - mnc = "F%s" % mnc - return swap_nibbles("%s%s" % (mcc, mnc)) + mnc += "F" # pad to 3 digits if needed + return (mcc[1] + mcc[0]) + (mnc[2] + mcc[2]) + (mnc[1] + mnc[0]) def dec_spn(ef): byte1 = int(ef[0:2]) diff --git a/tests/test_utils.py b/tests/test_utils.py index 44fe631..0df205a 100644 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -29,6 +29,16 @@ def testDecMNCfromPLMN_unused(self): self.assertEqual(utils.dec_mnc_from_plmn("00f0ff"), 4095) + def test_enc_plmn(self): + with self.subTest("2-digit MCC"): + self.assertEqual(utils.enc_plmn("001", "01F"), "00F110") + self.assertEqual(utils.enc_plmn("001", "01"), "00F110") + self.assertEqual(utils.enc_plmn("295", "10"), "92F501") + + with self.subTest("3-digit MCC"): + self.assertEqual(utils.enc_plmn("001", "001"), "001100") + self.assertEqual(utils.enc_plmn("302", "361"), "031263") + def testDecAct_noneSet(self): self.assertEqual(utils.dec_act("0000"), []) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23329 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ic7612502e1bb0d280133dabbcb5cb146fc6997e5 Gerrit-Change-Number: 23329 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria 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 Fri Mar 12 07:26:34 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 12 Mar 2021 07:26:34 +0000 Subject: Change in pysim[master]: tests/test_utils.py: update expectations for format_xplmn_w_act() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/23330 ) Change subject: tests/test_utils.py: update expectations for format_xplmn_w_act() ...................................................................... tests/test_utils.py: update expectations for format_xplmn_w_act() Change-Id: I520328e3490cc3a333d2daad84e745d115196626 --- M tests/test_utils.py 1 file changed, 10 insertions(+), 11 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/tests/test_utils.py b/tests/test_utils.py index 0df205a..bcf6140 100644 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -69,17 +69,16 @@ def testFormatxPlmn_w_act(self): input_str = "92f501800092f5508000ffffff0000ffffff0000ffffff0000ffffff0000ffffff0000ffffff0000ffffff0000ffffff0000" - expected = '''92f5018000 # MCC: 295 MNC: 10 AcT: UTRAN -92f5508000 # MCC: 295 MNC: 5 AcT: UTRAN -ffffff0000 # unused -ffffff0000 # unused -ffffff0000 # unused -ffffff0000 # unused -ffffff0000 # unused -ffffff0000 # unused -ffffff0000 # unused -ffffff0000 # unused -''' + expected = "\t92f5018000 # MCC: 295 MNC: 010 AcT: UTRAN\n" + expected += "\t92f5508000 # MCC: 295 MNC: 005 AcT: UTRAN\n" + expected += "\tffffff0000 # unused\n" + expected += "\tffffff0000 # unused\n" + expected += "\tffffff0000 # unused\n" + expected += "\tffffff0000 # unused\n" + expected += "\tffffff0000 # unused\n" + expected += "\tffffff0000 # unused\n" + expected += "\tffffff0000 # unused\n" + expected += "\tffffff0000 # unused\n" self.assertEqual(utils.format_xplmn_w_act(input_str), expected) if __name__ == "__main__": -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23330 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I520328e3490cc3a333d2daad84e745d115196626 Gerrit-Change-Number: 23330 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 Mar 12 07:26:35 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 12 Mar 2021 07:26:35 +0000 Subject: Change in pysim[master]: contrib/jenkins.sh: enable automatic execution of unit tests In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/23331 ) Change subject: contrib/jenkins.sh: enable automatic execution of unit tests ...................................................................... contrib/jenkins.sh: enable automatic execution of unit tests Change-Id: I7b4bb49efd5e6ae284da063b7899e368ea4f1e22 Related: I4d4facfabc75187acd5238ff4d0f26022bd58f82 --- M contrib/jenkins.sh 1 file changed, 1 insertion(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index 9b4689d..e286047 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -16,8 +16,7 @@ pip install cmd2 # Execute automatically discovered unit tests first -# TODO: uncomment once all tests are passing -# python -m unittest discover -v -s tests/ +python -m unittest discover -v -s tests/ cd pysim-testdata ../tests/pysim-test.sh -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23331 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I7b4bb49efd5e6ae284da063b7899e368ea4f1e22 Gerrit-Change-Number: 23331 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 Mar 12 07:27:23 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 12 Mar 2021 07:27:23 +0000 Subject: Change in osmo-sgsn[master]: manuals: Regenerate counters/VTY through docker In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/23305 ) Change subject: manuals: Regenerate counters/VTY through docker ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/23305 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I09b01d2e4bc7b1c17588100b16ac9f04cf72cf99 Gerrit-Change-Number: 23305 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 12 Mar 2021 07: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 Fri Mar 12 07:27:25 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 12 Mar 2021 07:27:25 +0000 Subject: Change in osmo-sgsn[master]: manuals: Regenerate counters/VTY through docker In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/23305 ) Change subject: manuals: Regenerate counters/VTY through docker ...................................................................... manuals: Regenerate counters/VTY through docker Change-Id: I09b01d2e4bc7b1c17588100b16ac9f04cf72cf99 --- M doc/manuals/regen_doc.sh 1 file changed, 11 insertions(+), 65 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/doc/manuals/regen_doc.sh b/doc/manuals/regen_doc.sh index 9fcebb8..5c84a23 100755 --- a/doc/manuals/regen_doc.sh +++ b/doc/manuals/regen_doc.sh @@ -1,71 +1,17 @@ -#!/bin/sh -e +#!/bin/sh -x -require_osmo_interact_vty() { - if command -v osmo_interact_vty.py >/dev/null 2>&1; then - return - fi - echo "ERROR: osmo_interact_vty.py not found. Are osmo-python-tests in PATH?" +if [ -z "$DOCKER_PLAYGROUND" ]; then + echo "You need to set DOCKER_PLAYGROUND" exit 1 -} +fi -# $1: "update_vty_reference" or "update_counters" -# $2: output file -# $3: port -# $4-$n: command -interact_vty() { - action="$1" - output="$2" - port="$3" - log="/tmp/$4.log" - shift 3 +SCRIPT=$(realpath "$0") +MANUAL_DIR=$(dirname "$SCRIPT") - echo "Starting in background: $@" - "$@" > "$log" 2>&1 & - pid="$!" +COMMIT=${COMMIT:-$(git log -1 --format=format:%H)} - sleep 0.5 - if ! kill -0 "$pid" 2>/dev/null; then - echo "ERROR: start failed!" - cat "$log" - exit 1 - fi +cd "$DOCKER_PLAYGROUND/scripts" || exit 1 - case "$action" in - "update_vty_reference") - echo "Updating VTY reference: $output" - osmo_interact_vty.py -X -p "$port" -H 127.0.0.1 -O "$output" - ;; - "update_counters") - echo "Updating asciidoc counters: $output" - osmo_interact_vty.py -c "enable;show asciidoc counters" -p "$port" -H 127.0.0.1 -O "$output" - ;; - *) - echo "ERROR: invalid argument: $action" - exit 1 - ;; - esac - - kill "$pid" - echo "Done (killed $1)" - echo -} - -DIR="$(cd "$(dirname "$0")"; pwd)" -cd "$DIR" - -require_osmo_interact_vty - -interact_vty \ - "update_vty_reference" \ - "vty/sgsn_vty_reference.xml" \ - 4245 \ - osmo-sgsn -c "../examples/osmo-sgsn/osmo-sgsn.cfg" - -interact_vty \ - "update_counters" \ - "chapters/counters_generated.adoc" \ - 4245 \ - osmo-sgsn -c "../examples/osmo-sgsn/osmo-sgsn.cfg" - - -echo "Done with all" +OSMO_BSC_BRANCH=$COMMIT ./regen_doc.sh osmo-sgsn 4245 \ + "$MANUAL_DIR/chapters/counters_generated.adoc" \ + "$MANUAL_DIR/vty/sgsn_vty_reference.xml" -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/23305 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I09b01d2e4bc7b1c17588100b16ac9f04cf72cf99 Gerrit-Change-Number: 23305 Gerrit-PatchSet: 2 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 12 07:30:26 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 12 Mar 2021 07:30:26 +0000 Subject: Change in osmo-bsc[master]: Add command to enable RX diversity to RBS2000 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23318 ) Change subject: Add command to enable RX diversity to RBS2000 ...................................................................... Patch Set 4: (2 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/23318/4/src/osmo-bsc/abis_om2000_vty.c File src/osmo-bsc/abis_om2000_vty.c: https://gerrit.osmocom.org/c/osmo-bsc/+/23318/4/src/osmo-bsc/abis_om2000_vty.c at 682 PS4, Line 682: const struct value_string om2k_rx_diversity_names[4] = { if it's not used outside of this file: use "static" https://gerrit.osmocom.org/c/osmo-bsc/+/23318/4/src/osmo-bsc/abis_om2000_vty.c at 694 PS4, Line 694: void abis_om2k_config_write_trx(struct vty *vty, struct gsm_bts_trx *trx) should also be static (and yes, the code below sets a wrong example, sorry)) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23318 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I430762b8cfa51060841d90ba4446de73bd557c6c Gerrit-Change-Number: 23318 Gerrit-PatchSet: 4 Gerrit-Owner: javi-tic Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-CC: keith Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 12 Mar 2021 07:30: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 Fri Mar 12 07:31:45 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 12 Mar 2021 07:31:45 +0000 Subject: Change in osmo-bsc[master]: Add vty command for Ericsson RBS2000 sync In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23317 ) Change subject: Add vty command for Ericsson RBS2000 sync ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/23317/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-bsc/+/23317/2//COMMIT_MSG at 9 PS2, Line 9: This commit adds support for Selection of syncronization source > Missing dot at end of line? erm, I'm not aware of any such rule ;) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23317 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia3d1acd6b3442238b35fc911092e12a6ac989adb Gerrit-Change-Number: 23317 Gerrit-PatchSet: 2 Gerrit-Owner: javi-tic Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-CC: keith Gerrit-CC: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 12 Mar 2021 07:31:45 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 12 07:32:15 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 12 Mar 2021 07:32:15 +0000 Subject: Change in pysim[master]: pySim/exceptions.py: fix referencing an instance member In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23332 ) Change subject: pySim/exceptions.py: fix referencing an instance member ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23332 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I6debfc03e9847b907f959e681234daf21df41656 Gerrit-Change-Number: 23332 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 12 Mar 2021 07:32: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 Mar 12 07:32:17 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 12 Mar 2021 07:32:17 +0000 Subject: Change in pysim[master]: pySim/exceptions.py: fix referencing an instance member In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/23332 ) Change subject: pySim/exceptions.py: fix referencing an instance member ...................................................................... pySim/exceptions.py: fix referencing an instance member Change-Id: I6debfc03e9847b907f959e681234daf21df41656 --- M pySim/exceptions.py 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/pySim/exceptions.py b/pySim/exceptions.py index 2ffe5f9..4fb8f72 100644 --- a/pySim/exceptions.py +++ b/pySim/exceptions.py @@ -39,7 +39,7 @@ self.rs = rs def __str__(self): if self.rs: - r = self.rs.interpret_sw(sw_actual) + r = self.rs.interpret_sw(self.sw_actual) if r: return "SW match failed! Expected %s and got %s: %s - %s" % (self.sw_expected, self.sw_actual, r[0], r[1]) return "SW match failed! Expected %s and got %s." % (self.sw_expected, self.sw_actual) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23332 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I6debfc03e9847b907f959e681234daf21df41656 Gerrit-Change-Number: 23332 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 Mar 12 07:33:00 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 12 Mar 2021 07:33:00 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Set up PCU TDMA clock by sending initial DATA.ind In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23324 ) Change subject: pcu: Set up PCU TDMA clock by sending initial DATA.ind ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23324 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I00c4dd9133ec9a236bf28fb8cb0afd0615791012 Gerrit-Change-Number: 23324 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 12 Mar 2021 07:33: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 Mar 12 07:33:29 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 12 Mar 2021 07:33:29 +0000 Subject: Change in pysim[master]: filesystem: add flags to filter selectables In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23204 ) Change subject: filesystem: add flags to filter selectables ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23204 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Idb50a512bfdbfdf2e98f2ce0e89928cb0ff19f5e Gerrit-Change-Number: 23204 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 12 Mar 2021 07:33: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 Mar 12 07:34:12 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 12 Mar 2021 07:34:12 +0000 Subject: Change in pysim[master]: utils: add is_hex function to check hex strings In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23320 ) Change subject: utils: add is_hex function to check hex strings ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23320 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ia29a13c9215357dd2adf141f2ef222c823f8456d Gerrit-Change-Number: 23320 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 12 Mar 2021 07:34:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 12 07:34:46 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 12 Mar 2021 07:34:46 +0000 Subject: Change in pysim[master]: filesystem: be case insensitive when selecting files by fid (HEX) In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23205 ) Change subject: filesystem: be case insensitive when selecting files by fid (HEX) ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23205 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ibe283a108ddc9058af77c823b7222db555e1e0f6 Gerrit-Change-Number: 23205 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: dexter Gerrit-Comment-Date: Fri, 12 Mar 2021 07: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 Fri Mar 12 07:35:37 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 12 Mar 2021 07:35:37 +0000 Subject: Change in pysim[master]: filesystem: add flags to filter selectables In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/23204 ) Change subject: filesystem: add flags to filter selectables ...................................................................... filesystem: add flags to filter selectables When requesting what DF/EF/ADF are selectable it is useful to have some control of what we do not want in the resulting list. Change-Id: Idb50a512bfdbfdf2e98f2ce0e89928cb0ff19f5e Related: OS#4963 --- M pySim/filesystem.py 1 file changed, 36 insertions(+), 25 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/pySim/filesystem.py b/pySim/filesystem.py index 2bcbe10..a9f2318 100644 --- a/pySim/filesystem.py +++ b/pySim/filesystem.py @@ -86,33 +86,38 @@ node = node.parent return node - def _get_self_selectables(self, alias=None): + def _get_self_selectables(self, alias=None, flags = []): """Return a dict of {'identifier': self} tuples""" sels = {} if alias: sels.update({alias: self}) - if self.fid: + if self.fid and (flags == [] or 'FIDS' in flags): sels.update({self.fid: self}) - if self.name: + if self.name and (flags == [] or 'NAMES' in flags): sels.update({self.name: self}) return sels - def get_selectables(self): + def get_selectables(self, flags = []): """Return a dict of {'identifier': File} that is selectable from the current file.""" + sels = {} # we can always select ourself - sels = self._get_self_selectables('.') + if flags == [] or 'SELF' in flags: + sels = self._get_self_selectables('.', flags) # we can always select our parent - sels = self.parent._get_self_selectables('..') + if flags == [] or 'PARENT' in flags: + sels = self.parent._get_self_selectables('..', flags) # if we have a MF, we can always select its applications - mf = self.get_mf() - if mf: - sels.update(mf._get_self_selectables()) - sels.update(mf.get_app_selectables()) + if flags == [] or 'MF' in flags: + mf = self.get_mf() + if mf: + sels.update(mf._get_self_selectables(flags = flags)) + if flags == [] or 'APPS' in flags: + sels.update(mf.get_app_selectables(flags)) return sels - def get_selectable_names(self): + def get_selectable_names(self, flags = []): """Return a list of strings for all identifiers that are selectable from the current file.""" - sels = self.get_selectables() + sels = self.get_selectables(flags) return sels.keys() def decode_select_response(self, data_hex): @@ -158,12 +163,14 @@ for child in children: self.add_file(child, ignore_existing) - def get_selectables(self): + def get_selectables(self, flags = []): """Get selectable (DF/EF names) from current DF""" # global selectables + our children - sels = super().get_selectables() - sels.update({x.fid: x for x in self.children.values() if x.fid}) - sels.update({x.name: x for x in self.children.values() if x.name}) + sels = super().get_selectables(flags) + if flags == [] or 'FIDS' in flags: + sels.update({x.fid: x for x in self.children.values() if x.fid}) + if flags == [] or 'NAMES' in flags: + sels.update({x.name: x for x in self.children.values() if x.name}) return sels def lookup_file_by_name(self, name): @@ -216,16 +223,20 @@ """Get list of completions (AID names)""" return [x.name for x in self.applications] - def get_selectables(self): + def get_selectables(self, flags = []): """Get list of completions (DF/EF/ADF names) from current DF""" - sels = super().get_selectables() - sels.update(self.get_app_selectables()) + sels = super().get_selectables(flags) + if flags == [] or 'APPS' in flags: + sels.update(self.get_app_selectables(flags)) return sels - def get_app_selectables(self): - # applications by AID + name - sels = {x.aid: x for x in self.applications.values()} - sels.update({x.name: x for x in self.applications.values() if x.name}) + def get_app_selectables(self, flags = []): + """Get applications by AID + name""" + sels = {} + if flags == [] or 'FIDS' in flags: + sels.update({x.aid: x for x in self.applications.values()}) + if flags == [] or 'NAMES' in flags: + sels.update({x.name: x for x in self.applications.values() if x.name}) return sels def decode_select_response(self, data_hex): @@ -261,10 +272,10 @@ def __str__(self): return "EF(%s)" % (super().__str__()) - def get_selectables(self): + def get_selectables(self, flags = []): """Get list of completions (EF names) from current DF""" #global selectable names + those of the parent DF - sels = super().get_selectables() + sels = super().get_selectables(flags) sels.update({x.name:x for x in self.parent.children.values() if x != self}) return sels -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23204 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Idb50a512bfdbfdf2e98f2ce0e89928cb0ff19f5e Gerrit-Change-Number: 23204 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 Fri Mar 12 07:35:38 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 12 Mar 2021 07:35:38 +0000 Subject: Change in pysim[master]: utils: add is_hex function to check hex strings In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/23320 ) Change subject: utils: add is_hex function to check hex strings ...................................................................... utils: add is_hex function to check hex strings since we have added pySim-shell.py that has a lot of locations where the user can enter hexadecimal data there is an increased need for input validation. Lets add a central is_hex function that verifies hex strings. Change-Id: Ia29a13c9215357dd2adf141f2ef222c823f8456d Related: OS#4963 --- M pySim/utils.py 1 file changed, 22 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/pySim/utils.py b/pySim/utils.py index d75a000..f452e1d 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -577,6 +577,28 @@ return s +def is_hex(string, minlen=2, maxlen=None) -> bool: + """ + Check if a string is a valid hexstring + """ + + # Filter obviously bad strings + if not string: + return False + if len(string) < minlen or minlen < 2: + return False + if len(string) % 2: + return False + if maxlen and len(string) > maxlen: + return False + + # Try actual encoding to be sure + try: + try_encode = h2b(string) + return True + except: + return False + def sanitize_pin_adm(pin_adm, pin_adm_hex = None): """ The ADM pin can be supplied either in its hexadecimal form or as -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23320 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ia29a13c9215357dd2adf141f2ef222c823f8456d Gerrit-Change-Number: 23320 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 Fri Mar 12 07:35:39 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 12 Mar 2021 07:35:39 +0000 Subject: Change in pysim[master]: filesystem: be case insensitive when selecting files by fid (HEX) In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/23205 ) Change subject: filesystem: be case insensitive when selecting files by fid (HEX) ...................................................................... filesystem: be case insensitive when selecting files by fid (HEX) The file identifier (and allso application ids for ADFs), are hexadecimal. We should be case insensitive when accepting hex identifiers but file names should still be full matched. Change-Id: Ibe283a108ddc9058af77c823b7222db555e1e0f6 Related: OS#4963 --- M pySim/filesystem.py 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/pySim/filesystem.py b/pySim/filesystem.py index a9f2318..73401d6 100644 --- a/pySim/filesystem.py +++ b/pySim/filesystem.py @@ -580,6 +580,8 @@ def select(self, name, cmd_app=None): """Change current directory""" sels = self.selected_file.get_selectables() + if is_hex(name): + name = name.lower() if name in sels: f = sels[name] # unregister commands of old file -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23205 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ibe283a108ddc9058af77c823b7222db555e1e0f6 Gerrit-Change-Number: 23205 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: dexter Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 12 07:38:30 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 12 Mar 2021 07:38:30 +0000 Subject: Change in pysim[master]: pySim-shell: add filesystem exporter In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23210 ) Change subject: pySim-shell: add filesystem exporter ...................................................................... Patch Set 3: would be good to add some test (with expected output from a real card) right away with the commit, so we can catch if any further commits would [accidentially or intentionally] change the generated output script. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23210 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I82f3ce92cd91a5ed3c4884d62f6b22e9589c8a49 Gerrit-Change-Number: 23210 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-CC: dexter Gerrit-Comment-Date: Fri, 12 Mar 2021 07:38:30 +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 Mar 12 07:39:04 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 12 Mar 2021 07:39:04 +0000 Subject: Change in osmo-ci[master]: jobs/osmocom-release-tarballs: adjust containers In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23313 ) Change subject: jobs/osmocom-release-tarballs: adjust containers ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23313 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I4189ab1bf483f0a31ffdb35af0d42fe2e9a72a90 Gerrit-Change-Number: 23313 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 12 Mar 2021 07:39: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 Mar 12 07:39:26 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 12 Mar 2021 07:39:26 +0000 Subject: Change in osmo-pcu[master]: Track TDMA clock with DATA.ind instead of TIME.ind In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23261 ) Change subject: Track TDMA clock with DATA.ind instead of TIME.ind ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23261 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibc495173119465e74f726ddc36e312334e6dc0fd Gerrit-Change-Number: 23261 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-CC: fixeria Gerrit-Comment-Date: Fri, 12 Mar 2021 07: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 Fri Mar 12 07:39:41 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 12 Mar 2021 07:39:41 +0000 Subject: Change in osmo-pcu[master]: tests: rlcmac: Fix C vs C++ linkage of extern symbol In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23287 ) Change subject: tests: rlcmac: Fix C vs C++ linkage of extern symbol ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23287 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5922950dd0057bf7eb8578e2144f127082323fc6 Gerrit-Change-Number: 23287 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 12 Mar 2021 07:39:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 12 07:39:48 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 12 Mar 2021 07:39:48 +0000 Subject: Change in osmo-pcu[master]: pdch.h: Drop uneeded include bts.h In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23288 ) Change subject: pdch.h: Drop uneeded include bts.h ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23288 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ic12ab293f27b5e13d1401c6f17d4d549bf5115f9 Gerrit-Change-Number: 23288 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 12 Mar 2021 07:39: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 Mar 12 07:39:53 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 12 Mar 2021 07:39:53 +0000 Subject: Change in osmo-pcu[master]: Improve DATA.ind logging In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23289 ) Change subject: Improve DATA.ind logging ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23289 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: If51f7bdbd626a44c7b8e182a3460dad49fda6ec3 Gerrit-Change-Number: 23289 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 12 Mar 2021 07:39:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 12 07:40:01 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 12 Mar 2021 07:40:01 +0000 Subject: Change in osmo-pcu[master]: Improve logging in DATA.req and ACT.req In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23290 ) Change subject: Improve logging in DATA.req and ACT.req ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23290 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id57d50d8bf528adfef3713c594102d31ab49c149 Gerrit-Change-Number: 23290 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Fri, 12 Mar 2021 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 Fri Mar 12 07:40:11 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 12 Mar 2021 07:40:11 +0000 Subject: Change in osmo-pcu[master]: Track TDMA clock with DATA.ind instead of TIME.ind In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23261 ) Change subject: Track TDMA clock with DATA.ind instead of TIME.ind ...................................................................... Track TDMA clock with DATA.ind instead of TIME.ind Since recently (see Depends below), BTS side submits DATA.ind with len=0 to announce nothing was received on that UL block FN. This will allow osmo-pcu track time more accurately, and use this information to quickly find out if a UL block was expected as requested by RRBP or USF poll and increment counters such as N3101 (finally being able to properly implement timers such as T3619). Depends: osmo-bts.git Change-Id I343c7a721dab72411edbca816c8864926bc329fb Related: OS#5020 Change-Id: Ibc495173119465e74f726ddc36e312334e6dc0fd --- M src/pcu_l1_if.cpp M src/pdch.cpp M tests/tbf/TbfTest.err 3 files changed, 145 insertions(+), 141 deletions(-) Approvals: laforge: Looks good to me, approved daniel: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index 7753557..a14a4ee 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -806,7 +806,8 @@ LOGP(DL1IF, LOGL_DEBUG, "Time indication received: %d\n", time_ind->fn % 52); - bts_set_current_frame_number(bts, time_ind->fn); + /* Ignore TIME.ind completely, we nowadays relay on DATA.ind always + * providing all block FNs. */ return 0; } diff --git a/src/pdch.cpp b/src/pdch.cpp index 26fd6a9..8a4a1d1 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -794,6 +794,9 @@ int gprs_rlcmac_pdch::rcv_block(uint8_t *data, uint8_t len, uint32_t fn, struct pcu_l1_meas *meas) { + /* First of all, update TDMA clock: */ + bts_set_current_frame_number(trx->bts, fn); + /* No successfully decoded UL block was received during this FN: */ if (len == 0) { /* TODO: Here, in the future, it can be checked whether a UL block was expected for: diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index 5a8b5bb..c3fff2d 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -1556,7 +1556,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes state from ASSIGN to FLOW PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -1587,7 +1587,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) set ass. type PACCH [prev CCCH:0, PACCH:0] -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) appending 4 bytes === end test_tbf_two_phase === === start test_tbf_ra_update_rach === @@ -1636,7 +1636,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes state from ASSIGN to FLOW PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -1666,7 +1666,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) set ass. type PACCH [prev CCCH:0, PACCH:0] -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) appending 10 bytes Old MS: TLLI = 0xf1223344, TA = 7, IMSI = 0011223344, LLC = 1 Received RTS for PDCH: TRX=0 TS=7 FN=2654275 block_nr=9 scheduling USF=0 for required uplink resource of UL TFI=0 @@ -1765,7 +1765,7 @@ TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) changes state from ASSIGN to FLOW PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=1, CPS=0, RSB=0, rc=184 TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) UL DATA TFI=1 received (V(Q)=0 .. V(R)=0) -TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654348 +TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654340 TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -1830,7 +1830,7 @@ PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0, UL) Link quality 12dB (old 12dB) left window [5, 8], modifying uplink CS level: CS-2 -> CS-3 -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -1860,7 +1860,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) set ass. type PACCH [prev CCCH:0, PACCH:0] -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) appending 20 bytes TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) appending 20 bytes Old MS: TLLI = 0xf1223344, TA = 7, IMSI = 0011223344, LLC = 2 @@ -1911,7 +1911,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes state from ASSIGN to FLOW PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654340 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654331 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -1968,7 +1968,7 @@ PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0, UL) Link quality 12dB (old 12dB) left window [5, 8], modifying uplink CS level: CS-2 -> CS-3 -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -1998,7 +1998,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) set ass. type PACCH [prev CCCH:0, PACCH:0] -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) appending 20 bytes TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) appending 20 bytes Old MS: TLLI = 0xf1223344, TA = 7, IMSI = 0011223344, LLC = 2 @@ -2029,12 +2029,12 @@ Modifying MS object, TLLI = 0xffffffff, TA 220 -> 7 TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=NULL) changes state from NULL to FLOW TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] -TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654275 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=0 USF=0 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xffffffff, IMSI=, TA=7, 0/0, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: CS-1 -> CS-2 -TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xffffffff 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=0xffffffff DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xffffffff 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 @@ -2110,7 +2110,7 @@ PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0, UL) Link quality 12dB (old 12dB) left window [5, 8], modifying uplink CS level: CS-2 -> CS-3 -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -2140,7 +2140,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) set ass. type PACCH [prev CCCH:0, PACCH:0] -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) appending 13 bytes TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) appending 13 bytes TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) appending 13 bytes @@ -3154,7 +3154,7 @@ PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [5, 8], modifying uplink CS level: MCS-2 -> MCS-3 -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -3187,7 +3187,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) changes state from NULL to ASSIGN TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) appending 256 bytes === end test_tbf_egprs_two_phase === === start test_tbf_egprs_two_phase_spb === @@ -3242,7 +3242,7 @@ PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [5, 8], modifying uplink CS level: MCS-2 -> MCS-3 -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -3251,14 +3251,14 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) No gaps in received block, last block: BSN=0 CV=15 PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=1) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=1, SPB=2, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 1 storing in window (1..64) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(2) cs(MCS-3) data block with BSN (1), TFI(0). TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) First seg is received second seg is not received set the status to first seg received PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=1) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=1, SPB=3, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 1 storing in window (1..64) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(3) cs(MCS-3) data block with BSN (1), TFI(0). @@ -3272,14 +3272,14 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) changes UL ACK state from GPRS_RLCMAC_UL_ACK_NONE to GPRS_RLCMAC_UL_ACK_SEND_ACK PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=2 .. V(R)=2) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=2, SPB=3, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 2 storing in window (2..65) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(3) cs(MCS-3) data block with BSN (2), TFI(0). TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Second seg is received first seg is not received set the status to second seg received PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=2 .. V(R)=2) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=2, SPB=2, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 2 storing in window (2..65) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(2) cs(MCS-3) data block with BSN (2), TFI(0). @@ -3293,21 +3293,21 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=3 .. V(R)=3) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=3, SPB=1, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 3 storing in window (3..66) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(1) cs(MCS-3) data block with BSN (3), TFI(0). TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) spb(1) Not supported SPB for this EGPRS configuration PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=3 .. V(R)=3) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=3, SPB=2, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 3 storing in window (3..66) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(2) cs(MCS-3) data block with BSN (3), TFI(0). TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) First seg is received second seg is not received set the status to first seg received PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=3 .. V(R)=3) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=3, SPB=3, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 3 storing in window (3..66) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(3) cs(MCS-3) data block with BSN (3), TFI(0). @@ -3321,20 +3321,20 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=4 .. V(R)=4) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=4, SPB=2, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 4 storing in window (4..67) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(2) cs(MCS-3) data block with BSN (4), TFI(0). TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) First seg is received second seg is not received set the status to first seg received PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=4 .. V(R)=4) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=4, SPB=2, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 4 storing in window (4..67) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(2) cs(MCS-3) data block with BSN (4), TFI(0). PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=4 .. V(R)=4) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=4, SPB=3, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 4 storing in window (4..67) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(3) cs(MCS-3) data block with BSN (4), TFI(0). @@ -3348,14 +3348,14 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=5 .. V(R)=5) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=5, SPB=3, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 5 storing in window (5..68) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(3) cs(MCS-3) data block with BSN (5), TFI(0). TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Second seg is received first seg is not received set the status to second seg received PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=5 .. V(R)=5) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=5, SPB=2, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 5 storing in window (5..68) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(2) cs(MCS-3) data block with BSN (5), TFI(0). @@ -3393,7 +3393,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) changes state from NULL to ASSIGN TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) appending 256 bytes === end test_tbf_egprs_two_phase_spb === === start test_tbf_egprs_dl === @@ -5808,7 +5808,7 @@ PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [5, 8], modifying uplink CS level: MCS-2 -> MCS-3 -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -5817,7 +5817,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) No gaps in received block, last block: BSN=0 CV=15 PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=0, TFI=0, CPS=5, RSB=0, rc=329 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=1) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=1, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 1 storing in window (1..64) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=37, data=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 00 00 00 00 00 00 @@ -5827,7 +5827,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) changes UL ACK state from GPRS_RLCMAC_UL_ACK_NONE to GPRS_RLCMAC_UL_ACK_NONE PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=0, TFI=0, CPS=5, RSB=0, rc=329 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=2 .. V(R)=2) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=4, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 4 storing in window (2..65) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=37, data=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 00 00 00 00 00 00 @@ -5858,7 +5858,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) changes state from NULL to ASSIGN TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) appending 256 bytes === end test_tbf_puan_urbb_len === === start test_tbf_update_ws === @@ -5967,7 +5967,7 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=1, SI=0, TFI=0, CPS=5, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [5, 8], modifying uplink CS level: MCS-2 -> MCS-3 -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=7, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 0 storing in window (0..63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=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 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -5976,7 +5976,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) No gaps in received block, last block: BSN=0 CV=7 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=1, SI=0, TFI=0, CPS=5, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=1) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=7, BSN=1, SPB=0, PI=0, E=0, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 1 storing in window (1..64) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=01 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 00 00 00 00 00 00 00 00 00 00 00 00 @@ -6012,7 +6012,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) changes state from NULL to ASSIGN TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) appending 256 bytes === end test_tbf_li_decoding === === start test_tbf_epdan_out_of_rx_window === @@ -6287,7 +6287,7 @@ PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [5, 8], modifying uplink CS level: MCS-2 -> MCS-3 -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 0 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -6296,115 +6296,115 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) No gaps in received block, last block: BSN=0 CV=10 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=1) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=2, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 2 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=3) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=4, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 4 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=5) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=6, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 6 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=7) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=8, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 8 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=9) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=10, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 10 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=11) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=12, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 12 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=13) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=14, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 14 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=15) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=16, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 16 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=17) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=18, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 18 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=19) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=20, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 20 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=21) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=22, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 22 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=23) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=24, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 24 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=25) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=26, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 26 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=27) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=28, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 28 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=29) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=30, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 30 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=31) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=32, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 32 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=33) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=34, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 34 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=35) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=36, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 36 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=37) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=38, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 38 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -6412,121 +6412,121 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) changes UL ACK state from GPRS_RLCMAC_UL_ACK_NONE to GPRS_RLCMAC_UL_ACK_SEND_ACK PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=39) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=40, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 40 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=41) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=42, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 42 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=43) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=44, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 44 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=45) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=46, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 46 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=47) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=48, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 48 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=49) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=50, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 50 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=51) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=52, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 52 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=53) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=54, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 54 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=55) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=56, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 56 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=57) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=58, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 58 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=59) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=60, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 60 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=61) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=62, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 62 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=63) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=64, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 64 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=65) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=66, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 66 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=67) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=68, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 68 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=69) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=70, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 70 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=71) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=72, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 72 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=73) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=74, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 74 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=75) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=76, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 76 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=77) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=78, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 78 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -6534,121 +6534,121 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=79) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=80, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 80 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=81) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=82, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 82 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=83) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=84, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 84 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=85) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=86, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 86 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=87) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=88, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 88 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=89) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=90, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 90 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=91) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=92, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 92 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=93) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=94, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 94 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=95) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=96, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 96 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=97) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=98, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 98 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=99) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=100, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 100 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=101) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=102, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 102 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=103) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=104, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 104 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=105) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=106, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 106 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=107) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=108, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 108 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=109) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=110, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 110 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=111) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=112, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 112 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=113) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=114, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 114 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=115) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=116, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 116 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=117) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=118, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 118 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -6656,121 +6656,121 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=119) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=120, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 120 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=121) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=122, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 122 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=123) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=124, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 124 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=125) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=126, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 126 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=127) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=128, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 128 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=129) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=130, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 130 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=131) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=132, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 132 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=133) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=134, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 134 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=135) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=136, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 136 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=137) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=138, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 138 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=139) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=140, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 140 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=141) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=142, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 142 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=143) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=144, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 144 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=145) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=146, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 146 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=147) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=148, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 148 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=149) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=150, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 150 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=151) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=152, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 152 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=153) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=154, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 154 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=155) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=156, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 156 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=157) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=158, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 158 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -6779,7 +6779,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) changes UL ACK state from GPRS_RLCMAC_UL_ACK_SEND_ACK to GPRS_RLCMAC_UL_ACK_NONE PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=159) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=0, BSN=64, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 64 already received Received RTS for PDCH: TRX=0 TS=7 FN=2654275 block_nr=9 scheduling USF=0 for required uplink resource of UL TFI=0 @@ -6809,11 +6809,11 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL EGPRS) changes state from NULL to ASSIGN TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) set ass. type PACCH [prev CCCH:0, PACCH:0] -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) appending 256 bytes PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 0 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -6822,109 +6822,109 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) No gaps in received block, last block: BSN=0 CV=10 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=1) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=2, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 2 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=3) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=4, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 4 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=5) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=6, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 6 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=7) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=8, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 8 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=9) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=10, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 10 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=11) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=12, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 12 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=13) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=14, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 14 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=15) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=16, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 16 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=17) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=18, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 18 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=19) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=20, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 20 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=21) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=22, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 22 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=23) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=24, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 24 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=25) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=26, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 26 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=27) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=28, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 28 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=29) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=30, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 30 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=31) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=32, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 32 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=33) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=34, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 34 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=35) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=36, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 36 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 @@ -6932,14 +6932,14 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) changes UL ACK state from GPRS_RLCMAC_UL_ACK_NONE to GPRS_RLCMAC_UL_ACK_SEND_ACK PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=37) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=38, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 38 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) changes UL ACK state from GPRS_RLCMAC_UL_ACK_SEND_ACK to GPRS_RLCMAC_UL_ACK_NONE PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=39) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=0, BSN=64, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 64 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23261 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ibc495173119465e74f726ddc36e312334e6dc0fd Gerrit-Change-Number: 23261 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-CC: fixeria Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 12 07:40:13 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 12 Mar 2021 07:40:13 +0000 Subject: Change in osmo-pcu[master]: Introduce init() APIs for PDCH and TRX objects In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23269 ) Change subject: Introduce init() APIs for PDCH and TRX objects ...................................................................... Introduce init() APIs for PDCH and TRX objects This will make it easier to keep object specific initializations in expected place. Change-Id: Idf1dbdf8bc0b1e16d86eeeffb1193fdf3a57d6ef --- M src/bts.cpp M src/bts.h M src/pdch.cpp M src/pdch.h 4 files changed, 23 insertions(+), 21 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/bts.cpp b/src/bts.cpp index 55d45b8..1d3f690 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -271,18 +271,8 @@ INIT_LLIST_HEAD(&bts->dl_tbfs); /* initialize back pointers */ - for (size_t trx_no = 0; trx_no < ARRAY_SIZE(bts->trx); ++trx_no) { - struct gprs_rlcmac_trx *trx = &bts->trx[trx_no]; - trx->trx_no = trx_no; - trx->bts = bts; - - for (size_t ts_no = 0; ts_no < ARRAY_SIZE(trx->pdch); ++ts_no) { - struct gprs_rlcmac_pdch *pdch = &trx->pdch[ts_no]; - pdch->init_ptcch_msg(); - pdch->ts_no = ts_no; - pdch->trx = trx; - } - } + for (size_t trx_no = 0; trx_no < ARRAY_SIZE(bts->trx); ++trx_no) + bts_trx_init(&bts->trx[trx_no], bts, trx_no); /* The static allocator might have already registered the counter group. If this happens and we still called explicitly (in tests/ for example) @@ -1161,6 +1151,15 @@ } } +void bts_trx_init(struct gprs_rlcmac_trx *trx, struct gprs_rlcmac_bts *bts, uint8_t trx_no) +{ + trx->trx_no = trx_no; + trx->bts = bts; + + for (size_t ts_no = 0; ts_no < ARRAY_SIZE(trx->pdch); ts_no++) + pdch_init(&trx->pdch[ts_no], trx, ts_no); +} + void bts_trx_reserve_slots(struct gprs_rlcmac_trx *trx, enum gprs_rlcmac_tbf_direction dir, uint8_t slots) { diff --git a/src/bts.h b/src/bts.h index 15a72bd..3ddf501 100644 --- a/src/bts.h +++ b/src/bts.h @@ -65,6 +65,7 @@ #ifdef __cplusplus extern "C" { #endif +void bts_trx_init(struct gprs_rlcmac_trx *trx, struct gprs_rlcmac_bts *bts, uint8_t trx_no); void bts_trx_reserve_slots(struct gprs_rlcmac_trx *trx, enum gprs_rlcmac_tbf_direction dir, uint8_t slots); void bts_trx_unreserve_slots(struct gprs_rlcmac_trx *trx, enum gprs_rlcmac_tbf_direction dir, uint8_t slots); void bts_trx_free_all_tbf(struct gprs_rlcmac_trx *trx); diff --git a/src/pdch.cpp b/src/pdch.cpp index 8a4a1d1..466eaa5 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -131,6 +131,16 @@ } } +void pdch_init(struct gprs_rlcmac_pdch *pdch, struct gprs_rlcmac_trx *trx, uint8_t ts_nr) +{ + pdch->ts_no = ts_nr; + pdch->trx = trx; + + /* Initialize the PTCCH/D message (Packet Timing Advance Control Channel) */ + memset(pdch->ptcch_msg, PTCCH_TAI_FREE, PTCCH_TAI_NUM); + memset(pdch->ptcch_msg + PTCCH_TAI_NUM, PTCCH_PADDING, 7); +} + void gprs_rlcmac_pdch::enable() { /* TODO: Check if there are still allocated resources.. */ @@ -1039,13 +1049,6 @@ return trx->trx_no; } -/* PTCCH (Packet Timing Advance Control Channel) */ -void gprs_rlcmac_pdch::init_ptcch_msg(void) -{ - memset(ptcch_msg, PTCCH_TAI_FREE, PTCCH_TAI_NUM); - memset(ptcch_msg + PTCCH_TAI_NUM, PTCCH_PADDING, 7); -} - uint8_t gprs_rlcmac_pdch::reserve_tai(uint8_t ta) { uint8_t tai; diff --git a/src/pdch.h b/src/pdch.h index fde183e..c83fe39 100644 --- a/src/pdch.h +++ b/src/pdch.h @@ -105,8 +105,6 @@ /* PTCCH (Packet Timing Advance Control Channel) */ uint8_t ptcch_msg[GSM_MACBLOCK_LEN]; /* 'ready to use' PTCCH/D message */ #ifdef __cplusplus - /* Initialize the PTCCH/D message */ - void init_ptcch_msg(void); /* Obtain an unused TA Index for a TBF */ uint8_t reserve_tai(uint8_t ta); /* Mark a given TA Index as free, so it can be used again */ @@ -190,6 +188,7 @@ #ifdef __cplusplus extern "C" { #endif +void pdch_init(struct gprs_rlcmac_pdch *pdch, struct gprs_rlcmac_trx *trx, uint8_t ts_nr); void pdch_free_all_tbf(struct gprs_rlcmac_pdch *pdch); void pdch_disable(struct gprs_rlcmac_pdch *pdch); #ifdef __cplusplus -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23269 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Idf1dbdf8bc0b1e16d86eeeffb1193fdf3a57d6ef Gerrit-Change-Number: 23269 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 12 07:40:15 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 12 Mar 2021 07:40:15 +0000 Subject: Change in osmo-pcu[master]: tests: rlcmac: Fix C vs C++ linkage of extern symbol In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23287 ) Change subject: tests: rlcmac: Fix C vs C++ linkage of extern symbol ...................................................................... tests: rlcmac: Fix C vs C++ linkage of extern symbol RLCMACTest.cpp:31:30: error: conflicting declaration of ?const log_info gprs_log_info? with ?C? linkage 31 | extern const struct log_info gprs_log_info; gprs_debug.h:54:30: note: previous declaration with ?C++? linkag Change-Id: I5922950dd0057bf7eb8578e2144f127082323fc6 --- M tests/rlcmac/RLCMACTest.cpp 1 file changed, 2 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/tests/rlcmac/RLCMACTest.cpp b/tests/rlcmac/RLCMACTest.cpp index 598d11a..4bde5bf 100644 --- a/tests/rlcmac/RLCMACTest.cpp +++ b/tests/rlcmac/RLCMACTest.cpp @@ -28,7 +28,6 @@ #include "decoding.h" extern "C" { -extern const struct log_info gprs_log_info; #include "pcu_vty.h" #include #include @@ -41,6 +40,8 @@ } using namespace std; +#include "gprs_debug.h" + void *tall_pcu_ctx; void printSizeofRLCMAC() -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23287 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5922950dd0057bf7eb8578e2144f127082323fc6 Gerrit-Change-Number: 23287 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 12 07:40:15 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 12 Mar 2021 07:40:15 +0000 Subject: Change in osmo-pcu[master]: pdch.h: Drop uneeded include bts.h In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23288 ) Change subject: pdch.h: Drop uneeded include bts.h ...................................................................... pdch.h: Drop uneeded include bts.h This header is not needed and creates include loop issues in follow-up patches. Change-Id: Ic12ab293f27b5e13d1401c6f17d4d549bf5115f9 --- M src/pdch.h 1 file changed, 0 insertions(+), 2 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/pdch.h b/src/pdch.h index c83fe39..fb28019 100644 --- a/src/pdch.h +++ b/src/pdch.h @@ -29,8 +29,6 @@ #include "gsm_rlcmac.h" #include "coding_scheme.h" } - -#include #endif #include -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23288 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ic12ab293f27b5e13d1401c6f17d4d549bf5115f9 Gerrit-Change-Number: 23288 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 12 07:40:15 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 12 Mar 2021 07:40:15 +0000 Subject: Change in osmo-pcu[master]: Improve DATA.ind logging In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23289 ) Change subject: Improve DATA.ind logging ...................................................................... Improve DATA.ind logging pdch object is obtained prior in the stack so it is available for logging. Change-Id: If51f7bdbd626a44c7b8e182a3460dad49fda6ec3 --- M src/osmo-bts-litecell15/lc15_l1_if.c M src/osmo-bts-oc2g/oc2g_l1_if.c M src/osmo-bts-sysmo/sysmo_l1_if.c M src/pcu_l1_if.cpp M src/pcu_l1_if.h 5 files changed, 46 insertions(+), 31 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bts-litecell15/lc15_l1_if.c b/src/osmo-bts-litecell15/lc15_l1_if.c index c87edaf..99c82a1 100644 --- a/src/osmo-bts-litecell15/lc15_l1_if.c +++ b/src/osmo-bts-litecell15/lc15_l1_if.c @@ -194,11 +194,13 @@ { int rc = 0; struct gprs_rlcmac_bts *bts; + struct gprs_rlcmac_pdch *pdch; struct pcu_l1_meas meas = {0}; uint8_t *data; uint8_t data_len; - DEBUGP(DL1IF, "Rx PH-DATA.ind %s (hL2 %08x): %s\n", + DEBUGP(DL1IF, "(trx=%" PRIu8 ",ts=%u) FN=%u Rx PH-DATA.ind %s (hL2 %08x): %s\n", + fl1h->trx_no, data_ind->u8Tn, data_ind->u32Fn, get_value_string(lc15bts_l1sapi_names, data_ind->sapi), data_ind->hLayer2, osmo_hexdump(data_ind->msgUnitParam.u8Buffer, @@ -224,12 +226,14 @@ data = NULL; data_len = 0; } - pcu_rx_data_ind_pdtch(bts, fl1h->trx_no, data_ind->u8Tn, data, - data_len, data_ind->u32Fn, &meas); + pdch = &bts->trx[fl1h->trx_no].pdch[data_ind->u8Tn]; + pcu_rx_data_ind_pdtch(bts, pdch, data, data_len, data_ind->u32Fn, &meas); break; default: - LOGP(DL1IF, LOGL_NOTICE, "Rx PH-DATA.ind for unknown L1 SAPI %s\n", - get_value_string(lc15bts_l1sapi_names, data_ind->sapi)); + LOGP(DL1IF, LOGL_NOTICE, + "(trx=%" PRIu8 ",ts=%u) FN=%u Rx PH-DATA.ind for unknown L1 SAPI %s\n", + fl1h->trx_no, data_ind->u8Tn, data_ind->u32Fn, + get_value_string(lc15bts_l1sapi_names, data_ind->sapi)); break; } diff --git a/src/osmo-bts-oc2g/oc2g_l1_if.c b/src/osmo-bts-oc2g/oc2g_l1_if.c index 5d2ce69..101bd56 100644 --- a/src/osmo-bts-oc2g/oc2g_l1_if.c +++ b/src/osmo-bts-oc2g/oc2g_l1_if.c @@ -194,11 +194,13 @@ { int rc = 0; struct gprs_rlcmac_bts *bts; + struct gprs_rlcmac_pdch *pdch; struct pcu_l1_meas meas = {0}; uint8_t *data; uint8_t data_len; - DEBUGP(DL1IF, "Rx PH-DATA.ind %s (hL2 %08x): %s\n", + DEBUGP(DL1IF, "(trx=%" PRIu8 ",ts=%u) FN=%u Rx PH-DATA.ind %s (hL2 %08x): %s\n", + fl1h->trx_no, data_ind->u8Tn, data_ind->u32Fn, get_value_string(oc2gbts_l1sapi_names, data_ind->sapi), data_ind->hLayer2, osmo_hexdump(data_ind->msgUnitParam.u8Buffer, @@ -229,12 +231,14 @@ data = NULL; data_len = 0; } - pcu_rx_data_ind_pdtch(bts, fl1h->trx_no, data_ind->u8Tn, data, - data_len, data_ind->u32Fn, &meas); + pdch = &bts->trx[fl1h->trx_no].pdch[data_ind->u8Tn]; + pcu_rx_data_ind_pdtch(bts, pdch, data, data_len, data_ind->u32Fn, &meas); break; default: - LOGP(DL1IF, LOGL_NOTICE, "Rx PH-DATA.ind for unknown L1 SAPI %s\n", - get_value_string(oc2gbts_l1sapi_names, data_ind->sapi)); + LOGP(DL1IF, LOGL_NOTICE, + "(trx=%" PRIu8 ",ts=%u) FN=%u Rx PH-DATA.ind for unknown L1 SAPI %s\n", + fl1h->trx_no, data_ind->u8Tn, data_ind->u32Fn, + get_value_string(oc2gbts_l1sapi_names, data_ind->sapi)); break; } diff --git a/src/osmo-bts-sysmo/sysmo_l1_if.c b/src/osmo-bts-sysmo/sysmo_l1_if.c index 4faccaa..eb869e1 100644 --- a/src/osmo-bts-sysmo/sysmo_l1_if.c +++ b/src/osmo-bts-sysmo/sysmo_l1_if.c @@ -176,12 +176,14 @@ { int rc = 0; struct gprs_rlcmac_bts *bts; + struct gprs_rlcmac_pdch *pdch; struct pcu_l1_meas meas = {0}; uint8_t *data; uint8_t data_len; - DEBUGP(DL1IF, "Rx PH-DATA.ind %s (hL2 %08x): %s\n", + DEBUGP(DL1IF, "(trx=%" PRIu8 ",ts=%u) FN=%u Rx PH-DATA.ind %s (hL2 %08x): %s\n", + fl1h->trx_no, data_ind->u8Tn, data_ind->u32Fn, get_value_string(femtobts_l1sapi_names, data_ind->sapi), data_ind->hLayer2, osmo_hexdump(data_ind->msgUnitParam.u8Buffer, @@ -208,12 +210,14 @@ data = NULL; data_len = 0; } - pcu_rx_data_ind_pdtch(bts, fl1h->trx_no, data_ind->u8Tn, data, - data_len, data_ind->u32Fn, &meas); + pdch = &bts->trx[fl1h->trx_no].pdch[data_ind->u8Tn]; + pcu_rx_data_ind_pdtch(bts, pdch, data, data_len, data_ind->u32Fn, &meas); break; default: - LOGP(DL1IF, LOGL_NOTICE, "Rx PH-DATA.ind for unknown L1 SAPI %s\n", - get_value_string(femtobts_l1sapi_names, data_ind->sapi)); + LOGP(DL1IF, LOGL_NOTICE, + "(trx=%" PRIu8 ",ts=%u) FN=%u Rx PH-DATA.ind for unknown L1 SAPI %s\n", + fl1h->trx_no, data_ind->u8Tn, data_ind->u32Fn, + get_value_string(femtobts_l1sapi_names, data_ind->sapi)); rc = -1; break; } diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index a14a4ee..5a5031c 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -281,12 +281,9 @@ bts_set_current_block_frame_number(bts, fn, 5); } -int pcu_rx_data_ind_pdtch(struct gprs_rlcmac_bts *bts, uint8_t trx_no, uint8_t ts_no, uint8_t *data, +int pcu_rx_data_ind_pdtch(struct gprs_rlcmac_bts *bts, struct gprs_rlcmac_pdch *pdch, uint8_t *data, uint8_t len, uint32_t fn, struct pcu_l1_meas *meas) { - struct gprs_rlcmac_pdch *pdch; - - pdch = &bts->trx[trx_no].pdch[ts_no]; return pdch->rcv_block(data, len, fn, meas); } @@ -366,27 +363,30 @@ int rc; int current_fn = bts_current_frame_number(bts); struct pcu_l1_meas meas = {0}; + struct gprs_rlcmac_pdch *pdch; uint8_t gsmtap_chantype; - LOGP(DL1IF, LOGL_DEBUG, "Data indication received: sapi=%d arfcn=%d " - "fn=%d cur_fn=%d block=%d data=%s\n", data_ind->sapi, - data_ind->arfcn, data_ind->fn, current_fn, data_ind->block_nr, - osmo_hexdump(data_ind->data, data_ind->len)); + LOGP(DL1IF, LOGL_DEBUG, "(bts=%" PRIu8 ",trx=%" PRIu8 ",ts=%" PRIu8 ") FN=%u " + "Rx DATA.ind: sapi=%d arfcn=%d cur_fn=%d " + "block=%d data=%s\n", bts->nr, data_ind->trx_nr, data_ind->ts_nr, + data_ind->fn, data_ind->sapi, data_ind->arfcn, current_fn, + data_ind->block_nr, osmo_hexdump(data_ind->data, data_ind->len)); switch (data_ind->sapi) { case PCU_IF_SAPI_PDTCH: + pdch = &bts->trx[data_ind->trx_nr].pdch[data_ind->ts_nr]; pcu_l1_meas_set_rssi(&meas, data_ind->rssi); /* convert BER to % value */ pcu_l1_meas_set_ber(&meas, data_ind->ber10k / 100); pcu_l1_meas_set_bto(&meas, data_ind->ta_offs_qbits); pcu_l1_meas_set_link_qual(&meas, data_ind->lqual_cb / 10); - LOGP(DL1IF, LOGL_DEBUG, "Data indication with raw measurements received: BER10k = %d, BTO = %d, Q = %d\n", - data_ind->ber10k, data_ind->ta_offs_qbits, data_ind->lqual_cb); + LOGPDCH(pdch, DL1IF, LOGL_DEBUG, "FN=%u Rx DATA.ind PDTCH: " + "BER10k = %d, BTO = %d, Q = %d\n", data_ind->fn, + data_ind->ber10k, data_ind->ta_offs_qbits, data_ind->lqual_cb); - rc = pcu_rx_data_ind_pdtch(bts, data_ind->trx_nr, data_ind->ts_nr, - data_ind->data, data_ind->len, data_ind->fn, - &meas); + rc = pcu_rx_data_ind_pdtch(bts, pdch, data_ind->data, data_ind->len, + data_ind->fn, &meas); gsmtap_chantype = GSMTAP_CHANNEL_PDTCH; break; case PCU_IF_SAPI_BCCH: @@ -394,8 +394,9 @@ gsmtap_chantype = GSMTAP_CHANNEL_BCCH; break; default: - LOGP(DL1IF, LOGL_ERROR, "Received PCU data indication with " - "unsupported sapi %d\n", data_ind->sapi); + LOGP(DL1IF, LOGL_ERROR, "(bts=%" PRIu8 ",trx=%" PRIu8 ",ts=%" PRIu8 ") " + "FN=%u Rx DATA.ind with unsupported sapi %d\n", + bts->nr, data_ind->trx_nr, data_ind->ts_nr, data_ind->fn, data_ind->sapi); rc = -EINVAL; gsmtap_chantype = GSMTAP_CHANNEL_UNKNOWN; } diff --git a/src/pcu_l1_if.h b/src/pcu_l1_if.h index e4a46a9..aff23f5 100644 --- a/src/pcu_l1_if.h +++ b/src/pcu_l1_if.h @@ -34,6 +34,8 @@ } #endif +#include "pdch.h" + static inline uint8_t qta2ta(int16_t qta) { if (qta < 0) @@ -171,7 +173,7 @@ uint32_t fn, uint8_t block_nr); int pcu_rx_rach_ind_ptcch(struct gprs_rlcmac_bts *bts, uint8_t trx_nr, uint8_t ts_nr, uint32_t fn, int16_t qta); -int pcu_rx_data_ind_pdtch(struct gprs_rlcmac_bts *bts, uint8_t trx, uint8_t ts, uint8_t *data, +int pcu_rx_data_ind_pdtch(struct gprs_rlcmac_bts *bts, struct gprs_rlcmac_pdch *pdch, uint8_t *data, uint8_t len, uint32_t fn, struct pcu_l1_meas *meas); void pcu_rx_block_time(struct gprs_rlcmac_bts *bts, uint16_t arfcn, uint32_t fn, uint8_t ts_no); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23289 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: If51f7bdbd626a44c7b8e182a3460dad49fda6ec3 Gerrit-Change-Number: 23289 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 12 07:40:16 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 12 Mar 2021 07:40:16 +0000 Subject: Change in osmo-pcu[master]: Improve logging in DATA.req and ACT.req In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23290 ) Change subject: Improve logging in DATA.req and ACT.req ...................................................................... Improve logging in DATA.req and ACT.req Change-Id: Id57d50d8bf528adfef3713c594102d31ab49c149 --- M src/pcu_l1_if.cpp 1 file changed, 19 insertions(+), 15 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index 5a5031c..970387d 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -147,14 +147,15 @@ return pcu_sock_send(msg); } -static int pcu_tx_act_req(struct gprs_rlcmac_bts *bts, uint8_t trx, uint8_t ts, uint8_t activate) +static int pcu_tx_act_req(struct gprs_rlcmac_bts *bts, const struct gprs_rlcmac_pdch *pdch, + uint8_t activate) { struct msgb *msg; struct gsm_pcu_if *pcu_prim; struct gsm_pcu_if_act_req *act_req; - LOGP(DL1IF, LOGL_INFO, "Sending %s request: trx=%d ts=%d\n", - (activate) ? "activate" : "deactivate", trx, ts); + LOGPDCH(pdch, DL1IF, LOGL_INFO, "Sending %s request\n", + (activate) ? "activate" : "deactivate"); msg = pcu_msgb_alloc(PCU_IF_MSG_ACT_REQ, bts->nr); if (!msg) @@ -162,8 +163,8 @@ pcu_prim = (struct gsm_pcu_if *) msg->data; act_req = &pcu_prim->u.act_req; act_req->activate = activate; - act_req->trx_nr = trx; - act_req->ts_nr = ts; + act_req->trx_nr = pdch->trx_no(); + act_req->ts_nr = pdch->ts_no; return pcu_sock_send(msg); } @@ -177,9 +178,9 @@ struct gsm_pcu_if_data *data_req; int current_fn = bts_current_frame_number(bts); - LOGP(DL1IF, LOGL_DEBUG, "Sending data request: trx=%d ts=%d sapi=%d " - "arfcn=%d fn=%d cur_fn=%d block=%d data=%s\n", trx, ts, sapi, arfcn, fn, current_fn, - block_nr, osmo_hexdump(data, len)); + LOGP(DL1IF, LOGL_DEBUG, "(bts=%u,trx=%u,ts=%u) FN=%u Sending data request: sapi=%d " + "arfcn=%d cur_fn=%d block=%d data=%s\n", bts->nr, trx, ts, fn, sapi, + arfcn, current_fn, block_nr, osmo_hexdump(data, len)); msg = pcu_msgb_alloc(PCU_IF_MSG_DATA_REQ, bts->nr); if (!msg) @@ -461,10 +462,12 @@ { int rc = 0; int current_fn = bts_current_frame_number(bts); + const struct gprs_rlcmac_pdch *pdch; + pdch = &bts->trx[rts_req->trx_nr].pdch[rts_req->ts_nr]; - LOGP(DL1IF, LOGL_DEBUG, "RTS request received: trx=%d ts=%d sapi=%d " - "arfcn=%d fn=%d cur_fn=%d block=%d\n", rts_req->trx_nr, rts_req->ts_nr, - rts_req->sapi, rts_req->arfcn, rts_req->fn, current_fn, rts_req->block_nr); + LOGPDCH(pdch, DL1IF, LOGL_DEBUG, "FN=%u RX RTS.req: sapi=%d " + "arfcn=%d cur_fn=%d block=%d\n", rts_req->fn, + rts_req->sapi, rts_req->arfcn, current_fn, rts_req->block_nr); switch (rts_req->sapi) { case PCU_IF_SAPI_PDTCH: @@ -476,8 +479,9 @@ rts_req->fn, rts_req->block_nr); break; default: - LOGP(DL1IF, LOGL_ERROR, "Received PCU RTS request with " - "unsupported sapi %d\n", rts_req->sapi); + LOGP(DL1IF, LOGL_ERROR, "(bts=%u,trx=%u,ts=%u) FN=%u RX RTS.req with " + "unsupported sapi %d\n", bts->nr, rts_req->trx_nr, rts_req->ts_nr, + rts_req->fn, rts_req->sapi); rc = -EINVAL; } @@ -759,7 +763,7 @@ l1if_connect_pdch( bts->trx[trx_nr].fl1h, ts_nr); #endif - pcu_tx_act_req(bts, trx_nr, ts_nr, 1); + pcu_tx_act_req(bts, pdch, 1); pdch->enable(); } @@ -785,7 +789,7 @@ trx_nr, ts_nr, pdch->tsc, pdch->fh.enabled ? "yes" : "no"); } else { if (pdch->is_enabled()) { - pcu_tx_act_req(bts, trx_nr, ts_nr, 0); + pcu_tx_act_req(bts, pdch, 0); pdch->free_resources(); pdch->disable(); } -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23290 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id57d50d8bf528adfef3713c594102d31ab49c149 Gerrit-Change-Number: 23290 Gerrit-PatchSet: 3 Gerrit-Owner: pespin 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 Fri Mar 12 07:40:16 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 12 Mar 2021 07:40:16 +0000 Subject: Change in osmo-pcu[master]: tbf: Fix wrong variable printed in log In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23298 ) Change subject: tbf: Fix wrong variable printed in log ...................................................................... tbf: Fix wrong variable printed in log Change-Id: Iad99e48fcb7488daed40a5095c5dcdc02def00c5 --- M src/tbf.cpp 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/tbf.cpp b/src/tbf.cpp index 15d3fa1..70b3b12 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -588,7 +588,7 @@ if ((state_flags & (1 << (GPRS_RLCMAC_FLAG_PACCH))) && (state_flags & (1 << (GPRS_RLCMAC_FLAG_CCCH)))) LOGPTBFDL(this, LOGL_ERROR, "Attempt to schedule polling on %s (FN=%d, TS=%d) with both CCCH and PACCH flags set - FIXME!\n", - chan, poll_fn, poll_ts); + chan, new_poll_fn, ts); /* schedule polling */ poll_state = GPRS_RLCMAC_POLL_SCHED; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23298 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iad99e48fcb7488daed40a5095c5dcdc02def00c5 Gerrit-Change-Number: 23298 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 Fri Mar 12 07:40:16 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 12 Mar 2021 07:40:16 +0000 Subject: Change in osmo-pcu[master]: pdch: Log FN when decoding UL Ctrl block In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23299 ) Change subject: pdch: Log FN when decoding UL Ctrl block ...................................................................... pdch: Log FN when decoding UL Ctrl block Change-Id: I5a44ebf49f7489211a77607052db6d9731f38704 --- M src/pdch.cpp M tests/tbf/TbfTest.err 2 files changed, 64 insertions(+), 64 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/pdch.cpp b/src/pdch.cpp index 466eaa5..66afda7 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -750,7 +750,7 @@ bitvec_unpack(rlc_block, data); ul_control_block = (RlcMacUplink_t *)talloc_zero(tall_pcu_ctx, RlcMacUplink_t); - LOGPDCH(this, DRLCMAC, LOGL_DEBUG, "+++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++\n"); + LOGPDCH(this, DRLCMAC, LOGL_DEBUG, "FN=%u +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++\n", fn); rc = decode_gsm_rlcmac_uplink(rlc_block, ul_control_block); if (ul_control_block->u.MESSAGE_TYPE == MT_PACKET_UPLINK_DUMMY_CONTROL_BLOCK) @@ -759,11 +759,11 @@ bts_send_gsmtap_meas(bts(), PCU_GSMTAP_C_UL_CTRL, true, trx_no(), ts_no, GSMTAP_CHANNEL_PACCH, fn, data, data_len, meas); if (rc < 0) { - LOGPDCH(this, DRLCMACUL, LOGL_ERROR, "Dropping Uplink Control Block " - "with invalid content, decode failed: %d)\n", rc); + LOGPDCH(this, DRLCMACUL, LOGL_ERROR, "FN=%u Dropping Uplink Control Block " + "with invalid content, decode failed: %d)\n", fn, rc); goto free_ret; } - LOGPDCH(this, DRLCMAC, LOGL_DEBUG, "------------------------- RX : Uplink Control Block -------------------------\n"); + LOGPDCH(this, DRLCMAC, LOGL_DEBUG, "FN=%u ------------------------- RX : Uplink Control Block -------------------------\n", fn); bts_do_rate_ctr_inc(bts(), CTR_RLC_RECV_CONTROL); switch (ul_control_block->u.MESSAGE_TYPE) { @@ -791,8 +791,8 @@ default: bts_do_rate_ctr_inc(bts(), CTR_DECODE_ERRORS); LOGPDCH(this, DRLCMAC, LOGL_NOTICE, - "RX: [PCU <- BTS] unknown control block(%d) received\n", - ul_control_block->u.MESSAGE_TYPE); + "FN=%u RX: [PCU <- BTS] unknown control block(%d) received\n", + fn, ul_control_block->u.MESSAGE_TYPE); } free_ret: talloc_free(ul_control_block); diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index c3fff2d..f483625 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -1516,8 +1516,8 @@ Allocated a single block at SBFn=2654270 TRX=0 TS=7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=-1 USF=7 Found first unallocated TRX=0 TFI=0 -PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ -PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- +PDCH(bts=0,trx=0,ts=7) FN=2654270 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ +PDCH(bts=0,trx=0,ts=7) FN=2654270 ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0xffffffff Modifying MS object, UL TLLI: 0xffffffff -> 0xf1223344, not yet confirmed PDCH(bts=0,trx=0,ts=7) MS requests UL TBF in packet resource request of single block, so we provide one: @@ -1547,8 +1547,8 @@ ------------------------- TX : Packet Uplink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) Scheduled UL Assignment polling on PACCH (FN=2654283, TS=7) PDCH(bts=0,trx=0,ts=7) FN=2654270 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) -PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ -PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- +PDCH(bts=0,trx=0,ts=7) FN=2654283 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ +PDCH(bts=0,trx=0,ts=7) FN=2654283 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) RX: [PCU <- BTS] Packet Control Ack TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes poll state from GPRS_RLCMAC_POLL_SCHED to GPRS_RLCMAC_POLL_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) [DOWNLINK] UPLINK ASSIGNED @@ -1596,8 +1596,8 @@ Allocated a single block at SBFn=2654270 TRX=0 TS=7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=-1 USF=7 Found first unallocated TRX=0 TFI=0 -PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ -PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- +PDCH(bts=0,trx=0,ts=7) FN=2654270 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ +PDCH(bts=0,trx=0,ts=7) FN=2654270 ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0xffffffff Modifying MS object, UL TLLI: 0xffffffff -> 0xf1223344, not yet confirmed PDCH(bts=0,trx=0,ts=7) MS requests UL TBF in packet resource request of single block, so we provide one: @@ -1627,8 +1627,8 @@ ------------------------- TX : Packet Uplink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) Scheduled UL Assignment polling on PACCH (FN=2654283, TS=7) PDCH(bts=0,trx=0,ts=7) FN=2654270 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) -PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ -PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- +PDCH(bts=0,trx=0,ts=7) FN=2654283 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ +PDCH(bts=0,trx=0,ts=7) FN=2654283 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) RX: [PCU <- BTS] Packet Control Ack TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes poll state from GPRS_RLCMAC_POLL_SCHED to GPRS_RLCMAC_POLL_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) [DOWNLINK] UPLINK ASSIGNED @@ -1675,8 +1675,8 @@ ------------------------- TX : Packet Downlink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Scheduled DL Assignment polling on PACCH (FN=2654288, TS=7) PDCH(bts=0,trx=0,ts=7) FN=2654275 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) -PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ -PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- +PDCH(bts=0,trx=0,ts=7) FN=2654288 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ +PDCH(bts=0,trx=0,ts=7) FN=2654288 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) RX: [PCU <- BTS] Packet Control Ack TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) changes poll state from GPRS_RLCMAC_POLL_SCHED to GPRS_RLCMAC_POLL_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) [UPLINK] DOWNLINK ASSIGNED @@ -1724,8 +1724,8 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) N3101 0 => 1 (< MAX 10) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) N3105 0 => 1 (< MAX 8) -PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ -PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- +PDCH(bts=0,trx=0,ts=7) FN=2654335 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ +PDCH(bts=0,trx=0,ts=7) FN=2654335 ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0xffffffff Modifying MS object, UL TLLI: 0xffffffff -> 0xf5667788, not yet confirmed PDCH(bts=0,trx=0,ts=7) MS requests UL TBF in packet resource request of single block, so we provide one: @@ -1756,8 +1756,8 @@ ------------------------- TX : Packet Uplink Assignment ------------------------- TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) Scheduled UL Assignment polling on PACCH (FN=2654348, TS=7) PDCH(bts=0,trx=0,ts=7) FN=2654335 Scheduling control message at RTS for TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) -PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ -PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- +PDCH(bts=0,trx=0,ts=7) FN=2654348 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ +PDCH(bts=0,trx=0,ts=7) FN=2654348 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) RX: [PCU <- BTS] Packet Control Ack TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) changes poll state from GPRS_RLCMAC_POLL_SCHED to GPRS_RLCMAC_POLL_NONE TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) [DOWNLINK] UPLINK ASSIGNED @@ -1788,8 +1788,8 @@ Allocated a single block at SBFn=2654270 TRX=0 TS=7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=-1 USF=7 Found first unallocated TRX=0 TFI=0 -PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ -PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- +PDCH(bts=0,trx=0,ts=7) FN=2654270 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ +PDCH(bts=0,trx=0,ts=7) FN=2654270 ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0xffffffff Modifying MS object, UL TLLI: 0xffffffff -> 0xf1223344, not yet confirmed PDCH(bts=0,trx=0,ts=7) MS requests UL TBF in packet resource request of single block, so we provide one: @@ -1820,8 +1820,8 @@ ------------------------- TX : Packet Uplink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) Scheduled UL Assignment polling on PACCH (FN=2654283, TS=7) PDCH(bts=0,trx=0,ts=7) FN=2654270 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) -PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ -PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- +PDCH(bts=0,trx=0,ts=7) FN=2654283 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ +PDCH(bts=0,trx=0,ts=7) FN=2654283 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) RX: [PCU <- BTS] Packet Control Ack TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes poll state from GPRS_RLCMAC_POLL_SCHED to GPRS_RLCMAC_POLL_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) [DOWNLINK] UPLINK ASSIGNED @@ -1875,8 +1875,8 @@ Allocated a single block at SBFn=2654327 TRX=0 TS=7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=-1 USF=7 Found first unallocated TRX=0 TFI=0 -PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ -PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- +PDCH(bts=0,trx=0,ts=7) FN=2654327 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ +PDCH(bts=0,trx=0,ts=7) FN=2654327 ------------------------- RX : Uplink Control Block ------------------------- PDCH(bts=0,trx=0,ts=7) MS requests UL TBF in packet resource request of single block, so we provide one: MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, DL) ********** UL-TBF starts here ********** MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, DL) Allocating UL TBF @@ -1902,8 +1902,8 @@ ------------------------- TX : Packet Uplink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) Scheduled UL Assignment polling on PACCH (FN=2654340, TS=7) PDCH(bts=0,trx=0,ts=7) FN=2654327 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) -PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ -PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- +PDCH(bts=0,trx=0,ts=7) FN=2654340 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ +PDCH(bts=0,trx=0,ts=7) FN=2654340 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) RX: [PCU <- BTS] Packet Control Ack TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes poll state from GPRS_RLCMAC_POLL_SCHED to GPRS_RLCMAC_POLL_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) [DOWNLINK] UPLINK ASSIGNED @@ -1926,8 +1926,8 @@ Allocated a single block at SBFn=2654270 TRX=0 TS=7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=-1 USF=7 Found first unallocated TRX=0 TFI=0 -PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ -PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- +PDCH(bts=0,trx=0,ts=7) FN=2654270 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ +PDCH(bts=0,trx=0,ts=7) FN=2654270 ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0xffffffff Modifying MS object, UL TLLI: 0xffffffff -> 0xf1223344, not yet confirmed PDCH(bts=0,trx=0,ts=7) MS requests UL TBF in packet resource request of single block, so we provide one: @@ -1958,8 +1958,8 @@ ------------------------- TX : Packet Uplink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) Scheduled UL Assignment polling on PACCH (FN=2654283, TS=7) PDCH(bts=0,trx=0,ts=7) FN=2654270 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) -PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ -PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- +PDCH(bts=0,trx=0,ts=7) FN=2654283 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ +PDCH(bts=0,trx=0,ts=7) FN=2654283 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) RX: [PCU <- BTS] Packet Control Ack TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes poll state from GPRS_RLCMAC_POLL_SCHED to GPRS_RLCMAC_POLL_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) [DOWNLINK] UPLINK ASSIGNED @@ -2068,8 +2068,8 @@ Allocated a single block at SBFn=2654270 TRX=0 TS=7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=-1 USF=7 Found first unallocated TRX=0 TFI=0 -PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ -PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- +PDCH(bts=0,trx=0,ts=7) FN=2654270 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ +PDCH(bts=0,trx=0,ts=7) FN=2654270 ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0xffffffff Modifying MS object, UL TLLI: 0xffffffff -> 0xf1223344, not yet confirmed PDCH(bts=0,trx=0,ts=7) MS requests UL TBF in packet resource request of single block, so we provide one: @@ -2100,8 +2100,8 @@ ------------------------- TX : Packet Uplink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) Scheduled UL Assignment polling on PACCH (FN=2654283, TS=7) PDCH(bts=0,trx=0,ts=7) FN=2654270 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) -PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ -PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- +PDCH(bts=0,trx=0,ts=7) FN=2654283 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ +PDCH(bts=0,trx=0,ts=7) FN=2654283 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) RX: [PCU <- BTS] Packet Control Ack TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes poll state from GPRS_RLCMAC_POLL_SCHED to GPRS_RLCMAC_POLL_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) [DOWNLINK] UPLINK ASSIGNED @@ -2188,8 +2188,8 @@ ------------------------- TX : Packet Downlink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Scheduled DL Assignment polling on PACCH (FN=2654288, TS=7) PDCH(bts=0,trx=0,ts=7) FN=2654275 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) -PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ -PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- +PDCH(bts=0,trx=0,ts=7) FN=2654288 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ +PDCH(bts=0,trx=0,ts=7) FN=2654288 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) RX: [PCU <- BTS] Packet Control Ack TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) changes poll state from GPRS_RLCMAC_POLL_SCHED to GPRS_RLCMAC_POLL_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) [UPLINK] DOWNLINK ASSIGNED @@ -2740,8 +2740,8 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) appending 21 bytes TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) appending 21 bytes TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) appending 21 bytes -PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ -PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- +PDCH(bts=0,trx=0,ts=7) FN=2654379 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ +PDCH(bts=0,trx=0,ts=7) FN=2654379 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) changes poll state from GPRS_RLCMAC_POLL_SCHED to GPRS_RLCMAC_POLL_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) RX: [PCU <- BTS] Packet Downlink Ack/Nack PDCH(bts=0,trx=0,ts=7) Got GPRS DL ACK bitmap: SSN: 0, BSN 0 to 28 - 1 (28 blocks), "RRRRRRRRRRRRRRRRRRRRRRRRRRRR" @@ -2779,8 +2779,8 @@ ------------------------- TX : Packet Downlink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) Scheduled DL Assignment polling on PACCH (FN=2654413, TS=7) PDCH(bts=0,trx=0,ts=7) FN=2654400 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) -PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ -PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- +PDCH(bts=0,trx=0,ts=7) FN=2654413 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ +PDCH(bts=0,trx=0,ts=7) FN=2654413 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) RX: [PCU <- BTS] Packet Control Ack TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) changes poll state from GPRS_RLCMAC_POLL_SCHED to GPRS_RLCMAC_POLL_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) [UPLINK] DOWNLINK ASSIGNED @@ -3108,8 +3108,8 @@ Allocated a single block at SBFn=2654270 TRX=0 TS=7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=-1 USF=7 Found first unallocated TRX=0 TFI=0 -PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ -PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- +PDCH(bts=0,trx=0,ts=7) FN=2654270 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ +PDCH(bts=0,trx=0,ts=7) FN=2654270 ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0xffffffff Modifying MS object, UL TLLI: 0xffffffff -> 0xf1223344, not yet confirmed PDCH(bts=0,trx=0,ts=7) MS requests UL TBF in packet resource request of single block, so we provide one: @@ -3144,8 +3144,8 @@ ------------------------- TX : Packet Uplink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) Scheduled UL Assignment polling on PACCH (FN=2654283, TS=7) PDCH(bts=0,trx=0,ts=7) FN=2654270 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) -PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ -PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- +PDCH(bts=0,trx=0,ts=7) FN=2654283 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ +PDCH(bts=0,trx=0,ts=7) FN=2654283 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) RX: [PCU <- BTS] Packet Control Ack TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes poll state from GPRS_RLCMAC_POLL_SCHED to GPRS_RLCMAC_POLL_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) [DOWNLINK] UPLINK ASSIGNED @@ -3196,8 +3196,8 @@ Allocated a single block at SBFn=2654270 TRX=0 TS=7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=-1 USF=7 Found first unallocated TRX=0 TFI=0 -PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ -PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- +PDCH(bts=0,trx=0,ts=7) FN=2654270 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ +PDCH(bts=0,trx=0,ts=7) FN=2654270 ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0xffffffff Modifying MS object, UL TLLI: 0xffffffff -> 0xf1223344, not yet confirmed PDCH(bts=0,trx=0,ts=7) MS requests UL TBF in packet resource request of single block, so we provide one: @@ -3232,8 +3232,8 @@ ------------------------- TX : Packet Uplink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) Scheduled UL Assignment polling on PACCH (FN=2654283, TS=7) PDCH(bts=0,trx=0,ts=7) FN=2654270 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) -PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ -PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- +PDCH(bts=0,trx=0,ts=7) FN=2654283 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ +PDCH(bts=0,trx=0,ts=7) FN=2654283 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) RX: [PCU <- BTS] Packet Control Ack TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes poll state from GPRS_RLCMAC_POLL_SCHED to GPRS_RLCMAC_POLL_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) [DOWNLINK] UPLINK ASSIGNED @@ -5762,8 +5762,8 @@ Allocated a single block at SBFn=2654270 TRX=0 TS=7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=-1 USF=7 Found first unallocated TRX=0 TFI=0 -PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ -PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- +PDCH(bts=0,trx=0,ts=7) FN=2654270 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ +PDCH(bts=0,trx=0,ts=7) FN=2654270 ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0xffffffff Modifying MS object, UL TLLI: 0xffffffff -> 0xf1223344, not yet confirmed PDCH(bts=0,trx=0,ts=7) MS requests UL TBF in packet resource request of single block, so we provide one: @@ -5798,8 +5798,8 @@ ------------------------- TX : Packet Uplink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) Scheduled UL Assignment polling on PACCH (FN=2654283, TS=7) PDCH(bts=0,trx=0,ts=7) FN=2654270 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) -PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ -PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- +PDCH(bts=0,trx=0,ts=7) FN=2654283 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ +PDCH(bts=0,trx=0,ts=7) FN=2654283 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) RX: [PCU <- BTS] Packet Control Ack TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes poll state from GPRS_RLCMAC_POLL_SCHED to GPRS_RLCMAC_POLL_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) [DOWNLINK] UPLINK ASSIGNED @@ -5921,8 +5921,8 @@ Allocated a single block at SBFn=2654270 TRX=0 TS=7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=-1 USF=7 Found first unallocated TRX=0 TFI=0 -PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ -PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- +PDCH(bts=0,trx=0,ts=7) FN=2654270 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ +PDCH(bts=0,trx=0,ts=7) FN=2654270 ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0xffffffff Modifying MS object, UL TLLI: 0xffffffff -> 0xf1223344, not yet confirmed PDCH(bts=0,trx=0,ts=7) MS requests UL TBF in packet resource request of single block, so we provide one: @@ -5957,8 +5957,8 @@ ------------------------- TX : Packet Uplink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) Scheduled UL Assignment polling on PACCH (FN=2654283, TS=7) PDCH(bts=0,trx=0,ts=7) FN=2654270 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) -PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ -PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- +PDCH(bts=0,trx=0,ts=7) FN=2654283 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ +PDCH(bts=0,trx=0,ts=7) FN=2654283 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) RX: [PCU <- BTS] Packet Control Ack TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes poll state from GPRS_RLCMAC_POLL_SCHED to GPRS_RLCMAC_POLL_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) [DOWNLINK] UPLINK ASSIGNED @@ -6241,8 +6241,8 @@ Allocated a single block at SBFn=2654270 TRX=0 TS=7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=-1 USF=7 Found first unallocated TRX=0 TFI=0 -PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ -PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- +PDCH(bts=0,trx=0,ts=7) FN=2654270 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ +PDCH(bts=0,trx=0,ts=7) FN=2654270 ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0xffffffff Modifying MS object, UL TLLI: 0xffffffff -> 0xf1223344, not yet confirmed PDCH(bts=0,trx=0,ts=7) MS requests UL TBF in packet resource request of single block, so we provide one: @@ -6277,8 +6277,8 @@ ------------------------- TX : Packet Uplink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) Scheduled UL Assignment polling on PACCH (FN=2654283, TS=7) PDCH(bts=0,trx=0,ts=7) FN=2654270 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) -PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ -PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- +PDCH(bts=0,trx=0,ts=7) FN=2654283 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ +PDCH(bts=0,trx=0,ts=7) FN=2654283 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) RX: [PCU <- BTS] Packet Control Ack TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes poll state from GPRS_RLCMAC_POLL_SCHED to GPRS_RLCMAC_POLL_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) [DOWNLINK] UPLINK ASSIGNED @@ -7640,8 +7640,8 @@ TBF(TFI=6 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(TFI=6 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654167 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=6 USF=6 -PDCH(bts=0,trx=0,ts=7) +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ -PDCH(bts=0,trx=0,ts=7) ------------------------- RX : Uplink Control Block ------------------------- +PDCH(bts=0,trx=0,ts=7) FN=2654270 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ +PDCH(bts=0,trx=0,ts=7) FN=2654270 ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0xffffffff Modifying MS object, UL TLLI: 0xffffffff -> 0xffeeddcc, not yet confirmed PDCH(bts=0,trx=0,ts=7) MS requests UL TBF in packet resource request of single block, so we provide one: -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23299 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5a44ebf49f7489211a77607052db6d9731f38704 Gerrit-Change-Number: 23299 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 Mar 12 08:38:38 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 12 Mar 2021 08:38:38 +0000 Subject: Change in osmo-ci[master]: jobs/osmocom-release-tarballs: adjust containers In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23313 ) Change subject: jobs/osmocom-release-tarballs: adjust containers ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23313 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I4189ab1bf483f0a31ffdb35af0d42fe2e9a72a90 Gerrit-Change-Number: 23313 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 12 Mar 2021 08:38: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 Mar 12 08:38:40 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 12 Mar 2021 08:38:40 +0000 Subject: Change in osmo-ci[master]: jobs/osmocom-release-tarballs: adjust containers In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23313 ) Change subject: jobs/osmocom-release-tarballs: adjust containers ...................................................................... jobs/osmocom-release-tarballs: adjust containers Build debian-stretch-obs-latest instead of debian-stretch-build, before building debian-stretch-build-dist. Depends: docker-playground I2cf6ed732e55b8f0e63bd8fc040749bd16676d0f Change-Id: I4189ab1bf483f0a31ffdb35af0d42fe2e9a72a90 --- M jobs/osmocom-release-tarballs.yml 1 file changed, 3 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved fixeria: Looks good to me, but someone else must approve osmith: Verified diff --git a/jobs/osmocom-release-tarballs.yml b/jobs/osmocom-release-tarballs.yml index fd078be..4ff1c1c 100644 --- a/jobs/osmocom-release-tarballs.yml +++ b/jobs/osmocom-release-tarballs.yml @@ -27,7 +27,9 @@ - shell: | export OSMO_BRANCH_DOCKER_PLAYGROUND="$BRANCH_DOCKER_PLAYGROUND" . scripts/common.sh - docker_images_require "debian-stretch-build" "debian-stretch-build-dist" + docker_images_require \ + "debian-stretch-obs-latest" \ + "debian-stretch-build-dist" docker run \ --rm=true \ -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23313 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I4189ab1bf483f0a31ffdb35af0d42fe2e9a72a90 Gerrit-Change-Number: 23313 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Fri Mar 12 09:57:03 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 12 Mar 2021 09:57:03 +0000 Subject: Build failure of network:osmocom:nightly/osmo-hlr in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <604b3b01d6019_57e52b18cc7d25fc42835@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-hlr/openSUSE_Factory_ARM/armv7l Package network:osmocom:nightly/osmo-hlr failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-hlr Last lines of build log: 400 remote error: unknown parameter 'now' (http://back-other-opensuse:5253/getbinaries?workerid=obs-arm-6:13&project=network:osmocom:nightly&repository=openSUSE_Factory_ARM&arch=armv7l&module=python27-2.7&module=python36-3.6&now=1615543009&binaries=liblua5_4-5,aaa_base,attr,bash,coreutils,diffutils,filesystem,fillup,glibc,grep,libbz2-1,libgcc_s1,libncurses6,pam,permissions,rpm,rpm-config-SUSE,sed,tar,libz1,libselinux1,libgcrypt20,libgpg-error0,liblzma5,libcap2,libacl1,libattr1,libpopt0,libelf1,libpcre1,libzstd1,libreadline8,zlib-devel,util-linux,libmount1,perl-base,libdb-4_8,libsepol1,libblkid1,libuuid1,libsmartcols1,libcrypt1,kernel-obs-build,iproute2,libmnl0,autoconf,automake,libtool,systemd-rpm-macros,rpm-build,gcc-PIE,pkgconf-pkg-config,python38,libosmoabis-devel,libosmocore-devel,libosmoctrl-devel,libosmogsm-devel,libosmovty-devel,sqlite3-devel,libtalloc-devel,m4,libltdl7,findutils,glibc-devel,make,cpio,xz,gcc,file,gawk,bzip2,gzip,binutils,libdw1,patch,which,glibc-locale,dwz,librpmbuild9,rpm-build-perl,pkgconf-m4,pkgconf,libsqlite3-0,libtirpc3,libnsl2,python38-base,osmocom-nightly,libosmoabis10,libosmocore17,libosmoctrl0,libosmogsm16,libosmovty9,libtalloc2,libgdbm6,libgdbm_compat4,update-alternatives,linux-glibc-devel,libxcrypt-devel,libaudit1,libcap-ng0,libutempter0,libeconf0,libfdisk1,shadow,system-group-hardware,gcc10,cpp,libmagic1,libctf-nobfd0,libctf0,glibc-locale-base,rpm-build-python,libpkgconf3,libtirpc-netconfig,libopenssl1_1,libpython3_8-1_0,libexpat1,libffi8,lksctp-tools,system-user-root,terminfo-base,libsemanage1,chkstat,permissions-config,sysuser-shadow,libgmp10,libmpfr6,libmpc3,libisl23,cpp10,file-magic,python-rpm-macros,gettext-tools-mini,libstdc%2B%2B6,libgomp1,krb5-mini,libsystemd0-mini,pam_unix,libasan6,libatomic1,libitm1,libubsan1,gettext-runtime-mini,libcom_err2,libkeyutils1,libverto1,perl,build-mkbaselibs,brp-check-suse,post-build-checks,rpmlint-Factory,hostname,build-compare,ncurses-utils,aaa_base-malloccheck,rpmlint-mini) (worker was obs-arm-6:13) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 12 09:57:37 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 12 Mar 2021 09:57:37 +0000 Subject: Build failure of network:osmocom:nightly/osmo-smlc in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <604b3b256d82b_57e52b18cc7d25fc4304c8@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-smlc/openSUSE_Factory_ARM/armv7l Package network:osmocom:nightly/osmo-smlc failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-smlc Last lines of build log: 400 remote error: unknown parameter 'now' (http://back-other-opensuse:5253/getbinaries?workerid=obs-arm-6:13&project=network:osmocom:nightly&repository=openSUSE_Factory_ARM&arch=armv7l&module=python27-2.7&module=python36-3.6&now=1615543056&binaries=liblua5_4-5,aaa_base,attr,bash,coreutils,diffutils,filesystem,fillup,glibc,grep,libbz2-1,libgcc_s1,libncurses6,pam,permissions,rpm,rpm-config-SUSE,sed,tar,libz1,libselinux1,libgcrypt20,libgpg-error0,liblzma5,libcap2,libacl1,libattr1,libpopt0,libelf1,libpcre1,libzstd1,libreadline8,zlib-devel,util-linux,libmount1,perl-base,libdb-4_8,libsepol1,libblkid1,libuuid1,libsmartcols1,libcrypt1,kernel-obs-build,iproute2,libmnl0,autoconf,autoconf-archive,automake,libtool,systemd-rpm-macros,rpm-build,gcc-PIE,pkgconf-pkg-config,libosmonetif-devel,libosmo-sccp-devel,libosmo-sigtran-devel,libosmocore-devel,libosmoctrl-devel,libosmogsm-devel,libosmovty-devel,libtalloc-devel,m4,libltdl7,findutils,glibc-devel,make,cpio,xz,gcc,file,gawk,bzip2,gzip,binutils,libdw1,patch,which,glibc-locale,dwz,librpmbuild9,rpm-build-perl,pkgconf-m4,pkgconf,osmocom-nightly,libosmonetif8,libosmo-sigtran5,libosmocore17,libosmoctrl0,libosmogsm16,libosmovty9,libtalloc2,libgdbm6,libgdbm_compat4,update-alternatives,linux-glibc-devel,libxcrypt-devel,libaudit1,libcap-ng0,libutempter0,libeconf0,libfdisk1,shadow,system-group-hardware,gcc10,cpp,libmagic1,libctf-nobfd0,libctf0,glibc-locale-base,libpkgconf3,lksctp-tools,system-user-root,terminfo-base,libsemanage1,chkstat,permissions-config,sysuser-shadow,libgmp10,libmpfr6,libmpc3,libisl23,cpp10,file-magic,gettext-tools-mini,libstdc%2B%2B6,libgomp1,libsystemd0-mini,pam_unix,libasan6,libatomic1,libitm1,libubsan1,gettext-runtime-mini,perl,build-mkbaselibs,brp-check-suse,post-build-checks,rpmlint-Factory,hostname,build-compare,ncurses-utils,aaa_base-malloccheck,rpmlint-mini,libexpat1) (worker was obs-arm-6:13) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 12 09:59:20 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 12 Mar 2021 09:59:20 +0000 Subject: Build failure of network:osmocom:nightly/libgtpnl in Debian_10/armv7l In-Reply-To: References: Message-ID: <604b3b98c4627_57e52b18cc7d25fc435346@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libgtpnl/Debian_10/armv7l Package network:osmocom:nightly/libgtpnl failed to build in Debian_10/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libgtpnl Last lines of build log: 400 remote error: unknown parameter 'now' (http://back-other-opensuse:5253/getbinaries?workerid=obs-arm-6:8&project=network:osmocom:nightly&repository=Debian_10&arch=armv7l&module=python27-2.7&module=python36-3.6&now=1615543146&binaries=base-passwd,user-setup,perl,base-files,bash,bsdutils,coreutils,dash,debconf,debianutils,diffutils,dpkg,e2fslibs,e2fsprogs,findutils,gawk,gcc-8-base,grep,gzip,hostname,initscripts,insserv,libacl1,libattr1,libblkid1,libbz2-1.0,libc-bin,libc6,libcom-err2,libdb5.3,libgcc1,liblzma5,libmount1,libncurses5,libpam-modules,libpcre3,libsmartcols1,libperl5.28,libdebconfclient0,libpam-modules-bin,libpam-runtime,libpam0g,libreadline7,libselinux1,libsemanage-common,libsemanage1,libsepol1,libsigsegv2,libslang2,libss2,libtinfo6,libustr-1.0-1,libuuid1,login,lsb-base,mount,multiarch-support,ncurses-base,ncurses-bin,passwd,perl-base,readline-common,sed,sensible-utils,sysv-rc,init-system-helpers,sysvinit-utils,tar,tzdata,util-linux,zlib1g,xz-utils,libdevmapper1.02.1,debhelper,autotools-dev,autoconf,automake,libtool,dh-autoreconf,git,pkg-config,libmnl-dev,build-essential,man-db,po-debconf,dwz,dh-strip-nondeterminism,dpkg-dev,file,libdpkg-perl,m4,cpp,libc6-dev,autopoint,liberror-perl,libexpat1,libpcre2-8-0,libcurl3-gnutls,git-man,libglib2.0-0,libmnl0,gcc,g%2B%2B,perl-modules-5.28,bsdmainutils,libgdbm6,libseccomp2,groff-base,libpipeline1,gettext,intltool-debian,libelf1,libfile-stripnondeterminism-perl,binutils,bzip2,patch,libmagic1,cpp-8,linux-libc-dev,libc-dev-bin,libnettle6,libldap-2.4-2,libgnutls30,libk5crypto3,libgssapi-krb5-2,libkrb5-3,libidn2-0,libpsl5,libssh2-1,libnghttp2-14,librtmp1,libffi6,gcc-8,g%2B%2B-8,libgdbm-compat4,libbsd0,libstdc%2B%2B6,libuchardet0,gettext-base,libncurses6,libgomp1,libunistring2,libcroco3,libxml2,libarchive-zip-perl,binutils-common,libbinutils,binutils-arm-linux-gnueabihf,libmagic-mgc,libmpc3,libmpfr6,libisl19,libgmp10,libldap-common,libsasl2-2,libtasn1-6,libp11-kit0,libhogweed4,libkeyutils1,libkrb5support0,libssl1.1,libgcrypt20,libgcc-8-dev,libcc1-0,libstdc%2B%2B-8-dev,libsystemd0,libicu63,libsasl2-modules-db,libgpg-error0,libatomic1,libasan5,libubsan1,liblz4-1,make,cpio,fakeroot,less,kmod,net-tools,procps,psmisc,strace,vim,adduser,libext2fs2,libtinfo5,libaudit1,startpar,fdisk,libudev1,libcap-ng0,libfakeroot,libkmod2,libncursesw6,libprocps7,libgpm2,vim-common,vim-runtime,libaudit-common,libfdisk1,xxd) (worker was obs-arm-6:8) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 12 09:59:20 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 12 Mar 2021 09:59:20 +0000 Subject: Build failure of network:osmocom:nightly/osmo-iuh in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <604b3b995ebc9_57e52b18cc7d25fc4354e0@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-iuh/openSUSE_Factory_ARM/armv7l Package network:osmocom:nightly/osmo-iuh failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-iuh Last lines of build log: 400 remote error: unknown parameter 'now' (http://back-other-opensuse:5253/getbinaries?workerid=armbuild01:1&project=network:osmocom:nightly&repository=openSUSE_Factory_ARM&arch=armv7l&module=python27-2.7&module=python36-3.6&now=1615543146&binaries=liblua5_4-5,aaa_base,attr,bash,coreutils,diffutils,filesystem,fillup,glibc,grep,libbz2-1,libgcc_s1,libncurses6,pam,permissions,rpm,rpm-config-SUSE,sed,tar,libz1,libselinux1,libgcrypt20,libgpg-error0,liblzma5,libcap2,libacl1,libattr1,libpopt0,libelf1,libpcre1,libzstd1,libreadline8,zlib-devel,util-linux,libmount1,perl-base,libdb-4_8,libsepol1,libblkid1,libuuid1,libsmartcols1,libcrypt1,kernel-obs-build,iproute2,libmnl0,automake,libtool,lksctp-tools-devel,systemd-rpm-macros,rpm-build,gcc-PIE,pkgconf-pkg-config,python38,libasn1c-devel,libosmonetif-devel,libosmo-sigtran-devel,libosmocore-devel,libosmoctrl-devel,libosmogb-devel,libosmogsm-devel,libosmovty-devel,autoconf,libltdl7,m4,glibc-devel,lksctp-tools,findutils,make,cpio,xz,gcc,file,gawk,bzip2,gzip,binutils,libdw1,patch,which,glibc-locale,dwz,librpmbuild9,rpm-build-perl,pkgconf-m4,pkgconf,libsqlite3-0,libtirpc3,libnsl2,python38-base,libtalloc-devel,osmocom-nightly,libasn1c1,libosmonetif8,libosmo-sigtran5,libosmocore17,libosmoctrl0,libosmogb12,libosmogsm16,libosmovty9,libgdbm6,libgdbm_compat4,linux-glibc-devel,libxcrypt-devel,update-alternatives,libaudit1,libcap-ng0,libutempter0,libeconf0,libfdisk1,shadow,system-group-hardware,gcc10,cpp,libmagic1,libctf-nobfd0,libctf0,glibc-locale-base,rpm-build-python,libpkgconf3,libtirpc-netconfig,libopenssl1_1,libpython3_8-1_0,libexpat1,libffi8,libtalloc2,system-user-root,terminfo-base,libsemanage1,chkstat,permissions-config,sysuser-shadow,libgmp10,libmpfr6,libmpc3,libisl23,cpp10,file-magic,python-rpm-macros,gettext-tools-mini,libstdc%2B%2B6,libgomp1,krb5-mini,libsystemd0-mini,pam_unix,libasan6,libatomic1,libitm1,libubsan1,gettext-runtime-mini,libcom_err2,libkeyutils1,libverto1,perl,build-mkbaselibs,brp-check-suse,post-build-checks,rpmlint-Factory,hostname,build-compare,ncurses-utils,aaa_base-malloccheck,rpmlint-mini) (worker was armbuild01:1) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 12 09:59:20 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 12 Mar 2021 09:59:20 +0000 Subject: Build failure of network:osmocom:nightly/osmo-gsm-manuals in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <604b3b99c0d80_57e52b18cc7d25fc4355e@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-gsm-manuals/Debian_9.0/armv7l Package network:osmocom:nightly/osmo-gsm-manuals failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-gsm-manuals Last lines of build log: 400 remote error: unknown parameter 'now' (http://back-other-opensuse:5253/getbinaries?workerid=obs-arm-6:4&project=network:osmocom:nightly&repository=Debian_9.0&arch=armv7l&module=python27-2.7&module=python36-3.6&now=1615543146&binaries=base-passwd,user-setup,perl,base-files,bash,bsdutils,coreutils,dash,debconf,debianutils,diffutils,dpkg,e2fslibs,e2fsprogs,findutils,gawk,gcc-6-base,grep,gzip,hostname,initscripts,insserv,libacl1,libattr1,libblkid1,libbz2-1.0,libc-bin,libc6,libcomerr2,libdb5.3,libgcc1,liblzma5,libmount1,libncurses5,libpam-modules,libpcre3,libsmartcols1,libperl5.24,libdebconfclient0,libpam-modules-bin,libpam-runtime,libpam0g,libreadline7,libselinux1,libsemanage-common,libsemanage1,libsepol1,libsigsegv2,libslang2,libss2,libtinfo5,libustr-1.0-1,libuuid1,login,lsb-base,mount,multiarch-support,ncurses-base,ncurses-bin,passwd,perl-base,readline-common,sed,sensible-utils,sysv-rc,init-system-helpers,sysvinit-utils,tar,tzdata,util-linux,zlib1g,libdevmapper1.02.1,autotools-dev,dh-autoreconf,debhelper,pkg-config,asciidoc,asciidoc-dblatex,dblatex,docbook5-xml,graphviz,inkscape,libxml2-utils,mscgen,python3-nwdiag,xsltproc,build-essential,autoconf,automake,autopoint,libtool,binutils,po-debconf,man-db,dh-strip-nondeterminism,dpkg-dev,file,libdpkg-perl,libglib2.0-0,asciidoc-base,docbook-utils,texlive-latex-extra,python-apt,texlive,docbook-xml,texlive-extra-utils,texlive-science,texlive-bibtex-extra,python,xml-core,libx11-6,libxt6,libxmu6,libxaw7,libcdt5,libcgraph6,libgvc6,libann0,libgvpr2,libstdc%2B%2B6,libexpat1,libgd3,libgts-0.7-5,libgsl2,librevenge-0.0-0,libwpg-0.3-3,libvisio-0.1-1,libcdr-0.1-1,libpotrace0,libgdk-pixbuf2.0-0,libpangocairo-1.0-0,libatk1.0-0,libfreetype6,libfontconfig1,libxml2,libpangoft2-1.0-0,libpng16-16,libjpeg62-turbo,libdbus-1-3,libgtk2.0-0,libgomp1,libpopt0,libxslt1.1,libglibmm-2.4-1v5,liblcms2-2,libatkmm-1.6-1v5,libsigc%2B%2B-2.0-0v5,libgc1c2,libgtkmm-2.4-1v5,libdbus-glib-1-2,libpangomm-1.4-1v5,libcairomm-1.0-1v5,libmagickcore-6.q16-3,libpoppler-glib8,libaspell15,libmagickwand-6.q16-3,libpoppler64,libcairo2,libgtkspell0,libmagick%2B%2B-6.q16-7,libpango-1.0-0,python3-pkg-resources,python3-docutils,python3-reportlab,python3,python3-blockdiag,libc6-dev,gcc,g%2B%2B,perl-modules-5.24,m4,xz-utils,cpp,gettext,intltool-debian,bsdmainutils,libgdbm3,groff-base,libpipeline1,libtimedate-perl,libfile-stripnondeterminism-perl,bzip2,patch,libmagic1,libffi6,asciidoc-common,opensp,docbook-dsssl,sgmlspl,preview-latex-style,tex-common,texlive-base,texlive-binaries,texlive-latex-recommended,texlive-pictures,gnupg,python-apt-common,libapt-inst2.0,libapt-pkg5.0,dirmngr,texlive-latex-base,texlive-fonts-recommended,sgml-base,sgml-data,libpython-stdlib,python2.7,python-minimal,libx11-data,libxcb1,libsm6,libice6,libxext6,libxpm4,libxrender1,libpathplan4,libxdot4,libltdl7,libtiff5,libwebp6,libwpd-0.10-10,libicu57,shared-mime-info,libgdk-pixbuf2.0-common,libatk1.0-data,fontconfig-config,libharfbuzz0b,libsystemd0,libxinerama1,libxfixes3,libxi6,hicolor-icon-theme,libgtk2.0-common,libxcomposite1,libxdamage1,libxcursor1,libcups2,libxrandr2,libgcrypt20,libfftw3-double3,libopenjp2-7,libjbig0,imagemagick-6-common,liblqr-1-0,libnspr4,libnss3,libxcb-shm0,libxcb-render0,libpixman-1-0,libenchant1c2a,fontconfig,libthai0,python3-roman,docutils-common,python3-reportlab-accel,dh-python,libpython3-stdlib,python3.5,python3-minimal,python3-pil,python3-webcolors,python3-funcparserlib,libc-dev-bin,linux-libc-dev,gcc-6,g%2B%2B-6,cpp-6,gettext-base,libunistring0,libcroco3,libbsd0,libarchive-zip-perl,libmagic-mgc,libosp5,openjade,libsgmls-perl,ucf,xdg-utils,libpaper-utils,libgmp10,libpaper1,t1utils,libmpfr4,libzzip-0-13,libgraphite2-3,libgs9,libptexenc1,libkpathsea6,libsynctex1,libtexlua52,libtexluajit2,libharfbuzz-icu0,libgpg-error0,libassuan0,libsqlite3-0,gnupg-agent,libksba8,liblz4-1,adduser,libldap-2.4-2,libgnutls30,libnpth0,fonts-lmodern,libpython2.7-stdlib,mime-support,python2.7-minimal,libxau6,libxdmcp6,x11-common,libgssapi-krb5-2,libavahi-common3,libavahi-client3,libhunspell-1.4-0,libdatrie1,libthai-data,libpython3.5-stdlib,python3.5-minimal,libwebpmux2,libwebpdemux2,libmpc3,libisl15,libgcc-6-dev,libcc1-0,libstdc%2B%2B-6-dev,libostyle1c2,poppler-data,libidn11,libcupsimage2,libijs-0.35,libjbig2dec0,libgs9-common,libsasl2-2,libldap-common,libnettle6,libhogweed4,libp11-kit0,libtasn1-6,libssl1.1,libncursesw5,libpython2.7-minimal,libkeyutils1,libkrb5-3,libkrb5support0,libk5crypto3,libavahi-common-data,libmpdec2,libpython3.5-minimal,libatomic1,libasan3,libubsan0,libaudit1,libsasl2-modules-db,libcap-ng0,libaudit-common,make,texlive-htmlxml,texlive-generic-recommended,lynx,gnome-icon-theme,fonts-dejavu-core,aspell-en,pinentry-curses,lynx-common,librsvg2-common,gtk-update-icon-cache,aspell,dictionaries-common,librsvg2-2,libtext-iconv-perl,emacsen-common,cpio,fakeroot,less,kmod,net-tools,procps,psmisc,strace,vim,libudev1,startpar,libfdisk1,libfakeroot,libkmod2,libprocps6,libgpm2,vim-common,vim-runtime,xxd) (worker was obs-arm-6:4) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 12 10:00:13 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 12 Mar 2021 10:00:13 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bsc in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <604b3bd7c89f5_57e52b18cc7d25fc4402c8@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bsc/openSUSE_Factory_ARM/armv7l Package network:osmocom:nightly/osmo-bsc failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-bsc Last lines of build log: 400 remote error: unknown parameter 'now' (http://back-other-opensuse:5253/getbinaries?workerid=obs-arm-6:13&project=network:osmocom:nightly&repository=openSUSE_Factory_ARM&arch=armv7l&module=python27-2.7&module=python36-3.6&now=1615543210&binaries=liblua5_4-5,aaa_base,attr,bash,coreutils,diffutils,filesystem,fillup,glibc,grep,libbz2-1,libgcc_s1,libncurses6,pam,permissions,rpm,rpm-config-SUSE,sed,tar,libz1,libselinux1,libgcrypt20,libgpg-error0,liblzma5,libcap2,libacl1,libattr1,libpopt0,libelf1,libpcre1,libzstd1,libreadline8,zlib-devel,util-linux,libmount1,perl-base,libdb-4_8,libsepol1,libblkid1,libuuid1,libsmartcols1,libcrypt1,kernel-obs-build,iproute2,libmnl0,automake,libtool,systemd-rpm-macros,rpm-build,gcc-PIE,pkgconf-pkg-config,libosmo-mgcp-client-devel,libosmonetif-devel,libosmo-sigtran-devel,libosmoabis-devel,libosmocore-devel,libosmoctrl-devel,libosmogb-devel,libosmogsm-devel,libosmovty-devel,libtalloc-devel,autoconf,libltdl7,m4,findutils,glibc-devel,make,cpio,xz,gcc,file,gawk,bzip2,gzip,binutils,libdw1,patch,which,glibc-locale,dwz,librpmbuild9,rpm-build-perl,pkgconf-m4,pkgconf,osmocom-nightly,libosmo-mgcp-client8,libosmonetif8,libosmo-sigtran5,libosmoabis10,libosmocore17,libosmoctrl0,libosmogb12,libosmogsm16,libosmovty9,libtalloc2,libgdbm6,libgdbm_compat4,update-alternatives,linux-glibc-devel,libxcrypt-devel,libaudit1,libcap-ng0,libutempter0,libeconf0,libfdisk1,shadow,system-group-hardware,gcc10,cpp,libmagic1,libctf-nobfd0,libctf0,glibc-locale-base,libpkgconf3,lksctp-tools,system-user-root,terminfo-base,libsemanage1,chkstat,permissions-config,sysuser-shadow,libgmp10,libmpfr6,libmpc3,libisl23,cpp10,file-magic,libopenssl-devel,gettext-tools-mini,libstdc%2B%2B6,libgomp1,libsystemd0-mini,pam_unix,libasan6,libatomic1,libitm1,libubsan1,libopenssl1_1,libopenssl-1_1-devel,openssl,gettext-runtime-mini,openssl-1_1,crypto-policies,perl,build-mkbaselibs,brp-check-suse,post-build-checks,rpmlint-Factory,hostname,build-compare,ncurses-utils,aaa_base-malloccheck,rpmlint-mini,libexpat1) (worker was obs-arm-6:13) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 12 10:00:13 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 12 Mar 2021 10:00:13 +0000 Subject: Build failure of network:osmocom:nightly/rtl-sdr in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <604b3bd834d9d_57e52b18cc7d25fc4403ad@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/rtl-sdr/Debian_9.0/armv7l Package network:osmocom:nightly/rtl-sdr failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly rtl-sdr Last lines of build log: 400 remote error: unknown parameter 'now' (http://back-other-opensuse:5253/getbinaries?workerid=obs-arm-6:8&project=network:osmocom:nightly&repository=Debian_9.0&arch=armv7l&module=python27-2.7&module=python36-3.6&now=1615543211&binaries=base-passwd,user-setup,perl,base-files,bash,bsdutils,coreutils,dash,debconf,debianutils,diffutils,dpkg,e2fslibs,e2fsprogs,findutils,gawk,gcc-6-base,grep,gzip,hostname,initscripts,insserv,libacl1,libattr1,libblkid1,libbz2-1.0,libc-bin,libc6,libcomerr2,libdb5.3,libgcc1,liblzma5,libmount1,libncurses5,libpam-modules,libpcre3,libsmartcols1,libperl5.24,libdebconfclient0,libpam-modules-bin,libpam-runtime,libpam0g,libreadline7,libselinux1,libsemanage-common,libsemanage1,libsepol1,libsigsegv2,libslang2,libss2,libtinfo5,libustr-1.0-1,libuuid1,login,lsb-base,mount,multiarch-support,ncurses-base,ncurses-bin,passwd,perl-base,readline-common,sed,sensible-utils,sysv-rc,init-system-helpers,sysvinit-utils,tar,tzdata,util-linux,zlib1g,libdevmapper1.02.1,cmake,debhelper,libusb-1.0-0-dev,pkg-config,build-essential,libstdc%2B%2B6,libexpat1,libcurl3,libjsoncpp1,libarchive13,libuv1,cmake-data,binutils,autotools-dev,po-debconf,man-db,dh-autoreconf,dh-strip-nondeterminism,dpkg-dev,file,libdpkg-perl,libusb-1.0-0,libglib2.0-0,libc6-dev,gcc,g%2B%2B,libprocps6,libncursesw5,libssl1.0.2,libldap-2.4-2,libgssapi-krb5-2,libk5crypto3,libkrb5-3,libidn2-0,libpsl5,libssh2-1,libnghttp2-14,librtmp1,libnettle6,liblzo2-2,libxml2,liblz4-1,perl-modules-5.24,gettext,intltool-debian,bsdmainutils,libgdbm3,groff-base,libpipeline1,autoconf,automake,autopoint,libtool,libtimedate-perl,libfile-stripnondeterminism-perl,bzip2,xz-utils,patch,libmagic1,libudev1,libffi6,libc-dev-bin,linux-libc-dev,cpp,gcc-6,g%2B%2B-6,libsystemd0,libsasl2-2,libgnutls30,libldap-common,libkeyutils1,libkrb5support0,libunistring0,libgcrypt20,libgmp10,libhogweed4,libicu57,gettext-base,libgomp1,libcroco3,libbsd0,m4,libarchive-zip-perl,libmagic-mgc,cpp-6,libmpc3,libmpfr4,libisl15,libgcc-6-dev,libcc1-0,libstdc%2B%2B-6-dev,libsasl2-modules-db,libidn11,libp11-kit0,libtasn1-6,libgpg-error0,libatomic1,libasan3,libubsan0,libaudit1,libcap-ng0,libaudit-common,make,cpio,fakeroot,less,kmod,net-tools,procps,psmisc,strace,vim,adduser,startpar,libfdisk1,libfakeroot,libkmod2,libgpm2,vim-common,vim-runtime,xxd) (worker was obs-arm-6:8) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 12 10:00:13 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 12 Mar 2021 10:00:13 +0000 Subject: Build failure of network:osmocom:nightly/libusrp in Debian_10/armv7l In-Reply-To: References: Message-ID: <604b3bd88ab48_57e52b18cc7d25fc4404f4@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libusrp/Debian_10/armv7l Package network:osmocom:nightly/libusrp failed to build in Debian_10/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libusrp Last lines of build log: 400 remote error: unknown parameter 'now' (http://back-other-opensuse:5253/getbinaries?workerid=obs-arm-6:4&project=network:osmocom:nightly&repository=Debian_10&arch=armv7l&module=python27-2.7&module=python36-3.6&now=1615543211&binaries=base-passwd,user-setup,perl,base-files,bash,bsdutils,coreutils,dash,debconf,debianutils,diffutils,dpkg,e2fslibs,e2fsprogs,findutils,gawk,gcc-8-base,grep,gzip,hostname,initscripts,insserv,libacl1,libattr1,libblkid1,libbz2-1.0,libc-bin,libc6,libcom-err2,libdb5.3,libgcc1,liblzma5,libmount1,libncurses5,libpam-modules,libpcre3,libsmartcols1,libperl5.28,libdebconfclient0,libpam-modules-bin,libpam-runtime,libpam0g,libreadline7,libselinux1,libsemanage-common,libsemanage1,libsepol1,libsigsegv2,libslang2,libss2,libtinfo6,libustr-1.0-1,libuuid1,login,lsb-base,mount,multiarch-support,ncurses-base,ncurses-bin,passwd,perl-base,readline-common,sed,sensible-utils,sysv-rc,init-system-helpers,sysvinit-utils,tar,tzdata,util-linux,zlib1g,xz-utils,libdevmapper1.02.1,debhelper,dh-autoreconf,autotools-dev,autoconf,automake,doxygen,libtool,pkg-config,python,sdcc,libusb-1.0-0-dev,libboost-all-dev,build-essential,man-db,po-debconf,dwz,dh-strip-nondeterminism,dpkg-dev,file,libdpkg-perl,autopoint,m4,libxapian30,libstdc%2B%2B6,libclang1-6.0,cpp,libc6-dev,libglib2.0-0,python2,python2.7,libpython-stdlib,python-minimal,sdcc-libraries,libusb-1.0-0,libboost-dev,libboost-thread-dev,libboost-system-dev,libboost-filesystem-dev,libboost-program-options-dev,libboost-regex-dev,libboost-date-time-dev,libboost-test-dev,libboost-chrono-dev,libboost-iostreams-dev,libboost-timer-dev,libboost-log-dev,libboost-mpi-dev,libboost-random-dev,libboost-signals-dev,libboost-atomic-dev,libboost-locale-dev,libboost-math-dev,libboost-serialization-dev,libboost-container-dev,libboost-context-dev,libboost-coroutine-dev,libboost-exception-dev,libboost-fiber-dev,libboost-graph-dev,libboost-graph-parallel-dev,libboost-mpi-python-dev,libboost-numpy-dev,libboost-python-dev,libboost-stacktrace-dev,libboost-tools-dev,libboost-type-erasure-dev,libboost-wave-dev,gcc,g%2B%2B,perl-modules-5.28,bsdmainutils,libgdbm6,libseccomp2,groff-base,libpipeline1,gettext,intltool-debian,libelf1,libfile-stripnondeterminism-perl,binutils,bzip2,patch,libmagic1,libllvm6.0,cpp-8,linux-libc-dev,libc-dev-bin,libffi6,libpython2-stdlib,python2-minimal,mime-support,libpython2.7-stdlib,python2.7-minimal,libudev1,libboost1.67-dev,libboost-thread1.67-dev,libboost-system1.67-dev,libboost-filesystem1.67-dev,libboost-program-options1.67-dev,libboost-regex1.67-dev,libboost-date-time1.67-dev,libboost-test1.67-dev,libboost-chrono1.67-dev,libboost-iostreams1.67-dev,libboost-timer1.67-dev,libboost-log1.67-dev,libboost-mpi1.67-dev,libboost-random1.67-dev,libboost-signals1.67-dev,libboost-atomic1.67-dev,libboost-locale1.67-dev,libboost-math1.67-dev,libboost-serialization1.67-dev,libboost-container1.67-dev,libboost-context1.67-dev,libboost-coroutine1.67-dev,libboost-exception1.67-dev,libboost-fiber1.67-dev,libboost-graph1.67-dev,libboost-graph-parallel1.67-dev,libboost-mpi-python1.67-dev,libboost-numpy1.67-dev,libboost-python1.67-dev,libboost-stacktrace1.67-dev,libboost1.67-tools-dev,libboost-type-erasure1.67-dev,libboost-wave1.67-dev,gcc-8,g%2B%2B-8,libgdbm-compat4,libbsd0,libuchardet0,gettext-base,libncurses6,libgomp1,libunistring2,libcroco3,libxml2,libarchive-zip-perl,binutils-common,libbinutils,binutils-arm-linux-gnueabihf,libmagic-mgc,libedit2,libmpc3,libmpfr6,libisl19,libgmp10,libsqlite3-0,libncursesw6,libssl1.1,libexpat1,libpython2.7-minimal,libboost-thread1.67.0,libboost-system1.67.0,libboost-filesystem1.67.0,libboost-program-options1.67.0,libicu-dev,libboost-regex1.67.0,libboost-date-time1.67.0,libboost-test1.67.0,libboost-chrono1.67.0,libboost-iostreams1.67.0,libboost-timer1.67.0,libboost-log1.67.0,mpi-default-dev,libboost-mpi1.67.0,libboost-random1.67.0,libboost-signals1.67.0,libboost-atomic1.67.0,libboost-locale1.67.0,libboost-math1.67.0,libboost-serialization1.67.0,libboost-container1.67.0,libboost-context1.67.0,libboost-coroutine1.67.0,libboost-fiber1.67.0,libboost-graph1.67.0,libboost-graph-parallel1.67.0,libboost-mpi-python1.67.0,libboost-numpy1.67.0,python-dev,python3-dev,libboost-python1.67.0,libboost-stacktrace1.67.0,libicu63,libboost-type-erasure1.67.0,libboost-wave1.67.0,libgcc-8-dev,libcc1-0,libstdc%2B%2B-8-dev,libsystemd0,icu-devtools,libopenmpi-dev,libopenmpi3,mpi-default-bin,python3,libpython-dev,python2.7-dev,python2-dev,dh-python,libpython3-dev,python3-distutils,python3.7-dev,libatomic1,libasan5,libubsan1,libgcrypt20,liblz4-1,libhwloc-dev,openmpi-common,libibverbs-dev,openmpi-bin,libhwloc-plugins,libgfortran5,libevent-2.1-6,libnl-3-200,libnl-route-3-200,libhwloc5,libevent-pthreads-2.1-6,libibverbs1,libpmix2,libpython3-stdlib,python3.7,python3-minimal,libpython2-dev,libpython2.7-dev,libexpat1-dev,libpython2.7,libpython3.7-dev,python3-lib2to3,libpython3.7,libgpg-error0,libltdl-dev,libnl-3-dev,libnl-route-3-dev,ibverbs-providers,openssh-client,libpciaccess0,libltdl7,ocl-icd-libopencl1,libevent-core-2.1-6,adduser,libpython3.7-stdlib,python3.7-minimal,libgssapi-krb5-2,libmpdec2,libpython3.7-minimal,libaudit1,libkeyutils1,libkrb5-3,libkrb5support0,libk5crypto3,libcap-ng0,libaudit-common,make,cpio,fakeroot,less,kmod,net-tools,procps,psmisc,strace,vim,libext2fs2,libtinfo5,startpar,fdisk,libfakeroot,libkmod2,libprocps7,libgpm2,vim-common,vim-runtime,libfdisk1,xxd) (worker was obs-arm-6:4) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 12 10:00:13 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 12 Mar 2021 10:00:13 +0000 Subject: Build failure of network:osmocom:nightly/libgtpnl in Raspbian_10/armv7l In-Reply-To: References: Message-ID: <604b3bd8e6a46_57e52b18cc7d25fc4405b3@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libgtpnl/Raspbian_10/armv7l Package network:osmocom:nightly/libgtpnl failed to build in Raspbian_10/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libgtpnl Last lines of build log: 400 remote error: unknown parameter 'now' (http://back-other-opensuse:5253/getbinaries?workerid=armbuild01:2&project=network:osmocom:nightly&repository=Raspbian_10&arch=armv7l&module=python27-2.7&module=python36-3.6&now=1615543211&binaries=base-passwd,user-setup,perl,base-files,bash,bsdutils,coreutils,dash,debconf,debianutils,diffutils,dpkg,e2fslibs,e2fsprogs,findutils,gawk,gcc-8-base,grep,gzip,hostname,initscripts,insserv,libacl1,libattr1,libblkid1,libbz2-1.0,libc-bin,libc6,libcom-err2,libdb5.3,libgcc1,liblzma5,libmount1,libncurses5,libpam-modules,libpcre3,libsmartcols1,libperl5.28,libdebconfclient0,libpam-modules-bin,libpam-runtime,libpam0g,libreadline7,libselinux1,libsemanage-common,libsemanage1,libsepol1,libsigsegv2,libslang2,libss2,libtinfo6,libustr-1.0-1,libuuid1,login,lsb-base,mount,multiarch-support,ncurses-base,ncurses-bin,passwd,perl-base,readline-common,sed,sensible-utils,sysv-rc,init-system-helpers,sysvinit-utils,tar,tzdata,util-linux,zlib1g,xz-utils,libdevmapper1.02.1,debhelper,autotools-dev,autoconf,automake,libtool,dh-autoreconf,git,pkg-config,libmnl-dev,build-essential,man-db,po-debconf,dwz,dh-strip-nondeterminism,dpkg-dev,file,libdpkg-perl,m4,cpp,libc6-dev,autopoint,liberror-perl,libexpat1,libpcre2-8-0,libcurl3-gnutls,git-man,libglib2.0-0,libmnl0,gcc,g%2B%2B,perl-modules-5.28,bsdmainutils,libgdbm6,libseccomp2,groff-base,libpipeline1,gettext,intltool-debian,libelf1,libfile-stripnondeterminism-perl,binutils,bzip2,patch,libmagic1,cpp-8,linux-libc-dev,libc-dev-bin,libnettle6,libldap-2.4-2,libgnutls30,libk5crypto3,libkrb5-3,libgssapi-krb5-2,libidn2-0,libpsl5,libssh2-1,libnghttp2-14,librtmp1,libffi6,gcc-8,g%2B%2B-8,libgdbm-compat4,libtinfo5,libbsd0,libstdc%2B%2B6,libuchardet0,gettext-base,libgomp1,libncurses6,libunistring2,libcroco3,libxml2,libarchive-zip-perl,binutils-common,libbinutils,binutils-arm-linux-gnueabihf,libmagic-mgc,libmpc3,libmpfr6,libgmp10,libisl19,libldap-common,libsasl2-2,libtasn1-6,libp11-kit0,libhogweed4,libkeyutils1,libkrb5support0,libssl1.1,libgcrypt20,libgcc-8-dev,libcc1-0,libstdc%2B%2B-8-dev,libsystemd0,libicu63,libfl2,libsasl2-modules-db,libgpg-error0,libatomic1,libasan5,libubsan1,liblz4-1,make,cpio,fakeroot,less,kmod,net-tools,procps,psmisc,strace,vim,adduser,libext2fs2,libaudit1,startpar,fdisk,libudev1,libcap-ng0,libfakeroot,libkmod2,libncursesw6,libprocps7,libgpm2,vim-common,vim-runtime,libaudit-common,libfdisk1,xxd) (worker was armbuild01:2) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 12 10:00:13 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 12 Mar 2021 10:00:13 +0000 Subject: Build failure of network:osmocom:nightly/osmo-smlc in openSUSE_Leap_15.1_ARM/armv7l In-Reply-To: References: Message-ID: <604b3bd9636ac_57e52b18cc7d25fc4406b0@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-smlc/openSUSE_Leap_15.1_ARM/armv7l Package network:osmocom:nightly/osmo-smlc failed to build in openSUSE_Leap_15.1_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-smlc Last lines of build log: 400 remote error: unknown parameter 'now' (http://back-other-opensuse:5253/getbinaries?workerid=obs-arm-6:11&project=network:osmocom:nightly&repository=openSUSE_Leap_15.1_ARM&arch=armv7l&module=python27-2.7&module=python36-3.6&now=1615543211&binaries=liblua5_3-5,aaa_base,attr,bash,coreutils,diffutils,filesystem,fillup,glibc,grep,libbz2-1,libgcc_s1,libncurses6,pam,permissions,libreadline7,rpm,sed,tar,libz1,libselinux1,liblzma5,libcap2,libacl1,libattr1,libpopt0,libelf1,libpcre1,zlib-devel,util-linux,libmount1,perl-base,libdb-4_8,libsepol1,libblkid1,libuuid1,libsmartcols1,kernel-obs-build,net-tools-deprecated,autoconf,autoconf-archive,automake,libtool,systemd-rpm-macros,rpm-build,gcc-PIE,pkg-config,libosmonetif-devel,libosmo-sccp-devel,libosmo-sigtran-devel,libosmocore-devel,libosmoctrl-devel,libosmogsm-devel,libosmovty-devel,libtalloc-devel,info,m4,libltdl7,findutils,glibc-devel,gawk,xz,file,gcc,gzip,bzip2,cpio,make,binutils,which,patch,glibc-locale,dwz,osmocom-nightly,libosmonetif8,libosmo-sigtran5,libosmocore17,libosmoctrl0,libosmogsm16,libosmovty9,libtalloc2,libzio1,libgdbm4,libgmp10,linux-glibc-devel,libaudit1,libcap-ng0,libutempter0,libfdisk1,system-group-hardware,update-alternatives,libmagic1,gcc7,cpp,libdw1,glibc-locale-base,lksctp-tools,libmnl0,terminfo-base,system-user-root,libtirpc3,libnsl2,libcrack2,shadow,sysuser-shadow,file-magic,libmpfr6,libmpc3,libisl15,cpp7,libasan4,libubsan0,libebl-plugins,libtirpc-netconfig,cracklib,libsemanage1,gettext-tools-mini,libsystemd0-mini,libstdc%2B%2B6,libatomic1,libgomp1,libitm1,krb5-mini,gettext-runtime-mini,libcom_err2,libkeyutils1,libverto1,perl,build-mkbaselibs,brp-check-suse,post-build-checks,rpmlint-Factory,hostname,build-compare,brp-extract-appdata,ncurses-utils,aaa_base-malloccheck,rpmlint-mini,libexpat1) (worker was obs-arm-6:11) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 12 10:01:54 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 12 Mar 2021 10:01:54 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-abis in Debian_10/armv7l In-Reply-To: References: Message-ID: <604b3c48e82fc_57e52b18cc7d25fc448072@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-abis/Debian_10/armv7l Package network:osmocom:nightly/libosmo-abis failed to build in Debian_10/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmo-abis Last lines of build log: 400 remote error: unknown parameter 'now' (http://back-other-opensuse:5253/getbinaries?workerid=obs-arm-6:13&project=network:osmocom:nightly&repository=Debian_10&arch=armv7l&module=python27-2.7&module=python36-3.6&now=1615543302&binaries=base-passwd,user-setup,perl,base-files,bash,bsdutils,coreutils,dash,debconf,debianutils,diffutils,dpkg,e2fslibs,e2fsprogs,findutils,gawk,gcc-8-base,grep,gzip,hostname,initscripts,insserv,libacl1,libattr1,libblkid1,libbz2-1.0,libc-bin,libc6,libcom-err2,libdb5.3,libgcc1,liblzma5,libmount1,libncurses5,libpam-modules,libpcre3,libsmartcols1,libperl5.28,libdebconfclient0,libpam-modules-bin,libpam-runtime,libpam0g,libreadline7,libselinux1,libsemanage-common,libsemanage1,libsepol1,libsigsegv2,libslang2,libss2,libtinfo6,libustr-1.0-1,libuuid1,login,lsb-base,mount,multiarch-support,ncurses-base,ncurses-bin,passwd,perl-base,readline-common,sed,sensible-utils,sysv-rc,init-system-helpers,sysvinit-utils,tar,tzdata,util-linux,zlib1g,xz-utils,libdevmapper1.02.1,debhelper,autotools-dev,autoconf,automake,dahdi-source,libtool,dh-autoreconf,libdpkg-perl,git,libosmocore-dev,pkg-config,libortp-dev,build-essential,man-db,po-debconf,dwz,dh-strip-nondeterminism,dpkg-dev,file,m4,bzip2,module-assistant,cpp,libc6-dev,autopoint,liberror-perl,libexpat1,libpcre2-8-0,libcurl3-gnutls,git-man,libosmocore,libtalloc-dev,osmocom-nightly,libglib2.0-0,libortp13,libbctoolbox-dev,gcc,g%2B%2B,perl-modules-5.28,bsdmainutils,libgdbm6,libseccomp2,groff-base,libpipeline1,gettext,intltool-debian,libelf1,libfile-stripnondeterminism-perl,binutils,patch,libmagic1,libtext-wrapi18n-perl,cpp-8,linux-libc-dev,libc-dev-bin,libnettle6,libldap-2.4-2,libgnutls30,libk5crypto3,libgssapi-krb5-2,libkrb5-3,libidn2-0,libpsl5,libssh2-1,libnghttp2-14,librtmp1,libosmocodec0,libosmogb12,libosmousb0,libosmocoding0,libosmocore17,libosmogsm16,libosmovty9,libosmoctrl0,libosmosim2,libtalloc2,libffi6,libbctoolbox1,gcc-8,g%2B%2B-8,libgdbm-compat4,libbsd0,libstdc%2B%2B6,libuchardet0,gettext-base,libncurses6,libgomp1,libunistring2,libcroco3,libxml2,libarchive-zip-perl,binutils-common,libbinutils,binutils-arm-linux-gnueabihf,libmagic-mgc,libtext-charwidth-perl,libmpc3,libmpfr6,libisl19,libgmp10,libldap-common,libsasl2-2,libtasn1-6,libp11-kit0,libhogweed4,libkeyutils1,libkrb5support0,libssl1.1,libgcrypt20,libusb-1.0-0,libsystemd0,libmnl0,libsctp1,libpcsclite1,libmbedcrypto3,libmbedtls12,libmbedx509-0,libgcc-8-dev,libcc1-0,libstdc%2B%2B-8-dev,libicu63,libsasl2-modules-db,libgpg-error0,libudev1,liblz4-1,libatomic1,libasan5,libubsan1,make,cpio,fakeroot,less,kmod,net-tools,procps,psmisc,strace,vim,adduser,libext2fs2,libtinfo5,libaudit1,startpar,fdisk,libcap-ng0,libfakeroot,libkmod2,libncursesw6,libprocps7,libgpm2,vim-common,vim-runtime,libaudit-common,libfdisk1,xxd) (worker was obs-arm-6:13) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 12 10:01:54 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 12 Mar 2021 10:01:54 +0000 Subject: Build failure of network:osmocom:nightly/osmo-python-tests in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <604b3c495a00a_57e52b18cc7d25fc448134@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-python-tests/Debian_9.0/armv7l Package network:osmocom:nightly/osmo-python-tests failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-python-tests Last lines of build log: 400 remote error: unknown parameter 'now' (http://back-other-opensuse:5253/getbinaries?workerid=armbuild01:1&project=network:osmocom:nightly&repository=Debian_9.0&arch=armv7l&module=python27-2.7&module=python36-3.6&now=1615543302&binaries=base-passwd,user-setup,perl,base-files,bash,bsdutils,coreutils,dash,debconf,debianutils,diffutils,dpkg,e2fslibs,e2fsprogs,findutils,gawk,gcc-6-base,grep,gzip,hostname,initscripts,insserv,libacl1,libattr1,libblkid1,libbz2-1.0,libc-bin,libc6,libcomerr2,libdb5.3,libgcc1,liblzma5,libmount1,libncurses5,libpam-modules,libpcre3,libsmartcols1,libperl5.24,libdebconfclient0,libpam-modules-bin,libpam-runtime,libpam0g,libreadline7,libselinux1,libsemanage-common,libsemanage1,libsepol1,libsigsegv2,libslang2,libss2,libtinfo5,libustr-1.0-1,libuuid1,login,lsb-base,mount,multiarch-support,ncurses-base,ncurses-bin,passwd,perl-base,readline-common,sed,sensible-utils,sysv-rc,init-system-helpers,sysvinit-utils,tar,tzdata,util-linux,zlib1g,libdevmapper1.02.1,debhelper,dh-python,python3,python3-setuptools,build-essential,binutils,autotools-dev,po-debconf,man-db,dh-autoreconf,dh-strip-nondeterminism,dpkg-dev,file,libdpkg-perl,libpython3-stdlib,python3.5,python3-minimal,python3-pkg-resources,libc6-dev,gcc,g%2B%2B,perl-modules-5.24,gettext,intltool-debian,bsdmainutils,libgdbm3,groff-base,libpipeline1,autoconf,automake,autopoint,libtool,libtimedate-perl,libfile-stripnondeterminism-perl,bzip2,xz-utils,patch,libmagic1,libpython3.5-stdlib,mime-support,python3.5-minimal,libc-dev-bin,linux-libc-dev,cpp,gcc-6,g%2B%2B-6,gettext-base,libunistring0,libglib2.0-0,libgomp1,libcroco3,libxml2,libbsd0,libstdc%2B%2B6,m4,libarchive-zip-perl,libmagic-mgc,libmpdec2,libsqlite3-0,libncursesw5,libpython3.5-minimal,libexpat1,cpp-6,libmpc3,libmpfr4,libisl15,libgmp10,libgcc-6-dev,libcc1-0,libstdc%2B%2B-6-dev,libffi6,libicu57,libsystemd0,libssl1.1,libatomic1,libasan3,libubsan0,libgcrypt20,liblz4-1,libgpg-error0,libaudit1,libcap-ng0,libaudit-common,make,cpio,fakeroot,less,kmod,net-tools,procps,psmisc,strace,vim,adduser,libudev1,startpar,libfdisk1,libfakeroot,libkmod2,libprocps6,libgpm2,vim-common,vim-runtime,xxd) (worker was armbuild01:1) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 12 10:01:54 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 12 Mar 2021 10:01:54 +0000 Subject: Build failure of network:osmocom:nightly/libusrp in Raspbian_10/armv7l In-Reply-To: References: Message-ID: <604b3c4a1f7e1_57e52b18cc7d25fc4482a1@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libusrp/Raspbian_10/armv7l Package network:osmocom:nightly/libusrp failed to build in Raspbian_10/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libusrp Last lines of build log: 400 remote error: unknown parameter 'now' (http://back-other-opensuse:5253/getbinaries?workerid=armbuild02:1&project=network:osmocom:nightly&repository=Raspbian_10&arch=armv7l&module=python27-2.7&module=python36-3.6&now=1615543302&binaries=base-passwd,user-setup,perl,base-files,bash,bsdutils,coreutils,dash,debconf,debianutils,diffutils,dpkg,e2fslibs,e2fsprogs,findutils,gawk,gcc-8-base,grep,gzip,hostname,initscripts,insserv,libacl1,libattr1,libblkid1,libbz2-1.0,libc-bin,libc6,libcom-err2,libdb5.3,libgcc1,liblzma5,libmount1,libncurses5,libpam-modules,libpcre3,libsmartcols1,libperl5.28,libdebconfclient0,libpam-modules-bin,libpam-runtime,libpam0g,libreadline7,libselinux1,libsemanage-common,libsemanage1,libsepol1,libsigsegv2,libslang2,libss2,libtinfo6,libustr-1.0-1,libuuid1,login,lsb-base,mount,multiarch-support,ncurses-base,ncurses-bin,passwd,perl-base,readline-common,sed,sensible-utils,sysv-rc,init-system-helpers,sysvinit-utils,tar,tzdata,util-linux,zlib1g,xz-utils,libdevmapper1.02.1,debhelper,dh-autoreconf,autotools-dev,autoconf,automake,doxygen,libtool,pkg-config,python,sdcc,libusb-1.0-0-dev,libboost-all-dev,build-essential,man-db,po-debconf,dwz,dh-strip-nondeterminism,dpkg-dev,file,libdpkg-perl,autopoint,m4,libxapian30,libstdc%2B%2B6,libclang1-6.0,cpp,libc6-dev,libglib2.0-0,python2,python2.7,libpython-stdlib,python-minimal,sdcc-libraries,libusb-1.0-0,libboost-dev,libboost-thread-dev,libboost-system-dev,libboost-filesystem-dev,libboost-program-options-dev,libboost-regex-dev,libboost-date-time-dev,libboost-test-dev,libboost-chrono-dev,libboost-iostreams-dev,libboost-timer-dev,libboost-log-dev,libboost-mpi-dev,libboost-random-dev,libboost-signals-dev,libboost-atomic-dev,libboost-locale-dev,libboost-math-dev,libboost-serialization-dev,libboost-container-dev,libboost-context-dev,libboost-coroutine-dev,libboost-exception-dev,libboost-fiber-dev,libboost-graph-dev,libboost-graph-parallel-dev,libboost-mpi-python-dev,libboost-numpy-dev,libboost-python-dev,libboost-stacktrace-dev,libboost-tools-dev,libboost-type-erasure-dev,libboost-wave-dev,gcc,g%2B%2B,perl-modules-5.28,bsdmainutils,libgdbm6,libseccomp2,groff-base,libpipeline1,gettext,intltool-debian,libelf1,libfile-stripnondeterminism-perl,binutils,bzip2,patch,libmagic1,libllvm6.0,cpp-8,linux-libc-dev,libc-dev-bin,libffi6,libpython2-stdlib,python2-minimal,mime-support,libpython2.7-stdlib,python2.7-minimal,libudev1,libboost1.67-dev,libboost-thread1.67-dev,libboost-system1.67-dev,libboost-filesystem1.67-dev,libboost-program-options1.67-dev,libboost-regex1.67-dev,libboost-date-time1.67-dev,libboost-test1.67-dev,libboost-chrono1.67-dev,libboost-iostreams1.67-dev,libboost-timer1.67-dev,libboost-log1.67-dev,libboost-mpi1.67-dev,libboost-random1.67-dev,libboost-signals1.67-dev,libboost-atomic1.67-dev,libboost-locale1.67-dev,libboost-math1.67-dev,libboost-serialization1.67-dev,libboost-container1.67-dev,libboost-context1.67-dev,libboost-coroutine1.67-dev,libboost-exception1.67-dev,libboost-fiber1.67-dev,libboost-graph1.67-dev,libboost-graph-parallel1.67-dev,libboost-mpi-python1.67-dev,libboost-numpy1.67-dev,libboost-python1.67-dev,libboost-stacktrace1.67-dev,libboost1.67-tools-dev,libboost-type-erasure1.67-dev,libboost-wave1.67-dev,gcc-8,g%2B%2B-8,libgdbm-compat4,libtinfo5,libbsd0,libuchardet0,gettext-base,libgomp1,libncurses6,libunistring2,libcroco3,libxml2,libarchive-zip-perl,binutils-common,libbinutils,binutils-arm-linux-gnueabihf,libmagic-mgc,libedit2,libmpc3,libmpfr6,libgmp10,libisl19,libsqlite3-0,libncursesw6,libssl1.1,libexpat1,libpython2.7-minimal,libboost-thread1.67.0,libboost-system1.67.0,libboost-filesystem1.67.0,libboost-program-options1.67.0,libicu-dev,libboost-regex1.67.0,libboost-date-time1.67.0,libboost-test1.67.0,libboost-chrono1.67.0,libboost-iostreams1.67.0,libboost-timer1.67.0,libboost-log1.67.0,mpi-default-dev,libboost-mpi1.67.0,libboost-random1.67.0,libboost-signals1.67.0,libboost-atomic1.67.0,libboost-locale1.67.0,libboost-math1.67.0,libboost-serialization1.67.0,libboost-container1.67.0,libboost-context1.67.0,libboost-coroutine1.67.0,libboost-fiber1.67.0,libboost-graph1.67.0,libboost-graph-parallel1.67.0,libboost-mpi-python1.67.0,libboost-numpy1.67.0,python-dev,python3-dev,libboost-python1.67.0,libboost-stacktrace1.67.0,libicu63,libboost-type-erasure1.67.0,libboost-wave1.67.0,libgcc-8-dev,libcc1-0,libstdc%2B%2B-8-dev,libsystemd0,libfl2,icu-devtools,libopenmpi-dev,libopenmpi3,mpi-default-bin,python3,libpython-dev,python2.7-dev,python2-dev,dh-python,libpython3-dev,python3-distutils,python3.7-dev,libatomic1,libasan5,libubsan1,libgcrypt20,liblz4-1,libhwloc-dev,openmpi-common,libibverbs-dev,openmpi-bin,libhwloc-plugins,libgfortran5,libevent-2.1-6,libnl-3-200,libnl-route-3-200,libhwloc5,libevent-pthreads-2.1-6,libibverbs1,libpmix2,libpython3-stdlib,python3.7,python3-minimal,libpython2-dev,libpython2.7-dev,libexpat1-dev,libpython2.7,libpython3.7-dev,python3-lib2to3,libpython3.7,libgpg-error0,libltdl-dev,libnl-3-dev,libnl-route-3-dev,ibverbs-providers,openssh-client,libpciaccess0,libltdl7,ocl-icd-libopencl1,libevent-core-2.1-6,adduser,libpython3.7-stdlib,python3.7-minimal,libgssapi-krb5-2,libmpdec2,libpython3.7-minimal,libaudit1,libkeyutils1,libkrb5-3,libkrb5support0,libk5crypto3,libcap-ng0,libaudit-common,make,cpio,fakeroot,less,kmod,net-tools,procps,psmisc,strace,vim,libext2fs2,startpar,fdisk,libfakeroot,libkmod2,libprocps7,libgpm2,vim-common,vim-runtime,libfdisk1,xxd) (worker was armbuild02:1) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 12 10:01:54 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 12 Mar 2021 10:01:54 +0000 Subject: Build failure of network:osmocom:nightly/osmo-bsc in openSUSE_Leap_15.1_ARM/armv7l In-Reply-To: References: Message-ID: <604b3c4ad215b_57e52b18cc7d25fc448455@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-bsc/openSUSE_Leap_15.1_ARM/armv7l Package network:osmocom:nightly/osmo-bsc failed to build in openSUSE_Leap_15.1_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-bsc Last lines of build log: 400 remote error: unknown parameter 'now' (http://back-other-opensuse:5253/getbinaries?workerid=obs-arm-6:4&project=network:osmocom:nightly&repository=openSUSE_Leap_15.1_ARM&arch=armv7l&module=python27-2.7&module=python36-3.6&now=1615543302&binaries=liblua5_3-5,aaa_base,attr,bash,coreutils,diffutils,filesystem,fillup,glibc,grep,libbz2-1,libgcc_s1,libncurses6,pam,permissions,libreadline7,rpm,sed,tar,libz1,libselinux1,liblzma5,libcap2,libacl1,libattr1,libpopt0,libelf1,libpcre1,zlib-devel,util-linux,libmount1,perl-base,libdb-4_8,libsepol1,libblkid1,libuuid1,libsmartcols1,kernel-obs-build,net-tools-deprecated,automake,libtool,systemd-rpm-macros,rpm-build,gcc-PIE,pkg-config,libosmo-mgcp-client-devel,libosmonetif-devel,libosmo-sigtran-devel,libosmoabis-devel,libosmocore-devel,libosmoctrl-devel,libosmogb-devel,libosmogsm-devel,libosmovty-devel,libtalloc-devel,info,autoconf,libltdl7,m4,findutils,glibc-devel,gawk,xz,file,gcc,gzip,bzip2,cpio,make,binutils,which,patch,glibc-locale,dwz,osmocom-nightly,libosmo-mgcp-client8,libosmonetif8,libosmo-sigtran5,libosmoabis10,libosmocore17,libosmoctrl0,libosmogb12,libosmogsm16,libosmovty9,libtalloc2,libzio1,libgmp10,linux-glibc-devel,libaudit1,libcap-ng0,libutempter0,libfdisk1,system-group-hardware,update-alternatives,libmagic1,gcc7,cpp,libdw1,glibc-locale-base,lksctp-tools,libmnl0,terminfo-base,libgdbm4,system-user-root,libtirpc3,libnsl2,libcrack2,shadow,sysuser-shadow,file-magic,libmpfr6,libmpc3,libisl15,cpp7,libasan4,libubsan0,libebl-plugins,libtirpc-netconfig,cracklib,libsemanage1,libopenssl-devel,gettext-tools-mini,libsystemd0-mini,libstdc%2B%2B6,libatomic1,libgomp1,libitm1,krb5-mini,libopenssl1_1,libopenssl-1_1-devel,openssl,gettext-runtime-mini,libcom_err2,libkeyutils1,libverto1,openssl-1_1,perl,build-mkbaselibs,brp-check-suse,post-build-checks,rpmlint-Factory,hostname,build-compare,brp-extract-appdata,ncurses-utils,aaa_base-malloccheck,rpmlint-mini,libexpat1) (worker was obs-arm-6:4) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 12 10:03:55 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 12 Mar 2021 10:03:55 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Debian_10/armv7l In-Reply-To: References: Message-ID: <604b3cf0c18b3_57e52b18cc7d25fc457715@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Debian_10/armv7l Package network:osmocom:nightly/simtrace2 failed to build in Debian_10/armv7l Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: 400 remote error: unknown parameter 'now' (http://back-other-opensuse:5253/getbinaries?workerid=obs-arm-6:14&project=network:osmocom:nightly&repository=Debian_10&arch=armv7l&module=python27-2.7&module=python36-3.6&now=1615543417&binaries=base-passwd,user-setup,perl,base-files,bash,bsdutils,coreutils,dash,debconf,debianutils,diffutils,dpkg,e2fslibs,e2fsprogs,findutils,gawk,gcc-8-base,grep,gzip,hostname,initscripts,insserv,libacl1,libattr1,libblkid1,libbz2-1.0,libc-bin,libc6,libcom-err2,libdb5.3,libgcc1,liblzma5,libmount1,libncurses5,libpam-modules,libpcre3,libsmartcols1,libperl5.28,libdebconfclient0,libpam-modules-bin,libpam-runtime,libpam0g,libreadline7,libselinux1,libsemanage-common,libsemanage1,libsepol1,libsigsegv2,libslang2,libss2,libtinfo6,libustr-1.0-1,libuuid1,login,lsb-base,mount,multiarch-support,ncurses-base,ncurses-bin,passwd,perl-base,readline-common,sed,sensible-utils,sysv-rc,init-system-helpers,sysvinit-utils,tar,tzdata,util-linux,zlib1g,xz-utils,libdevmapper1.02.1,debhelper,autotools-dev,autoconf,automake,libtool,pkg-config,git,dh-autoreconf,libosmocore-dev,libpcsclite-dev,libnewlib-arm-none-eabi,libusb-1.0-0-dev,gcc-arm-none-eabi,build-essential,man-db,po-debconf,dwz,dh-strip-nondeterminism,dpkg-dev,file,libdpkg-perl,m4,cpp,libc6-dev,libglib2.0-0,liberror-perl,libexpat1,libpcre2-8-0,libcurl3-gnutls,git-man,autopoint,libosmocore,libtalloc-dev,osmocom-nightly,libpcsclite1,libnewlib-dev,libusb-1.0-0,libgmp10,libmpc3,binutils-arm-none-eabi,libstdc%2B%2B6,libmpfr6,gcc,g%2B%2B,perl-modules-5.28,bsdmainutils,libgdbm6,libseccomp2,groff-base,libpipeline1,gettext,intltool-debian,libelf1,libfile-stripnondeterminism-perl,binutils,bzip2,patch,libmagic1,cpp-8,linux-libc-dev,libc-dev-bin,libffi6,libnettle6,libldap-2.4-2,libgnutls30,libk5crypto3,libgssapi-krb5-2,libkrb5-3,libidn2-0,libpsl5,libssh2-1,libnghttp2-14,librtmp1,libosmocodec0,libosmogb12,libosmousb0,libosmocoding0,libosmocore17,libosmogsm16,libosmovty9,libosmoctrl0,libosmosim2,libtalloc2,libudev1,gcc-8,g%2B%2B-8,libgdbm-compat4,libbsd0,libuchardet0,gettext-base,libncurses6,libgomp1,libunistring2,libcroco3,libxml2,libarchive-zip-perl,binutils-common,libbinutils,binutils-arm-linux-gnueabihf,libmagic-mgc,libisl19,libldap-common,libsasl2-2,libtasn1-6,libp11-kit0,libhogweed4,libkeyutils1,libkrb5support0,libssl1.1,libgcrypt20,libsystemd0,libmnl0,libsctp1,libgcc-8-dev,libcc1-0,libstdc%2B%2B-8-dev,libicu63,libsasl2-modules-db,libgpg-error0,liblz4-1,libatomic1,libasan5,libubsan1,make,cpio,fakeroot,less,kmod,net-tools,procps,psmisc,strace,vim,adduser,libext2fs2,libtinfo5,libaudit1,startpar,fdisk,libcap-ng0,libfakeroot,libkmod2,libncursesw6,libprocps7,libgpm2,vim-common,vim-runtime,libaudit-common,libfdisk1,xxd) (worker was obs-arm-6:14) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 12 10:03:56 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 12 Mar 2021 10:03:56 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-dsp in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <604b3cf1910cc_57e52b18cc7d25fc457899@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-dsp/Debian_9.0/armv7l Package network:osmocom:nightly/libosmo-dsp failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmo-dsp Last lines of build log: 400 remote error: unknown parameter 'now' (http://back-other-opensuse:5253/getbinaries?workerid=armbuild01:1&project=network:osmocom:nightly&repository=Debian_9.0&arch=armv7l&module=python27-2.7&module=python36-3.6&now=1615543417&binaries=base-passwd,user-setup,perl,base-files,bash,bsdutils,coreutils,dash,debconf,debianutils,diffutils,dpkg,e2fslibs,e2fsprogs,findutils,gawk,gcc-6-base,grep,gzip,hostname,initscripts,insserv,libacl1,libattr1,libblkid1,libbz2-1.0,libc-bin,libc6,libcomerr2,libdb5.3,libgcc1,liblzma5,libmount1,libncurses5,libpam-modules,libpcre3,libsmartcols1,libperl5.24,libdebconfclient0,libpam-modules-bin,libpam-runtime,libpam0g,libreadline7,libselinux1,libsemanage-common,libsemanage1,libsepol1,libsigsegv2,libslang2,libss2,libtinfo5,libustr-1.0-1,libuuid1,login,lsb-base,mount,multiarch-support,ncurses-base,ncurses-bin,passwd,perl-base,readline-common,sed,sensible-utils,sysv-rc,init-system-helpers,sysvinit-utils,tar,tzdata,util-linux,zlib1g,libdevmapper1.02.1,debhelper,autotools-dev,autoconf,automake,libtool,dh-autoreconf,libdpkg-perl,git,doxygen,pkg-config,libfftw3-dev,build-essential,binutils,po-debconf,man-db,dh-strip-nondeterminism,dpkg-dev,file,m4,cpp,libc6-dev,autopoint,liberror-perl,libcurl3-gnutls,libexpat1,git-man,libxapian30,libstdc%2B%2B6,libclang1-3.9,libglib2.0-0,libfftw3-double3,libfftw3-single3,libfftw3-bin,gcc,g%2B%2B,perl-modules-5.24,gettext,intltool-debian,bsdmainutils,libgdbm3,groff-base,libpipeline1,libtimedate-perl,libfile-stripnondeterminism-perl,bzip2,xz-utils,patch,libmagic1,cpp-6,libc-dev-bin,linux-libc-dev,libnettle6,libldap-2.4-2,libgnutls30,libgssapi-krb5-2,libk5crypto3,libkrb5-3,libidn2-0,libpsl5,libssh2-1,libnghttp2-14,librtmp1,libllvm3.9,libffi6,libgomp1,gcc-6,g%2B%2B-6,gettext-base,libunistring0,libcroco3,libxml2,libbsd0,libarchive-zip-perl,libmagic-mgc,libmpc3,libmpfr4,libisl15,libgmp10,libsasl2-2,libldap-common,libhogweed4,libidn11,libp11-kit0,libtasn1-6,libkeyutils1,libkrb5support0,libgcrypt20,libedit2,libgcc-6-dev,libcc1-0,libstdc%2B%2B-6-dev,libicu57,libsystemd0,libsasl2-modules-db,libgpg-error0,libaudit1,libatomic1,libasan3,libubsan0,liblz4-1,libcap-ng0,libaudit-common,make,cpio,fakeroot,less,kmod,net-tools,procps,psmisc,strace,vim,adduser,libudev1,startpar,libncursesw5,libfdisk1,libfakeroot,libkmod2,libprocps6,libgpm2,vim-common,vim-runtime,xxd) (worker was armbuild01:1) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 12 10:03:56 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 12 Mar 2021 10:03:56 +0000 Subject: Build failure of network:osmocom:nightly/osmo-msc in openSUSE_Leap_15.1_ARM/armv7l In-Reply-To: References: Message-ID: <604b3cf1d6794_57e52b18cc7d25fc457939@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-msc/openSUSE_Leap_15.1_ARM/armv7l Package network:osmocom:nightly/osmo-msc failed to build in openSUSE_Leap_15.1_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-msc Last lines of build log: 400 remote error: unknown parameter 'now' (http://back-other-opensuse:5253/getbinaries?workerid=obs-arm-6:11&project=network:osmocom:nightly&repository=openSUSE_Leap_15.1_ARM&arch=armv7l&module=python27-2.7&module=python36-3.6&now=1615543417&binaries=liblua5_3-5,aaa_base,attr,bash,coreutils,diffutils,filesystem,fillup,glibc,grep,libbz2-1,libgcc_s1,libncurses6,pam,permissions,libreadline7,rpm,sed,tar,libz1,libselinux1,liblzma5,libcap2,libacl1,libattr1,libpopt0,libelf1,libpcre1,zlib-devel,util-linux,libmount1,perl-base,libdb-4_8,libsepol1,libblkid1,libuuid1,libsmartcols1,kernel-obs-build,net-tools-deprecated,autoconf,automake,libdbi-drivers-dbd-sqlite3,libtool,systemd-rpm-macros,lksctp-tools-devel,rpm-build,gcc-PIE,pkg-config,libdbi-devel,libosmo-gsup-client-devel,libosmo-mgcp-client-devel,libosmonetif-devel,libosmo-sccp-devel,libosmo-sigtran-devel,libosmoabis-devel,libosmocore-devel,libosmoctrl-devel,libosmogsm-devel,libosmovty-devel,libsmpp34-1-devel,libasn1c-devel,libosmo-ranap-devel,info,m4,libsqlite3-0,libdbi3,libltdl7,glibc-devel,lksctp-tools,findutils,gawk,xz,file,gcc,gzip,bzip2,cpio,make,binutils,which,patch,glibc-locale,dwz,libosmocore17,libtalloc2,libosmogsm16,libosmo-gsup-client0,osmocom-nightly,libosmo-mgcp-client8,libosmonetif8,libosmo-sigtran5,libosmoabis10,libtalloc-devel,libosmoctrl0,libosmovty9,libsmpp34-1,libasn1c1,libosmo-ranap3,libzio1,libgdbm4,libgmp10,linux-glibc-devel,libaudit1,libcap-ng0,libutempter0,libfdisk1,system-group-hardware,update-alternatives,libmagic1,gcc7,cpp,libdw1,glibc-locale-base,libmnl0,terminfo-base,system-user-root,libtirpc3,libnsl2,libcrack2,shadow,sysuser-shadow,file-magic,libmpfr6,libmpc3,libisl15,cpp7,libasan4,libubsan0,libebl-plugins,libtirpc-netconfig,cracklib,libsemanage1,libopenssl-devel,gettext-tools-mini,libsystemd0-mini,libstdc%2B%2B6,libatomic1,libgomp1,libitm1,krb5-mini,libopenssl1_1,libopenssl-1_1-devel,openssl,gettext-runtime-mini,libcom_err2,libkeyutils1,libverto1,openssl-1_1,perl,build-mkbaselibs,brp-check-suse,post-build-checks,rpmlint-Factory,hostname,build-compare,brp-extract-appdata,ncurses-utils,aaa_base-malloccheck,rpmlint-mini,libexpat1) (worker was obs-arm-6:11) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 12 10:03:56 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 12 Mar 2021 10:03:56 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-abis in Raspbian_10/armv7l In-Reply-To: References: Message-ID: <604b3cf24dcb1_57e52b18cc7d25fc458052@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-abis/Raspbian_10/armv7l Package network:osmocom:nightly/libosmo-abis failed to build in Raspbian_10/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmo-abis Last lines of build log: 400 remote error: unknown parameter 'now' (http://back-other-opensuse:5253/getbinaries?workerid=armbuild02:1&project=network:osmocom:nightly&repository=Raspbian_10&arch=armv7l&module=python27-2.7&module=python36-3.6&now=1615543417&binaries=base-passwd,user-setup,perl,base-files,bash,bsdutils,coreutils,dash,debconf,debianutils,diffutils,dpkg,e2fslibs,e2fsprogs,findutils,gawk,gcc-8-base,grep,gzip,hostname,initscripts,insserv,libacl1,libattr1,libblkid1,libbz2-1.0,libc-bin,libc6,libcom-err2,libdb5.3,libgcc1,liblzma5,libmount1,libncurses5,libpam-modules,libpcre3,libsmartcols1,libperl5.28,libdebconfclient0,libpam-modules-bin,libpam-runtime,libpam0g,libreadline7,libselinux1,libsemanage-common,libsemanage1,libsepol1,libsigsegv2,libslang2,libss2,libtinfo6,libustr-1.0-1,libuuid1,login,lsb-base,mount,multiarch-support,ncurses-base,ncurses-bin,passwd,perl-base,readline-common,sed,sensible-utils,sysv-rc,init-system-helpers,sysvinit-utils,tar,tzdata,util-linux,zlib1g,xz-utils,libdevmapper1.02.1,debhelper,autotools-dev,autoconf,automake,dahdi-source,libtool,dh-autoreconf,libdpkg-perl,git,libosmocore-dev,pkg-config,libortp-dev,build-essential,man-db,po-debconf,dwz,dh-strip-nondeterminism,dpkg-dev,file,m4,bzip2,module-assistant,cpp,libc6-dev,autopoint,liberror-perl,libexpat1,libpcre2-8-0,libcurl3-gnutls,git-man,libosmocore,libtalloc-dev,osmocom-nightly,libglib2.0-0,libortp13,libbctoolbox-dev,gcc,g%2B%2B,perl-modules-5.28,bsdmainutils,libgdbm6,libseccomp2,groff-base,libpipeline1,gettext,intltool-debian,libelf1,libfile-stripnondeterminism-perl,binutils,patch,libmagic1,libtext-wrapi18n-perl,cpp-8,linux-libc-dev,libc-dev-bin,libnettle6,libldap-2.4-2,libgnutls30,libk5crypto3,libkrb5-3,libgssapi-krb5-2,libidn2-0,libpsl5,libssh2-1,libnghttp2-14,librtmp1,libosmogsm16,libosmoctrl0,libosmosim2,libosmousb0,libosmocoding0,libosmovty9,libosmocodec0,libosmocore17,libosmogb12,libtalloc2,libffi6,libbctoolbox1,gcc-8,g%2B%2B-8,libgdbm-compat4,libtinfo5,libbsd0,libstdc%2B%2B6,libuchardet0,gettext-base,libgomp1,libncurses6,libunistring2,libcroco3,libxml2,libarchive-zip-perl,binutils-common,libbinutils,binutils-arm-linux-gnueabihf,libmagic-mgc,libtext-charwidth-perl,libmpc3,libmpfr6,libgmp10,libisl19,libldap-common,libsasl2-2,libtasn1-6,libp11-kit0,libhogweed4,libkeyutils1,libkrb5support0,libssl1.1,libgcrypt20,libsystemd0,libmnl0,libsctp1,libpcsclite1,libusb-1.0-0,libmbedcrypto3,libmbedtls12,libmbedx509-0,libgcc-8-dev,libcc1-0,libstdc%2B%2B-8-dev,libicu63,libfl2,libsasl2-modules-db,libgpg-error0,liblz4-1,libudev1,libatomic1,libasan5,libubsan1,make,cpio,fakeroot,less,kmod,net-tools,procps,psmisc,strace,vim,adduser,libext2fs2,libaudit1,startpar,fdisk,libcap-ng0,libfakeroot,libkmod2,libncursesw6,libprocps7,libgpm2,vim-common,vim-runtime,libaudit-common,libfdisk1,xxd) (worker was armbuild02:1) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 12 10:05:54 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 12 Mar 2021 10:05:54 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-netif in Debian_10/armv7l In-Reply-To: References: Message-ID: <604b3dbf47939_57e52b18cc7d25fc4716e2@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-netif/Debian_10/armv7l Package network:osmocom:nightly/libosmo-netif failed to build in Debian_10/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmo-netif Last lines of build log: 400 remote error: unknown parameter 'now' (http://back-other-opensuse:5253/getbinaries?workerid=obs-arm-6:14&project=network:osmocom:nightly&repository=Debian_10&arch=armv7l&module=python27-2.7&module=python36-3.6&now=1615543540&binaries=base-passwd,user-setup,perl,base-files,bash,bsdutils,coreutils,dash,debconf,debianutils,diffutils,dpkg,e2fslibs,e2fsprogs,findutils,gawk,gcc-8-base,grep,gzip,hostname,initscripts,insserv,libacl1,libattr1,libblkid1,libbz2-1.0,libc-bin,libc6,libcom-err2,libdb5.3,libgcc1,liblzma5,libmount1,libncurses5,libpam-modules,libpcre3,libsmartcols1,libperl5.28,libdebconfclient0,libpam-modules-bin,libpam-runtime,libpam0g,libreadline7,libselinux1,libsemanage-common,libsemanage1,libsepol1,libsigsegv2,libslang2,libss2,libtinfo6,libustr-1.0-1,libuuid1,login,lsb-base,mount,multiarch-support,ncurses-base,ncurses-bin,passwd,perl-base,readline-common,sed,sensible-utils,sysv-rc,init-system-helpers,sysvinit-utils,tar,tzdata,util-linux,zlib1g,xz-utils,libdevmapper1.02.1,debhelper,autotools-dev,autoconf,automake,libtool,dh-autoreconf,libdpkg-perl,git,doxygen,libosmocore-dev,pkg-config,libpcap0.8-dev,libsctp-dev,build-essential,man-db,po-debconf,dwz,dh-strip-nondeterminism,dpkg-dev,file,m4,cpp,libc6-dev,autopoint,liberror-perl,libexpat1,libpcre2-8-0,libcurl3-gnutls,git-man,libxapian30,libstdc%2B%2B6,libclang1-6.0,libosmocore,libtalloc-dev,osmocom-nightly,libglib2.0-0,libpcap0.8,libsctp1,gcc,g%2B%2B,perl-modules-5.28,bsdmainutils,libgdbm6,libseccomp2,groff-base,libpipeline1,gettext,intltool-debian,libelf1,libfile-stripnondeterminism-perl,binutils,bzip2,patch,libmagic1,cpp-8,linux-libc-dev,libc-dev-bin,libnettle6,libldap-2.4-2,libgnutls30,libk5crypto3,libgssapi-krb5-2,libkrb5-3,libidn2-0,libpsl5,libssh2-1,libnghttp2-14,librtmp1,libllvm6.0,libosmocodec0,libosmogb12,libosmousb0,libosmocoding0,libosmocore17,libosmogsm16,libosmovty9,libosmoctrl0,libosmosim2,libtalloc2,libffi6,gcc-8,g%2B%2B-8,libgdbm-compat4,libbsd0,libuchardet0,gettext-base,libncurses6,libgomp1,libunistring2,libcroco3,libxml2,libarchive-zip-perl,binutils-common,libbinutils,binutils-arm-linux-gnueabihf,libmagic-mgc,libmpc3,libmpfr6,libisl19,libgmp10,libldap-common,libsasl2-2,libtasn1-6,libp11-kit0,libhogweed4,libkeyutils1,libkrb5support0,libssl1.1,libgcrypt20,libedit2,libusb-1.0-0,libsystemd0,libmnl0,libpcsclite1,libgcc-8-dev,libcc1-0,libstdc%2B%2B-8-dev,libicu63,libsasl2-modules-db,libgpg-error0,libudev1,liblz4-1,libatomic1,libasan5,libubsan1,make,cpio,fakeroot,less,kmod,net-tools,procps,psmisc,strace,vim,adduser,libext2fs2,libtinfo5,libaudit1,startpar,fdisk,libcap-ng0,libfakeroot,libkmod2,libncursesw6,libprocps7,libgpm2,vim-common,vim-runtime,libaudit-common,libfdisk1,xxd) (worker was obs-arm-6:14) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 12 10:05:54 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 12 Mar 2021 10:05:54 +0000 Subject: Build failure of network:osmocom:nightly/osmo-fl2k in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <604b3dbfaeda6_57e52b18cc7d25fc4717d6@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-fl2k/Debian_9.0/armv7l Package network:osmocom:nightly/osmo-fl2k failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-fl2k Last lines of build log: 400 remote error: unknown parameter 'now' (http://back-other-opensuse:5253/getbinaries?workerid=armbuild01:1&project=network:osmocom:nightly&repository=Debian_9.0&arch=armv7l&module=python27-2.7&module=python36-3.6&now=1615543540&binaries=base-passwd,user-setup,perl,base-files,bash,bsdutils,coreutils,dash,debconf,debianutils,diffutils,dpkg,e2fslibs,e2fsprogs,findutils,gawk,gcc-6-base,grep,gzip,hostname,initscripts,insserv,libacl1,libattr1,libblkid1,libbz2-1.0,libc-bin,libc6,libcomerr2,libdb5.3,libgcc1,liblzma5,libmount1,libncurses5,libpam-modules,libpcre3,libsmartcols1,libperl5.24,libdebconfclient0,libpam-modules-bin,libpam-runtime,libpam0g,libreadline7,libselinux1,libsemanage-common,libsemanage1,libsepol1,libsigsegv2,libslang2,libss2,libtinfo5,libustr-1.0-1,libuuid1,login,lsb-base,mount,multiarch-support,ncurses-base,ncurses-bin,passwd,perl-base,readline-common,sed,sensible-utils,sysv-rc,init-system-helpers,sysvinit-utils,tar,tzdata,util-linux,zlib1g,libdevmapper1.02.1,debhelper,dh-autoreconf,pkg-config,cmake,libusb-1.0-0-dev,build-essential,binutils,autotools-dev,po-debconf,man-db,dh-strip-nondeterminism,dpkg-dev,file,libdpkg-perl,autoconf,automake,autopoint,libtool,libglib2.0-0,libstdc%2B%2B6,libexpat1,libcurl3,libjsoncpp1,libarchive13,libuv1,cmake-data,libusb-1.0-0,libc6-dev,gcc,g%2B%2B,perl-modules-5.24,gettext,intltool-debian,bsdmainutils,libgdbm3,groff-base,libpipeline1,libtimedate-perl,libfile-stripnondeterminism-perl,bzip2,xz-utils,patch,libmagic1,m4,cpp,libffi6,libprocps6,libncursesw5,libssl1.0.2,libldap-2.4-2,libgssapi-krb5-2,libk5crypto3,libkrb5-3,libidn2-0,libpsl5,libssh2-1,libnghttp2-14,librtmp1,libnettle6,liblzo2-2,libxml2,liblz4-1,libudev1,libc-dev-bin,linux-libc-dev,gcc-6,g%2B%2B-6,gettext-base,libunistring0,libgomp1,libcroco3,libbsd0,libarchive-zip-perl,libmagic-mgc,cpp-6,libsystemd0,libsasl2-2,libgnutls30,libldap-common,libkeyutils1,libkrb5support0,libgcrypt20,libgmp10,libhogweed4,libicu57,libmpc3,libmpfr4,libisl15,libgcc-6-dev,libcc1-0,libstdc%2B%2B-6-dev,libsasl2-modules-db,libidn11,libp11-kit0,libtasn1-6,libgpg-error0,libatomic1,libasan3,libubsan0,libaudit1,libcap-ng0,libaudit-common,make,cpio,fakeroot,less,kmod,net-tools,procps,psmisc,strace,vim,adduser,startpar,libfdisk1,libfakeroot,libkmod2,libgpm2,vim-common,vim-runtime,xxd) (worker was armbuild01:1) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 12 10:05:54 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 12 Mar 2021 10:05:54 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-netif in Raspbian_10/armv7l In-Reply-To: References: Message-ID: <604b3dc0141e0_57e52b18cc7d25fc47182@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-netif/Raspbian_10/armv7l Package network:osmocom:nightly/libosmo-netif failed to build in Raspbian_10/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmo-netif Last lines of build log: 400 remote error: unknown parameter 'now' (http://back-other-opensuse:5253/getbinaries?workerid=obs-arm-6:17&project=network:osmocom:nightly&repository=Raspbian_10&arch=armv7l&module=python27-2.7&module=python36-3.6&now=1615543540&binaries=base-passwd,user-setup,perl,base-files,bash,bsdutils,coreutils,dash,debconf,debianutils,diffutils,dpkg,e2fslibs,e2fsprogs,findutils,gawk,gcc-8-base,grep,gzip,hostname,initscripts,insserv,libacl1,libattr1,libblkid1,libbz2-1.0,libc-bin,libc6,libcom-err2,libdb5.3,libgcc1,liblzma5,libmount1,libncurses5,libpam-modules,libpcre3,libsmartcols1,libperl5.28,libdebconfclient0,libpam-modules-bin,libpam-runtime,libpam0g,libreadline7,libselinux1,libsemanage-common,libsemanage1,libsepol1,libsigsegv2,libslang2,libss2,libtinfo6,libustr-1.0-1,libuuid1,login,lsb-base,mount,multiarch-support,ncurses-base,ncurses-bin,passwd,perl-base,readline-common,sed,sensible-utils,sysv-rc,init-system-helpers,sysvinit-utils,tar,tzdata,util-linux,zlib1g,xz-utils,libdevmapper1.02.1,debhelper,autotools-dev,autoconf,automake,libtool,dh-autoreconf,libdpkg-perl,git,doxygen,libosmocore-dev,pkg-config,libpcap0.8-dev,libsctp-dev,build-essential,man-db,po-debconf,dwz,dh-strip-nondeterminism,dpkg-dev,file,m4,cpp,libc6-dev,autopoint,liberror-perl,libexpat1,libpcre2-8-0,libcurl3-gnutls,git-man,libxapian30,libstdc%2B%2B6,libclang1-6.0,libosmocore,libtalloc-dev,osmocom-nightly,libglib2.0-0,libpcap0.8,libsctp1,gcc,g%2B%2B,perl-modules-5.28,bsdmainutils,libgdbm6,libseccomp2,groff-base,libpipeline1,gettext,intltool-debian,libelf1,libfile-stripnondeterminism-perl,binutils,bzip2,patch,libmagic1,cpp-8,linux-libc-dev,libc-dev-bin,libnettle6,libldap-2.4-2,libgnutls30,libk5crypto3,libkrb5-3,libgssapi-krb5-2,libidn2-0,libpsl5,libssh2-1,libnghttp2-14,librtmp1,libllvm6.0,libosmogsm16,libosmoctrl0,libosmosim2,libosmousb0,libosmocoding0,libosmovty9,libosmocodec0,libosmocore17,libosmogb12,libtalloc2,libffi6,gcc-8,g%2B%2B-8,libgdbm-compat4,libtinfo5,libbsd0,libuchardet0,gettext-base,libgomp1,libncurses6,libunistring2,libcroco3,libxml2,libarchive-zip-perl,binutils-common,libbinutils,binutils-arm-linux-gnueabihf,libmagic-mgc,libmpc3,libmpfr6,libgmp10,libisl19,libldap-common,libsasl2-2,libtasn1-6,libp11-kit0,libhogweed4,libkeyutils1,libkrb5support0,libssl1.1,libgcrypt20,libedit2,libsystemd0,libmnl0,libpcsclite1,libusb-1.0-0,libgcc-8-dev,libcc1-0,libstdc%2B%2B-8-dev,libicu63,libfl2,libsasl2-modules-db,libgpg-error0,liblz4-1,libudev1,libatomic1,libasan5,libubsan1,make,cpio,fakeroot,less,kmod,net-tools,procps,psmisc,strace,vim,adduser,libext2fs2,libaudit1,startpar,fdisk,libcap-ng0,libfakeroot,libkmod2,libncursesw6,libprocps7,libgpm2,vim-common,vim-runtime,libaudit-common,libfdisk1,xxd) (worker was obs-arm-6:17) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 12 10:05:54 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 12 Mar 2021 10:05:54 +0000 Subject: Build failure of network:osmocom:nightly/osmo-sgsn in openSUSE_Leap_15.1_ARM/armv7l In-Reply-To: References: Message-ID: <604b3dc0d5b28_57e52b18cc7d25fc4719d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-sgsn/openSUSE_Leap_15.1_ARM/armv7l Package network:osmocom:nightly/osmo-sgsn failed to build in openSUSE_Leap_15.1_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-sgsn Last lines of build log: 400 remote error: unknown parameter 'now' (http://back-other-opensuse:5253/getbinaries?workerid=armbuild22:8&project=network:osmocom:nightly&repository=openSUSE_Leap_15.1_ARM&arch=armv7l&module=python27-2.7&module=python36-3.6&now=1615543540&binaries=liblua5_3-5,aaa_base,attr,bash,coreutils,diffutils,filesystem,fillup,glibc,grep,libbz2-1,libgcc_s1,libncurses6,pam,permissions,libreadline7,rpm,sed,tar,libz1,libselinux1,liblzma5,libcap2,libacl1,libattr1,libpopt0,libelf1,libpcre1,zlib-devel,util-linux,libmount1,perl-base,libdb-4_8,libsepol1,libblkid1,libuuid1,libsmartcols1,kernel-obs-build,net-tools-deprecated,autoconf,automake,libtool,systemd-rpm-macros,rpm-build,gcc-PIE,pkg-config,c-ares-devel,libgtp-devel,libosmo-gsup-client-devel,libosmonetif-devel,libosmoabis-devel,libosmocore-devel,libosmoctrl-devel,libosmogb-devel,libosmogsm-devel,libosmovty-devel,libasn1c-devel,libosmo-ranap-devel,libosmo-sigtran-devel,info,m4,libltdl7,findutils,glibc-devel,gawk,xz,file,gcc,gzip,bzip2,cpio,make,binutils,which,patch,glibc-locale,dwz,libcares2,osmocom-nightly,libgtp6,libosmocore17,libtalloc2,libosmogsm16,libosmo-gsup-client0,libosmonetif8,libosmoabis10,libtalloc-devel,libosmoctrl0,libosmogb12,libosmovty9,libasn1c1,libosmo-ranap3,libosmo-sigtran5,libzio1,libgdbm4,libgmp10,linux-glibc-devel,libaudit1,libcap-ng0,libutempter0,libfdisk1,system-group-hardware,update-alternatives,libmagic1,gcc7,cpp,libdw1,glibc-locale-base,libmnl0,lksctp-tools,terminfo-base,system-user-root,libtirpc3,libnsl2,libcrack2,shadow,sysuser-shadow,file-magic,libmpfr6,libmpc3,libisl15,cpp7,libasan4,libubsan0,libebl-plugins,libtirpc-netconfig,cracklib,libsemanage1,libopenssl-devel,gettext-tools-mini,libsystemd0-mini,libstdc%2B%2B6,libatomic1,libgomp1,libitm1,krb5-mini,libopenssl1_1,libopenssl-1_1-devel,openssl,gettext-runtime-mini,libcom_err2,libkeyutils1,libverto1,openssl-1_1,perl,build-mkbaselibs,brp-check-suse,post-build-checks,rpmlint-Factory,hostname,build-compare,brp-extract-appdata,ncurses-utils,aaa_base-malloccheck,rpmlint-mini,libexpat1) (worker was armbuild22:8) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 12 10:07:37 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 12 Mar 2021 10:07:37 +0000 Subject: Build failure of network:osmocom:nightly/osmo-gsm-manuals in Debian_10/armv7l In-Reply-To: References: Message-ID: <604b3e597e45a_57e52b18cc7d25fc4825b2@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-gsm-manuals/Debian_10/armv7l Package network:osmocom:nightly/osmo-gsm-manuals failed to build in Debian_10/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-gsm-manuals Last lines of build log: 400 remote error: unknown parameter 'now' (http://back-other-opensuse:5253/getbinaries?workerid=armbuild04:2&project=network:osmocom:nightly&repository=Debian_10&arch=armv7l&module=python27-2.7&module=python36-3.6&now=1615543642&binaries=base-passwd,user-setup,perl,base-files,bash,bsdutils,coreutils,dash,debconf,debianutils,diffutils,dpkg,e2fslibs,e2fsprogs,findutils,gawk,gcc-8-base,grep,gzip,hostname,initscripts,insserv,libacl1,libattr1,libblkid1,libbz2-1.0,libc-bin,libc6,libcom-err2,libdb5.3,libgcc1,liblzma5,libmount1,libncurses5,libpam-modules,libpcre3,libsmartcols1,libperl5.28,libdebconfclient0,libpam-modules-bin,libpam-runtime,libpam0g,libreadline7,libselinux1,libsemanage-common,libsemanage1,libsepol1,libsigsegv2,libslang2,libss2,libtinfo6,libustr-1.0-1,libuuid1,login,lsb-base,mount,multiarch-support,ncurses-base,ncurses-bin,passwd,perl-base,readline-common,sed,sensible-utils,sysv-rc,init-system-helpers,sysvinit-utils,tar,tzdata,util-linux,zlib1g,xz-utils,libdevmapper1.02.1,autotools-dev,dh-autoreconf,debhelper,pkg-config,asciidoc,asciidoc-dblatex,dblatex,docbook5-xml,graphviz,inkscape,libxml2-utils,mscgen,python3-nwdiag,xsltproc,build-essential,autoconf,automake,autopoint,libtool,man-db,po-debconf,dwz,dh-strip-nondeterminism,dpkg-dev,file,libdpkg-perl,libglib2.0-0,asciidoc-base,docbook-utils,texlive-latex-extra,python-apt,texlive,texlive-extra-utils,docbook-xml,texlive-science,texlive-bibtex-extra,python,xml-core,libx11-6,libxext6,libsm6,libxt6,libxpm4,libxmu6,libxaw7,libcdt5,libcgraph6,libpathplan4,libxdot4,libgvpr2,liblab-gamut1,libpango-1.0-0,libpangocairo-1.0-0,libcairo2,libstdc%2B%2B6,libexpat1,libice6,libltdl7,libgd3,libgts-0.7-5,libgvc6,librevenge-0.0-0,libmagick%2B%2B-6.q16-8,libwpg-0.3-3,libaspell15,libcdr-0.1-1,libpotrace0,libvisio-0.1-1,libgdk-pixbuf2.0-0,libatk1.0-0,libfreetype6,libxml2,libpng16-16,libjpeg62-turbo,libpangoft2-1.0-0,libfontconfig1,libdbus-1-3,libgomp1,libgsl23,libgtk2.0-0,libgslcblas0,libpopt0,libxslt1.1,libglibmm-2.4-1v5,liblcms2-2,libatkmm-1.6-1v5,libsigc%2B%2B-2.0-0v5,libcairomm-1.0-1v5,libgc1c2,libgtkmm-2.4-1v5,libdbus-glib-1-2,libmagickcore-6.q16-6,libmagickwand-6.q16-6,libpoppler-glib8,libpoppler82,libpangomm-1.4-1v5,libgtkspell0,python3-pkg-resources,python3-docutils,python3-reportlab,python3,python3-blockdiag,libc6-dev,gcc,g%2B%2B,perl-modules-5.28,m4,cpp,bsdmainutils,libgdbm6,libseccomp2,groff-base,libpipeline1,gettext,intltool-debian,libelf1,libfile-stripnondeterminism-perl,binutils,bzip2,patch,libmagic1,libffi6,asciidoc-common,opensp,docbook-dsssl,texlive-formats-extra,sgmlspl,preview-latex-style,tex-common,texlive-base,texlive-binaries,texlive-latex-recommended,texlive-pictures,gnupg,python-apt-common,libapt-pkg5.0,libapt-inst2.0,dirmngr,texlive-latex-base,texlive-fonts-recommended,libunicode-linebreak-perl,sgml-base,sgml-data,texlive-lang-greek,python2,python2.7,libpython-stdlib,python-minimal,libx11-data,libxcb1,libfribidi0,fontconfig,libthai0,libxrender1,libxcb-shm0,libxcb-render0,libpixman-1-0,x11-common,libbsd0,libtiff5,libwebp6,libwpd-0.10-10,libicu63,shared-mime-info,libgdk-pixbuf2.0-common,libatk1.0-data,libharfbuzz0b,fontconfig-config,libsystemd0,libxinerama1,libxfixes3,libxi6,hicolor-icon-theme,libgtk2.0-common,libxcomposite1,libxcursor1,libxdamage1,libcups2,libxrandr2,libgcrypt20,libfftw3-double3,libopenjp2-7,libwebpmux3,libjbig0,imagemagick-6-common,liblqr-1-0,libheif1,libnspr4,libnss3,libenchant1c2a,python3-roman,docutils-common,python3-pil,python3-reportlab-accel,libpython3-stdlib,python3.7,python3-minimal,python3-webcolors,python3-funcparserlib,linux-libc-dev,libc-dev-bin,gcc-8,g%2B%2B-8,libgdbm-compat4,cpp-8,libuchardet0,gettext-base,libncurses6,libunistring2,libcroco3,libarchive-zip-perl,binutils-common,libbinutils,binutils-arm-linux-gnueabihf,libmagic-mgc,libosp5,openjade,texlive-plain-generic,texlive-xetex,libsgmls-perl,ucf,xdg-utils,libpaper-utils,libgmp10,libpaper1,t1utils,libmpfr6,libgraphite2-3,libzzip-0-13,libwoff1,libbrotli1,libgs9,libxxhash0,libptexenc1,libkpathsea6,libsynctex2,libtexlua52,libtexlua53,libtexluajit2,libharfbuzz-icu0,libteckit0,gnupg-l10n,gpg-agent,gpgv,gnupg-utils,gpg,gpg-wks-client,gpg-wks-server,gpgsm,libudev1,libzstd1,liblz4-1,adduser,libldap-2.4-2,libgnutls30,libgpg-error0,libassuan0,gpgconf,libksba8,libnpth0,fonts-lmodern,libsombok3,libmime-charset-perl,fonts-gfs-baskerville,fonts-gfs-porson,libpython2-stdlib,python2-minimal,mime-support,libpython2.7-stdlib,python2.7-minimal,libxau6,libxdmcp6,libdatrie1,libthai-data,libavahi-common3,libavahi-client3,libgssapi-krb5-2,libx265-165,libde265-0,libsqlite3-0,libhunspell-1.7-0,libwebpdemux2,libimagequant0,libpython3.7-stdlib,python3.7-minimal,libmpc3,libisl19,libgcc-8-dev,libcc1-0,libstdc%2B%2B-8-dev,libostyle1c2,teckit,tipa,poppler-data,libidn11,libcupsimage2,libjbig2dec0,libgs9-common,libijs-0.35,libldap-common,libsasl2-2,libtasn1-6,libidn2-0,libnettle6,libp11-kit0,libhogweed4,libncursesw6,libssl1.1,libpython2.7-minimal,libavahi-common-data,libkeyutils1,libkrb5-3,libkrb5support0,libk5crypto3,libmpdec2,libpython3.7-minimal,libatomic1,libasan5,libubsan1,libaudit1,libsasl2-modules-db,libcap-ng0,libaudit-common,make,lynx,adwaita-icon-theme,fonts-dejavu-core,aspell-en,pinentry-curses,lynx-common,librsvg2-common,gtk-update-icon-cache,aspell,dictionaries-common,librsvg2-2,libtext-iconv-perl,emacsen-common,cpio,fakeroot,less,kmod,net-tools,procps,psmisc,strace,vim,libext2fs2,libtinfo5,startpar,fdisk,libfakeroot,libkmod2,libprocps7,libgpm2,vim-common,vim-runtime,libfdisk1,xxd) (worker was armbuild04:2) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 12 10:07:37 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 12 Mar 2021 10:07:37 +0000 Subject: Build failure of network:osmocom:nightly/neocon in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <604b3e59ce5bf_57e52b18cc7d25fc4826c3@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/neocon/Debian_9.0/armv7l Package network:osmocom:nightly/neocon failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly neocon Last lines of build log: 400 remote error: unknown parameter 'now' (http://back-other-opensuse:5253/getbinaries?workerid=obs-arm-6:17&project=network:osmocom:nightly&repository=Debian_9.0&arch=armv7l&module=python27-2.7&module=python36-3.6&now=1615543642&binaries=base-passwd,user-setup,perl,base-files,bash,bsdutils,coreutils,dash,debconf,debianutils,diffutils,dpkg,e2fslibs,e2fsprogs,findutils,gawk,gcc-6-base,grep,gzip,hostname,initscripts,insserv,libacl1,libattr1,libblkid1,libbz2-1.0,libc-bin,libc6,libcomerr2,libdb5.3,libgcc1,liblzma5,libmount1,libncurses5,libpam-modules,libpcre3,libsmartcols1,libperl5.24,libdebconfclient0,libpam-modules-bin,libpam-runtime,libpam0g,libreadline7,libselinux1,libsemanage-common,libsemanage1,libsepol1,libsigsegv2,libslang2,libss2,libtinfo5,libustr-1.0-1,libuuid1,login,lsb-base,mount,multiarch-support,ncurses-base,ncurses-bin,passwd,perl-base,readline-common,sed,sensible-utils,sysv-rc,init-system-helpers,sysvinit-utils,tar,tzdata,util-linux,zlib1g,libdevmapper1.02.1,debhelper,build-essential,binutils,autotools-dev,po-debconf,man-db,dh-autoreconf,dh-strip-nondeterminism,dpkg-dev,file,libdpkg-perl,libc6-dev,gcc,g%2B%2B,perl-modules-5.24,gettext,intltool-debian,bsdmainutils,libgdbm3,groff-base,libpipeline1,autoconf,automake,autopoint,libtool,libtimedate-perl,libfile-stripnondeterminism-perl,bzip2,xz-utils,patch,libmagic1,libc-dev-bin,linux-libc-dev,cpp,gcc-6,g%2B%2B-6,gettext-base,libunistring0,libglib2.0-0,libgomp1,libcroco3,libxml2,libbsd0,libstdc%2B%2B6,m4,libarchive-zip-perl,libmagic-mgc,cpp-6,libmpc3,libmpfr4,libisl15,libgmp10,libgcc-6-dev,libcc1-0,libstdc%2B%2B-6-dev,libffi6,libicu57,libsystemd0,libatomic1,libasan3,libubsan0,libgcrypt20,liblz4-1,libgpg-error0,libaudit1,libcap-ng0,libaudit-common,make,cpio,fakeroot,less,kmod,net-tools,procps,psmisc,strace,vim,adduser,libudev1,startpar,libncursesw5,libfdisk1,libfakeroot,libkmod2,libprocps6,libgpm2,vim-common,vim-runtime,xxd) (worker was obs-arm-6:17) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 12 10:07:37 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 12 Mar 2021 10:07:37 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in Raspbian_10/armv7l In-Reply-To: References: Message-ID: <604b3e5a2ac00_57e52b18cc7d25fc4827e@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/Raspbian_10/armv7l Package network:osmocom:nightly/simtrace2 failed to build in Raspbian_10/armv7l Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: 400 remote error: unknown parameter 'now' (http://back-other-opensuse:5253/getbinaries?workerid=armbuild01:1&project=network:osmocom:nightly&repository=Raspbian_10&arch=armv7l&module=python27-2.7&module=python36-3.6&now=1615543642&binaries=base-passwd,user-setup,perl,base-files,bash,bsdutils,coreutils,dash,debconf,debianutils,diffutils,dpkg,e2fslibs,e2fsprogs,findutils,gawk,gcc-8-base,grep,gzip,hostname,initscripts,insserv,libacl1,libattr1,libblkid1,libbz2-1.0,libc-bin,libc6,libcom-err2,libdb5.3,libgcc1,liblzma5,libmount1,libncurses5,libpam-modules,libpcre3,libsmartcols1,libperl5.28,libdebconfclient0,libpam-modules-bin,libpam-runtime,libpam0g,libreadline7,libselinux1,libsemanage-common,libsemanage1,libsepol1,libsigsegv2,libslang2,libss2,libtinfo6,libustr-1.0-1,libuuid1,login,lsb-base,mount,multiarch-support,ncurses-base,ncurses-bin,passwd,perl-base,readline-common,sed,sensible-utils,sysv-rc,init-system-helpers,sysvinit-utils,tar,tzdata,util-linux,zlib1g,xz-utils,libdevmapper1.02.1,debhelper,autotools-dev,autoconf,automake,libtool,pkg-config,git,dh-autoreconf,libosmocore-dev,libpcsclite-dev,libnewlib-arm-none-eabi,libusb-1.0-0-dev,gcc-arm-none-eabi,build-essential,man-db,po-debconf,dwz,dh-strip-nondeterminism,dpkg-dev,file,libdpkg-perl,m4,cpp,libc6-dev,libglib2.0-0,liberror-perl,libexpat1,libpcre2-8-0,libcurl3-gnutls,git-man,autopoint,libosmocore,libtalloc-dev,osmocom-nightly,libpcsclite1,libnewlib-dev,libusb-1.0-0,libgmp10,libmpc3,binutils-arm-none-eabi,libstdc%2B%2B6,libmpfr6,gcc,g%2B%2B,perl-modules-5.28,bsdmainutils,libgdbm6,libseccomp2,groff-base,libpipeline1,gettext,intltool-debian,libelf1,libfile-stripnondeterminism-perl,binutils,bzip2,patch,libmagic1,cpp-8,linux-libc-dev,libc-dev-bin,libffi6,libnettle6,libldap-2.4-2,libgnutls30,libk5crypto3,libkrb5-3,libgssapi-krb5-2,libidn2-0,libpsl5,libssh2-1,libnghttp2-14,librtmp1,libosmogsm16,libosmoctrl0,libosmosim2,libosmousb0,libosmocoding0,libosmovty9,libosmocodec0,libosmocore17,libosmogb12,libtalloc2,libudev1,gcc-8,g%2B%2B-8,libgdbm-compat4,libtinfo5,libbsd0,libuchardet0,gettext-base,libgomp1,libncurses6,libunistring2,libcroco3,libxml2,libarchive-zip-perl,binutils-common,libbinutils,binutils-arm-linux-gnueabihf,libmagic-mgc,libisl19,libldap-common,libsasl2-2,libtasn1-6,libp11-kit0,libhogweed4,libkeyutils1,libkrb5support0,libssl1.1,libgcrypt20,libsystemd0,libmnl0,libsctp1,libgcc-8-dev,libcc1-0,libstdc%2B%2B-8-dev,libicu63,libfl2,libsasl2-modules-db,libgpg-error0,liblz4-1,libatomic1,libasan5,libubsan1,make,cpio,fakeroot,less,kmod,net-tools,procps,psmisc,strace,vim,adduser,libext2fs2,libaudit1,startpar,fdisk,libcap-ng0,libfakeroot,libkmod2,libncursesw6,libprocps7,libgpm2,vim-common,vim-runtime,libaudit-common,libfdisk1,xxd) (worker was armbuild01:1) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 12 10:09:37 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 12 Mar 2021 10:09:37 +0000 Subject: Build failure of network:osmocom:nightly/osmo-python-tests in Debian_10/armv7l In-Reply-To: References: Message-ID: <604b3f03a157c_57e52b18cc7d25fc492513@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-python-tests/Debian_10/armv7l Package network:osmocom:nightly/osmo-python-tests failed to build in Debian_10/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-python-tests Last lines of build log: 400 remote error: unknown parameter 'now' (http://back-other-opensuse:5253/getbinaries?workerid=obs-arm-6:8&project=network:osmocom:nightly&repository=Debian_10&arch=armv7l&module=python27-2.7&module=python36-3.6&now=1615543767&binaries=base-passwd,user-setup,perl,base-files,bash,bsdutils,coreutils,dash,debconf,debianutils,diffutils,dpkg,e2fslibs,e2fsprogs,findutils,gawk,gcc-8-base,grep,gzip,hostname,initscripts,insserv,libacl1,libattr1,libblkid1,libbz2-1.0,libc-bin,libc6,libcom-err2,libdb5.3,libgcc1,liblzma5,libmount1,libncurses5,libpam-modules,libpcre3,libsmartcols1,libperl5.28,libdebconfclient0,libpam-modules-bin,libpam-runtime,libpam0g,libreadline7,libselinux1,libsemanage-common,libsemanage1,libsepol1,libsigsegv2,libslang2,libss2,libtinfo6,libustr-1.0-1,libuuid1,login,lsb-base,mount,multiarch-support,ncurses-base,ncurses-bin,passwd,perl-base,readline-common,sed,sensible-utils,sysv-rc,init-system-helpers,sysvinit-utils,tar,tzdata,util-linux,zlib1g,xz-utils,libdevmapper1.02.1,debhelper,dh-python,python3,python3-setuptools,build-essential,man-db,autotools-dev,po-debconf,dwz,dh-autoreconf,dh-strip-nondeterminism,dpkg-dev,file,libdpkg-perl,python3-distutils,libpython3-stdlib,python3.7,python3-minimal,python3-pkg-resources,libc6-dev,gcc,g%2B%2B,perl-modules-5.28,bsdmainutils,libgdbm6,libseccomp2,groff-base,libpipeline1,gettext,intltool-debian,libelf1,autoconf,automake,autopoint,libtool,libfile-stripnondeterminism-perl,binutils,bzip2,patch,libmagic1,python3-lib2to3,libpython3.7-stdlib,mime-support,python3.7-minimal,linux-libc-dev,libc-dev-bin,cpp,gcc-8,g%2B%2B-8,libgdbm-compat4,libbsd0,libstdc%2B%2B6,libuchardet0,gettext-base,libglib2.0-0,libncurses6,libgomp1,libunistring2,libcroco3,libxml2,m4,libarchive-zip-perl,binutils-common,libbinutils,binutils-arm-linux-gnueabihf,libmagic-mgc,libmpdec2,libffi6,libncursesw6,libsqlite3-0,libpython3.7-minimal,libexpat1,cpp-8,libmpc3,libmpfr6,libisl19,libgmp10,libgcc-8-dev,libcc1-0,libstdc%2B%2B-8-dev,libsystemd0,libicu63,libssl1.1,libatomic1,libasan5,libubsan1,libgcrypt20,liblz4-1,libgpg-error0,make,cpio,fakeroot,less,kmod,net-tools,procps,psmisc,strace,vim,adduser,libext2fs2,libtinfo5,libaudit1,startpar,fdisk,libudev1,libcap-ng0,libfakeroot,libkmod2,libprocps7,libgpm2,vim-common,vim-runtime,libaudit-common,libfdisk1,xxd) (worker was obs-arm-6:8) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 12 10:09:37 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 12 Mar 2021 10:09:37 +0000 Subject: Build failure of network:osmocom:nightly/osmo-gsm-manuals in Raspbian_10/armv7l In-Reply-To: References: Message-ID: <604b3f03eff91_57e52b18cc7d25fc492647@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-gsm-manuals/Raspbian_10/armv7l Package network:osmocom:nightly/osmo-gsm-manuals failed to build in Raspbian_10/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-gsm-manuals Last lines of build log: 400 remote error: unknown parameter 'now' (http://back-other-opensuse:5253/getbinaries?workerid=obs-arm-6:14&project=network:osmocom:nightly&repository=Raspbian_10&arch=armv7l&module=python27-2.7&module=python36-3.6&now=1615543767&binaries=base-passwd,user-setup,perl,base-files,bash,bsdutils,coreutils,dash,debconf,debianutils,diffutils,dpkg,e2fslibs,e2fsprogs,findutils,gawk,gcc-8-base,grep,gzip,hostname,initscripts,insserv,libacl1,libattr1,libblkid1,libbz2-1.0,libc-bin,libc6,libcom-err2,libdb5.3,libgcc1,liblzma5,libmount1,libncurses5,libpam-modules,libpcre3,libsmartcols1,libperl5.28,libdebconfclient0,libpam-modules-bin,libpam-runtime,libpam0g,libreadline7,libselinux1,libsemanage-common,libsemanage1,libsepol1,libsigsegv2,libslang2,libss2,libtinfo6,libustr-1.0-1,libuuid1,login,lsb-base,mount,multiarch-support,ncurses-base,ncurses-bin,passwd,perl-base,readline-common,sed,sensible-utils,sysv-rc,init-system-helpers,sysvinit-utils,tar,tzdata,util-linux,zlib1g,xz-utils,libdevmapper1.02.1,autotools-dev,dh-autoreconf,debhelper,pkg-config,asciidoc,asciidoc-dblatex,dblatex,docbook5-xml,graphviz,inkscape,libxml2-utils,mscgen,python3-nwdiag,xsltproc,build-essential,autoconf,automake,autopoint,libtool,man-db,po-debconf,dwz,dh-strip-nondeterminism,dpkg-dev,file,libdpkg-perl,libglib2.0-0,asciidoc-base,docbook-utils,texlive-latex-extra,python-apt,texlive,docbook-xml,texlive-extra-utils,texlive-science,texlive-bibtex-extra,python,xml-core,libx11-6,libxext6,libsm6,libxt6,libxpm4,libxmu6,libxaw7,libcdt5,libcgraph6,libpathplan4,libxdot4,libgvpr2,liblab-gamut1,libcairo2,libpango-1.0-0,libpangocairo-1.0-0,libstdc%2B%2B6,libexpat1,libice6,libltdl7,libgd3,libgts-0.7-5,libgvc6,librevenge-0.0-0,libmagick%2B%2B-6.q16-8,libwpg-0.3-3,libaspell15,libcdr-0.1-1,libpotrace0,libvisio-0.1-1,libgdk-pixbuf2.0-0,libatk1.0-0,libfreetype6,libxml2,libpng16-16,libjpeg62-turbo,libpangoft2-1.0-0,libfontconfig1,libdbus-1-3,libgomp1,libgtk2.0-0,libgsl23,libgslcblas0,libpopt0,libxslt1.1,libglibmm-2.4-1v5,liblcms2-2,libsigc%2B%2B-2.0-0v5,libatkmm-1.6-1v5,libgtkmm-2.4-1v5,libcairomm-1.0-1v5,libgc1c2,libdbus-glib-1-2,libmagickcore-6.q16-6,libmagickwand-6.q16-6,libpoppler-glib8,libpoppler82,libpangomm-1.4-1v5,libgtkspell0,python3-pkg-resources,python3-docutils,python3-reportlab,python3,python3-blockdiag,libc6-dev,gcc,g%2B%2B,perl-modules-5.28,m4,cpp,bsdmainutils,libgdbm6,libseccomp2,groff-base,libpipeline1,gettext,intltool-debian,libelf1,libfile-stripnondeterminism-perl,binutils,bzip2,patch,libmagic1,libffi6,asciidoc-common,opensp,docbook-dsssl,texlive-formats-extra,sgmlspl,preview-latex-style,tex-common,texlive-base,texlive-binaries,texlive-latex-recommended,texlive-pictures,gnupg,python-apt-common,libapt-pkg5.0,libapt-inst2.0,dirmngr,texlive-latex-base,texlive-fonts-recommended,sgml-base,sgml-data,libunicode-linebreak-perl,texlive-lang-greek,python2,python2.7,libpython-stdlib,python-minimal,libx11-data,libxcb1,libxrender1,libxcb-shm0,libxcb-render0,libpixman-1-0,libfribidi0,fontconfig,libthai0,x11-common,libbsd0,libtiff5,libwebp6,libwpd-0.10-10,libicu63,shared-mime-info,libgdk-pixbuf2.0-common,libatk1.0-data,libharfbuzz0b,fontconfig-config,libsystemd0,libxinerama1,libxfixes3,libxi6,hicolor-icon-theme,libgtk2.0-common,libxcomposite1,libxcursor1,libxdamage1,libcups2,libxrandr2,libgcrypt20,libfftw3-double3,libopenjp2-7,libwebpmux3,libjbig0,imagemagick-6-common,liblqr-1-0,libheif1,libnspr4,libnss3,libenchant1c2a,python3-roman,docutils-common,python3-pil,python3-reportlab-accel,libpython3-stdlib,python3.7,python3-minimal,python3-webcolors,python3-funcparserlib,linux-libc-dev,libc-dev-bin,gcc-8,g%2B%2B-8,libgdbm-compat4,cpp-8,libtinfo5,libuchardet0,gettext-base,libncurses6,libunistring2,libcroco3,libarchive-zip-perl,binutils-common,libbinutils,binutils-arm-linux-gnueabihf,libmagic-mgc,libosp5,openjade,texlive-plain-generic,texlive-xetex,libsgmls-perl,ucf,xdg-utils,libpaper-utils,libgmp10,libpaper1,t1utils,libmpfr6,libzzip-0-13,libgraphite2-3,libwoff1,libgs9,libbrotli1,libxxhash0,libptexenc1,libkpathsea6,libsynctex2,libtexlua52,libtexlua53,libtexluajit2,libharfbuzz-icu0,libteckit0,gnupg-l10n,gpg-agent,gpgv,gnupg-utils,gpg,gpg-wks-client,gpg-wks-server,gpgsm,libudev1,libzstd1,liblz4-1,adduser,libldap-2.4-2,libgnutls30,libgpg-error0,libassuan0,gpgconf,libksba8,libnpth0,fonts-lmodern,libsombok3,libmime-charset-perl,fonts-gfs-baskerville,fonts-gfs-porson,libpython2-stdlib,python2-minimal,mime-support,libpython2.7-stdlib,python2.7-minimal,libxau6,libxdmcp6,libdatrie1,libthai-data,libavahi-common3,libavahi-client3,libgssapi-krb5-2,libx265-165,libde265-0,libsqlite3-0,libhunspell-1.7-0,libwebpdemux2,libimagequant0,libpython3.7-stdlib,python3.7-minimal,libmpc3,libisl19,libgcc-8-dev,libcc1-0,libstdc%2B%2B-8-dev,libfl2,libostyle1c2,teckit,tipa,poppler-data,libidn11,libcupsimage2,libjbig2dec0,libgs9-common,libijs-0.35,libldap-common,libsasl2-2,libtasn1-6,libidn2-0,libnettle6,libp11-kit0,libhogweed4,libncursesw6,libssl1.1,libpython2.7-minimal,libavahi-common-data,libkeyutils1,libkrb5-3,libkrb5support0,libk5crypto3,libmpdec2,libpython3.7-minimal,libatomic1,libasan5,libubsan1,libaudit1,libsasl2-modules-db,libcap-ng0,libaudit-common,make,lynx,adwaita-icon-theme,fonts-dejavu-core,aspell-en,pinentry-curses,lynx-common,librsvg2-common,gtk-update-icon-cache,aspell,dictionaries-common,librsvg2-2,libtext-iconv-perl,emacsen-common,cpio,fakeroot,less,kmod,net-tools,procps,psmisc,strace,vim,libext2fs2,startpar,fdisk,libfakeroot,libkmod2,libprocps7,libgpm2,vim-common,vim-runtime,libfdisk1,xxd) (worker was obs-arm-6:14) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 12 10:09:37 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 12 Mar 2021 10:09:37 +0000 Subject: Build failure of network:osmocom:nightly/osmo-pcap in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <604b3f0449f9f_57e52b18cc7d25fc49277d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-pcap/Debian_9.0/armv7l Package network:osmocom:nightly/osmo-pcap failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-pcap Last lines of build log: 400 remote error: unknown parameter 'now' (http://back-other-opensuse:5253/getbinaries?workerid=armbuild01:2&project=network:osmocom:nightly&repository=Debian_9.0&arch=armv7l&module=python27-2.7&module=python36-3.6&now=1615543767&binaries=base-passwd,user-setup,perl,base-files,bash,bsdutils,coreutils,dash,debconf,debianutils,diffutils,dpkg,e2fslibs,e2fsprogs,findutils,gawk,gcc-6-base,grep,gzip,hostname,initscripts,insserv,libacl1,libattr1,libblkid1,libbz2-1.0,libc-bin,libc6,libcomerr2,libdb5.3,libgcc1,liblzma5,libmount1,libncurses5,libpam-modules,libpcre3,libsmartcols1,libperl5.24,libdebconfclient0,libpam-modules-bin,libpam-runtime,libpam0g,libreadline7,libselinux1,libsemanage-common,libsemanage1,libsepol1,libsigsegv2,libslang2,libss2,libtinfo5,libustr-1.0-1,libuuid1,login,lsb-base,mount,multiarch-support,ncurses-base,ncurses-bin,passwd,perl-base,readline-common,sed,sensible-utils,sysv-rc,init-system-helpers,sysvinit-utils,tar,tzdata,util-linux,zlib1g,libdevmapper1.02.1,debhelper,dh-autoreconf,autotools-dev,libpcap0.8-dev,pkg-config,libosmocore-dev,libgnutls28-dev,libzmq3-dev,build-essential,binutils,po-debconf,man-db,dh-strip-nondeterminism,dpkg-dev,file,libdpkg-perl,autoconf,automake,autopoint,libtool,libc6-dev,libpcap0.8,libglib2.0-0,libosmocore,libtalloc-dev,osmocom-nightly,zlib1g-dev,libp11-kit-dev,nettle-dev,libtasn1-6-dev,libgnutls30,libgnutls-dane0,libgnutls-openssl27,libgnutlsxx28,libidn11-dev,libzmq5,gcc,g%2B%2B,perl-modules-5.24,gettext,intltool-debian,bsdmainutils,libgdbm3,groff-base,libpipeline1,libtimedate-perl,libfile-stripnondeterminism-perl,bzip2,xz-utils,patch,libmagic1,m4,cpp,libc-dev-bin,linux-libc-dev,libffi6,libosmousb0,libosmocoding0,libosmovty9,libosmocodec0,libosmocore17,libosmogb12,libosmogsm16,libosmoctrl0,libosmosim2,libtalloc2,libp11-kit0,libgmp-dev,libnettle6,libhogweed4,libtasn1-6,libidn11,libgmp10,libunbound2,libstdc%2B%2B6,libsodium18,libpgm-5.2-0,gcc-6,g%2B%2B-6,gettext-base,libunistring0,libgomp1,libcroco3,libxml2,libbsd0,libarchive-zip-perl,libmagic-mgc,cpp-6,libusb-1.0-0,libsystemd0,libmnl0,libsctp1,libpcsclite1,libgmpxx4ldbl,libmpc3,libmpfr4,libisl15,libgcc-6-dev,libcc1-0,libstdc%2B%2B-6-dev,libicu57,libudev1,libgcrypt20,liblz4-1,libatomic1,libasan3,libubsan0,libgpg-error0,libaudit1,libcap-ng0,libaudit-common,make,cpio,fakeroot,less,kmod,net-tools,procps,psmisc,strace,vim,adduser,startpar,libncursesw5,libfdisk1,libfakeroot,libkmod2,libprocps6,libgpm2,vim-common,vim-runtime,xxd) (worker was armbuild01:2) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 12 10:10:47 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 12 Mar 2021 10:10:47 +0000 Subject: Build failure of network:osmocom:latest/osmo-hlr in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <604b3f8d1d7e0_57e52b18cc7d25fc501848@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-hlr/openSUSE_Factory_ARM/armv7l Package network:osmocom:latest/osmo-hlr failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:latest osmo-hlr Last lines of build log: 400 remote error: unknown parameter 'now' (http://back-other-opensuse:5253/getbinaries?workerid=obs-arm-6:8&project=network:osmocom:latest&repository=openSUSE_Factory_ARM&arch=armv7l&module=python27-2.7&module=python36-3.6&now=1615543842&binaries=liblua5_4-5,aaa_base,attr,bash,coreutils,diffutils,filesystem,fillup,glibc,grep,libbz2-1,libgcc_s1,libncurses6,pam,permissions,rpm,rpm-config-SUSE,sed,tar,libz1,libselinux1,libgcrypt20,libgpg-error0,liblzma5,libcap2,libacl1,libattr1,libpopt0,libelf1,libpcre1,libzstd1,libreadline8,util-linux,libmount1,perl-base,libdb-4_8,libsepol1,libblkid1,libuuid1,libsmartcols1,libcrypt1,kernel-obs-build,iproute2,libmnl0,autoconf,automake,libtool,systemd-rpm-macros,rpm-build,gcc-PIE,pkgconf-pkg-config,python38,libosmoabis-devel,libosmocore-devel,libosmoctrl-devel,libosmogsm-devel,libosmovty-devel,sqlite3-devel,libtalloc-devel,m4,libltdl7,findutils,glibc-devel,make,cpio,xz,gcc,file,gawk,bzip2,gzip,binutils,libdw1,patch,which,glibc-locale,dwz,librpmbuild9,rpm-build-perl,pkgconf-m4,pkgconf,libsqlite3-0,libtirpc3,libnsl2,python38-base,osmocom-latest,libosmoabis10,libosmocore17,libosmoctrl0,libosmogsm16,libosmovty9,libtalloc2,libgdbm6,libgdbm_compat4,update-alternatives,linux-glibc-devel,libxcrypt-devel,libaudit1,libcap-ng0,libutempter0,libeconf0,libfdisk1,shadow,system-group-hardware,gcc10,cpp,libmagic1,libctf-nobfd0,libctf0,glibc-locale-base,rpm-build-python,libpkgconf3,libtirpc-netconfig,libopenssl1_1,libpython3_8-1_0,libexpat1,libffi8,lksctp-tools,system-user-root,terminfo-base,libsemanage1,chkstat,permissions-config,sysuser-shadow,libgmp10,libmpfr6,libmpc3,libisl23,cpp10,file-magic,python-rpm-macros,gettext-tools-mini,libstdc%2B%2B6,libgomp1,krb5-mini,libsystemd0-mini,pam_unix,libasan6,libatomic1,libitm1,libubsan1,gettext-runtime-mini,libcom_err2,libkeyutils1,libverto1,perl,build-mkbaselibs,brp-check-suse,post-build-checks,rpmlint-Factory,hostname,build-compare,ncurses-utils,aaa_base-malloccheck,rpmlint-mini) (worker was obs-arm-6:8) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 12 10:11:54 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 12 Mar 2021 10:11:54 +0000 Subject: Build failure of network:osmocom:nightly/osmo-fl2k in Debian_10/armv7l In-Reply-To: References: Message-ID: <604b3fe2f3740_57e52b18cc7d25fc505357@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-fl2k/Debian_10/armv7l Package network:osmocom:nightly/osmo-fl2k failed to build in Debian_10/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-fl2k Last lines of build log: 400 remote error: unknown parameter 'now' (http://back-other-opensuse:5253/getbinaries?workerid=armbuild24:5&project=network:osmocom:nightly&repository=Debian_10&arch=armv7l&module=python27-2.7&module=python36-3.6&now=1615543906&binaries=base-passwd,user-setup,perl,base-files,bash,bsdutils,coreutils,dash,debconf,debianutils,diffutils,dpkg,e2fslibs,e2fsprogs,findutils,gawk,gcc-8-base,grep,gzip,hostname,initscripts,insserv,libacl1,libattr1,libblkid1,libbz2-1.0,libc-bin,libc6,libcom-err2,libdb5.3,libgcc1,liblzma5,libmount1,libncurses5,libpam-modules,libpcre3,libsmartcols1,libperl5.28,libdebconfclient0,libpam-modules-bin,libpam-runtime,libpam0g,libreadline7,libselinux1,libsemanage-common,libsemanage1,libsepol1,libsigsegv2,libslang2,libss2,libtinfo6,libustr-1.0-1,libuuid1,login,lsb-base,mount,multiarch-support,ncurses-base,ncurses-bin,passwd,perl-base,readline-common,sed,sensible-utils,sysv-rc,init-system-helpers,sysvinit-utils,tar,tzdata,util-linux,zlib1g,xz-utils,libdevmapper1.02.1,debhelper,dh-autoreconf,pkg-config,cmake,libusb-1.0-0-dev,build-essential,man-db,autotools-dev,po-debconf,dwz,dh-strip-nondeterminism,dpkg-dev,file,libdpkg-perl,autoconf,automake,autopoint,libtool,libglib2.0-0,libexpat1,libstdc%2B%2B6,libcurl4,libjsoncpp1,libarchive13,librhash0,cmake-data,libuv1,libusb-1.0-0,libc6-dev,gcc,g%2B%2B,perl-modules-5.28,bsdmainutils,libgdbm6,libseccomp2,groff-base,libpipeline1,gettext,intltool-debian,libelf1,libfile-stripnondeterminism-perl,binutils,bzip2,patch,libmagic1,m4,cpp,libffi6,libncurses6,libncursesw6,libprocps7,libldap-2.4-2,libk5crypto3,libgssapi-krb5-2,libkrb5-3,libssl1.1,libidn2-0,libpsl5,libssh2-1,libnghttp2-14,librtmp1,libnettle6,libxml2,liblz4-1,libzstd1,libudev1,linux-libc-dev,libc-dev-bin,gcc-8,g%2B%2B-8,libgdbm-compat4,libbsd0,libuchardet0,gettext-base,libgomp1,libunistring2,libcroco3,libarchive-zip-perl,binutils-common,libbinutils,binutils-arm-linux-gnueabihf,libmagic-mgc,cpp-8,libsystemd0,libldap-common,libgnutls30,libsasl2-2,libkeyutils1,libkrb5support0,libgcrypt20,libgmp10,libhogweed4,libicu63,libmpc3,libmpfr6,libisl19,libgcc-8-dev,libcc1-0,libstdc%2B%2B-8-dev,libtasn1-6,libp11-kit0,libsasl2-modules-db,libgpg-error0,libatomic1,libasan5,libubsan1,make,cpio,fakeroot,less,kmod,net-tools,procps,psmisc,strace,vim,adduser,libext2fs2,libtinfo5,libaudit1,startpar,fdisk,libcap-ng0,libfakeroot,libkmod2,libgpm2,vim-common,vim-runtime,libaudit-common,libfdisk1,xxd) (worker was armbuild24:5) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 12 10:11:54 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 12 Mar 2021 10:11:54 +0000 Subject: Build failure of network:osmocom:nightly/osmo-sysmon in Debian_9.0/armv7l In-Reply-To: References: Message-ID: <604b3fe357c6e_57e52b18cc7d25fc5054cd@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-sysmon/Debian_9.0/armv7l Package network:osmocom:nightly/osmo-sysmon failed to build in Debian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-sysmon Last lines of build log: 400 remote error: unknown parameter 'now' (http://back-other-opensuse:5253/getbinaries?workerid=obs-arm-6:6&project=network:osmocom:nightly&repository=Debian_9.0&arch=armv7l&module=python27-2.7&module=python36-3.6&now=1615543906&binaries=base-passwd,user-setup,perl,base-files,bash,bsdutils,coreutils,dash,debconf,debianutils,diffutils,dpkg,e2fslibs,e2fsprogs,findutils,gawk,gcc-6-base,grep,gzip,hostname,initscripts,insserv,libacl1,libattr1,libblkid1,libbz2-1.0,libc-bin,libc6,libcomerr2,libdb5.3,libgcc1,liblzma5,libmount1,libncurses5,libpam-modules,libpcre3,libsmartcols1,libperl5.24,libdebconfclient0,libpam-modules-bin,libpam-runtime,libpam0g,libreadline7,libselinux1,libsemanage-common,libsemanage1,libsepol1,libsigsegv2,libslang2,libss2,libtinfo5,libustr-1.0-1,libuuid1,login,lsb-base,mount,multiarch-support,ncurses-base,ncurses-bin,passwd,perl-base,readline-common,sed,sensible-utils,sysv-rc,init-system-helpers,sysvinit-utils,tar,tzdata,util-linux,zlib1g,libdevmapper1.02.1,debhelper,dh-autoreconf,autotools-dev,autoconf,automake,libtool,pkg-config,libtalloc-dev,libmnl-dev,liboping-dev,libosmocore-dev,libosmo-netif-dev,build-essential,binutils,po-debconf,man-db,dh-strip-nondeterminism,dpkg-dev,file,libdpkg-perl,autopoint,m4,cpp,libc6-dev,libglib2.0-0,libtalloc2,libmnl0,liboping0,libosmocore,osmocom-nightly,libosmonetif8,gcc,g%2B%2B,perl-modules-5.24,gettext,intltool-debian,bsdmainutils,libgdbm3,groff-base,libpipeline1,libtimedate-perl,libfile-stripnondeterminism-perl,bzip2,xz-utils,patch,libmagic1,cpp-6,libc-dev-bin,linux-libc-dev,libffi6,libosmousb0,libosmocoding0,libosmovty9,libosmocodec0,libosmocore17,libosmogb12,libosmogsm16,libosmoctrl0,libosmosim2,libsctp1,gcc-6,g%2B%2B-6,gettext-base,libunistring0,libgomp1,libcroco3,libxml2,libbsd0,libstdc%2B%2B6,libarchive-zip-perl,libmagic-mgc,libmpc3,libmpfr4,libisl15,libgmp10,libusb-1.0-0,libsystemd0,libgnutls30,libpcsclite1,libgcc-6-dev,libcc1-0,libstdc%2B%2B-6-dev,libicu57,libudev1,libgcrypt20,liblz4-1,libnettle6,libhogweed4,libidn11,libp11-kit0,libtasn1-6,libatomic1,libasan3,libubsan0,libgpg-error0,libaudit1,libcap-ng0,libaudit-common,make,cpio,fakeroot,less,kmod,net-tools,procps,psmisc,strace,vim,adduser,startpar,libncursesw5,libfdisk1,libfakeroot,libkmod2,libprocps6,libgpm2,vim-common,vim-runtime,xxd) (worker was obs-arm-6:6) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 12 10:11:54 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 12 Mar 2021 10:11:54 +0000 Subject: Build failure of network:osmocom:nightly/osmo-python-tests in Raspbian_10/armv7l In-Reply-To: References: Message-ID: <604b3fe3aa3a3_57e52b18cc7d25fc5055ac@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-python-tests/Raspbian_10/armv7l Package network:osmocom:nightly/osmo-python-tests failed to build in Raspbian_10/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-python-tests Last lines of build log: 400 remote error: unknown parameter 'now' (http://back-other-opensuse:5253/getbinaries?workerid=armbuild01:5&project=network:osmocom:nightly&repository=Raspbian_10&arch=armv7l&module=python27-2.7&module=python36-3.6&now=1615543906&binaries=base-passwd,user-setup,perl,base-files,bash,bsdutils,coreutils,dash,debconf,debianutils,diffutils,dpkg,e2fslibs,e2fsprogs,findutils,gawk,gcc-8-base,grep,gzip,hostname,initscripts,insserv,libacl1,libattr1,libblkid1,libbz2-1.0,libc-bin,libc6,libcom-err2,libdb5.3,libgcc1,liblzma5,libmount1,libncurses5,libpam-modules,libpcre3,libsmartcols1,libperl5.28,libdebconfclient0,libpam-modules-bin,libpam-runtime,libpam0g,libreadline7,libselinux1,libsemanage-common,libsemanage1,libsepol1,libsigsegv2,libslang2,libss2,libtinfo6,libustr-1.0-1,libuuid1,login,lsb-base,mount,multiarch-support,ncurses-base,ncurses-bin,passwd,perl-base,readline-common,sed,sensible-utils,sysv-rc,init-system-helpers,sysvinit-utils,tar,tzdata,util-linux,zlib1g,xz-utils,libdevmapper1.02.1,debhelper,dh-python,python3,python3-setuptools,build-essential,man-db,autotools-dev,po-debconf,dwz,dh-autoreconf,dh-strip-nondeterminism,dpkg-dev,file,libdpkg-perl,python3-distutils,libpython3-stdlib,python3.7,python3-minimal,python3-pkg-resources,libc6-dev,gcc,g%2B%2B,perl-modules-5.28,bsdmainutils,libgdbm6,libseccomp2,groff-base,libpipeline1,gettext,intltool-debian,libelf1,autoconf,automake,autopoint,libtool,libfile-stripnondeterminism-perl,binutils,bzip2,patch,libmagic1,python3-lib2to3,libpython3.7-stdlib,mime-support,python3.7-minimal,linux-libc-dev,libc-dev-bin,cpp,gcc-8,g%2B%2B-8,libgdbm-compat4,libtinfo5,libbsd0,libstdc%2B%2B6,libuchardet0,gettext-base,libglib2.0-0,libgomp1,libncurses6,libunistring2,libcroco3,libxml2,m4,libarchive-zip-perl,binutils-common,libbinutils,binutils-arm-linux-gnueabihf,libmagic-mgc,libmpdec2,libffi6,libncursesw6,libsqlite3-0,libpython3.7-minimal,libexpat1,cpp-8,libmpc3,libmpfr6,libgmp10,libisl19,libgcc-8-dev,libcc1-0,libstdc%2B%2B-8-dev,libsystemd0,libicu63,libfl2,libssl1.1,libatomic1,libasan5,libubsan1,libgcrypt20,liblz4-1,libgpg-error0,make,cpio,fakeroot,less,kmod,net-tools,procps,psmisc,strace,vim,adduser,libext2fs2,libaudit1,startpar,fdisk,libudev1,libcap-ng0,libfakeroot,libkmod2,libprocps7,libgpm2,vim-common,vim-runtime,libaudit-common,libfdisk1,xxd) (worker was armbuild01:5) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 12 10:13:03 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 12 Mar 2021 10:13:03 +0000 Subject: Build failure of network:osmocom:latest/osmo-mgw in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <604b404d1f3e9_57e52b18cc7d25fc51309e@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-mgw/openSUSE_Factory_ARM/armv7l Package network:osmocom:latest/osmo-mgw failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:latest osmo-mgw Last lines of build log: 400 remote error: unknown parameter 'now' (http://back-other-opensuse:5253/getbinaries?workerid=armbuild17:2&project=network:osmocom:latest&repository=openSUSE_Factory_ARM&arch=armv7l&module=python27-2.7&module=python36-3.6&now=1615543970&binaries=liblua5_4-5,aaa_base,attr,bash,coreutils,diffutils,filesystem,fillup,glibc,grep,libbz2-1,libgcc_s1,libncurses6,pam,permissions,rpm,rpm-config-SUSE,sed,tar,libz1,libselinux1,libgcrypt20,libgpg-error0,liblzma5,libcap2,libacl1,libattr1,libpopt0,libelf1,libpcre1,libzstd1,libreadline8,util-linux,libmount1,perl-base,libdb-4_8,libsepol1,libblkid1,libuuid1,libsmartcols1,libcrypt1,kernel-obs-build,iproute2,libmnl0,automake,libtool,systemd-rpm-macros,rpm-build,gcc-PIE,pkgconf-pkg-config,libosmonetif-devel,libosmocore-devel,libosmoctrl-devel,libosmogsm-devel,libosmovty-devel,libosmocoding-devel,libosmoabis-devel,libosmotrau-devel,autoconf,libltdl7,m4,findutils,glibc-devel,make,cpio,xz,gcc,file,gawk,bzip2,gzip,binutils,libdw1,patch,which,glibc-locale,dwz,librpmbuild9,rpm-build-perl,pkgconf-m4,pkgconf,osmocom-latest,libosmonetif8,libtalloc-devel,libosmocore17,libosmoctrl0,libosmogsm16,libosmovty9,libosmocodec-devel,libosmocoding0,libosmoabis10,libosmotrau2,libgdbm6,libgdbm_compat4,update-alternatives,linux-glibc-devel,libxcrypt-devel,libaudit1,libcap-ng0,libutempter0,libeconf0,libfdisk1,shadow,system-group-hardware,gcc10,cpp,libmagic1,libctf-nobfd0,libctf0,glibc-locale-base,libpkgconf3,libtalloc2,lksctp-tools,libosmocodec0,libbctoolbox1,libortp15,system-user-root,terminfo-base,libsemanage1,chkstat,permissions-config,sysuser-shadow,libgmp10,libmpfr6,libmpc3,libisl23,cpp10,file-magic,libmbedcrypto6,libmbedx509-1,libmbedtls13,gettext-tools-mini,libstdc%2B%2B6,libgomp1,libsystemd0-mini,pam_unix,libasan6,libatomic1,libitm1,libubsan1,gettext-runtime-mini,perl,build-mkbaselibs,brp-check-suse,post-build-checks,rpmlint-Factory,hostname,build-compare,ncurses-utils,aaa_base-malloccheck,rpmlint-mini,libexpat1) (worker was armbuild17:2) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 12 10:13:37 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 12 Mar 2021 10:13:37 +0000 Subject: Build failure of network:osmocom:latest/osmo-msc in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <604b407de1f4c_57e52b18cc7d25fc5157f0@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-msc/openSUSE_Factory_ARM/armv7l Package network:osmocom:latest/osmo-msc failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:latest osmo-msc Last lines of build log: 400 remote error: unknown parameter 'now' (http://back-other-opensuse:5253/getbinaries?workerid=armbuild19:1&project=network:osmocom:latest&repository=openSUSE_Factory_ARM&arch=armv7l&module=python27-2.7&module=python36-3.6&now=1615544004&binaries=liblua5_4-5,aaa_base,attr,bash,coreutils,diffutils,filesystem,fillup,glibc,grep,libbz2-1,libgcc_s1,libncurses6,pam,permissions,rpm,rpm-config-SUSE,sed,tar,libz1,libselinux1,libgcrypt20,libgpg-error0,liblzma5,libcap2,libacl1,libattr1,libpopt0,libelf1,libpcre1,libzstd1,libreadline8,util-linux,libmount1,perl-base,libdb-4_8,libsepol1,libblkid1,libuuid1,libsmartcols1,libcrypt1,kernel-obs-build,iproute2,libmnl0,autoconf,automake,libdbi-drivers-dbd-sqlite3,libtool,systemd-rpm-macros,lksctp-tools-devel,rpm-build,gcc-PIE,pkgconf-pkg-config,libdbi-devel,libosmo-gsup-client-devel,libosmo-mgcp-client-devel,libosmonetif-devel,libosmo-sccp-devel,libosmo-sigtran-devel,libosmoabis-devel,libosmocore-devel,libosmoctrl-devel,libosmogsm-devel,libosmovty-devel,libasn1c-devel,libosmo-ranap-devel,m4,libsqlite3-0,libdbi3,libltdl7,glibc-devel,lksctp-tools,findutils,make,cpio,xz,gcc,file,gawk,bzip2,gzip,binutils,libdw1,patch,which,glibc-locale,dwz,librpmbuild9,rpm-build-perl,pkgconf-m4,pkgconf,osmocom-latest,libosmocore17,libtalloc2,libosmogsm16,libosmo-gsup-client0,libosmo-mgcp-client8,libosmonetif8,libosmo-sigtran5,libosmoabis10,libtalloc-devel,libosmoctrl0,libosmovty9,libasn1c1,libosmo-ranap3,libgdbm6,libgdbm_compat4,linux-glibc-devel,libxcrypt-devel,update-alternatives,libaudit1,libcap-ng0,libutempter0,libeconf0,libfdisk1,shadow,system-group-hardware,gcc10,cpp,libmagic1,libctf-nobfd0,libctf0,glibc-locale-base,libpkgconf3,system-user-root,terminfo-base,libsemanage1,chkstat,permissions-config,sysuser-shadow,libgmp10,libmpfr6,libmpc3,libisl23,cpp10,file-magic,libopenssl-devel,libsmpp34-1-devel,gettext-tools-mini,libstdc%2B%2B6,libgomp1,libsystemd0-mini,pam_unix,libasan6,libatomic1,libitm1,libubsan1,libopenssl1_1,libopenssl-1_1-devel,openssl,libsmpp34-1,gettext-runtime-mini,openssl-1_1,crypto-policies,perl,build-mkbaselibs,brp-check-suse,post-build-checks,rpmlint-Factory,hostname,build-compare,ncurses-utils,aaa_base-malloccheck,rpmlint-mini,libexpat1) (worker was armbuild19:1) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 12 10:13:37 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 12 Mar 2021 10:13:37 +0000 Subject: Build failure of network:osmocom:nightly/rtl-sdr in Debian_10/armv7l In-Reply-To: References: Message-ID: <604b407e54747_57e52b18cc7d25fc515825@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/rtl-sdr/Debian_10/armv7l Package network:osmocom:nightly/rtl-sdr failed to build in Debian_10/armv7l Check out the package for editing: osc checkout network:osmocom:nightly rtl-sdr Last lines of build log: 400 remote error: unknown parameter 'now' (http://back-other-opensuse:5253/getbinaries?workerid=armbuild16:2&project=network:osmocom:nightly&repository=Debian_10&arch=armv7l&module=python27-2.7&module=python36-3.6&now=1615544004&binaries=base-passwd,user-setup,perl,base-files,bash,bsdutils,coreutils,dash,debconf,debianutils,diffutils,dpkg,e2fslibs,e2fsprogs,findutils,gawk,gcc-8-base,grep,gzip,hostname,initscripts,insserv,libacl1,libattr1,libblkid1,libbz2-1.0,libc-bin,libc6,libcom-err2,libdb5.3,libgcc1,liblzma5,libmount1,libncurses5,libpam-modules,libpcre3,libsmartcols1,libperl5.28,libdebconfclient0,libpam-modules-bin,libpam-runtime,libpam0g,libreadline7,libselinux1,libsemanage-common,libsemanage1,libsepol1,libsigsegv2,libslang2,libss2,libtinfo6,libustr-1.0-1,libuuid1,login,lsb-base,mount,multiarch-support,ncurses-base,ncurses-bin,passwd,perl-base,readline-common,sed,sensible-utils,sysv-rc,init-system-helpers,sysvinit-utils,tar,tzdata,util-linux,zlib1g,xz-utils,libdevmapper1.02.1,cmake,debhelper,libusb-1.0-0-dev,pkg-config,build-essential,libexpat1,libstdc%2B%2B6,libcurl4,libjsoncpp1,libarchive13,librhash0,cmake-data,libuv1,man-db,autotools-dev,po-debconf,dwz,dh-autoreconf,dh-strip-nondeterminism,dpkg-dev,file,libdpkg-perl,libusb-1.0-0,libglib2.0-0,libc6-dev,gcc,g%2B%2B,libncurses6,libncursesw6,libprocps7,libldap-2.4-2,libk5crypto3,libgssapi-krb5-2,libkrb5-3,libssl1.1,libidn2-0,libpsl5,libssh2-1,libnghttp2-14,librtmp1,libnettle6,libxml2,liblz4-1,libzstd1,perl-modules-5.28,bsdmainutils,libgdbm6,libseccomp2,groff-base,libpipeline1,gettext,intltool-debian,libelf1,autoconf,automake,autopoint,libtool,libfile-stripnondeterminism-perl,binutils,bzip2,patch,libmagic1,libudev1,libffi6,linux-libc-dev,libc-dev-bin,cpp,gcc-8,g%2B%2B-8,libsystemd0,libldap-common,libgnutls30,libsasl2-2,libkeyutils1,libkrb5support0,libunistring2,libgcrypt20,libgmp10,libhogweed4,libicu63,libgdbm-compat4,libbsd0,libuchardet0,gettext-base,libgomp1,libcroco3,m4,libarchive-zip-perl,binutils-common,libbinutils,binutils-arm-linux-gnueabihf,libmagic-mgc,cpp-8,libmpc3,libmpfr6,libisl19,libgcc-8-dev,libcc1-0,libstdc%2B%2B-8-dev,libtasn1-6,libp11-kit0,libsasl2-modules-db,libgpg-error0,libatomic1,libasan5,libubsan1,make,cpio,fakeroot,less,kmod,net-tools,procps,psmisc,strace,vim,adduser,libext2fs2,libtinfo5,libaudit1,startpar,fdisk,libcap-ng0,libfakeroot,libkmod2,libgpm2,vim-common,vim-runtime,libaudit-common,libfdisk1,xxd) (worker was armbuild16:2) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 12 10:13:37 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 12 Mar 2021 10:13:37 +0000 Subject: Build failure of network:osmocom:nightly/rtl-sdr in Raspbian_10/armv7l In-Reply-To: References: Message-ID: <604b407ef00a3_57e52b18cc7d25fc5159b3@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/rtl-sdr/Raspbian_10/armv7l Package network:osmocom:nightly/rtl-sdr failed to build in Raspbian_10/armv7l Check out the package for editing: osc checkout network:osmocom:nightly rtl-sdr Last lines of build log: 400 remote error: unknown parameter 'now' (http://back-other-opensuse:5253/getbinaries?workerid=armbuild15:1&project=network:osmocom:nightly&repository=Raspbian_10&arch=armv7l&module=python27-2.7&module=python36-3.6&now=1615544004&binaries=base-passwd,user-setup,perl,base-files,bash,bsdutils,coreutils,dash,debconf,debianutils,diffutils,dpkg,e2fslibs,e2fsprogs,findutils,gawk,gcc-8-base,grep,gzip,hostname,initscripts,insserv,libacl1,libattr1,libblkid1,libbz2-1.0,libc-bin,libc6,libcom-err2,libdb5.3,libgcc1,liblzma5,libmount1,libncurses5,libpam-modules,libpcre3,libsmartcols1,libperl5.28,libdebconfclient0,libpam-modules-bin,libpam-runtime,libpam0g,libreadline7,libselinux1,libsemanage-common,libsemanage1,libsepol1,libsigsegv2,libslang2,libss2,libtinfo6,libustr-1.0-1,libuuid1,login,lsb-base,mount,multiarch-support,ncurses-base,ncurses-bin,passwd,perl-base,readline-common,sed,sensible-utils,sysv-rc,init-system-helpers,sysvinit-utils,tar,tzdata,util-linux,zlib1g,xz-utils,libdevmapper1.02.1,cmake,debhelper,libusb-1.0-0-dev,pkg-config,build-essential,libexpat1,libstdc%2B%2B6,libcurl4,libjsoncpp1,libarchive13,librhash0,cmake-data,libuv1,man-db,autotools-dev,po-debconf,dwz,dh-autoreconf,dh-strip-nondeterminism,dpkg-dev,file,libdpkg-perl,libusb-1.0-0,libglib2.0-0,libc6-dev,gcc,g%2B%2B,libncurses6,libncursesw6,libprocps7,libldap-2.4-2,libk5crypto3,libkrb5-3,libgssapi-krb5-2,libssl1.1,libidn2-0,libpsl5,libssh2-1,libnghttp2-14,librtmp1,libnettle6,libxml2,liblz4-1,libzstd1,perl-modules-5.28,bsdmainutils,libgdbm6,libseccomp2,groff-base,libpipeline1,gettext,intltool-debian,libelf1,autoconf,automake,autopoint,libtool,libfile-stripnondeterminism-perl,binutils,bzip2,patch,libmagic1,libudev1,libffi6,linux-libc-dev,libc-dev-bin,cpp,gcc-8,g%2B%2B-8,libsystemd0,libldap-common,libgnutls30,libsasl2-2,libkeyutils1,libkrb5support0,libunistring2,libgcrypt20,libgmp10,libhogweed4,libicu63,libgdbm-compat4,libtinfo5,libbsd0,libuchardet0,gettext-base,libgomp1,libcroco3,m4,libarchive-zip-perl,binutils-common,libbinutils,binutils-arm-linux-gnueabihf,libmagic-mgc,cpp-8,libmpc3,libmpfr6,libisl19,libgcc-8-dev,libcc1-0,libstdc%2B%2B-8-dev,libtasn1-6,libp11-kit0,libsasl2-modules-db,libgpg-error0,libfl2,libatomic1,libasan5,libubsan1,make,cpio,fakeroot,less,kmod,net-tools,procps,psmisc,strace,vim,adduser,libext2fs2,libaudit1,startpar,fdisk,libcap-ng0,libfakeroot,libkmod2,libgpm2,vim-common,vim-runtime,libaudit-common,libfdisk1,xxd) (worker was armbuild15:1) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 12 10:15:39 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 12 Mar 2021 10:15:39 +0000 Subject: Build failure of network:osmocom:latest/osmo-bsc in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <604b413af2858_57e52b18cc7d25fc5279d1@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-bsc/openSUSE_Factory_ARM/armv7l Package network:osmocom:latest/osmo-bsc failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:latest osmo-bsc Last lines of build log: 400 remote error: unknown parameter 'now' (http://back-other-opensuse:5253/getbinaries?workerid=armbuild13:1&project=network:osmocom:latest&repository=openSUSE_Factory_ARM&arch=armv7l&module=python27-2.7&module=python36-3.6&now=1615544136&binaries=liblua5_4-5,aaa_base,attr,bash,coreutils,diffutils,filesystem,fillup,glibc,grep,libbz2-1,libgcc_s1,libncurses6,pam,permissions,rpm,rpm-config-SUSE,sed,tar,libz1,libselinux1,libgcrypt20,libgpg-error0,liblzma5,libcap2,libacl1,libattr1,libpopt0,libelf1,libpcre1,libzstd1,libreadline8,util-linux,libmount1,perl-base,libdb-4_8,libsepol1,libblkid1,libuuid1,libsmartcols1,libcrypt1,kernel-obs-build,iproute2,libmnl0,automake,libtool,systemd-rpm-macros,rpm-build,gcc-PIE,pkgconf-pkg-config,libosmo-mgcp-client-devel,libosmonetif-devel,libosmo-sccp-devel,libosmo-sigtran-devel,libosmoabis-devel,libosmocore-devel,libosmoctrl-devel,libosmogb-devel,libosmogsm-devel,libosmovty-devel,libtalloc-devel,autoconf,libltdl7,m4,findutils,glibc-devel,make,cpio,xz,gcc,file,gawk,bzip2,gzip,binutils,libdw1,patch,which,glibc-locale,dwz,librpmbuild9,rpm-build-perl,pkgconf-m4,pkgconf,osmocom-latest,libosmo-mgcp-client8,libosmonetif8,libosmo-sigtran5,libosmoabis10,libosmocore17,libosmoctrl0,libosmogb12,libosmogsm16,libosmovty9,libtalloc2,libgdbm6,libgdbm_compat4,update-alternatives,linux-glibc-devel,libxcrypt-devel,libaudit1,libcap-ng0,libutempter0,libeconf0,libfdisk1,shadow,system-group-hardware,gcc10,cpp,libmagic1,libctf-nobfd0,libctf0,glibc-locale-base,libpkgconf3,lksctp-tools,system-user-root,terminfo-base,libsemanage1,chkstat,permissions-config,sysuser-shadow,libgmp10,libmpfr6,libmpc3,libisl23,cpp10,file-magic,libopenssl-devel,gettext-tools-mini,libstdc%2B%2B6,libgomp1,libsystemd0-mini,pam_unix,libasan6,libatomic1,libitm1,libubsan1,libopenssl1_1,libopenssl-1_1-devel,openssl,gettext-runtime-mini,openssl-1_1,crypto-policies,perl,build-mkbaselibs,brp-check-suse,post-build-checks,rpmlint-Factory,hostname,build-compare,ncurses-utils,aaa_base-malloccheck,rpmlint-mini,libexpat1) (worker was armbuild13:1) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 12 10:15:54 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 12 Mar 2021 10:15:54 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-dsp in Debian_10/armv7l In-Reply-To: References: Message-ID: <604b413eee32c_57e52b18cc7d25fc528574@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-dsp/Debian_10/armv7l Package network:osmocom:nightly/libosmo-dsp failed to build in Debian_10/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmo-dsp Last lines of build log: 400 remote error: unknown parameter 'now' (http://back-other-opensuse:5253/getbinaries?workerid=armbuild16:1&project=network:osmocom:nightly&repository=Debian_10&arch=armv7l&module=python27-2.7&module=python36-3.6&now=1615544137&binaries=base-passwd,user-setup,perl,base-files,bash,bsdutils,coreutils,dash,debconf,debianutils,diffutils,dpkg,e2fslibs,e2fsprogs,findutils,gawk,gcc-8-base,grep,gzip,hostname,initscripts,insserv,libacl1,libattr1,libblkid1,libbz2-1.0,libc-bin,libc6,libcom-err2,libdb5.3,libgcc1,liblzma5,libmount1,libncurses5,libpam-modules,libpcre3,libsmartcols1,libperl5.28,libdebconfclient0,libpam-modules-bin,libpam-runtime,libpam0g,libreadline7,libselinux1,libsemanage-common,libsemanage1,libsepol1,libsigsegv2,libslang2,libss2,libtinfo6,libustr-1.0-1,libuuid1,login,lsb-base,mount,multiarch-support,ncurses-base,ncurses-bin,passwd,perl-base,readline-common,sed,sensible-utils,sysv-rc,init-system-helpers,sysvinit-utils,tar,tzdata,util-linux,zlib1g,xz-utils,libdevmapper1.02.1,debhelper,autotools-dev,autoconf,automake,libtool,dh-autoreconf,libdpkg-perl,git,doxygen,pkg-config,libfftw3-dev,build-essential,man-db,po-debconf,dwz,dh-strip-nondeterminism,dpkg-dev,file,m4,cpp,libc6-dev,autopoint,liberror-perl,libexpat1,libpcre2-8-0,libcurl3-gnutls,git-man,libxapian30,libstdc%2B%2B6,libclang1-6.0,libglib2.0-0,libfftw3-double3,libfftw3-single3,libfftw3-bin,gcc,g%2B%2B,perl-modules-5.28,bsdmainutils,libgdbm6,libseccomp2,groff-base,libpipeline1,gettext,intltool-debian,libelf1,libfile-stripnondeterminism-perl,binutils,bzip2,patch,libmagic1,cpp-8,linux-libc-dev,libc-dev-bin,libnettle6,libldap-2.4-2,libgnutls30,libk5crypto3,libgssapi-krb5-2,libkrb5-3,libidn2-0,libpsl5,libssh2-1,libnghttp2-14,librtmp1,libllvm6.0,libffi6,libgomp1,gcc-8,g%2B%2B-8,libgdbm-compat4,libbsd0,libuchardet0,gettext-base,libncurses6,libunistring2,libcroco3,libxml2,libarchive-zip-perl,binutils-common,libbinutils,binutils-arm-linux-gnueabihf,libmagic-mgc,libmpc3,libmpfr6,libisl19,libgmp10,libldap-common,libsasl2-2,libtasn1-6,libp11-kit0,libhogweed4,libkeyutils1,libkrb5support0,libssl1.1,libgcrypt20,libedit2,libgcc-8-dev,libcc1-0,libstdc%2B%2B-8-dev,libsystemd0,libicu63,libsasl2-modules-db,libgpg-error0,libatomic1,libasan5,libubsan1,liblz4-1,make,cpio,fakeroot,less,kmod,net-tools,procps,psmisc,strace,vim,adduser,libext2fs2,libtinfo5,libaudit1,startpar,fdisk,libudev1,libcap-ng0,libfakeroot,libkmod2,libncursesw6,libprocps7,libgpm2,vim-common,vim-runtime,libaudit-common,libfdisk1,xxd) (worker was armbuild16:1) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 12 10:15:54 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 12 Mar 2021 10:15:54 +0000 Subject: Build failure of network:osmocom:nightly/osmo-fl2k in Raspbian_10/armv7l In-Reply-To: References: Message-ID: <604b413fa3770_57e52b18cc7d25fc5287f7@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-fl2k/Raspbian_10/armv7l Package network:osmocom:nightly/osmo-fl2k failed to build in Raspbian_10/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-fl2k Last lines of build log: 400 remote error: unknown parameter 'now' (http://back-other-opensuse:5253/getbinaries?workerid=armbuild14:2&project=network:osmocom:nightly&repository=Raspbian_10&arch=armv7l&module=python27-2.7&module=python36-3.6&now=1615544137&binaries=base-passwd,user-setup,perl,base-files,bash,bsdutils,coreutils,dash,debconf,debianutils,diffutils,dpkg,e2fslibs,e2fsprogs,findutils,gawk,gcc-8-base,grep,gzip,hostname,initscripts,insserv,libacl1,libattr1,libblkid1,libbz2-1.0,libc-bin,libc6,libcom-err2,libdb5.3,libgcc1,liblzma5,libmount1,libncurses5,libpam-modules,libpcre3,libsmartcols1,libperl5.28,libdebconfclient0,libpam-modules-bin,libpam-runtime,libpam0g,libreadline7,libselinux1,libsemanage-common,libsemanage1,libsepol1,libsigsegv2,libslang2,libss2,libtinfo6,libustr-1.0-1,libuuid1,login,lsb-base,mount,multiarch-support,ncurses-base,ncurses-bin,passwd,perl-base,readline-common,sed,sensible-utils,sysv-rc,init-system-helpers,sysvinit-utils,tar,tzdata,util-linux,zlib1g,xz-utils,libdevmapper1.02.1,debhelper,dh-autoreconf,pkg-config,cmake,libusb-1.0-0-dev,build-essential,man-db,autotools-dev,po-debconf,dwz,dh-strip-nondeterminism,dpkg-dev,file,libdpkg-perl,autoconf,automake,autopoint,libtool,libglib2.0-0,libexpat1,libstdc%2B%2B6,libcurl4,libjsoncpp1,libarchive13,librhash0,cmake-data,libuv1,libusb-1.0-0,libc6-dev,gcc,g%2B%2B,perl-modules-5.28,bsdmainutils,libgdbm6,libseccomp2,groff-base,libpipeline1,gettext,intltool-debian,libelf1,libfile-stripnondeterminism-perl,binutils,bzip2,patch,libmagic1,m4,cpp,libffi6,libncurses6,libncursesw6,libprocps7,libldap-2.4-2,libk5crypto3,libkrb5-3,libgssapi-krb5-2,libssl1.1,libidn2-0,libpsl5,libssh2-1,libnghttp2-14,librtmp1,libnettle6,libxml2,liblz4-1,libzstd1,libudev1,linux-libc-dev,libc-dev-bin,gcc-8,g%2B%2B-8,libgdbm-compat4,libtinfo5,libbsd0,libuchardet0,gettext-base,libgomp1,libunistring2,libcroco3,libarchive-zip-perl,binutils-common,libbinutils,binutils-arm-linux-gnueabihf,libmagic-mgc,cpp-8,libsystemd0,libldap-common,libgnutls30,libsasl2-2,libkeyutils1,libkrb5support0,libgcrypt20,libgmp10,libhogweed4,libicu63,libmpc3,libmpfr6,libisl19,libgcc-8-dev,libcc1-0,libstdc%2B%2B-8-dev,libfl2,libtasn1-6,libp11-kit0,libsasl2-modules-db,libgpg-error0,libatomic1,libasan5,libubsan1,make,cpio,fakeroot,less,kmod,net-tools,procps,psmisc,strace,vim,adduser,libext2fs2,libaudit1,startpar,fdisk,libcap-ng0,libfakeroot,libkmod2,libgpm2,vim-common,vim-runtime,libaudit-common,libfdisk1,xxd) (worker was armbuild14:2) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 12 10:17:55 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 12 Mar 2021 10:17:55 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-dsp in Raspbian_10/armv7l In-Reply-To: References: Message-ID: <604b42022a90f_57e52b18cc7d25fc540197@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-dsp/Raspbian_10/armv7l Package network:osmocom:nightly/libosmo-dsp failed to build in Raspbian_10/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmo-dsp Last lines of build log: 400 remote error: unknown parameter 'now' (http://back-other-opensuse:5253/getbinaries?workerid=armbuild19:2&project=network:osmocom:nightly&repository=Raspbian_10&arch=armv7l&module=python27-2.7&module=python36-3.6&now=1615544270&binaries=base-passwd,user-setup,perl,base-files,bash,bsdutils,coreutils,dash,debconf,debianutils,diffutils,dpkg,e2fslibs,e2fsprogs,findutils,gawk,gcc-8-base,grep,gzip,hostname,initscripts,insserv,libacl1,libattr1,libblkid1,libbz2-1.0,libc-bin,libc6,libcom-err2,libdb5.3,libgcc1,liblzma5,libmount1,libncurses5,libpam-modules,libpcre3,libsmartcols1,libperl5.28,libdebconfclient0,libpam-modules-bin,libpam-runtime,libpam0g,libreadline7,libselinux1,libsemanage-common,libsemanage1,libsepol1,libsigsegv2,libslang2,libss2,libtinfo6,libustr-1.0-1,libuuid1,login,lsb-base,mount,multiarch-support,ncurses-base,ncurses-bin,passwd,perl-base,readline-common,sed,sensible-utils,sysv-rc,init-system-helpers,sysvinit-utils,tar,tzdata,util-linux,zlib1g,xz-utils,libdevmapper1.02.1,debhelper,autotools-dev,autoconf,automake,libtool,dh-autoreconf,libdpkg-perl,git,doxygen,pkg-config,libfftw3-dev,build-essential,man-db,po-debconf,dwz,dh-strip-nondeterminism,dpkg-dev,file,m4,cpp,libc6-dev,autopoint,liberror-perl,libexpat1,libpcre2-8-0,libcurl3-gnutls,git-man,libxapian30,libstdc%2B%2B6,libclang1-6.0,libglib2.0-0,libfftw3-double3,libfftw3-single3,libfftw3-bin,gcc,g%2B%2B,perl-modules-5.28,bsdmainutils,libgdbm6,libseccomp2,groff-base,libpipeline1,gettext,intltool-debian,libelf1,libfile-stripnondeterminism-perl,binutils,bzip2,patch,libmagic1,cpp-8,linux-libc-dev,libc-dev-bin,libnettle6,libldap-2.4-2,libgnutls30,libk5crypto3,libkrb5-3,libgssapi-krb5-2,libidn2-0,libpsl5,libssh2-1,libnghttp2-14,librtmp1,libllvm6.0,libffi6,libgomp1,gcc-8,g%2B%2B-8,libgdbm-compat4,libtinfo5,libbsd0,libuchardet0,gettext-base,libncurses6,libunistring2,libcroco3,libxml2,libarchive-zip-perl,binutils-common,libbinutils,binutils-arm-linux-gnueabihf,libmagic-mgc,libmpc3,libmpfr6,libgmp10,libisl19,libldap-common,libsasl2-2,libtasn1-6,libp11-kit0,libhogweed4,libkeyutils1,libkrb5support0,libssl1.1,libgcrypt20,libedit2,libgcc-8-dev,libcc1-0,libstdc%2B%2B-8-dev,libsystemd0,libicu63,libfl2,libsasl2-modules-db,libgpg-error0,libatomic1,libasan5,libubsan1,liblz4-1,make,cpio,fakeroot,less,kmod,net-tools,procps,psmisc,strace,vim,adduser,libext2fs2,libaudit1,startpar,fdisk,libudev1,libcap-ng0,libfakeroot,libkmod2,libncursesw6,libprocps7,libgpm2,vim-common,vim-runtime,libaudit-common,libfdisk1,xxd) (worker was armbuild19:2) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 12 10:17:55 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 12 Mar 2021 10:17:55 +0000 Subject: Build failure of network:osmocom:nightly/open5gs in Debian_10/armv7l In-Reply-To: References: Message-ID: <604b42028fe15_57e52b18cc7d25fc5402e9@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/open5gs/Debian_10/armv7l Package network:osmocom:nightly/open5gs failed to build in Debian_10/armv7l Check out the package for editing: osc checkout network:osmocom:nightly open5gs Last lines of build log: 400 remote error: unknown parameter 'now' (http://back-other-opensuse:5253/getbinaries?workerid=armbuild10:2&project=network:osmocom:nightly&repository=Debian_10&arch=armv7l&module=python27-2.7&module=python36-3.6&now=1615544270&binaries=base-passwd,user-setup,perl,base-files,bash,bsdutils,coreutils,dash,debconf,debianutils,diffutils,dpkg,e2fslibs,e2fsprogs,findutils,gawk,gcc-8-base,grep,gzip,hostname,initscripts,insserv,libacl1,libattr1,libblkid1,libbz2-1.0,libc-bin,libc6,libcom-err2,libdb5.3,libgcc1,liblzma5,libmount1,libncurses5,libpam-modules,libpcre3,libsmartcols1,libperl5.28,libdebconfclient0,libpam-modules-bin,libpam-runtime,libpam0g,libreadline7,libselinux1,libsemanage-common,libsemanage1,libsepol1,libsigsegv2,libslang2,libss2,libtinfo6,libustr-1.0-1,libuuid1,login,lsb-base,mount,multiarch-support,ncurses-base,ncurses-bin,passwd,perl-base,readline-common,sed,sensible-utils,sysv-rc,init-system-helpers,sysvinit-utils,tar,tzdata,util-linux,zlib1g,xz-utils,libdevmapper1.02.1,debhelper,git,pkg-config,meson,flex,bison,libgnutls28-dev,libssl-dev,libidn11-dev,libmongoc-dev,libbson-dev,libsctp-dev,libyaml-dev,libmicrohttpd-dev,libcurl4-gnutls-dev,libnghttp2-dev,build-essential,libgcrypt20-dev,man-db,autotools-dev,po-debconf,dwz,dh-autoreconf,dh-strip-nondeterminism,dpkg-dev,file,libdpkg-perl,liberror-perl,libexpat1,libpcre2-8-0,libcurl3-gnutls,git-man,libglib2.0-0,python3-pkg-resources,python3,ninja-build,m4,libbison-dev,libidn2-dev,libtasn1-6-dev,libc6-dev,libgnutls30,libgnutls-openssl27,libgnutlsxx28,libgnutls-dane0,libp11-kit-dev,nettle-dev,libssl1.1,libidn11,zlib1g-dev,libsnappy-dev,libmongoc-1.0-0,libbson-1.0-0,libsctp1,libyaml-0-2,libmicrohttpd12,libnghttp2-14,gcc,g%2B%2B,libgpg-error-dev,libgcrypt20,perl-modules-5.28,bsdmainutils,libgdbm6,libseccomp2,groff-base,libpipeline1,gettext,intltool-debian,libelf1,autoconf,automake,autopoint,libtool,libfile-stripnondeterminism-perl,binutils,bzip2,patch,libmagic1,libnettle6,libldap-2.4-2,libk5crypto3,libgssapi-krb5-2,libkrb5-3,libidn2-0,libpsl5,libssh2-1,librtmp1,libffi6,libpython3-stdlib,python3.7,python3-minimal,libstdc%2B%2B6,libtasn1-6,linux-libc-dev,libc-dev-bin,libunistring2,libp11-kit0,libgmp10,libhogweed4,libunbound8,libgmp-dev,libsnappy1v5,libicu63,libsasl2-2,cpp,gcc-8,g%2B%2B-8,libgpg-error0,libgdbm-compat4,libbsd0,libuchardet0,gettext-base,libncurses6,libgomp1,libcroco3,libxml2,libarchive-zip-perl,binutils-common,libbinutils,binutils-arm-linux-gnueabihf,libmagic-mgc,libldap-common,libkeyutils1,libkrb5support0,libpython3.7-stdlib,mime-support,python3.7-minimal,libevent-2.1-6,libgmpxx4ldbl,libsasl2-modules-db,cpp-8,libmpc3,libmpfr6,libisl19,libgcc-8-dev,libcc1-0,libstdc%2B%2B-8-dev,libsystemd0,libmpdec2,libncursesw6,libsqlite3-0,libpython3.7-minimal,libatomic1,libasan5,libubsan1,liblz4-1,make,cpio,fakeroot,less,kmod,net-tools,procps,psmisc,strace,vim,adduser,libext2fs2,libtinfo5,libaudit1,startpar,fdisk,libudev1,libcap-ng0,libfakeroot,libkmod2,libprocps7,libgpm2,vim-common,vim-runtime,libaudit-common,libfdisk1,xxd) (worker was armbuild10:2) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 12 10:18:30 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 12 Mar 2021 10:18:30 +0000 Subject: Build failure of network:osmocom:latest/libusrp in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <604b424436ce1_57e52b18cc7d25fc54596f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/libusrp/openSUSE_Factory_ARM/armv7l Package network:osmocom:latest/libusrp failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:latest libusrp Last lines of build log: 400 remote error: unknown parameter 'now' (http://back-other-opensuse:5253/getbinaries?workerid=armbuild18:2&project=network:osmocom:latest&repository=openSUSE_Factory_ARM&arch=armv7l&module=python27-2.7&module=python36-3.6&now=1615544299&binaries=liblua5_4-5,aaa_base,attr,bash,coreutils,diffutils,filesystem,fillup,glibc,grep,libbz2-1,libgcc_s1,libncurses6,pam,permissions,rpm,rpm-config-SUSE,sed,tar,libz1,libselinux1,libgcrypt20,libgpg-error0,liblzma5,libcap2,libacl1,libattr1,libpopt0,libelf1,libpcre1,libzstd1,libreadline8,util-linux,libmount1,perl-base,libdb-4_8,libsepol1,libblkid1,libuuid1,libsmartcols1,libcrypt1,kernel-obs-build,iproute2,libmnl0,autoconf,automake,fdupes,gcc-c%2B%2B,libtool,sdcc,libboost_date_time-devel,libboost_filesystem-devel,libboost_program_options-devel,libboost_system-devel,libboost_thread-devel,rpm-build,gcc-PIE,pkgconf-pkg-config,python,libusb-1_0-devel,m4,gcc10-c%2B%2B,gcc,libltdl7,python38-base,libboost_date_time1_75_0-devel,libboost_filesystem1_75_0-devel,libboost_program_options1_75_0-devel,libboost_system1_75_0-devel,libboost_thread1_75_0-devel,findutils,glibc-devel,make,cpio,xz,file,gawk,bzip2,gzip,binutils,libdw1,patch,which,glibc-locale,dwz,librpmbuild9,systemd-rpm-macros,rpm-build-perl,rpm-build-python,pkgconf-m4,pkgconf,libopenssl1_1,libsqlite3-0,libpython2_7-1_0,python-base,libusb-1_0-0,libgdbm6,libgdbm_compat4,libgmp10,libmpfr6,libmpc3,libisl23,gcc10,libstdc%2B%2B6-devel-gcc10,cpp,libpython3_8-1_0,libexpat1,libffi8,libstdc%2B%2B-devel,libboost_headers1_75_0-devel,libboost_date_time1_75_0,libboost_filesystem1_75_0,libboost_program_options1_75_0,libboost_system1_75_0,libboost_chrono1_75_0-devel,libboost_thread1_75_0,update-alternatives,linux-glibc-devel,libxcrypt-devel,libaudit1,libcap-ng0,libutempter0,libeconf0,libfdisk1,shadow,system-group-hardware,libmagic1,libctf-nobfd0,libctf0,glibc-locale-base,python-rpm-macros,libpkgconf3,libtirpc3,libnsl2,system-user-root,cpp10,boost-license1_75_0,libboost_chrono1_75_0,terminfo-base,libsemanage1,chkstat,permissions-config,sysuser-shadow,file-magic,libtirpc-netconfig,libstdc%2B%2B6,gettext-tools-mini,libgomp1,libudev-mini1,libasan6,libatomic1,libitm1,libubsan1,pam_unix,krb5-mini,gettext-runtime-mini,libcom_err2,libkeyutils1,libverto1,perl,build-mkbaselibs,brp-check-suse,post-build-checks,rpmlint-Factory,hostname,build-compare,ncurses-utils,aaa_base-malloccheck,rpmlint-mini) (worker was armbuild18:2) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 12 10:19:39 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 12 Mar 2021 10:19:39 +0000 Subject: Build failure of network:osmocom:nightly/neocon in Debian_10/armv7l In-Reply-To: References: Message-ID: <604b42c151b13_57e52b18cc7d25fc552918@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/neocon/Debian_10/armv7l Package network:osmocom:nightly/neocon failed to build in Debian_10/armv7l Check out the package for editing: osc checkout network:osmocom:nightly neocon Last lines of build log: 400 remote error: unknown parameter 'now' (http://back-other-opensuse:5253/getbinaries?workerid=armbuild18:2&project=network:osmocom:nightly&repository=Debian_10&arch=armv7l&module=python27-2.7&module=python36-3.6&now=1615544375&binaries=base-passwd,user-setup,perl,base-files,bash,bsdutils,coreutils,dash,debconf,debianutils,diffutils,dpkg,e2fslibs,e2fsprogs,findutils,gawk,gcc-8-base,grep,gzip,hostname,initscripts,insserv,libacl1,libattr1,libblkid1,libbz2-1.0,libc-bin,libc6,libcom-err2,libdb5.3,libgcc1,liblzma5,libmount1,libncurses5,libpam-modules,libpcre3,libsmartcols1,libperl5.28,libdebconfclient0,libpam-modules-bin,libpam-runtime,libpam0g,libreadline7,libselinux1,libsemanage-common,libsemanage1,libsepol1,libsigsegv2,libslang2,libss2,libtinfo6,libustr-1.0-1,libuuid1,login,lsb-base,mount,multiarch-support,ncurses-base,ncurses-bin,passwd,perl-base,readline-common,sed,sensible-utils,sysv-rc,init-system-helpers,sysvinit-utils,tar,tzdata,util-linux,zlib1g,xz-utils,libdevmapper1.02.1,debhelper,build-essential,man-db,autotools-dev,po-debconf,dwz,dh-autoreconf,dh-strip-nondeterminism,dpkg-dev,file,libdpkg-perl,libc6-dev,gcc,g%2B%2B,perl-modules-5.28,bsdmainutils,libgdbm6,libseccomp2,groff-base,libpipeline1,gettext,intltool-debian,libelf1,autoconf,automake,autopoint,libtool,libfile-stripnondeterminism-perl,binutils,bzip2,patch,libmagic1,linux-libc-dev,libc-dev-bin,cpp,gcc-8,g%2B%2B-8,libgdbm-compat4,libbsd0,libstdc%2B%2B6,libuchardet0,gettext-base,libglib2.0-0,libncurses6,libgomp1,libunistring2,libcroco3,libxml2,m4,libarchive-zip-perl,binutils-common,libbinutils,binutils-arm-linux-gnueabihf,libmagic-mgc,cpp-8,libmpc3,libmpfr6,libisl19,libgmp10,libgcc-8-dev,libcc1-0,libstdc%2B%2B-8-dev,libsystemd0,libffi6,libicu63,libatomic1,libasan5,libubsan1,libgcrypt20,liblz4-1,libgpg-error0,make,cpio,fakeroot,less,kmod,net-tools,procps,psmisc,strace,vim,adduser,libext2fs2,libtinfo5,libaudit1,startpar,fdisk,libudev1,libcap-ng0,libfakeroot,libssl1.1,libkmod2,libncursesw6,libprocps7,libgpm2,vim-common,vim-runtime,libaudit-common,libfdisk1,xxd) (worker was armbuild18:2) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 12 10:19:39 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 12 Mar 2021 10:19:39 +0000 Subject: Build failure of network:osmocom:nightly/open5gs in Raspbian_10/armv7l In-Reply-To: References: Message-ID: <604b42c23a1fb_57e52b18cc7d25fc5530f8@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/open5gs/Raspbian_10/armv7l Package network:osmocom:nightly/open5gs failed to build in Raspbian_10/armv7l Check out the package for editing: osc checkout network:osmocom:nightly open5gs Last lines of build log: 400 remote error: unknown parameter 'now' (http://back-other-opensuse:5253/getbinaries?workerid=armbuild14:2&project=network:osmocom:nightly&repository=Raspbian_10&arch=armv7l&module=python27-2.7&module=python36-3.6&now=1615544375&binaries=base-passwd,user-setup,perl,base-files,bash,bsdutils,coreutils,dash,debconf,debianutils,diffutils,dpkg,e2fslibs,e2fsprogs,findutils,gawk,gcc-8-base,grep,gzip,hostname,initscripts,insserv,libacl1,libattr1,libblkid1,libbz2-1.0,libc-bin,libc6,libcom-err2,libdb5.3,libgcc1,liblzma5,libmount1,libncurses5,libpam-modules,libpcre3,libsmartcols1,libperl5.28,libdebconfclient0,libpam-modules-bin,libpam-runtime,libpam0g,libreadline7,libselinux1,libsemanage-common,libsemanage1,libsepol1,libsigsegv2,libslang2,libss2,libtinfo6,libustr-1.0-1,libuuid1,login,lsb-base,mount,multiarch-support,ncurses-base,ncurses-bin,passwd,perl-base,readline-common,sed,sensible-utils,sysv-rc,init-system-helpers,sysvinit-utils,tar,tzdata,util-linux,zlib1g,xz-utils,libdevmapper1.02.1,debhelper,git,pkg-config,meson,flex,bison,libgnutls28-dev,libssl-dev,libidn11-dev,libmongoc-dev,libbson-dev,libsctp-dev,libyaml-dev,libmicrohttpd-dev,libcurl4-gnutls-dev,libnghttp2-dev,build-essential,libgcrypt20-dev,man-db,autotools-dev,po-debconf,dwz,dh-autoreconf,dh-strip-nondeterminism,dpkg-dev,file,libdpkg-perl,liberror-perl,libexpat1,libpcre2-8-0,libcurl3-gnutls,git-man,libglib2.0-0,python3-pkg-resources,python3,ninja-build,m4,libbison-dev,libidn2-dev,libtasn1-6-dev,libc6-dev,libgnutls30,libgnutls-dane0,libgnutls-openssl27,libgnutlsxx28,libp11-kit-dev,nettle-dev,libssl1.1,libidn11,zlib1g-dev,libsnappy-dev,libmongoc-1.0-0,libbson-1.0-0,libsctp1,libyaml-0-2,libmicrohttpd12,libnghttp2-14,gcc,g%2B%2B,libgpg-error-dev,libgcrypt20,perl-modules-5.28,bsdmainutils,libgdbm6,libseccomp2,groff-base,libpipeline1,gettext,intltool-debian,libelf1,autoconf,automake,autopoint,libtool,libfile-stripnondeterminism-perl,binutils,bzip2,patch,libmagic1,libnettle6,libldap-2.4-2,libk5crypto3,libkrb5-3,libgssapi-krb5-2,libidn2-0,libpsl5,libssh2-1,librtmp1,libffi6,libpython3-stdlib,python3.7,python3-minimal,libstdc%2B%2B6,libtasn1-6,linux-libc-dev,libc-dev-bin,libunistring2,libp11-kit0,libgmp10,libhogweed4,libunbound8,libgmp-dev,libsnappy1v5,libicu63,libsasl2-2,cpp,gcc-8,g%2B%2B-8,libgpg-error0,libgdbm-compat4,libtinfo5,libbsd0,libuchardet0,gettext-base,libgomp1,libncurses6,libcroco3,libxml2,libarchive-zip-perl,binutils-common,libbinutils,binutils-arm-linux-gnueabihf,libmagic-mgc,libldap-common,libkeyutils1,libkrb5support0,libpython3.7-stdlib,mime-support,python3.7-minimal,libevent-2.1-6,libgmpxx4ldbl,libsasl2-modules-db,cpp-8,libmpc3,libmpfr6,libisl19,libgcc-8-dev,libcc1-0,libstdc%2B%2B-8-dev,libsystemd0,libfl2,libmpdec2,libncursesw6,libsqlite3-0,libpython3.7-minimal,libatomic1,libasan5,libubsan1,liblz4-1,make,cpio,fakeroot,less,kmod,net-tools,procps,psmisc,strace,vim,adduser,libext2fs2,libaudit1,startpar,fdisk,libudev1,libcap-ng0,libfakeroot,libkmod2,libprocps7,libgpm2,vim-common,vim-runtime,libaudit-common,libfdisk1,xxd) (worker was armbuild14:2) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 12 10:19:54 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 12 Mar 2021 10:19:54 +0000 Subject: Build failure of network:osmocom:latest/osmo-ggsn in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <604b42cebb56c_57e52b18cc7d25fc554287@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-ggsn/openSUSE_Factory_ARM/armv7l Package network:osmocom:latest/osmo-ggsn failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:latest osmo-ggsn Last lines of build log: 400 remote error: unknown parameter 'now' (http://back-other-opensuse:5253/getbinaries?workerid=obs-arm-5:6&project=network:osmocom:latest&repository=openSUSE_Factory_ARM&arch=armv7l&module=python27-2.7&module=python36-3.6&now=1615544378&binaries=liblua5_4-5,aaa_base,attr,bash,coreutils,diffutils,filesystem,fillup,glibc,grep,libbz2-1,libgcc_s1,libncurses6,pam,permissions,rpm,rpm-config-SUSE,sed,tar,libz1,libselinux1,libgcrypt20,libgpg-error0,liblzma5,libcap2,libacl1,libattr1,libpopt0,libelf1,libpcre1,libzstd1,libreadline8,util-linux,libmount1,perl-base,libdb-4_8,libsepol1,libblkid1,libuuid1,libsmartcols1,libcrypt1,kernel-obs-build,iproute2,libmnl0,libtool,systemd-rpm-macros,rpm-build,gcc-PIE,pkgconf-pkg-config,libgtpnl-devel,libosmocore-devel,libosmoctrl-devel,libosmovty-devel,automake,libltdl7,m4,findutils,glibc-devel,make,cpio,xz,gcc,file,gawk,bzip2,gzip,binutils,libdw1,patch,which,glibc-locale,dwz,librpmbuild9,pkgconf-m4,pkgconf,osmocom-latest,libgtpnl0,libtalloc-devel,libosmocore17,libosmogsm-devel,libosmoctrl0,libosmovty9,autoconf,update-alternatives,linux-glibc-devel,libxcrypt-devel,libaudit1,libcap-ng0,libutempter0,libeconf0,libfdisk1,shadow,system-group-hardware,gcc10,cpp,libmagic1,libctf-nobfd0,libctf0,glibc-locale-base,rpm-build-perl,libpkgconf3,libtalloc2,lksctp-tools,libosmogsm16,libgdbm6,libgdbm_compat4,system-user-root,terminfo-base,libsemanage1,chkstat,permissions-config,sysuser-shadow,libgmp10,libmpfr6,libmpc3,libisl23,cpp10,file-magic,gettext-tools-mini,libstdc%2B%2B6,libgomp1,libsystemd0-mini,pam_unix,libasan6,libatomic1,libitm1,libubsan1,gettext-runtime-mini,perl,build-mkbaselibs,brp-check-suse,post-build-checks,rpmlint-Factory,hostname,build-compare,ncurses-utils,aaa_base-malloccheck,rpmlint-mini,libexpat1) (worker was obs-arm-5:6) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 12 10:21:37 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 12 Mar 2021 10:21:37 +0000 Subject: Build failure of network:osmocom:nightly/osmo-pcap in Debian_10/armv7l In-Reply-To: References: Message-ID: <604b4366578a7_57e52b18cc7d25fc564969@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-pcap/Debian_10/armv7l Package network:osmocom:nightly/osmo-pcap failed to build in Debian_10/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-pcap Last lines of build log: 400 remote error: unknown parameter 'now' (http://back-other-opensuse:5253/getbinaries?workerid=armbuild10:1&project=network:osmocom:nightly&repository=Debian_10&arch=armv7l&module=python27-2.7&module=python36-3.6&now=1615544490&binaries=base-passwd,user-setup,perl,base-files,bash,bsdutils,coreutils,dash,debconf,debianutils,diffutils,dpkg,e2fslibs,e2fsprogs,findutils,gawk,gcc-8-base,grep,gzip,hostname,initscripts,insserv,libacl1,libattr1,libblkid1,libbz2-1.0,libc-bin,libc6,libcom-err2,libdb5.3,libgcc1,liblzma5,libmount1,libncurses5,libpam-modules,libpcre3,libsmartcols1,libperl5.28,libdebconfclient0,libpam-modules-bin,libpam-runtime,libpam0g,libreadline7,libselinux1,libsemanage-common,libsemanage1,libsepol1,libsigsegv2,libslang2,libss2,libtinfo6,libustr-1.0-1,libuuid1,login,lsb-base,mount,multiarch-support,ncurses-base,ncurses-bin,passwd,perl-base,readline-common,sed,sensible-utils,sysv-rc,init-system-helpers,sysvinit-utils,tar,tzdata,util-linux,zlib1g,xz-utils,libdevmapper1.02.1,debhelper,dh-autoreconf,autotools-dev,libpcap0.8-dev,pkg-config,libosmocore-dev,libgnutls28-dev,libzmq3-dev,build-essential,man-db,po-debconf,dwz,dh-strip-nondeterminism,dpkg-dev,file,libdpkg-perl,autoconf,automake,autopoint,libtool,libc6-dev,libpcap0.8,libglib2.0-0,libosmocore,libtalloc-dev,osmocom-nightly,libidn2-dev,libtasn1-6-dev,libgnutls30,libgnutls-openssl27,libgnutlsxx28,libgnutls-dane0,libp11-kit-dev,nettle-dev,libkrb5-dev,libsodium-dev,libnorm-dev,libzmq5,libpgm-dev,gcc,g%2B%2B,perl-modules-5.28,bsdmainutils,libgdbm6,libseccomp2,groff-base,libpipeline1,gettext,intltool-debian,libelf1,libfile-stripnondeterminism-perl,binutils,bzip2,patch,libmagic1,m4,cpp,linux-libc-dev,libc-dev-bin,libffi6,libosmocodec0,libosmogb12,libosmousb0,libosmocoding0,libosmocore17,libosmogsm16,libosmovty9,libosmoctrl0,libosmosim2,libtalloc2,libidn2-0,libtasn1-6,libunistring2,libnettle6,libp11-kit0,libgmp10,libhogweed4,libstdc%2B%2B6,libunbound8,libgmp-dev,krb5-multidev,libsodium23,libnorm1,libgssapi-krb5-2,libpgm-5.2-0,gcc-8,g%2B%2B-8,libgdbm-compat4,libbsd0,libuchardet0,gettext-base,libncurses6,libgomp1,libcroco3,libxml2,libarchive-zip-perl,binutils-common,libbinutils,binutils-arm-linux-gnueabihf,libmagic-mgc,cpp-8,libusb-1.0-0,libsystemd0,libmnl0,libsctp1,libpcsclite1,libevent-2.1-6,libgmpxx4ldbl,comerr-dev,libkrb5-3,libk5crypto3,libgssrpc4,libkadm5srv-mit11,libkadm5clnt-mit11,libkeyutils1,libkrb5support0,libmpc3,libmpfr6,libisl19,libgcc-8-dev,libcc1-0,libstdc%2B%2B-8-dev,libicu63,libudev1,libgcrypt20,liblz4-1,libssl1.1,libkdb5-9,libatomic1,libasan5,libubsan1,libgpg-error0,make,cpio,fakeroot,less,kmod,net-tools,procps,psmisc,strace,vim,adduser,libext2fs2,libtinfo5,libaudit1,startpar,fdisk,libcap-ng0,libfakeroot,libkmod2,libncursesw6,libprocps7,libgpm2,vim-common,vim-runtime,libaudit-common,libfdisk1,xxd) (worker was armbuild10:1) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 12 10:21:37 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 12 Mar 2021 10:21:37 +0000 Subject: Build failure of network:osmocom:nightly/neocon in Raspbian_10/armv7l In-Reply-To: References: Message-ID: <604b4366c1a1a_57e52b18cc7d25fc565086@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/neocon/Raspbian_10/armv7l Package network:osmocom:nightly/neocon failed to build in Raspbian_10/armv7l Check out the package for editing: osc checkout network:osmocom:nightly neocon Last lines of build log: 400 remote error: unknown parameter 'now' (http://back-other-opensuse:5253/getbinaries?workerid=armbuild19:1&project=network:osmocom:nightly&repository=Raspbian_10&arch=armv7l&module=python27-2.7&module=python36-3.6&now=1615544490&binaries=base-passwd,user-setup,perl,base-files,bash,bsdutils,coreutils,dash,debconf,debianutils,diffutils,dpkg,e2fslibs,e2fsprogs,findutils,gawk,gcc-8-base,grep,gzip,hostname,initscripts,insserv,libacl1,libattr1,libblkid1,libbz2-1.0,libc-bin,libc6,libcom-err2,libdb5.3,libgcc1,liblzma5,libmount1,libncurses5,libpam-modules,libpcre3,libsmartcols1,libperl5.28,libdebconfclient0,libpam-modules-bin,libpam-runtime,libpam0g,libreadline7,libselinux1,libsemanage-common,libsemanage1,libsepol1,libsigsegv2,libslang2,libss2,libtinfo6,libustr-1.0-1,libuuid1,login,lsb-base,mount,multiarch-support,ncurses-base,ncurses-bin,passwd,perl-base,readline-common,sed,sensible-utils,sysv-rc,init-system-helpers,sysvinit-utils,tar,tzdata,util-linux,zlib1g,xz-utils,libdevmapper1.02.1,debhelper,build-essential,man-db,autotools-dev,po-debconf,dwz,dh-autoreconf,dh-strip-nondeterminism,dpkg-dev,file,libdpkg-perl,libc6-dev,gcc,g%2B%2B,perl-modules-5.28,bsdmainutils,libgdbm6,libseccomp2,groff-base,libpipeline1,gettext,intltool-debian,libelf1,autoconf,automake,autopoint,libtool,libfile-stripnondeterminism-perl,binutils,bzip2,patch,libmagic1,linux-libc-dev,libc-dev-bin,cpp,gcc-8,g%2B%2B-8,libgdbm-compat4,libtinfo5,libbsd0,libstdc%2B%2B6,libuchardet0,gettext-base,libglib2.0-0,libgomp1,libncurses6,libunistring2,libcroco3,libxml2,m4,libarchive-zip-perl,binutils-common,libbinutils,binutils-arm-linux-gnueabihf,libmagic-mgc,cpp-8,libmpc3,libmpfr6,libgmp10,libisl19,libgcc-8-dev,libcc1-0,libstdc%2B%2B-8-dev,libsystemd0,libffi6,libicu63,libfl2,libatomic1,libasan5,libubsan1,libgcrypt20,liblz4-1,libgpg-error0,make,cpio,fakeroot,less,kmod,net-tools,procps,psmisc,strace,vim,adduser,libext2fs2,libaudit1,startpar,fdisk,libudev1,libcap-ng0,libfakeroot,libssl1.1,libkmod2,libncursesw6,libprocps7,libgpm2,vim-common,vim-runtime,libaudit-common,libfdisk1,xxd) (worker was armbuild19:1) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 12 10:21:37 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 12 Mar 2021 10:21:37 +0000 Subject: Build failure of network:osmocom:latest/osmo-sgsn in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <604b4365e1372_57e52b18cc7d25fc564841@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-sgsn/openSUSE_Factory_ARM/armv7l Package network:osmocom:latest/osmo-sgsn failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:latest osmo-sgsn Last lines of build log: 400 remote error: unknown parameter 'now' (http://back-other-opensuse:5253/getbinaries?workerid=armbuild13:2&project=network:osmocom:latest&repository=openSUSE_Factory_ARM&arch=armv7l&module=python27-2.7&module=python36-3.6&now=1615544489&binaries=liblua5_4-5,aaa_base,attr,bash,coreutils,diffutils,filesystem,fillup,glibc,grep,libbz2-1,libgcc_s1,libncurses6,pam,permissions,rpm,rpm-config-SUSE,sed,tar,libz1,libselinux1,libgcrypt20,libgpg-error0,liblzma5,libcap2,libacl1,libattr1,libpopt0,libelf1,libpcre1,libzstd1,libreadline8,util-linux,libmount1,perl-base,libdb-4_8,libsepol1,libblkid1,libuuid1,libsmartcols1,libcrypt1,kernel-obs-build,iproute2,libmnl0,autoconf,automake,libtool,systemd-rpm-macros,rpm-build,gcc-PIE,pkgconf-pkg-config,c-ares-devel,libgtp-devel,libosmo-gsup-client-devel,libosmonetif-devel,libosmoabis-devel,libosmocore-devel,libosmoctrl-devel,libosmogb-devel,libosmogsm-devel,libosmovty-devel,libasn1c-devel,libosmo-ranap-devel,libosmo-sigtran-devel,m4,libltdl7,findutils,glibc-devel,make,cpio,xz,gcc,file,gawk,bzip2,gzip,binutils,libdw1,patch,which,glibc-locale,dwz,librpmbuild9,rpm-build-perl,pkgconf-m4,pkgconf,libcares2,osmocom-latest,libgtp6,libosmocore17,libtalloc2,libosmogsm16,libosmo-gsup-client0,libosmonetif8,libosmoabis10,libtalloc-devel,libosmoctrl0,libosmogb12,libosmovty9,libasn1c1,libosmo-ranap3,libosmo-sigtran5,libgdbm6,libgdbm_compat4,update-alternatives,linux-glibc-devel,libxcrypt-devel,libaudit1,libcap-ng0,libutempter0,libeconf0,libfdisk1,shadow,system-group-hardware,gcc10,cpp,libmagic1,libctf-nobfd0,libctf0,glibc-locale-base,libpkgconf3,libnss_usrfiles2,netcfg,lksctp-tools,system-user-root,terminfo-base,libsemanage1,chkstat,permissions-config,sysuser-shadow,libgmp10,libmpfr6,libmpc3,libisl23,cpp10,file-magic,libopenssl-devel,gettext-tools-mini,libstdc%2B%2B6,libgomp1,libsystemd0-mini,pam_unix,libasan6,libatomic1,libitm1,libubsan1,libopenssl1_1,libopenssl-1_1-devel,openssl,gettext-runtime-mini,openssl-1_1,crypto-policies,perl,build-mkbaselibs,brp-check-suse,post-build-checks,rpmlint-Factory,hostname,build-compare,ncurses-utils,aaa_base-malloccheck,rpmlint-mini,libexpat1) (worker was armbuild13:2) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 12 10:24:12 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 12 Mar 2021 10:24:12 +0000 Subject: Build failure of network:osmocom:nightly/osmo-pcap in Raspbian_10/armv7l In-Reply-To: References: Message-ID: <604b444053d00_57e52b18cc7d25fc57702@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-pcap/Raspbian_10/armv7l Package network:osmocom:nightly/osmo-pcap failed to build in Raspbian_10/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-pcap Last lines of build log: 400 remote error: unknown parameter 'now' (http://back-other-opensuse:5253/getbinaries?workerid=armbuild13:1&project=network:osmocom:nightly&repository=Raspbian_10&arch=armv7l&module=python27-2.7&module=python36-3.6&now=1615544641&binaries=base-passwd,user-setup,perl,base-files,bash,bsdutils,coreutils,dash,debconf,debianutils,diffutils,dpkg,e2fslibs,e2fsprogs,findutils,gawk,gcc-8-base,grep,gzip,hostname,initscripts,insserv,libacl1,libattr1,libblkid1,libbz2-1.0,libc-bin,libc6,libcom-err2,libdb5.3,libgcc1,liblzma5,libmount1,libncurses5,libpam-modules,libpcre3,libsmartcols1,libperl5.28,libdebconfclient0,libpam-modules-bin,libpam-runtime,libpam0g,libreadline7,libselinux1,libsemanage-common,libsemanage1,libsepol1,libsigsegv2,libslang2,libss2,libtinfo6,libustr-1.0-1,libuuid1,login,lsb-base,mount,multiarch-support,ncurses-base,ncurses-bin,passwd,perl-base,readline-common,sed,sensible-utils,sysv-rc,init-system-helpers,sysvinit-utils,tar,tzdata,util-linux,zlib1g,xz-utils,libdevmapper1.02.1,debhelper,dh-autoreconf,autotools-dev,libpcap0.8-dev,pkg-config,libosmocore-dev,libgnutls28-dev,libzmq3-dev,build-essential,man-db,po-debconf,dwz,dh-strip-nondeterminism,dpkg-dev,file,libdpkg-perl,autoconf,automake,autopoint,libtool,libc6-dev,libpcap0.8,libglib2.0-0,libosmocore,libtalloc-dev,osmocom-nightly,libidn2-dev,libtasn1-6-dev,libgnutls30,libgnutls-dane0,libgnutls-openssl27,libgnutlsxx28,libp11-kit-dev,nettle-dev,libkrb5-dev,libsodium-dev,libnorm-dev,libzmq5,libpgm-dev,gcc,g%2B%2B,perl-modules-5.28,bsdmainutils,libgdbm6,libseccomp2,groff-base,libpipeline1,gettext,intltool-debian,libelf1,libfile-stripnondeterminism-perl,binutils,bzip2,patch,libmagic1,m4,cpp,linux-libc-dev,libc-dev-bin,libffi6,libosmogsm16,libosmoctrl0,libosmosim2,libosmousb0,libosmocoding0,libosmovty9,libosmocodec0,libosmocore17,libosmogb12,libtalloc2,libidn2-0,libtasn1-6,libunistring2,libnettle6,libp11-kit0,libgmp10,libhogweed4,libunbound8,libstdc%2B%2B6,libgmp-dev,krb5-multidev,libsodium23,libnorm1,libgssapi-krb5-2,libpgm-5.2-0,gcc-8,g%2B%2B-8,libgdbm-compat4,libtinfo5,libbsd0,libuchardet0,gettext-base,libgomp1,libncurses6,libcroco3,libxml2,libarchive-zip-perl,binutils-common,libbinutils,binutils-arm-linux-gnueabihf,libmagic-mgc,cpp-8,libsystemd0,libmnl0,libsctp1,libpcsclite1,libusb-1.0-0,libevent-2.1-6,libgmpxx4ldbl,comerr-dev,libkrb5-3,libk5crypto3,libgssrpc4,libkadm5srv-mit11,libkadm5clnt-mit11,libkeyutils1,libkrb5support0,libmpc3,libmpfr6,libisl19,libgcc-8-dev,libcc1-0,libstdc%2B%2B-8-dev,libicu63,libfl2,libgcrypt20,liblz4-1,libudev1,libssl1.1,libkdb5-9,libatomic1,libasan5,libubsan1,libgpg-error0,make,cpio,fakeroot,less,kmod,net-tools,procps,psmisc,strace,vim,adduser,libext2fs2,libaudit1,startpar,fdisk,libcap-ng0,libfakeroot,libkmod2,libncursesw6,libprocps7,libgpm2,vim-common,vim-runtime,libaudit-common,libfdisk1,xxd) (worker was armbuild13:1) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 12 10:24:13 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 12 Mar 2021 10:24:13 +0000 Subject: Build failure of network:osmocom:latest/osmo-pcu in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <604b444b92995_57e52b18cc7d25fc578243@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-pcu/openSUSE_Factory_ARM/armv7l Package network:osmocom:latest/osmo-pcu failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:latest osmo-pcu Last lines of build log: 400 remote error: unknown parameter 'now' (http://back-other-opensuse:5253/getbinaries?workerid=armbuild02:1&project=network:osmocom:latest&repository=openSUSE_Factory_ARM&arch=armv7l&module=python27-2.7&module=python36-3.6&now=1615544643&binaries=liblua5_4-5,aaa_base,attr,bash,coreutils,diffutils,filesystem,fillup,glibc,grep,libbz2-1,libgcc_s1,libncurses6,pam,permissions,rpm,rpm-config-SUSE,sed,tar,libz1,libselinux1,libgcrypt20,libgpg-error0,liblzma5,libcap2,libacl1,libattr1,libpopt0,libelf1,libpcre1,libzstd1,libreadline8,util-linux,libmount1,perl-base,libdb-4_8,libsepol1,libblkid1,libuuid1,libsmartcols1,libcrypt1,kernel-obs-build,iproute2,libmnl0,autoconf,automake,gcc-c%2B%2B,libtool,systemd-rpm-macros,rpm-build,gcc-PIE,pkgconf-pkg-config,libosmocore-devel,libosmogb-devel,libosmogsm-devel,libosmovty-devel,libosmoctrl-devel,m4,gcc10-c%2B%2B,gcc,libltdl7,findutils,glibc-devel,make,cpio,xz,file,gawk,bzip2,gzip,binutils,libdw1,patch,which,glibc-locale,dwz,librpmbuild9,rpm-build-perl,pkgconf-m4,pkgconf,osmocom-latest,libtalloc-devel,libosmocore17,libosmogb12,libosmogsm16,libosmovty9,libosmoctrl0,libgdbm6,libgdbm_compat4,libgmp10,libmpfr6,libmpc3,libisl23,gcc10,libstdc%2B%2B6-devel-gcc10,cpp,update-alternatives,linux-glibc-devel,libxcrypt-devel,libaudit1,libcap-ng0,libutempter0,libeconf0,libfdisk1,shadow,system-group-hardware,libmagic1,libctf-nobfd0,libctf0,glibc-locale-base,libpkgconf3,libtalloc2,lksctp-tools,cpp10,system-user-root,terminfo-base,libsemanage1,chkstat,permissions-config,sysuser-shadow,file-magic,gettext-tools-mini,libstdc%2B%2B6,libgomp1,libsystemd0-mini,libasan6,libatomic1,libitm1,libubsan1,pam_unix,gettext-runtime-mini,perl,build-mkbaselibs,brp-check-suse,post-build-checks,rpmlint-Factory,hostname,build-compare,ncurses-utils,aaa_base-malloccheck,rpmlint-mini,libexpat1) (worker was armbuild02:1) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 12 10:25:55 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 12 Mar 2021 10:25:55 +0000 Subject: Build failure of network:osmocom:latest/osmo-pcap in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <604b44ec5d4d2_57e52b18cc7d25fc593540@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-pcap/openSUSE_Factory_ARM/armv7l Package network:osmocom:latest/osmo-pcap failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:latest osmo-pcap Last lines of build log: 400 remote error: unknown parameter 'now' (http://back-other-opensuse:5253/getbinaries?workerid=armbuild21:1&project=network:osmocom:latest&repository=openSUSE_Factory_ARM&arch=armv7l&module=python27-2.7&module=python36-3.6&now=1615544744&binaries=liblua5_4-5,aaa_base,attr,bash,coreutils,diffutils,filesystem,fillup,glibc,grep,libbz2-1,libgcc_s1,libncurses6,pam,permissions,rpm,rpm-config-SUSE,sed,tar,libz1,libselinux1,libgcrypt20,libgpg-error0,liblzma5,libcap2,libacl1,libattr1,libpopt0,libelf1,libpcre1,libzstd1,libreadline8,util-linux,libmount1,perl-base,libdb-4_8,libsepol1,libblkid1,libuuid1,libsmartcols1,libcrypt1,kernel-obs-build,iproute2,libmnl0,autoconf,automake,libpcap-devel,libtool,systemd-rpm-macros,rpm-build,gcc-PIE,pkgconf-pkg-config,libgnutls-devel,libosmocore-devel,libosmogb-devel,libosmogsm-devel,libosmovty-devel,zeromq-devel,m4,glibc-devel,libpcap1,libltdl7,findutils,make,cpio,xz,gcc,file,gawk,bzip2,gzip,binutils,libdw1,patch,which,glibc-locale,dwz,librpmbuild9,rpm-build-perl,pkgconf-m4,pkgconf,libnettle-devel,p11-kit-devel,libtasn1-devel,libidn2-devel,libgnutls30,osmocom-latest,libtalloc-devel,libosmocore17,libosmogb12,libosmogsm16,libosmovty9,libunwind-devel,libsodium-devel,libzmq5,libgdbm6,libgdbm_compat4,linux-glibc-devel,libxcrypt-devel,libdbus-1-3,libnl3-200,update-alternatives,libaudit1,libcap-ng0,libutempter0,libeconf0,libfdisk1,shadow,system-group-hardware,gcc10,cpp,libmagic1,libctf-nobfd0,libctf0,glibc-locale-base,libpkgconf3,gmp-devel,libhogweed6,libnettle8,libp11-kit0,libtasn1-6,libidn2-0,libgmp10,libunistring2,libtalloc2,lksctp-tools,libunwind,libsodium23,libnl-config,system-user-root,terminfo-base,libsemanage1,chkstat,permissions-config,sysuser-shadow,libmpfr6,libmpc3,libisl23,cpp10,file-magic,libgmpxx4,libffi8,libtasn1,gettext-tools-mini,libstdc%2B%2B6,libgomp1,libsystemd0-mini,pam_unix,libasan6,libatomic1,libitm1,libubsan1,gettext-runtime-mini,perl,build-mkbaselibs,brp-check-suse,post-build-checks,rpmlint-Factory,hostname,build-compare,ncurses-utils,aaa_base-malloccheck,rpmlint-mini,libexpat1) (worker was armbuild21:1) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 12 10:27:54 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 12 Mar 2021 10:27:54 +0000 Subject: Build failure of network:osmocom:latest/osmo-sip-connector in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <604b45a934347_57e52b18cc7d25fc6075f9@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-sip-connector/openSUSE_Factory_ARM/armv7l Package network:osmocom:latest/osmo-sip-connector failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:latest osmo-sip-connector Last lines of build log: 400 remote error: unknown parameter 'now' (http://back-other-opensuse:5253/getbinaries?workerid=armbuild24:1&project=network:osmocom:latest&repository=openSUSE_Factory_ARM&arch=armv7l&module=python27-2.7&module=python36-3.6&now=1615544856&binaries=liblua5_4-5,aaa_base,attr,bash,coreutils,diffutils,filesystem,fillup,glibc,grep,libbz2-1,libgcc_s1,libncurses6,pam,permissions,rpm,rpm-config-SUSE,sed,tar,libz1,libselinux1,libgcrypt20,libgpg-error0,liblzma5,libcap2,libacl1,libattr1,libpopt0,libelf1,libpcre1,libzstd1,libreadline8,util-linux,libmount1,perl-base,libdb-4_8,libsepol1,libblkid1,libuuid1,libsmartcols1,libcrypt1,kernel-obs-build,iproute2,libmnl0,autoconf,automake,libtool,systemd-rpm-macros,rpm-build,gcc-PIE,pkgconf-pkg-config,libosmocore-devel,libosmogsm-devel,libosmovty-devel,sofia-sip-devel,m4,libltdl7,findutils,glibc-devel,make,cpio,xz,gcc,file,gawk,bzip2,gzip,binutils,libdw1,patch,which,glibc-locale,dwz,librpmbuild9,rpm-build-perl,pkgconf-m4,pkgconf,osmocom-latest,libtalloc-devel,libosmocore17,libosmogsm16,libosmovty9,glib2-devel,libopenssl-devel,libsofia-sip-ua-glib3,libsofia-sip-ua0,libgdbm6,libgdbm_compat4,update-alternatives,linux-glibc-devel,libxcrypt-devel,libaudit1,libcap-ng0,libutempter0,libeconf0,libfdisk1,shadow,system-group-hardware,gcc10,cpp,libmagic1,libctf-nobfd0,libctf0,glibc-locale-base,libpkgconf3,libtalloc2,lksctp-tools,libglib-2_0-0,libgobject-2_0-0,libgio-2_0-0,python38-base,zlib-devel,libselinux-devel,libmount-devel,libffi-devel,pcre-devel,glib2-tools,libgmodule-2_0-0,libgthread-2_0-0,libopenssl1_1,libopenssl-1_1-devel,openssl,system-user-root,terminfo-base,libsemanage1,chkstat,permissions-config,sysuser-shadow,libgmp10,libmpfr6,libmpc3,libisl23,cpp10,file-magic,rpm-build-python,libffi8,shared-mime-info,libpython3_8-1_0,libexpat1,libsepol-devel,libblkid-devel,libstdc%2B%2B-devel,libpcre16-0,libpcrecpp0,libpcreposix0,openssl-1_1,python-rpm-macros,libxml2-2,libstdc%2B%2B6-devel-gcc10,crypto-policies,gettext-tools-mini,libstdc%2B%2B6,libgomp1,libsystemd0-mini,pam_unix,libasan6,libatomic1,libitm1,libubsan1,gio-branding-upstream,gettext-runtime-mini,perl,build-mkbaselibs,brp-check-suse,post-build-checks,rpmlint-Factory,hostname,build-compare,ncurses-utils,aaa_base-malloccheck,rpmlint-mini) (worker was armbuild24:1) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 12 10:29:03 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 12 Mar 2021 10:29:03 +0000 Subject: Build failure of network:osmocom:nightly/orcania in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <604b4642151c4_57e52b18cc7d25fc6210da@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/orcania/openSUSE_Factory_ARM/armv7l Package network:osmocom:nightly/orcania failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:nightly orcania Last lines of build log: 400 remote error: unknown parameter 'now' (http://back-other-opensuse:5253/getbinaries?workerid=armbuild24:1&project=network:osmocom:nightly&repository=openSUSE_Factory_ARM&arch=armv7l&module=python27-2.7&module=python36-3.6&now=1615544937&binaries=liblua5_4-5,aaa_base,attr,bash,coreutils,diffutils,filesystem,fillup,glibc,grep,libbz2-1,libgcc_s1,libncurses6,pam,permissions,rpm,rpm-config-SUSE,sed,tar,libz1,libselinux1,libgcrypt20,libgpg-error0,liblzma5,libcap2,libacl1,libattr1,libpopt0,libelf1,libpcre1,libzstd1,libreadline8,zlib-devel,util-linux,libmount1,perl-base,libdb-4_8,libsepol1,libblkid1,libuuid1,libsmartcols1,libcrypt1,kernel-obs-build,iproute2,libmnl0,cmake,gcc-c%2B%2B,rpm-build,gcc-PIE,pkgconf-pkg-config,gcc10-c%2B%2B,gcc,findutils,glibc-devel,make,cpio,xz,file,gawk,bzip2,gzip,binutils,libdw1,patch,which,glibc-locale,dwz,librpmbuild9,systemd-rpm-macros,pkgconf-m4,pkgconf,libgmp10,libmpfr6,libmpc3,libisl23,gcc10,libstdc%2B%2B6-devel-gcc10,cpp,update-alternatives,linux-glibc-devel,libxcrypt-devel,libaudit1,libcap-ng0,libutempter0,libeconf0,libfdisk1,shadow,system-group-hardware,libmagic1,libctf-nobfd0,libctf0,glibc-locale-base,libpkgconf3,cpp10,system-user-root,terminfo-base,libsemanage1,chkstat,permissions-config,sysuser-shadow,file-magic,cmake-mini,gettext-tools-mini,libstdc%2B%2B6,libgomp1,libasan6,libatomic1,libitm1,libubsan1,pam_unix,python38-base,libopenssl1_1,libexpat1,libuv1,librhash0,gettext-runtime-mini,rpm-build-python,libpython3_8-1_0,libffi8,python-rpm-macros,perl,build-mkbaselibs,brp-check-suse,post-build-checks,rpmlint-Factory,hostname,build-compare,ncurses-utils,libgdbm6,libgdbm_compat4,aaa_base-malloccheck,rpmlint-mini,rpm-build-perl) (worker was armbuild24:1) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 12 10:30:12 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 12 Mar 2021 10:30:12 +0000 Subject: Build failure of network:osmocom:latest/osmo-gbproxy in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <604b46af805d9_57e52b18cc7d25fc630576@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-gbproxy/openSUSE_Factory_ARM/armv7l Package network:osmocom:latest/osmo-gbproxy failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:latest osmo-gbproxy Last lines of build log: 400 remote error: unknown parameter 'now' (http://back-other-opensuse:5253/getbinaries?workerid=armbuild22:8&project=network:osmocom:latest&repository=openSUSE_Factory_ARM&arch=armv7l&module=python27-2.7&module=python36-3.6&now=1615545002&binaries=liblua5_4-5,aaa_base,attr,bash,coreutils,diffutils,filesystem,fillup,glibc,grep,libbz2-1,libgcc_s1,libncurses6,pam,permissions,rpm,rpm-config-SUSE,sed,tar,libz1,libselinux1,libgcrypt20,libgpg-error0,liblzma5,libcap2,libacl1,libattr1,libpopt0,libelf1,libpcre1,libzstd1,libreadline8,util-linux,libmount1,perl-base,libdb-4_8,libsepol1,libblkid1,libuuid1,libsmartcols1,libcrypt1,kernel-obs-build,iproute2,libmnl0,autoconf,automake,libtool,systemd-rpm-macros,rpm-build,gcc-PIE,pkgconf-pkg-config,libosmocore-devel,libosmoctrl-devel,libosmogb-devel,libosmogsm-devel,libosmovty-devel,m4,libltdl7,findutils,glibc-devel,make,cpio,xz,gcc,file,gawk,bzip2,gzip,binutils,libdw1,patch,which,glibc-locale,dwz,librpmbuild9,rpm-build-perl,pkgconf-m4,pkgconf,osmocom-latest,libtalloc-devel,libosmocore17,libosmoctrl0,libosmogb12,libosmogsm16,libosmovty9,libgdbm6,libgdbm_compat4,update-alternatives,linux-glibc-devel,libxcrypt-devel,libaudit1,libcap-ng0,libutempter0,libeconf0,libfdisk1,shadow,system-group-hardware,gcc10,cpp,libmagic1,libctf-nobfd0,libctf0,glibc-locale-base,libpkgconf3,libtalloc2,lksctp-tools,system-user-root,terminfo-base,libsemanage1,chkstat,permissions-config,sysuser-shadow,libgmp10,libmpfr6,libmpc3,libisl23,cpp10,file-magic,libopenssl-devel,gettext-tools-mini,libstdc%2B%2B6,libgomp1,libsystemd0-mini,pam_unix,libasan6,libatomic1,libitm1,libubsan1,libopenssl1_1,libopenssl-1_1-devel,openssl,gettext-runtime-mini,openssl-1_1,crypto-policies,perl,build-mkbaselibs,brp-check-suse,post-build-checks,rpmlint-Factory,hostname,build-compare,ncurses-utils,aaa_base-malloccheck,rpmlint-mini,libexpat1) (worker was armbuild22:8) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 12 10:31:03 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 12 Mar 2021 10:31:03 +0000 Subject: Build failure of network:osmocom:nightly/yder in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <604b47132b1bf_57e52b18cc7d25fc640816@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/yder/openSUSE_Factory_ARM/armv7l Package network:osmocom:nightly/yder failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:nightly yder Last lines of build log: 400 remote error: unknown parameter 'now' (http://back-other-opensuse:5253/getbinaries?workerid=obs-arm-6:7&project=network:osmocom:nightly&repository=openSUSE_Factory_ARM&arch=armv7l&module=python27-2.7&module=python36-3.6&now=1615545050&binaries=liblua5_4-5,aaa_base,attr,bash,coreutils,diffutils,filesystem,fillup,glibc,grep,libbz2-1,libgcc_s1,libncurses6,pam,permissions,rpm,rpm-config-SUSE,sed,tar,libz1,libselinux1,libgcrypt20,libgpg-error0,liblzma5,libcap2,libacl1,libattr1,libpopt0,libelf1,libpcre1,libzstd1,libreadline8,zlib-devel,util-linux,libmount1,perl-base,libdb-4_8,libsepol1,libblkid1,libuuid1,libsmartcols1,libcrypt1,kernel-obs-build,iproute2,libmnl0,cmake,gcc-c%2B%2B,rpm-build,gcc-PIE,pkgconf-pkg-config,orcania-devel,gcc10-c%2B%2B,gcc,findutils,glibc-devel,make,cpio,xz,file,gawk,bzip2,gzip,binutils,libdw1,patch,which,glibc-locale,dwz,librpmbuild9,systemd-rpm-macros,pkgconf-m4,pkgconf,liborcania2_1,libgmp10,libmpfr6,libmpc3,libisl23,gcc10,libstdc%2B%2B6-devel-gcc10,cpp,update-alternatives,linux-glibc-devel,libxcrypt-devel,libaudit1,libcap-ng0,libutempter0,libeconf0,libfdisk1,shadow,system-group-hardware,libmagic1,libctf-nobfd0,libctf0,glibc-locale-base,libpkgconf3,cpp10,system-user-root,terminfo-base,libsemanage1,chkstat,permissions-config,sysuser-shadow,file-magic,systemd-mini-devel,cmake-mini,gettext-tools-mini,libstdc%2B%2B6,libgomp1,libasan6,libatomic1,libitm1,libubsan1,pam_unix,libsystemd0-mini,python38-base,libopenssl1_1,libexpat1,libuv1,librhash0,gettext-runtime-mini,rpm-build-python,libpython3_8-1_0,libffi8,python-rpm-macros,perl,build-mkbaselibs,brp-check-suse,post-build-checks,rpmlint-Factory,hostname,build-compare,ncurses-utils,libgdbm6,libgdbm_compat4,aaa_base-malloccheck,rpmlint-mini,rpm-build-perl) (worker was obs-arm-6:7) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 12 10:31:55 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 12 Mar 2021 10:31:55 +0000 Subject: Build failure of network:osmocom:latest/osmo-bts in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <604b476421902_57e52b18cc7d25fc6456d1@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-bts/openSUSE_Factory_ARM/armv7l Package network:osmocom:latest/osmo-bts failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:latest osmo-bts Last lines of build log: 400 remote error: unknown parameter 'now' (http://back-other-opensuse:5253/getbinaries?workerid=obs-arm-6:14&project=network:osmocom:latest&repository=openSUSE_Factory_ARM&arch=armv7l&module=python27-2.7&module=python36-3.6&now=1615545109&binaries=liblua5_4-5,aaa_base,attr,bash,coreutils,diffutils,filesystem,fillup,glibc,grep,libbz2-1,libgcc_s1,libncurses6,pam,permissions,rpm,rpm-config-SUSE,sed,tar,libz1,libselinux1,libgcrypt20,libgpg-error0,liblzma5,libcap2,libacl1,libattr1,libpopt0,libelf1,libpcre1,libzstd1,libreadline8,util-linux,libmount1,perl-base,libdb-4_8,libsepol1,libblkid1,libuuid1,libsmartcols1,libcrypt1,kernel-obs-build,iproute2,libmnl0,autoconf,automake,libtool,systemd-rpm-macros,rpm-build,gcc-PIE,pkgconf-pkg-config,libosmoabis-devel,libosmocodec-devel,libosmocoding-devel,libosmocore-devel,libosmoctrl-devel,libosmogsm-devel,libosmotrau-devel,libosmovty-devel,libosmogb-devel,m4,libltdl7,findutils,glibc-devel,make,cpio,xz,gcc,file,gawk,bzip2,gzip,binutils,libdw1,patch,which,glibc-locale,dwz,librpmbuild9,rpm-build-perl,pkgconf-m4,pkgconf,osmocom-latest,libosmoabis10,libosmocodec0,libosmocoding0,libtalloc-devel,libosmocore17,libosmoctrl0,libosmogsm16,libosmotrau2,libosmovty9,libosmogb12,libgdbm6,libgdbm_compat4,update-alternatives,linux-glibc-devel,libxcrypt-devel,libaudit1,libcap-ng0,libutempter0,libeconf0,libfdisk1,shadow,system-group-hardware,gcc10,cpp,libmagic1,libctf-nobfd0,libctf0,glibc-locale-base,libpkgconf3,libtalloc2,lksctp-tools,libbctoolbox1,libortp15,system-user-root,terminfo-base,libsemanage1,chkstat,permissions-config,sysuser-shadow,libgmp10,libmpfr6,libmpc3,libisl23,cpp10,file-magic,libmbedcrypto6,libmbedx509-1,libmbedtls13,gettext-tools-mini,libstdc%2B%2B6,libgomp1,libsystemd0-mini,pam_unix,libasan6,libatomic1,libitm1,libubsan1,gettext-runtime-mini,perl,build-mkbaselibs,brp-check-suse,post-build-checks,rpmlint-Factory,hostname,build-compare,ncurses-utils,aaa_base-malloccheck,rpmlint-mini,libexpat1) (worker was obs-arm-6:14) -- 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 Mar 12 11:37:48 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 12 Mar 2021 11:37:48 +0000 Subject: Change in osmo-bsc[master]: Add vty command for Ericsson RBS2000 sync In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23317 ) Change subject: Add vty command for Ericsson RBS2000 sync ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/23317/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-bsc/+/23317/2//COMMIT_MSG at 9 PS2, Line 9: This commit adds support for Selection of syncronization source > erm, I'm not aware of any such rule ;) Well, at the end of line because the phrase ends there, which is of course a common ortographic rule ;) I'm saying because I really had to read this description several times to understand how to read the whole text. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23317 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia3d1acd6b3442238b35fc911092e12a6ac989adb Gerrit-Change-Number: 23317 Gerrit-PatchSet: 2 Gerrit-Owner: javi-tic Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-CC: keith Gerrit-CC: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 12 Mar 2021 11:37:48 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 12 11:44:40 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 12 Mar 2021 11:44:40 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: transmit PCUIF DATA.ind with len=0 when no UL data to transmit In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23256 ) Change subject: pcu: transmit PCUIF DATA.ind with len=0 when no UL data to transmit ...................................................................... Patch Set 2: Code-Review+2 Merging now, since it's being here waiting for days and I addresses fixeria's concerns. Otherwise ttcn3-pcu tests will fail due to DATA.ind TDMA clock osmo-pcu patches being merged. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23256 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib4f97a9bcfa68230945effeb6412218faa64ec78 Gerrit-Change-Number: 23256 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 12 Mar 2021 11:44:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 12 11:44:42 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 12 Mar 2021 11:44:42 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: transmit PCUIF DATA.ind with len=0 when no UL data to transmit In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23256 ) Change subject: pcu: transmit PCUIF DATA.ind with len=0 when no UL data to transmit ...................................................................... pcu: transmit PCUIF DATA.ind with len=0 when no UL data to transmit PCUIF will be updated to always send DATA.ind for each expected block FN on any activated PDCH slot, irrespective of whether valid data was received or not, similarly to what's done already for TRXDv1 NOPE.ind in TRXD and TCH channels in OsmoBTS. The aim at this change is to be able to track TDMA clock in an accurate way without hops, and hence be able to detect on time whether expected UL blocks (SF, RRBP poll) didn't arrive. Older osmo-pcu versions can cope well with this change, they will simply print an error upon ach data_len=0 messages received and submit a GSMTAP block, then discard it, so tests still pass. Nevertheless, a new module parameter is added to disable this new behavior in order to avoid logs and pcap files ending up clogged with uneeded information until a new osmo-pcu release appears. Related: OS#5020 Change-Id: Ib4f97a9bcfa68230945effeb6412218faa64ec78 --- M library/PCUIF_Types.ttcn M pcu/PCUIF_Components.ttcn 2 files changed, 62 insertions(+), 23 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/library/PCUIF_Types.ttcn b/library/PCUIF_Types.ttcn index ef27b11..96b2bac 100644 --- a/library/PCUIF_Types.ttcn +++ b/library/PCUIF_Types.ttcn @@ -161,7 +161,7 @@ uint32_t hLayer1, PCUIF_InfoTrxTsList ts } with { variant (pdch_mask) "BITORDER(msb)" }; -private type record length(8) of PCUIF_InfoV10Trx PCUIF_InfoV10TrxList; +type record length(8) of PCUIF_InfoV10Trx PCUIF_InfoV10TrxList; /* Version <= 9 specific coding */ private type record PCUIF_InfoV09Trx { diff --git a/pcu/PCUIF_Components.ttcn b/pcu/PCUIF_Components.ttcn index 50de700..6b0a412 100644 --- a/pcu/PCUIF_Components.ttcn +++ b/pcu/PCUIF_Components.ttcn @@ -50,6 +50,10 @@ * +---------------------------+ */ +modulepar { + boolean mp_send_all_data_ind := true; +} + /* Events are used by the components to indicate that something * has happened, e.g. we have got a connection from the PCU. */ type enumerated RAW_PCU_EventType { @@ -308,6 +312,8 @@ /* Whether to forward PTCCH/U burst events to the TC */ var boolean cfg_ptcch_burst_fwd := false; + + var PCUIF_info_ind g_info_ind; } /* Queue received messages from Test Case, they will eventually be scheduled and @@ -337,6 +343,57 @@ } } +/* Get first message from queue. true if non-empty, false otherwise */ +private function f_tx_data_ind_fn(integer bts_nr, integer fn) +runs on RAW_PCU_BTS_CT +{ + var PCUIF_Message pcu_msg; + var boolean has_msg, use_msg; + var PCUIF_InfoV10TrxList trx_list := g_info_ind.trx.v10; + + for (var uint8_t ts_nr := 0; ts_nr < 8; ts_nr := ts_nr + 1) { + for (var integer trx_nr := 0; trx_nr < lengthof(trx_list); trx_nr := trx_nr + 1) { + //var charstring prefix := "BTS=" & int2str(bts_nr) & ",TRX=" & int2str(trx_nr) & ",TS=" & int2str(ts_nr) & ",FN=" & int2str(fn) & ": "; + if (trx_list[trx_nr].pdch_mask[ts_nr] == '0'B) { + //log(prefix, "disabled"); + continue; /* TRX+TS not activated */ + } + + /* Check if we reached time to serve the first DATA.ind message in the queue: */ + has_msg := f_PCUIF_MsgQueue_first(pdtch_data_queue, pcu_msg) and + pcu_msg.u.data_ind.trx_nr == trx_nr and + pcu_msg.u.data_ind.ts_nr == ts_nr; + use_msg := has_msg and (pcu_msg.u.data_ind.fn == 0 or pcu_msg.u.data_ind.fn == fn); + if (use_msg) { + /* Dequeue a DATA.ind message */ + f_PCUIF_MsgQueue_dequeue(pdtch_data_queue, pcu_msg); + /* Patch TDMA frame / block number */ + pcu_msg.u.data_ind.fn := fn; + pcu_msg.u.data_ind.block_nr := 0; /* FIXME! */ + //log(prefix, "DATA.ind"); + } else if (has_msg and pcu_msg.u.data_ind.fn < fn) { + setverdict(fail, "We are late scheduling the block! ", pcu_msg.u.data_ind.fn, " < ", fn); + mtc.stop; + } else { + /* NOPE.ind: */ + pcu_msg := valueof(ts_PCUIF_DATA_IND(bts_nr, trx_nr, ts_nr, 0 /* FIXME */, + PCU_IF_SAPI_PDTCH, ''O, fn, + trx_list[trx_nr].arfcn, + rssi := -80, ber10k := 0, + ta_offs_qbits := 0, lqual_cb := 10)); + //log(prefix, "DATA.ind (len=0)"); + } + + if (use_msg or mp_send_all_data_ind) { + PCUIF.send(pcu_msg); /* Send to the PCU and notify the TC */ + if (use_msg) { + TC.send(ts_RAW_PCU_CLCK_EV(TDMA_EV_PDTCH_BLOCK_SENT, fn)); + } + } + } + } +} + /* Handle schedule events and manage actions: Send msgs over PCUIF to PCU, * advertise Test Case about sent messages, etc. */ private altstep as_BTS_CT_TDMASched(integer bts_nr) @@ -344,7 +401,6 @@ var PCUIF_Message pcu_msg; var RAW_PCU_Event event; var integer ev_begin_fn; - var integer next_fn; [] CLCK.receive(tr_RAW_PCU_EV(TDMA_EV_PDTCH_BLOCK_BEG)) -> value event { /* If the RTS queue for PDTCH is not empty, send a message */ @@ -362,29 +418,10 @@ PCUIF.send(ts_PCUIF_TIME_IND(bts_nr, event.data.tdma_fn)); repeat; } - [lengthof(pdtch_data_queue) > 0] CLCK.receive(tr_RAW_PCU_EV(TDMA_EV_PDTCH_BLOCK_END)) -> value event { + [] CLCK.receive(tr_RAW_PCU_EV(TDMA_EV_PDTCH_BLOCK_END)) -> value event { /* FN matching the beginning of current block: */ ev_begin_fn := event.data.tdma_fn - 3; - - /* Check if we reached time to serve the first DATA.ind message in the queue: */ - f_PCUIF_MsgQueue_first(pdtch_data_queue, pcu_msg); - next_fn := pcu_msg.u.data_ind.fn; - if (next_fn != 0 and next_fn != ev_begin_fn) { - if (next_fn < ev_begin_fn) { - setverdict(fail, "We are late scheduling the block! ", next_fn, " < ", ev_begin_fn); - mtc.stop; - } - repeat; - } - /* Dequeue a DATA.ind message */ - f_PCUIF_MsgQueue_dequeue(pdtch_data_queue, pcu_msg); - - /* Patch TDMA frame / block number */ - pcu_msg.u.data_ind.fn := ev_begin_fn; - pcu_msg.u.data_ind.block_nr := 0; /* FIXME! */ - - PCUIF.send(pcu_msg); /* Send to the PCU and notify the TC */ - TC.send(ts_RAW_PCU_CLCK_EV(TDMA_EV_PDTCH_BLOCK_SENT, ev_begin_fn)); + f_tx_data_ind_fn(bts_nr, ev_begin_fn); repeat; } [lengthof(ptcch_rts_queue) > 0] CLCK.receive(tr_RAW_PCU_EV(TDMA_EV_PTCCH_DL_BLOCK)) -> value event { @@ -417,6 +454,8 @@ var BTS_PTCCH_Block pcu_msg_ptcch; var BTS_CCCH_Block pcu_msg_rr; + g_info_ind := info_ind; + /* Init TDMA clock generator (so we can stop and start it) */ vc_CLCK_GEN := RAW_PCU_ClckGen_CT.create("ClckGen-" & int2str(bts_nr)) alive; connect(vc_CLCK_GEN:CLCK, self:CLCK); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23256 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ib4f97a9bcfa68230945effeb6412218faa64ec78 Gerrit-Change-Number: 23256 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 Fri Mar 12 11:46:39 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 12 Mar 2021 11:46:39 +0000 Subject: Change in osmo-pcu[master]: sched: Use new PDCH UL Controller 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/+/23323 to look at the new patch set (#2). Change subject: sched: Use new PDCH UL Controller ...................................................................... sched: Use new PDCH UL Controller Take the time to also do small refactorings to clarify and simplify the function, by using rts_next_fn() already available in pcu_utils.h and getting rid of poll_tbf from tbf_candidates, which clearly follows another objective. Using PDCH UL Controller has the advantatge that we don't need to check poll_scheduled() on each TBF, but only do the query once. Related: OS#5020 Change-Id: Ia60bb5249a9837dec1f42180e44d9848334d86d6 --- M src/gprs_rlcmac_sched.cpp M src/pdch_ul_controller.c M src/pdch_ul_controller.h 3 files changed, 25 insertions(+), 24 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/23/23323/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23323 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia60bb5249a9837dec1f42180e44d9848334d86d6 Gerrit-Change-Number: 23323 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 Mar 12 11:51:03 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 12 Mar 2021 11:51:03 +0000 Subject: Change in osmo-pcu[master]: Add new PDCH UL Controller, drop SBAllocator class In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23291 ) Change subject: Add new PDCH UL Controller, drop SBAllocator class ...................................................................... Patch Set 7: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23291 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I84b24beea4a1aa2c1528f41435f77bd16df2b947 Gerrit-Change-Number: 23291 Gerrit-PatchSet: 7 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Fri, 12 Mar 2021 11:51: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 Fri Mar 12 11:51:06 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 12 Mar 2021 11:51:06 +0000 Subject: Change in osmo-pcu[master]: Replace PollController with newly added PDCH UL Controller In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23309 ) Change subject: Replace PollController with newly added PDCH UL Controller ...................................................................... Patch Set 4: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23309 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I683ca738ce5a133c49c36a1d94439a942d64a831 Gerrit-Change-Number: 23309 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Fri, 12 Mar 2021 11:51:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 12 11:51:14 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 12 Mar 2021 11:51:14 +0000 Subject: Change in osmo-pcu[master]: bts: Detect FN jumps In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23314 ) Change subject: bts: Detect FN jumps ...................................................................... Patch Set 3: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23314 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I29fb27981597edc69abb976049ba41aa840488cb Gerrit-Change-Number: 23314 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Fri, 12 Mar 2021 11:51:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 12 11:51:33 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 12 Mar 2021 11:51:33 +0000 Subject: Change in docker-playground[master]: ttcn3-pcu: Disable sending all DATA.ind on pcu -latest In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23277 ) Change subject: ttcn3-pcu: Disable sending all DATA.ind on pcu -latest ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23277 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I4365d54c64e750a708e04e36ea131ec7499560f1 Gerrit-Change-Number: 23277 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 12 Mar 2021 11:51:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 12 11:51:35 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 12 Mar 2021 11:51:35 +0000 Subject: Change in docker-playground[master]: ttcn3-pcu: Disable sending all DATA.ind on pcu -latest In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23277 ) Change subject: ttcn3-pcu: Disable sending all DATA.ind on pcu -latest ...................................................................... ttcn3-pcu: Disable sending all DATA.ind on pcu -latest Change-Id: I4365d54c64e750a708e04e36ea131ec7499560f1 Depends: osmo-ttcn3-hacks.git Change-Id Ib4f97a9bcfa68230945effeb6412218faa64ec78 Related: OS#5020 --- M ttcn3-pcu-test/PCU_Tests.cfg M ttcn3-pcu-test/jenkins.sh 2 files changed, 6 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Verified diff --git a/ttcn3-pcu-test/PCU_Tests.cfg b/ttcn3-pcu-test/PCU_Tests.cfg index 07d9c3a..9d2f36f 100644 --- a/ttcn3-pcu-test/PCU_Tests.cfg +++ b/ttcn3-pcu-test/PCU_Tests.cfg @@ -36,6 +36,7 @@ } } Osmocom_VTY_Functions.mp_prompt_prefix := "OsmoPCU"; +PCUIF_Components.mp_send_all_data_ind := true; [MAIN_CONTROLLER] diff --git a/ttcn3-pcu-test/jenkins.sh b/ttcn3-pcu-test/jenkins.sh index 11c77ad..c597e0e 100755 --- a/ttcn3-pcu-test/jenkins.sh +++ b/ttcn3-pcu-test/jenkins.sh @@ -16,6 +16,11 @@ mkdir $VOL_BASE_DIR/pcu-tester/unix cp PCU_Tests.cfg $VOL_BASE_DIR/pcu-tester/ +# Disable until osmo-pcu release > 0.9.0 +if [ "$IMAGE_SUFFIX" = "latest" ]; then + sed -i "s/^PCUIF_Components.mp_send_all_data_ind.*/PCUIF_Components.mp_send_all_data_ind := false;/" $VOL_BASE_DIR/pcu-tester/PCU_Tests.cfg +fi + mkdir $VOL_BASE_DIR/pcu mkdir $VOL_BASE_DIR/pcu/unix cp osmo-pcu.cfg $VOL_BASE_DIR/pcu/ -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23277 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I4365d54c64e750a708e04e36ea131ec7499560f1 Gerrit-Change-Number: 23277 Gerrit-PatchSet: 2 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 Fri Mar 12 11:59:38 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 12 Mar 2021 11:59:38 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Set up PCU TDMA clock by sending initial DATA.ind In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23324 to look at the new patch set (#2). Change subject: pcu: Set up PCU TDMA clock by sending initial DATA.ind ...................................................................... pcu: Set up PCU TDMA clock by sending initial DATA.ind In recent osmo-pcu commits, initial fn was changed to invalid value -1, in order to be able to detect FN jumps. previously, the initial value was set randomly to 0, which was wrong anyway because first FN received from the BTS could be any other FN counted by the BTS at that time. This makes some tests fail because they send RACH.ind + RTS.ind to receive the Imm Assignment, and the Request reference in the Imm Assign was calculated on the invalid unset FN "-1", hence it won't match test expectancies. In order to fix it, simply make sure the TDMA clock is initiated by sending a DATA.ind to the PCU before tests start doing stuff (f_init_raw() is blocked waiting for BTS_EV_SI13_NEGO). Related: osmo-pcu.git Change-Id I29fb27981597edc69abb976049ba41aa840488cb Related: OS#5020 Change-Id: I00c4dd9133ec9a236bf28fb8cb0afd0615791012 --- M pcu/PCUIF_Components.ttcn 1 file changed, 35 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/24/23324/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23324 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I00c4dd9133ec9a236bf28fb8cb0afd0615791012 Gerrit-Change-Number: 23324 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 Fri Mar 12 12:12:55 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Fri, 12 Mar 2021 12:12:55 +0000 Subject: Change in osmo-gsm-tester[master]: enb.py: increase zmq trx timeout to 4000ms References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23333 ) Change subject: enb.py: increase zmq trx timeout to 4000ms ...................................................................... enb.py: increase zmq trx timeout to 4000ms with many parallel jobs running on one machine we should relax the timeout a bit to avoid false positives. Change-Id: Ib32a07559bd5a4b0165f6d3431c5ac57cc050f44 --- M src/osmo_gsm_tester/obj/enb.py 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/33/23333/1 diff --git a/src/osmo_gsm_tester/obj/enb.py b/src/osmo_gsm_tester/obj/enb.py index 15a0033..99d43f8 100644 --- a/src/osmo_gsm_tester/obj/enb.py +++ b/src/osmo_gsm_tester/obj/enb.py @@ -266,7 +266,7 @@ else: ul_rem_addr = self.ue.addr() - rf_dev_args = 'fail_on_disconnect=true' + rf_dev_args = 'fail_on_disconnect=true,log_trx_timeout=true,trx_timeout_ms=4000' idx = 0 cell_list = cfg_values['enb']['cell_list'] # Define all 8 possible RF ports (2x CA with 2x2 MIMO) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23333 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ib32a07559bd5a4b0165f6d3431c5ac57cc050f44 Gerrit-Change-Number: 23333 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 Mar 12 12:12:55 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Fri, 12 Mar 2021 12:12:55 +0000 Subject: Change in osmo-gsm-tester[master]: {enb, ms}-label.conf: raneme and add modifier to select eNB/MS based o... References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23334 ) Change subject: {enb,ms}-label.conf: raneme and add modifier to select eNB/MS based on label ...................................................................... {enb,ms}-label.conf: raneme and add modifier to select eNB/MS based on label Change-Id: I26ea160b65b9dd5ef3e5ca1100d4541a0bbcbb27 --- A sysmocom/scenarios/enb-label at .conf R sysmocom/scenarios/ms-label at .conf 2 files changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/34/23334/1 diff --git a/sysmocom/scenarios/enb-label at .conf b/sysmocom/scenarios/enb-label at .conf new file mode 100644 index 0000000..8470c57 --- /dev/null +++ b/sysmocom/scenarios/enb-label at .conf @@ -0,0 +1,3 @@ +resources: + enb: + - label: ${param1} \ No newline at end of file diff --git a/sysmocom/scenarios/ms-label.conf b/sysmocom/scenarios/ms-label at .conf similarity index 100% rename from sysmocom/scenarios/ms-label.conf rename to sysmocom/scenarios/ms-label at .conf -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23334 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I26ea160b65b9dd5ef3e5ca1100d4541a0bbcbb27 Gerrit-Change-Number: 23334 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 Mar 12 12:12:56 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Fri, 12 Mar 2021 12:12:56 +0000 Subject: Change in osmo-gsm-tester[master]: srsenb_drb.conf.tmpl: set PDCP discard timer to 150ms for QCI9 References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23335 ) Change subject: srsenb_drb.conf.tmpl: set PDCP discard timer to 150ms for QCI9 ...................................................................... srsenb_drb.conf.tmpl: set PDCP discard timer to 150ms for QCI9 srsENB now supports PDCP discard so we set it to a sane value. Also enable status reporting for UL. Change-Id: Ib6ad0ff57b95a1f220f87c1ede0f6eacc5fb21ff --- M src/osmo_gsm_tester/templates/srsenb_drb.conf.tmpl 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/35/23335/1 diff --git a/src/osmo_gsm_tester/templates/srsenb_drb.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb_drb.conf.tmpl index b10ef31..a171a5e 100644 --- a/src/osmo_gsm_tester/templates/srsenb_drb.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsenb_drb.conf.tmpl @@ -72,8 +72,8 @@ { qci=9; pdcp_config = { - discard_timer = -1; - status_report_required = false; + discard_timer = 150; + status_report_required = true; } rlc_config = { ul_am = { -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23335 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ib6ad0ff57b95a1f220f87c1ede0f6eacc5fb21ff Gerrit-Change-Number: 23335 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 Mar 12 12:12:56 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Fri, 12 Mar 2021 12:12:56 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoft_drb.cfg.tmpl: add additional QCI10 with infinit PDCP discar... References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23336 ) Change subject: amarisoft_drb.cfg.tmpl: add additional QCI10 with infinit PDCP discard timer ...................................................................... amarisoft_drb.cfg.tmpl: add additional QCI10 with infinit PDCP discard timer also set QCI9 to 150ms to match default srsENB config Change-Id: I60cc1390480142bd5bb516934c9f30b6122496d5 --- M src/osmo_gsm_tester/templates/amarisoft_drb.cfg.tmpl 1 file changed, 28 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/36/23336/1 diff --git a/src/osmo_gsm_tester/templates/amarisoft_drb.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_drb.cfg.tmpl index d244c8e..455e344 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_drb.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_drb.cfg.tmpl @@ -278,7 +278,34 @@ }, }, { - qci: 9, /* AM - best effort (Internet traffic) */ + qci: 9, /* AM - best effort (Internet traffic) with 150ms PDCP discard */ + pdcp_config: { + discardTimer: 150, /* in ms, 0 means infinity */ + statusReportRequired: true, + }, + rlc_config: { + ul_am: { + t_PollRetransmit: 80, /* in ms */ + pollPDU: 64, + pollByte: 125, /* in kBytes, 0 means infinity */ + maxRetxThreshold: 32, + }, + dl_am: { + t_Reordering: 45, /* in ms, should be > to max_harq_tx * HARQ latency */ + t_StatusProhibit: 60, /* in ms */ + }, + }, + logical_channel_config: { + priority: 15, + prioritisedBitRate: -1, /* in kb/s, -1 means infinity */ + bucketSizeDuration: 100, /* in ms */ + logicalChannelGroup: 3, + logicalChannelSR_Mask: false, + logicalChannelSR_Prohibit: false, + }, + }, + { + qci: 10, /* Same like QCI9 but with infinity PDCP discard */ pdcp_config: { discardTimer: 0, /* in ms, 0 means infinity */ statusReportRequired: true, -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23336 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I60cc1390480142bd5bb516934c9f30b6122496d5 Gerrit-Change-Number: 23336 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 Mar 12 12:12:56 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Fri, 12 Mar 2021 12:12:56 +0000 Subject: Change in osmo-gsm-tester[master]: srsenb_drb.conf.tmpl: add QCI10 with infinit PDCP discard timer References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23337 ) Change subject: srsenb_drb.conf.tmpl: add QCI10 with infinit PDCP discard timer ...................................................................... srsenb_drb.conf.tmpl: add QCI10 with infinit PDCP discard timer copy of QCI9 params but with infinit PDCP discard to avoid SDU drops at PDCP Change-Id: I64a74d09cc1a55ba21a7be7b5cc203e56bba3b10 --- M src/osmo_gsm_tester/templates/srsenb_drb.conf.tmpl 1 file changed, 26 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/37/23337/1 diff --git a/src/osmo_gsm_tester/templates/srsenb_drb.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb_drb.conf.tmpl index a171a5e..b1c69b7 100644 --- a/src/osmo_gsm_tester/templates/srsenb_drb.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsenb_drb.conf.tmpl @@ -93,6 +93,32 @@ bucket_size_duration = 100; log_chan_group = 3; }; +}, +// QCI 10 is a modified QCI 9 with PDCP discard timer set to infinity to avoid SDU drops at PDCP +{ + qci=10; + pdcp_config = { + discard_timer = -1; + status_report_required = true; + } + rlc_config = { + ul_am = { + t_poll_retx = 120; + poll_pdu = 64; + poll_byte = 750; + max_retx_thresh = 16; + }; + dl_am = { + t_reordering = 50; + t_status_prohibit = 50; + }; + }; + logical_channel_config = { + priority = 11; + prioritized_bit_rate = -1; + bucket_size_duration = 100; + log_chan_group = 3; + }; } ); -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23337 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I64a74d09cc1a55ba21a7be7b5cc203e56bba3b10 Gerrit-Change-Number: 23337 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 Mar 12 12:12:57 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Fri, 12 Mar 2021 12:12:57 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: add config scheme to select NAS log level References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23338 ) Change subject: ms_srs: add config scheme to select NAS log level ...................................................................... ms_srs: add config scheme to select NAS log level we've provided only all_log_level so far but sometimes it's needed to select the level per layer. This patch adds the ability to do so for the NAS layer in the UE. Change-Id: Iab2bce65e8af81f6d344849c97952e6441cb2846 --- M src/osmo_gsm_tester/obj/ms_srs.py M src/osmo_gsm_tester/templates/srsue.conf.tmpl M sysmocom/defaults.conf 3 files changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/38/23338/1 diff --git a/src/osmo_gsm_tester/obj/ms_srs.py b/src/osmo_gsm_tester/obj/ms_srs.py index aaeeca5..df83c2a 100644 --- a/src/osmo_gsm_tester/obj/ms_srs.py +++ b/src/osmo_gsm_tester/obj/ms_srs.py @@ -50,6 +50,7 @@ config_schema = { 'enable_pcap': schema.BOOL_STR, 'log_all_level': schema.STR, + 'log_nas_level': schema.STR } schema.register_config_schema('modem', config_schema) diff --git a/src/osmo_gsm_tester/templates/srsue.conf.tmpl b/src/osmo_gsm_tester/templates/srsue.conf.tmpl index 0939823..272ae48 100644 --- a/src/osmo_gsm_tester/templates/srsue.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsue.conf.tmpl @@ -109,6 +109,7 @@ all_hex_limit = 32 filename = ${ue.log_filename} file_max_size = -1 +nas_level = ${ue.log_nas_level} ##################################################################### # USIM configuration diff --git a/sysmocom/defaults.conf b/sysmocom/defaults.conf index d66e030..7939d3e 100644 --- a/sysmocom/defaults.conf +++ b/sysmocom/defaults.conf @@ -181,6 +181,7 @@ rx_gain: 40 freq_offset: 0 log_all_level: warning + log_nas_level: warning amarisoftue: tx_gain: 89 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23338 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Iab2bce65e8af81f6d344849c97952e6441cb2846 Gerrit-Change-Number: 23338 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 Mar 12 12:12:58 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Fri, 12 Mar 2021 12:12:58 +0000 Subject: Change in osmo-gsm-tester[master]: srsue.conf.tmpl: Adjust ue.config template for new pcap path References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23339 ) Change subject: srsue.conf.tmpl: Adjust ue.config template for new pcap path ...................................................................... srsue.conf.tmpl: Adjust ue.config template for new pcap path Change-Id: I4af6abaa3973652a12f571d88bca59cd443704f3 --- M src/osmo_gsm_tester/templates/srsue.conf.tmpl 1 file changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/39/23339/1 diff --git a/src/osmo_gsm_tester/templates/srsue.conf.tmpl b/src/osmo_gsm_tester/templates/srsue.conf.tmpl index 272ae48..a922dc8 100644 --- a/src/osmo_gsm_tester/templates/srsue.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsue.conf.tmpl @@ -78,10 +78,10 @@ # nas_filename: File path to use for NAS packet captures ##################################################################### [pcap] -enable = ${'true' if ue.enable_pcap else 'false'} -filename = ${ue.pcap_filename} -nas_enable = false -nas_filename = /tmp/nas.pcap +enable = ${'mac' if ue.enable_pcap else 'none'} +mac_filename = ${ue.pcap_filename} +mac_nr_filename = /tmp/ue_mac_nr.pcap +nas_filename = /tmp/ue_nas.pcap ##################################################################### # Log configuration -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23339 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I4af6abaa3973652a12f571d88bca59cd443704f3 Gerrit-Change-Number: 23339 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 Mar 12 12:12:58 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Fri, 12 Mar 2021 12:12:58 +0000 Subject: Change in osmo-gsm-tester[master]: srsenb_sib.conf.tmpl: reduce the default size of the PUCCH References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23340 ) Change subject: srsenb_sib.conf.tmpl: reduce the default size of the PUCCH ...................................................................... srsenb_sib.conf.tmpl: reduce the default size of the PUCCH optimized PUCCH config Change-Id: I45ae7c33f9d1df20df37c0fe6c3d73aa85ae1b31 --- M src/osmo_gsm_tester/templates/srsenb_sib.conf.tmpl 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/40/23340/1 diff --git a/src/osmo_gsm_tester/templates/srsenb_sib.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb_sib.conf.tmpl index c738480..7451131 100644 --- a/src/osmo_gsm_tester/templates/srsenb_sib.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsenb_sib.conf.tmpl @@ -77,8 +77,8 @@ }; pucch_cnfg = { - delta_pucch_shift = 2; - n_rb_cqi = 2; + delta_pucch_shift = 1; + n_rb_cqi = 1; n_cs_an = 0; n1_pucch_an = 12; }; -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23340 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I45ae7c33f9d1df20df37c0fe6c3d73aa85ae1b31 Gerrit-Change-Number: 23340 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 Mar 12 12:12:59 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Fri, 12 Mar 2021 12:12:59 +0000 Subject: Change in osmo-gsm-tester[master]: jenkins-build-amarisoft: copy ltesim_server binary into epc trial tgz References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23341 ) Change subject: jenkins-build-amarisoft: copy ltesim_server binary into epc trial tgz ...................................................................... jenkins-build-amarisoft: copy ltesim_server binary into epc trial tgz the ltesim_server is part of the UE package but needs to be executed on the EPC run node. Therefore its handy to have the binary in the epc trial tgz. Change-Id: I21ac57d1c1547c1cf4d2394c8593f58ff2c78697 --- M contrib/jenkins-build-amarisoft.sh 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/41/23341/1 diff --git a/contrib/jenkins-build-amarisoft.sh b/contrib/jenkins-build-amarisoft.sh index 43755ea..1ed7d7d 100755 --- a/contrib/jenkins-build-amarisoft.sh +++ b/contrib/jenkins-build-amarisoft.sh @@ -78,6 +78,10 @@ # 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/ +# Copy ltesim_server from UE package if available +if [ "x${HAVE_AMARISOFT_LTEUE}" = "x1" ]; then + cp inst-amarisoftue/ltesim_server inst-amarisoftepc/ +fi this="amarisoftepc.build-${BUILD_NUMBER-$(date +%Y-%m-%d_%H_%M_%S)}" tar="${this}.tgz" tar -czf "$tar" -C inst-amarisoftepc/ . -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23341 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I21ac57d1c1547c1cf4d2394c8593f58ff2c78697 Gerrit-Change-Number: 23341 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 Mar 12 12:12:59 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Fri, 12 Mar 2021 12:12:59 +0000 Subject: Change in osmo-gsm-tester[master]: epc_amarisoft: launch ltesim server when starting References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23342 ) Change subject: epc_amarisoft: launch ltesim server when starting ...................................................................... epc_amarisoft: launch ltesim server when starting this allows to use the lteue to generate DL traffic. the server listens on the default spgw address. Change-Id: Iad081e57e2fd9d3cbc3e59e4f729a4721ad778c9 --- M src/osmo_gsm_tester/obj/epc_amarisoft.py 1 file changed, 14 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/42/23342/1 diff --git a/src/osmo_gsm_tester/obj/epc_amarisoft.py b/src/osmo_gsm_tester/obj/epc_amarisoft.py index 3b184ae..d7e49d8 100644 --- a/src/osmo_gsm_tester/obj/epc_amarisoft.py +++ b/src/osmo_gsm_tester/obj/epc_amarisoft.py @@ -37,6 +37,7 @@ CFGFILE = 'amarisoft_ltemme.cfg' LOGFILE = 'ltemme.log' IFUPFILE = 'mme-ifup' + LTESIM_BINFILE = 'ltesim_server' def __init__(self, testenv, run_node): super().__init__(testenv, run_node, 'amarisoftepc') @@ -50,7 +51,7 @@ self.remote_inst = None self.remote_config_file = None self.remote_log_file = None - self.remote_ifup_file =None + self.remote_ifup_file = None self._bin_prefix = None self.inst = None self.subscriber_list = [] @@ -81,6 +82,7 @@ self.start_locally() else: self.start_remotely() + self.start_ltesim_remotely() def start_remotely(self): remote_binary = self.remote_inst.child('', AmarisoftEPC.BINFILE) @@ -115,6 +117,17 @@ self.testenv.remember_to_stop(self.process) self.process.launch() + def start_ltesim_remotely(self): + # Sleep for a moment to give MME time to start up create TUN device + import time + time.sleep(2) + remote_binary = self.remote_inst.child('', AmarisoftEPC.LTESIM_BINFILE) + args = (remote_binary, "-a " + self.tun_addr()) + self.log('Launching ltesim_server') + self.ltesim_process = self.rem_host.RemoteProcess(AmarisoftEPC.LTESIM_BINFILE, args) + self.testenv.remember_to_stop(self.ltesim_process) + self.ltesim_process.launch() + def configure(self): self.inst = util.Dir(os.path.abspath(self.bin_prefix())) if not self.inst.isfile('', AmarisoftEPC.BINFILE): -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23342 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Iad081e57e2fd9d3cbc3e59e4f729a4721ad778c9 Gerrit-Change-Number: 23342 Gerrit-PatchSet: 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 Mar 12 12:12:59 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Fri, 12 Mar 2021 12:12:59 +0000 Subject: Change in osmo-gsm-tester[master]: osmo-gsm-tester_androidue_conn_chk.sh: improve error handling References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23343 ) Change subject: osmo-gsm-tester_androidue_conn_chk.sh: improve error handling ...................................................................... osmo-gsm-tester_androidue_conn_chk.sh: improve error handling fix check of $serial and check passed arguments. exit when adb isn't installed on host Change-Id: I6190a840dbc86838457da96d188afc17f83ab15f --- M utils/bin/osmo-gsm-tester_androidue_conn_chk.sh 1 file changed, 36 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/43/23343/1 diff --git a/utils/bin/osmo-gsm-tester_androidue_conn_chk.sh b/utils/bin/osmo-gsm-tester_androidue_conn_chk.sh index d8ff049..c51d8f0 100644 --- a/utils/bin/osmo-gsm-tester_androidue_conn_chk.sh +++ b/utils/bin/osmo-gsm-tester_androidue_conn_chk.sh @@ -1,11 +1,42 @@ #!/bin/bash -# This script reads the network type of an Android phone via ADB -# usage: osmo-gsm-tester_androidue_conn_chk.sh $serial $remote_ip $remote_port +# This script reads the network type of an Android phone via ADB/SSH +# If the first argument (serial) is 0, SSH is used to remotely connect to the phone +# usage: osmo-gsm-tester_androidue_conn_chk.sh $serial $remote_ip $remote_port $timeout +#set -x + +# check if all parameters have been passed +if ([ ! $3 ]) +then + echo "Please call script with osmo-gsm-tester_androidue_conn_chk.sh $serial $remote_ip $remote_port ($timeout)" + echo "E.g. ./osmo-gsm-tester_androidue_conn_chk.sh df2df 10.12.1.106 130 10" + exit +fi + serial=$1 remote_ip=$2 remote_port=$3 -while true; do - if [ "${serial}" == "0" ]; then + +# Use default if no second parameter is given +timeout=360 +if ([ $4 ]); then + timeout=$4 +fi + +echo "Waiting for Android UE to become available for max. ${timeout}s .." + +# Check adb is available, if needed +if [ "$serial" != "0" ]; then + if ! [ -x "$(command -v adb)" ]; then + echo 'Error: adb is not installed.' >&2 + exit 1 + fi + echo "Using SSH to access device" +fi + +wait_time=0 +while [ $wait_time -ne $timeout ] +do + if [ "$serial" == "0" ]; then # run_type == ssh ssh -p "${remote_port}" root@"${remote_ip}" getprop "gsm.network.type" else @@ -13,4 +44,5 @@ adb -s "${serial}" shell getprop "gsm.network.type" fi sleep 1 + let wait_time++ done -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23343 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I6190a840dbc86838457da96d188afc17f83ab15f Gerrit-Change-Number: 23343 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 Mar 12 12:13:00 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Fri, 12 Mar 2021 12:13:00 +0000 Subject: Change in osmo-gsm-tester[master]: ms_android: set num_carriers to 1 by default References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23344 ) Change subject: ms_android: set num_carriers to 1 by default ...................................................................... ms_android: set num_carriers to 1 by default throughput tests require the UE object to have the num_carriers member. For Android UEs, set it to 1 by default. Change-Id: I297d24bb578a7db0eb7629be4f2cc0d54624467d --- M src/osmo_gsm_tester/obj/ms_android.py 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/44/23344/1 diff --git a/src/osmo_gsm_tester/obj/ms_android.py b/src/osmo_gsm_tester/obj/ms_android.py index 9fddff3..0f4a05d 100644 --- a/src/osmo_gsm_tester/obj/ms_android.py +++ b/src/osmo_gsm_tester/obj/ms_android.py @@ -79,6 +79,7 @@ self.remote_metrics_file = None self.metrics_file = None self.brate_mon = None + self.num_carriers = 1 def configure(self): values = dict(ue=config.get_defaults('androidue')) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23344 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I297d24bb578a7db0eb7629be4f2cc0d54624467d Gerrit-Change-Number: 23344 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 Mar 12 12:13:00 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Fri, 12 Mar 2021 12:13:00 +0000 Subject: Change in osmo-gsm-tester[master]: epc-label@.conf: add scenario to select runnode based on label References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23345 ) Change subject: epc-label at .conf: add scenario to select runnode based on label ...................................................................... epc-label at .conf: add scenario to select runnode based on label this allows to select the resource/machine the EPC runs on based on the label Change-Id: I710c67ad5a11bd33071acd779e19835ae49ce4a3 --- A sysmocom/scenarios/epc-label at .conf 1 file changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/45/23345/1 diff --git a/sysmocom/scenarios/epc-label at .conf b/sysmocom/scenarios/epc-label at .conf new file mode 100644 index 0000000..bf0d710 --- /dev/null +++ b/sysmocom/scenarios/epc-label at .conf @@ -0,0 +1,3 @@ +resources: + run_node: + - label: ${param1} \ No newline at end of file -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23345 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I710c67ad5a11bd33071acd779e19835ae49ce4a3 Gerrit-Change-Number: 23345 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 Mar 12 12:13:00 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Fri, 12 Mar 2021 12:13:00 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: add resource scheme to configure fixed DL and UL freq References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23346 ) Change subject: ms_srs: add resource scheme to configure fixed DL and UL freq ...................................................................... ms_srs: add resource scheme to configure fixed DL and UL freq this config option overwrites the EARFCN config that is typically used to tell the UE the bands to scan for cells. When custom frequencies are used, this option allows to set them explicitly. Change-Id: Ice070ea6755e273d916db2dc941068d33bbe206a --- M src/osmo_gsm_tester/obj/ms_srs.py M src/osmo_gsm_tester/templates/srsue.conf.tmpl 2 files changed, 8 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/46/23346/1 diff --git a/src/osmo_gsm_tester/obj/ms_srs.py b/src/osmo_gsm_tester/obj/ms_srs.py index df83c2a..96b1cdf 100644 --- a/src/osmo_gsm_tester/obj/ms_srs.py +++ b/src/osmo_gsm_tester/obj/ms_srs.py @@ -42,6 +42,8 @@ 'tx_gain': schema.UINT, 'rx_gain': schema.UINT, 'freq_offset': schema.INT, + 'dl_freq': schema.STR, + 'ul_freq': schema.STR } for key, val in RunNode.schema().items(): resource_schema['run_node.%s' % key] = val diff --git a/src/osmo_gsm_tester/templates/srsue.conf.tmpl b/src/osmo_gsm_tester/templates/srsue.conf.tmpl index a922dc8..ea61272 100644 --- a/src/osmo_gsm_tester/templates/srsue.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsue.conf.tmpl @@ -38,6 +38,12 @@ % else: dl_earfcn = 2850 % endif +% if ue.dl_freq!= "-1": +dl_freq = ${ue.dl_freq} +% endif +% if ue.ul_freq != "-1": +ul_freq = ${ue.ul_freq} +% endif freq_offset = ${ue.freq_offset} tx_gain = ${ue.tx_gain} rx_gain = ${ue.rx_gain} -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23346 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ice070ea6755e273d916db2dc941068d33bbe206a Gerrit-Change-Number: 23346 Gerrit-PatchSet: 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 Mar 12 12:13:01 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Fri, 12 Mar 2021 12:13:01 +0000 Subject: Change in osmo-gsm-tester[master]: run_node: add label to RunNode class References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23347 ) Change subject: run_node: add label to RunNode class ...................................................................... run_node: add label to RunNode class this allows specifying a label on each run node that can be used to filter/select specific nodes. Change-Id: Ib6a977007f56d6ff9ff029aaf049a75fb5d5e1dd --- M src/osmo_gsm_tester/obj/run_node.py 1 file changed, 8 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/47/23347/1 diff --git a/src/osmo_gsm_tester/obj/run_node.py b/src/osmo_gsm_tester/obj/run_node.py index 72879a7..676c262 100644 --- a/src/osmo_gsm_tester/obj/run_node.py +++ b/src/osmo_gsm_tester/obj/run_node.py @@ -30,13 +30,14 @@ T_LOCAL = 'local' T_REM_SSH = 'ssh' - def __init__(self, type=None, run_addr=None, ssh_user=None, ssh_addr=None, run_label=None, ssh_port=None, adb_serial_id=None): + def __init__(self, type=None, run_addr=None, ssh_user=None, ssh_addr=None, run_label=None, label=None, ssh_port=None, adb_serial_id=None): super().__init__(log.C_RUN, 'runnode') self._type = type self._run_addr = run_addr self._ssh_user = ssh_user self._ssh_addr = ssh_addr self._run_label = run_label + self._label = label self._ssh_port = ssh_port self._adb_serial_id = adb_serial_id if not self._type: @@ -57,8 +58,8 @@ def from_conf(cls, conf): return cls(conf.get('run_type', None), conf.get('run_addr', None), conf.get('ssh_user', None), conf.get('ssh_addr', None), - conf.get('run_label', None), conf.get('ssh_port', None), - conf.get('adb_serial_id', None)) + conf.get('run_label', None), conf.get('label', None), + conf.get('ssh_port', None), conf.get('adb_serial_id', None)) @classmethod def schema(cls): @@ -68,6 +69,7 @@ 'ssh_user': schema.STR, 'ssh_addr': schema.IPV4, 'run_label': schema.STR, + 'label': schema.STR, 'ssh_port': schema.STR, 'adb_serial_id': schema.STR, } @@ -94,6 +96,9 @@ def run_label(self): return self._run_label + def label(self): + return self._label + def ssh_port(self): return self._ssh_port -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23347 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ib6a977007f56d6ff9ff029aaf049a75fb5d5e1dd Gerrit-Change-Number: 23347 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 Mar 12 12:13:01 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Fri, 12 Mar 2021 12:13:01 +0000 Subject: Change in osmo-gsm-tester[master]: mod-enb-ncells@.conf: add scenario file to select number of cells References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23348 ) Change subject: mod-enb-ncells at .conf: add scenario file to select number of cells ...................................................................... mod-enb-ncells at .conf: add scenario file to select number of cells Change-Id: Ib599de56b0b51a125555895014d78d3d649c01a0 --- A sysmocom/scenarios/mod-enb-ncells at .conf 1 file changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/48/23348/1 diff --git a/sysmocom/scenarios/mod-enb-ncells at .conf b/sysmocom/scenarios/mod-enb-ncells at .conf new file mode 100644 index 0000000..b57b94a --- /dev/null +++ b/sysmocom/scenarios/mod-enb-ncells at .conf @@ -0,0 +1,3 @@ +modifiers: + enb: + - num_cells: ${param1} -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23348 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ib599de56b0b51a125555895014d78d3d649c01a0 Gerrit-Change-Number: 23348 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 Mar 12 12:13:01 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Fri, 12 Mar 2021 12:13:01 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: turn tx/rx_gain into INT and make them optional References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23349 ) Change subject: ms_srs: turn tx/rx_gain into INT and make them optional ...................................................................... ms_srs: turn tx/rx_gain into INT and make them optional when they are greater than 0 they are written as config paramter. if they are -1 they are disbaled and automatic gain calibration is used. Change-Id: I473ff3ae679784178574d2f76b612dbf77180490 --- M src/osmo_gsm_tester/obj/ms_srs.py M src/osmo_gsm_tester/templates/srsue.conf.tmpl 2 files changed, 6 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/49/23349/1 diff --git a/src/osmo_gsm_tester/obj/ms_srs.py b/src/osmo_gsm_tester/obj/ms_srs.py index 96b1cdf..745a18e 100644 --- a/src/osmo_gsm_tester/obj/ms_srs.py +++ b/src/osmo_gsm_tester/obj/ms_srs.py @@ -39,8 +39,8 @@ 'additional_args[]': schema.STR, 'airplane_t_on_ms': schema.INT, 'airplane_t_off_ms': schema.INT, - 'tx_gain': schema.UINT, - 'rx_gain': schema.UINT, + 'tx_gain': schema.INT, + 'rx_gain': schema.INT, 'freq_offset': schema.INT, 'dl_freq': schema.STR, 'ul_freq': schema.STR diff --git a/src/osmo_gsm_tester/templates/srsue.conf.tmpl b/src/osmo_gsm_tester/templates/srsue.conf.tmpl index ea61272..784cf03 100644 --- a/src/osmo_gsm_tester/templates/srsue.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsue.conf.tmpl @@ -45,8 +45,12 @@ ul_freq = ${ue.ul_freq} % endif freq_offset = ${ue.freq_offset} +% if int(ue.tx_gain) > 0: tx_gain = ${ue.tx_gain} +% endif +% if int(ue.rx_gain) > 0: rx_gain = ${ue.rx_gain} +% endif #nof_radios = 1 nof_antennas = ${ue.num_antennas} -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23349 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I473ff3ae679784178574d2f76b612dbf77180490 Gerrit-Change-Number: 23349 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 Mar 12 12:21:01 2021 From: gerrit-no-reply at lists.osmocom.org (ninjab3s) Date: Fri, 12 Mar 2021 12:21:01 +0000 Subject: Change in osmo-gsm-tester[master]: AndroidUE: Fix connection timeout References: Message-ID: ninjab3s has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23350 ) Change subject: AndroidUE: Fix connection timeout ...................................................................... AndroidUE: Fix connection timeout Change-Id: Iaacf348e2e018da5b67ada33079018c1859d3b63 --- M src/osmo_gsm_tester/obj/ms_android.py 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/50/23350/1 diff --git a/src/osmo_gsm_tester/obj/ms_android.py b/src/osmo_gsm_tester/obj/ms_android.py index 9fddff3..8f2e0ee 100644 --- a/src/osmo_gsm_tester/obj/ms_android.py +++ b/src/osmo_gsm_tester/obj/ms_android.py @@ -206,7 +206,7 @@ MainLoop.sleep(2) timer -= 2 - if timer == 0: + if timer <= 0: raise log.Error('Connection timer of Android UE %s expired' % self._run_node.adb_serial_id()) self.brate_mon = BitRateMonitor(self.testenv, self.run_dir, self._run_node, self.rem_host, self.data_interface) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23350 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Iaacf348e2e018da5b67ada33079018c1859d3b63 Gerrit-Change-Number: 23350 Gerrit-PatchSet: 1 Gerrit-Owner: ninjab3s Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 12 12:51:18 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Fri, 12 Mar 2021 12:51:18 +0000 Subject: Change in osmo-gsm-tester[master]: osmo-gsm-tester_androidue_conn_chk.sh: improve error handling In-Reply-To: References: Message-ID: srs_andre has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23343 ) Change subject: osmo-gsm-tester_androidue_conn_chk.sh: improve error handling ...................................................................... osmo-gsm-tester_androidue_conn_chk.sh: improve error handling fix check of $serial and check passed arguments. exit when adb isn't installed on host Change-Id: I6190a840dbc86838457da96d188afc17f83ab15f --- M utils/bin/osmo-gsm-tester_androidue_conn_chk.sh 1 file changed, 26 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/43/23343/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23343 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I6190a840dbc86838457da96d188afc17f83ab15f Gerrit-Change-Number: 23343 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 12 13:28:12 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 12 Mar 2021 13:28:12 +0000 Subject: Change in osmo-pcu[master]: Add new PDCH UL Controller, drop SBAllocator class In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23291 ) Change subject: Add new PDCH UL Controller, drop SBAllocator class ...................................................................... Patch Set 7: Code-Review+1 (5 comments) https://gerrit.osmocom.org/c/osmo-pcu/+/23291/7/src/pdch_ul_controller.c File src/pdch_ul_controller.c: https://gerrit.osmocom.org/c/osmo-pcu/+/23291/7/src/pdch_ul_controller.c at 39 PS7, Line 39: /* #if 0 https://gerrit.osmocom.org/c/osmo-pcu/+/23291/7/src/pdch_ul_controller.c at 55 PS7, Line 55: iterate over rb-tree and free whatever Doesn't talloc do this for us once you free() the ulc? https://gerrit.osmocom.org/c/osmo-pcu/+/23291/7/src/pdch_ul_controller.c at 79 PS7, Line 79: this I would avoid using a keyword as a symbol name. I know it's not C++ code, but still. https://gerrit.osmocom.org/c/osmo-pcu/+/23291/7/src/pdch_ul_controller.c at 102 PS7, Line 102: /* It's OK if we don't find one, this func is used by RTS to see if we need to schedule one */ Without FIXME / TODO, this looks like an early development leftover? If the logging message is still useful, then let's uncomment and use LOGL_DEBUG. https://gerrit.osmocom.org/c/osmo-pcu/+/23291/7/src/pdch_ul_controller.c at 129 PS7, Line 129: this Again keywords... It's confusing to see them used as symbol names in a mixed C / C++ project. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23291 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I84b24beea4a1aa2c1528f41435f77bd16df2b947 Gerrit-Change-Number: 23291 Gerrit-PatchSet: 7 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Fri, 12 Mar 2021 13:28: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 Fri Mar 12 13:29:22 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 12 Mar 2021 13:29:22 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: add resource scheme to configure fixed DL and UL freq In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23346 ) Change subject: ms_srs: add resource scheme to configure fixed DL and UL freq ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23346/2/src/osmo_gsm_tester/templates/srsue.conf.tmpl File src/osmo_gsm_tester/templates/srsue.conf.tmpl: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23346/2/src/osmo_gsm_tester/templates/srsue.conf.tmpl at 41 PS2, Line 41: % if ue.dl_freq!= "-1": I don't see you setting it to -1 by default. May be worth checking with something like ue.get("dl_freq", "-1") != "-1" ? -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23346 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ice070ea6755e273d916db2dc941068d33bbe206a Gerrit-Change-Number: 23346 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 12 Mar 2021 13:29:22 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 12 13:30:56 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 12 Mar 2021 13:30:56 +0000 Subject: Change in osmo-gsm-tester[master]: enb.py: increase zmq trx timeout to 4000ms In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23333 ) Change subject: enb.py: increase zmq trx timeout to 4000ms ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23333 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ib32a07559bd5a4b0165f6d3431c5ac57cc050f44 Gerrit-Change-Number: 23333 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 12 Mar 2021 13:30: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 Mar 12 13:31:31 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 12 Mar 2021 13:31:31 +0000 Subject: Change in osmo-gsm-tester[master]: {enb, ms}-label.conf: raneme and add modifier to select eNB/MS based o... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23334 ) Change subject: {enb,ms}-label.conf: raneme and add modifier to select eNB/MS based on label ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23334 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I26ea160b65b9dd5ef3e5ca1100d4541a0bbcbb27 Gerrit-Change-Number: 23334 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 12 Mar 2021 13:31: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 Fri Mar 12 13:31:46 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 12 Mar 2021 13:31:46 +0000 Subject: Change in osmo-gsm-tester[master]: srsenb_drb.conf.tmpl: set PDCP discard timer to 150ms for QCI9 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23335 ) Change subject: srsenb_drb.conf.tmpl: set PDCP discard timer to 150ms for QCI9 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23335 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ib6ad0ff57b95a1f220f87c1ede0f6eacc5fb21ff Gerrit-Change-Number: 23335 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 12 Mar 2021 13:31: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 Fri Mar 12 13:32:02 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 12 Mar 2021 13:32:02 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoft_drb.cfg.tmpl: add additional QCI10 with infinit PDCP discar... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23336 ) Change subject: amarisoft_drb.cfg.tmpl: add additional QCI10 with infinit PDCP discard timer ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23336 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I60cc1390480142bd5bb516934c9f30b6122496d5 Gerrit-Change-Number: 23336 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 12 Mar 2021 13:32:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 12 13:32:16 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 12 Mar 2021 13:32:16 +0000 Subject: Change in osmo-gsm-tester[master]: srsenb_drb.conf.tmpl: add QCI10 with infinit PDCP discard timer In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23337 ) Change subject: srsenb_drb.conf.tmpl: add QCI10 with infinit PDCP discard timer ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23337 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I64a74d09cc1a55ba21a7be7b5cc203e56bba3b10 Gerrit-Change-Number: 23337 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 12 Mar 2021 13:32: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 Mar 12 13:32:51 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 12 Mar 2021 13:32:51 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: add config scheme to select NAS log level In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23338 ) Change subject: ms_srs: add config scheme to select NAS log level ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23338 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Iab2bce65e8af81f6d344849c97952e6441cb2846 Gerrit-Change-Number: 23338 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 12 Mar 2021 13:32: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 Mar 12 13:33:44 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 12 Mar 2021 13:33:44 +0000 Subject: Change in osmo-gsm-tester[master]: srsue.conf.tmpl: Adjust ue.config template for new pcap path In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23339 ) Change subject: srsue.conf.tmpl: Adjust ue.config template for new pcap path ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23339 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I4af6abaa3973652a12f571d88bca59cd443704f3 Gerrit-Change-Number: 23339 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 12 Mar 2021 13:33: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 Fri Mar 12 13:34:34 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 12 Mar 2021 13:34:34 +0000 Subject: Change in osmo-gsm-tester[master]: srsue.conf.tmpl: Adjust ue.config template for new pcap path In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23339 ) Change subject: srsue.conf.tmpl: Adjust ue.config template for new pcap path ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23339/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/+/23339/1/src/osmo_gsm_tester/templates/srsue.conf.tmpl at 84 PS1, Line 84: nas_filename = /tmp/ue_nas.pcap These paths should probably be go to the rundir prefix of the object? otherwise parallel srsue processes are writing to same path. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23339 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I4af6abaa3973652a12f571d88bca59cd443704f3 Gerrit-Change-Number: 23339 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 12 Mar 2021 13:34: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 Fri Mar 12 13:34:43 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 12 Mar 2021 13:34:43 +0000 Subject: Change in osmo-gsm-tester[master]: srsenb_sib.conf.tmpl: reduce the default size of the PUCCH In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23340 ) Change subject: srsenb_sib.conf.tmpl: reduce the default size of the PUCCH ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23340 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I45ae7c33f9d1df20df37c0fe6c3d73aa85ae1b31 Gerrit-Change-Number: 23340 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 12 Mar 2021 13:34: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 Mar 12 13:36:00 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 12 Mar 2021 13:36:00 +0000 Subject: Change in osmo-gsm-tester[master]: jenkins-build-amarisoft: copy ltesim_server binary into epc trial tgz In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23341 ) Change subject: jenkins-build-amarisoft: copy ltesim_server binary into epc trial tgz ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23341 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I21ac57d1c1547c1cf4d2394c8593f58ff2c78697 Gerrit-Change-Number: 23341 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 12 Mar 2021 13:36: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 Mar 12 13:37:37 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 12 Mar 2021 13:37:37 +0000 Subject: Change in osmo-gsm-tester[master]: epc_amarisoft: launch ltesim server when starting In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23342 ) Change subject: epc_amarisoft: launch ltesim server when starting ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23342/1/src/osmo_gsm_tester/obj/epc_amarisoft.py File src/osmo_gsm_tester/obj/epc_amarisoft.py: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23342/1/src/osmo_gsm_tester/obj/epc_amarisoft.py at 122 PS1, Line 122: import time I think it's fine importing time at the start of the module rather than here, it's a generic enough module with no extra dependencies. https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23342/1/src/osmo_gsm_tester/obj/epc_amarisoft.py at 123 PS1, Line 123: time.sleep(2) why do you need the sleep here? -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23342 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Iad081e57e2fd9d3cbc3e59e4f729a4721ad778c9 Gerrit-Change-Number: 23342 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 12 Mar 2021 13:37:37 +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 Mar 12 13:37:41 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 12 Mar 2021 13:37:41 +0000 Subject: Change in osmo-pcu[master]: Replace PollController with newly added PDCH UL Controller In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23309 ) Change subject: Replace PollController with newly added PDCH UL Controller ...................................................................... Patch Set 4: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/23309/4/tests/tbf/TbfTest.err File tests/tbf/TbfTest.err: https://gerrit.osmocom.org/c/osmo-pcu/+/23309/4/tests/tbf/TbfTest.err at 3705 PS4, Line 3705: PDCH(bts=0,trx=0,ts=4) Expiring FN=112 but previous FN=13 is still reserved! Is this expected? -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23309 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I683ca738ce5a133c49c36a1d94439a942d64a831 Gerrit-Change-Number: 23309 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Fri, 12 Mar 2021 13:37:41 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 12 13:38:48 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 12 Mar 2021 13:38:48 +0000 Subject: Change in osmo-pcu[master]: sched: Use new PDCH UL Controller In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23323 ) Change subject: sched: Use new PDCH UL Controller ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23323 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia60bb5249a9837dec1f42180e44d9848334d86d6 Gerrit-Change-Number: 23323 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Fri, 12 Mar 2021 13:38: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 Mar 12 13:38:53 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 12 Mar 2021 13:38:53 +0000 Subject: Change in osmo-gsm-tester[master]: osmo-gsm-tester_androidue_conn_chk.sh: improve error handling In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23343 ) Change subject: osmo-gsm-tester_androidue_conn_chk.sh: improve error handling ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23343 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I6190a840dbc86838457da96d188afc17f83ab15f Gerrit-Change-Number: 23343 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 12 Mar 2021 13:38: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 Mar 12 13:40:34 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 12 Mar 2021 13:40:34 +0000 Subject: Change in osmo-gsm-tester[master]: ms_android: set num_carriers to 1 by default In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23344 ) Change subject: ms_android: set num_carriers to 1 by default ...................................................................... Patch Set 2: I'd better add a public API num_carriers() or get_num_carriers() if it's used from tests. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23344 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I297d24bb578a7db0eb7629be4f2cc0d54624467d Gerrit-Change-Number: 23344 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 12 Mar 2021 13:40: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 Fri Mar 12 13:40:41 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 12 Mar 2021 13:40:41 +0000 Subject: Change in osmo-gsm-tester[master]: ms_android: set num_carriers to 1 by default In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23344 ) Change subject: ms_android: set num_carriers to 1 by default ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23344 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I297d24bb578a7db0eb7629be4f2cc0d54624467d Gerrit-Change-Number: 23344 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 12 Mar 2021 13:40:41 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 12 13:41:21 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 12 Mar 2021 13:41:21 +0000 Subject: Change in osmo-gsm-tester[master]: epc-label@.conf: add scenario to select runnode based on label In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23345 ) Change subject: epc-label at .conf: add scenario to select runnode based on label ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23345 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I710c67ad5a11bd33071acd779e19835ae49ce4a3 Gerrit-Change-Number: 23345 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 12 Mar 2021 13:41:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 12 13:41:57 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 12 Mar 2021 13:41:57 +0000 Subject: Change in osmo-gsm-tester[master]: run_node: add label to RunNode class In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23347 ) Change subject: run_node: add label to RunNode class ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23347 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ib6a977007f56d6ff9ff029aaf049a75fb5d5e1dd Gerrit-Change-Number: 23347 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 12 Mar 2021 13:41: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 Mar 12 13:42:26 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 12 Mar 2021 13:42:26 +0000 Subject: Change in osmo-gsm-tester[master]: mod-enb-ncells@.conf: add scenario file to select number of cells In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23348 ) Change subject: mod-enb-ncells at .conf: add scenario file to select number of cells ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23348 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ib599de56b0b51a125555895014d78d3d649c01a0 Gerrit-Change-Number: 23348 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 12 Mar 2021 13:42: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 Mar 12 13:43:17 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 12 Mar 2021 13:43:17 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: turn tx/rx_gain into INT and make them optional In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23349 ) Change subject: ms_srs: turn tx/rx_gain into INT and make them optional ...................................................................... Patch Set 2: Code-Review+2 (1 comment) https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23349/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23349/2//COMMIT_MSG at 10 PS2, Line 10: if they are -1 they are disbaled and automatic gain calibration is "disabled" -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23349 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I473ff3ae679784178574d2f76b612dbf77180490 Gerrit-Change-Number: 23349 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 12 Mar 2021 13:43: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 Fri Mar 12 13:43:33 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 12 Mar 2021 13:43:33 +0000 Subject: Change in osmo-gsm-tester[master]: AndroidUE: Fix connection timeout In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23350 ) Change subject: AndroidUE: Fix connection timeout ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23350 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Iaacf348e2e018da5b67ada33079018c1859d3b63 Gerrit-Change-Number: 23350 Gerrit-PatchSet: 2 Gerrit-Owner: ninjab3s Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Fri, 12 Mar 2021 13: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 Fri Mar 12 13:47:46 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 12 Mar 2021 13:47:46 +0000 Subject: Change in osmo-pcu[master]: bts: Detect FN jumps In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23314 ) Change subject: bts: Detect FN jumps ...................................................................... Patch Set 3: (4 comments) https://gerrit.osmocom.org/c/osmo-pcu/+/23314/3/src/bts.h File src/bts.h: https://gerrit.osmocom.org/c/osmo-pcu/+/23314/3/src/bts.h at 278 PS3, Line 278: TODO: change the number to unsigned Can this TODO be removed now? https://gerrit.osmocom.org/c/osmo-pcu/+/23314/3/src/bts.cpp File src/bts.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/23314/3/src/bts.cpp at 247 PS3, Line 247: (uint32_t)-1 Let's use 0xffffffff or better a macro for that. https://gerrit.osmocom.org/c/osmo-pcu/+/23314/3/src/bts.cpp at 335 PS3, Line 335: bts_current_frame_number(bts) == 0 Are you sure this is correct? AFAICS, you're now using 0xffffffff as 'not set'. I am asking because this (IMHO, useless) function basically returns bts->cur_fn. https://gerrit.osmocom.org/c/osmo-pcu/+/23314/3/tests/tbf/TbfTest.err File tests/tbf/TbfTest.err: https://gerrit.osmocom.org/c/osmo-pcu/+/23314/3/tests/tbf/TbfTest.err at 1519 PS3, Line 1519: Detected FN jump! 2654167 -> 2654270 Is this also expected? -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23314 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I29fb27981597edc69abb976049ba41aa840488cb Gerrit-Change-Number: 23314 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-Comment-Date: Fri, 12 Mar 2021 13:47:46 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 12 13:49:47 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 12 Mar 2021 13:49:47 +0000 Subject: Change in osmo-pcu[master]: Add new PDCH UL Controller, drop SBAllocator class In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23291 ) Change subject: Add new PDCH UL Controller, drop SBAllocator class ...................................................................... Patch Set 7: (5 comments) https://gerrit.osmocom.org/c/osmo-pcu/+/23291/7/src/pdch_ul_controller.c File src/pdch_ul_controller.c: https://gerrit.osmocom.org/c/osmo-pcu/+/23291/7/src/pdch_ul_controller.c at 39 PS7, Line 39: /* > #if 0 I can actually remove this. https://gerrit.osmocom.org/c/osmo-pcu/+/23291/7/src/pdch_ul_controller.c at 55 PS7, Line 55: iterate over rb-tree and free whatever > Doesn't talloc do this for us once you free() the ulc? Yes, I can drop this. https://gerrit.osmocom.org/c/osmo-pcu/+/23291/7/src/pdch_ul_controller.c at 79 PS7, Line 79: this > I would avoid using a keyword as a symbol name. I know it's not C++ code, but still. Ack https://gerrit.osmocom.org/c/osmo-pcu/+/23291/7/src/pdch_ul_controller.c at 102 PS7, Line 102: /* It's OK if we don't find one, this func is used by RTS to see if we need to schedule one */ > Without FIXME / TODO, this looks like an early development leftover? [?] I'll remove the commented log. https://gerrit.osmocom.org/c/osmo-pcu/+/23291/7/src/pdch_ul_controller.c at 129 PS7, Line 129: this > Again keywords... It's confusing to see them used as symbol names in a mixed C / C++ project. Ack -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23291 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I84b24beea4a1aa2c1528f41435f77bd16df2b947 Gerrit-Change-Number: 23291 Gerrit-PatchSet: 7 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Fri, 12 Mar 2021 13:49:47 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 12 13:52:29 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 12 Mar 2021 13:52:29 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Set up PCU TDMA clock by sending initial DATA.ind In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23324 ) Change subject: pcu: Set up PCU TDMA clock by sending initial DATA.ind ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23324/2/pcu/PCUIF_Components.ttcn File pcu/PCUIF_Components.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23324/2/pcu/PCUIF_Components.ttcn at 508 PS2, Line 508: start_fn := 0 What's the purpose of this variable? Why don't you just pass 0 directly, given that it's always 0? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23324 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I00c4dd9133ec9a236bf28fb8cb0afd0615791012 Gerrit-Change-Number: 23324 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 12 Mar 2021 13:52: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 Fri Mar 12 13:54:34 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 12 Mar 2021 13:54:34 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Set up PCU TDMA clock by sending initial DATA.ind In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23324 ) Change subject: pcu: Set up PCU TDMA clock by sending initial DATA.ind ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23324/2/pcu/PCUIF_Components.ttcn File pcu/PCUIF_Components.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23324/2/pcu/PCUIF_Components.ttcn at 508 PS2, Line 508: start_fn := 0 > What's the purpose of this variable? Why don't you just pass 0 directly, given that it's always 0? To let the reader know the FN passed two times in different places below is the same, and describe is the starting one. This way also can be changed if wanted easily if one wishes to test starting from FN != 0. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23324 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I00c4dd9133ec9a236bf28fb8cb0afd0615791012 Gerrit-Change-Number: 23324 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 12 Mar 2021 13:54:34 +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 Mar 12 13:54:59 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 12 Mar 2021 13:54:59 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Set up PCU TDMA clock by sending initial DATA.ind In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23324 ) Change subject: pcu: Set up PCU TDMA clock by sending initial DATA.ind ...................................................................... Patch Set 2: Code-Review+2 Re-adding previous +1 and merging. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23324 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I00c4dd9133ec9a236bf28fb8cb0afd0615791012 Gerrit-Change-Number: 23324 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 12 Mar 2021 13:54: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 Fri Mar 12 13:55:01 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 12 Mar 2021 13:55:01 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Set up PCU TDMA clock by sending initial DATA.ind In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23324 ) Change subject: pcu: Set up PCU TDMA clock by sending initial DATA.ind ...................................................................... pcu: Set up PCU TDMA clock by sending initial DATA.ind In recent osmo-pcu commits, initial fn was changed to invalid value -1, in order to be able to detect FN jumps. previously, the initial value was set randomly to 0, which was wrong anyway because first FN received from the BTS could be any other FN counted by the BTS at that time. This makes some tests fail because they send RACH.ind + RTS.ind to receive the Imm Assignment, and the Request reference in the Imm Assign was calculated on the invalid unset FN "-1", hence it won't match test expectancies. In order to fix it, simply make sure the TDMA clock is initiated by sending a DATA.ind to the PCU before tests start doing stuff (f_init_raw() is blocked waiting for BTS_EV_SI13_NEGO). Related: osmo-pcu.git Change-Id I29fb27981597edc69abb976049ba41aa840488cb Related: OS#5020 Change-Id: I00c4dd9133ec9a236bf28fb8cb0afd0615791012 --- M pcu/PCUIF_Components.ttcn 1 file changed, 35 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/pcu/PCUIF_Components.ttcn b/pcu/PCUIF_Components.ttcn index 6b0a412..7655184 100644 --- a/pcu/PCUIF_Components.ttcn +++ b/pcu/PCUIF_Components.ttcn @@ -216,10 +216,12 @@ return ss; } -function f_ClckGen_CT_handler() +function f_ClckGen_CT_handler(integer start_fn := 0) runs on RAW_PCU_ClckGen_CT { var integer fn104, fn52, fn13; + fn := start_fn; + while (true) { fn104 := fn mod 104; fn52 := fn mod 52; @@ -343,6 +345,32 @@ } } +/* Submit empty data on any available TS, to set up initial TDMA clock */ +private function f_tx_first_data_ind(integer bts_nr, PCUIF_info_ind info_ind, integer start_fn) +runs on RAW_PCU_BTS_CT +{ + var PCUIF_Message pcu_msg; + var PCUIF_InfoV10TrxList trx_list := g_info_ind.trx.v10; + + /* Find an active TS: */ + for (var uint8_t ts_nr := 0; ts_nr < 8; ts_nr := ts_nr + 1) { + for (var integer trx_nr := 0; trx_nr < lengthof(trx_list); trx_nr := trx_nr + 1) { + if (trx_list[trx_nr].pdch_mask[ts_nr] == '0'B) { + continue; /* TRX+TS not activated */ + } + + /* Send empty DATA.ind to set up FN */ + pcu_msg := valueof(ts_PCUIF_DATA_IND(bts_nr, trx_nr, ts_nr, 0 /* FIXME */, + PCU_IF_SAPI_PDTCH, ''O, start_fn, + trx_list[trx_nr].arfcn, + rssi := -80, ber10k := 0, + ta_offs_qbits := 0, lqual_cb := 10)); + PCUIF.send(pcu_msg); + return; + } + } +} + /* Get first message from queue. true if non-empty, false otherwise */ private function f_tx_data_ind_fn(integer bts_nr, integer fn) runs on RAW_PCU_BTS_CT @@ -477,11 +505,16 @@ u := { info_ind := info_ind } }); + var integer start_fn := 0; + if (mp_send_all_data_ind) { + f_tx_first_data_ind(bts_nr, info_ind, start_fn); + } + /* Notify the test case that we're done with SI13 */ TC.send(ts_RAW_PCU_EV(BTS_EV_SI13_NEGO)); /* Start feeding clock to the PCU */ - vc_CLCK_GEN.start(f_ClckGen_CT_handler()); + vc_CLCK_GEN.start(f_ClckGen_CT_handler(start_fn)); repeat; } /* PCU -> TS becomes active */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23324 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I00c4dd9133ec9a236bf28fb8cb0afd0615791012 Gerrit-Change-Number: 23324 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 12 14:01:28 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 12 Mar 2021 14:01:28 +0000 Subject: Change in osmo-pcu[master]: Replace PollController with newly added PDCH UL Controller In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23309 ) Change subject: Replace PollController with newly added PDCH UL Controller ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/23309/4/tests/tbf/TbfTest.err File tests/tbf/TbfTest.err: https://gerrit.osmocom.org/c/osmo-pcu/+/23309/4/tests/tbf/TbfTest.err at 3705 PS4, Line 3705: PDCH(bts=0,trx=0,ts=4) Expiring FN=112 but previous FN=13 is still reserved! > Is this expected? Yes, most of the unit tests are not 100% compatible with what a correct running system would do, but it's fine since usually they only seek testing one specific thing. Prior to my patches most of this issues were still there, but they weren't triggered because TIME.ind were not dispatched to PCU code by the test. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23309 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I683ca738ce5a133c49c36a1d94439a942d64a831 Gerrit-Change-Number: 23309 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Fri, 12 Mar 2021 14:01:28 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 12 14:03:32 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 12 Mar 2021 14:03:32 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Set up PCU TDMA clock by sending initial DATA.ind In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23324 ) Change subject: pcu: Set up PCU TDMA clock by sending initial DATA.ind ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23324/2/pcu/PCUIF_Components.ttcn File pcu/PCUIF_Components.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23324/2/pcu/PCUIF_Components.ttcn at 508 PS2, Line 508: start_fn := 0 > To let the reader know the FN passed two times in different places below is the same, and describe i [?] It kind of creates an impression that f_tx_first_data_ind() accepts an 'inout' parameter and may change it. It would have been more informative if you used 'const' instead of 'var'. Alternatively, passing paameters together with their name is an option, i.e. f_ClckGen_CT_handler(start_fn := 0). -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23324 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I00c4dd9133ec9a236bf28fb8cb0afd0615791012 Gerrit-Change-Number: 23324 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 12 Mar 2021 14:03:32 +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 Fri Mar 12 14:09:45 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 12 Mar 2021 14:09:45 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcuif: make variable const References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23351 ) Change subject: pcuif: make variable const ...................................................................... pcuif: make variable const Change-Id: I0450a49a4c9a8e0e1252d6561fb93f6fb4585748 --- M pcu/PCUIF_Components.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/51/23351/1 diff --git a/pcu/PCUIF_Components.ttcn b/pcu/PCUIF_Components.ttcn index 7655184..27cf56d 100644 --- a/pcu/PCUIF_Components.ttcn +++ b/pcu/PCUIF_Components.ttcn @@ -505,7 +505,7 @@ u := { info_ind := info_ind } }); - var integer start_fn := 0; + const integer start_fn := 0; if (mp_send_all_data_ind) { f_tx_first_data_ind(bts_nr, info_ind, start_fn); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23351 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0450a49a4c9a8e0e1252d6561fb93f6fb4585748 Gerrit-Change-Number: 23351 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 Mar 12 14:12:38 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 12 Mar 2021 14:12:38 +0000 Subject: Change in osmo-pcu[master]: bts: Detect FN jumps In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23314 ) Change subject: bts: Detect FN jumps ...................................................................... Patch Set 3: (2 comments) https://gerrit.osmocom.org/c/osmo-pcu/+/23314/3/src/bts.cpp File src/bts.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/23314/3/src/bts.cpp at 335 PS3, Line 335: bts_current_frame_number(bts) == 0 > Are you sure this is correct? AFAICS, you're now using 0xffffffff as 'not set'. [?] Indeed, thanks for pointing out. https://gerrit.osmocom.org/c/osmo-pcu/+/23314/3/tests/tbf/TbfTest.err File tests/tbf/TbfTest.err: https://gerrit.osmocom.org/c/osmo-pcu/+/23314/3/tests/tbf/TbfTest.err at 1519 PS3, Line 1519: Detected FN jump! 2654167 -> 2654270 > Is this also expected? Yes, tests are not properly (nor care sometimes) about properly updating the clock every time, since they don't need it to accomplish what they test. These lines being printed actually mean the detection seems to be working :) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23314 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I29fb27981597edc69abb976049ba41aa840488cb Gerrit-Change-Number: 23314 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-Comment-Date: Fri, 12 Mar 2021 14:12: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 Mar 12 14:21:50 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 12 Mar 2021 14:21:50 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcuif: make variable const In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23351 ) Change subject: pcuif: make variable const ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23351 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0450a49a4c9a8e0e1252d6561fb93f6fb4585748 Gerrit-Change-Number: 23351 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Fri, 12 Mar 2021 14:21:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 12 14:29:00 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 12 Mar 2021 14:29:00 +0000 Subject: Change in osmo-pcu[master]: Add new PDCH UL Controller, drop SBAllocator class In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, fixeria, lynxis lazus, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/23291 to look at the new patch set (#8). Change subject: Add new PDCH UL Controller, drop SBAllocator class ...................................................................... Add new PDCH UL Controller, drop SBAllocator class Right now we handle different types of UL allocations in different classes like PollAllocator and SBAllocator, and they usually don't take into account the other one in most cases. Furthermore, those objects are usually per-BTS object, instead of per PDCH object. This is a first step towards having a unified per-PDCH controller which takes care of controlling what is scheduled and hence expected on the uplink. Each PDCH has a UL Controller which keeps track of all reserved uplink frame, be it SB, RRBP poll or USF assigned, all under the same API. As a first step, only the SBA part is fully implemented and used (being it the easiest part to replace); TBF poll+usf will come in follow-up patches later on. As a result, the SBAllocator per-BTS class dissappears but some of its code is refactored/reused to provide more features to the gprs_rlcmac_sba object, which is also further integrated into the new UL Controller. Related: OS#5020 Change-Id: I84b24beea4a1aa2c1528f41435f77bd16df2b947 --- M src/Makefile.am M src/bts.cpp M src/bts.h M src/gprs_rlcmac_sched.cpp M src/pcu_l1_if.cpp M src/pcu_utils.h M src/pdch.cpp M src/pdch.h A src/pdch_ul_controller.c A src/pdch_ul_controller.h M src/poll_controller.cpp A src/sba.c D src/sba.cpp M src/sba.h M src/tbf.cpp M tests/tbf/TbfTest.cpp M tests/tbf/TbfTest.err 17 files changed, 443 insertions(+), 225 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/91/23291/8 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23291 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I84b24beea4a1aa2c1528f41435f77bd16df2b947 Gerrit-Change-Number: 23291 Gerrit-PatchSet: 8 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 12 14:29:00 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 12 Mar 2021 14:29:00 +0000 Subject: Change in osmo-pcu[master]: sched: Use new PDCH UL Controller In-Reply-To: References: Message-ID: Hello Jenkins Builder, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/23323 to look at the new patch set (#3). Change subject: sched: Use new PDCH UL Controller ...................................................................... sched: Use new PDCH UL Controller Take the time to also do small refactorings to clarify and simplify the function, by using rts_next_fn() already available in pcu_utils.h and getting rid of poll_tbf from tbf_candidates, which clearly follows another objective. Using PDCH UL Controller has the advantatge that we don't need to check poll_scheduled() on each TBF, but only do the query once. Related: OS#5020 Change-Id: Ia60bb5249a9837dec1f42180e44d9848334d86d6 --- M src/gprs_rlcmac_sched.cpp M src/pdch_ul_controller.c M src/pdch_ul_controller.h 3 files changed, 23 insertions(+), 24 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/23/23323/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23323 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia60bb5249a9837dec1f42180e44d9848334d86d6 Gerrit-Change-Number: 23323 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 12 14:29:00 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 12 Mar 2021 14:29:00 +0000 Subject: Change in osmo-pcu[master]: bts: Detect FN jumps 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/+/23314 to look at the new patch set (#4). Change subject: bts: Detect FN jumps ...................................................................... bts: Detect FN jumps Change-Id: I29fb27981597edc69abb976049ba41aa840488cb --- M src/bts.cpp M src/bts.h M src/pcu_utils.h M tests/tbf/TbfTest.cpp M tests/tbf/TbfTest.err 5 files changed, 87 insertions(+), 14 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/14/23314/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23314 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I29fb27981597edc69abb976049ba41aa840488cb Gerrit-Change-Number: 23314 Gerrit-PatchSet: 4 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 Fri Mar 12 14:45:58 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 12 Mar 2021 14:45:58 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcuif: make variable const In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23351 ) Change subject: pcuif: make variable const ...................................................................... pcuif: make variable const Change-Id: I0450a49a4c9a8e0e1252d6561fb93f6fb4585748 --- M pcu/PCUIF_Components.ttcn 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/pcu/PCUIF_Components.ttcn b/pcu/PCUIF_Components.ttcn index 7655184..27cf56d 100644 --- a/pcu/PCUIF_Components.ttcn +++ b/pcu/PCUIF_Components.ttcn @@ -505,7 +505,7 @@ u := { info_ind := info_ind } }); - var integer start_fn := 0; + const integer start_fn := 0; if (mp_send_all_data_ind) { f_tx_first_data_ind(bts_nr, info_ind, start_fn); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23351 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I0450a49a4c9a8e0e1252d6561fb93f6fb4585748 Gerrit-Change-Number: 23351 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 12 14:48:50 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 12 Mar 2021 14:48:50 +0000 Subject: Change in pysim[master]: README.md: add notes about the new 'cmd2' dependency References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/23352 ) Change subject: README.md: add notes about the new 'cmd2' dependency ...................................................................... README.md: add notes about the new 'cmd2' dependency Change-Id: I314317ab547bc32497839fe70e7a6f6b66bcc8ef --- M README.md 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/52/23352/1 diff --git a/README.md b/README.md index 3234665..c6ec3db 100644 --- a/README.md +++ b/README.md @@ -37,10 +37,11 @@ - pyscard - serial - pytlv (for specific card types) +- cmd2 (for pySim-shell.py) Example for Debian: - apt-get install python3-pyscard python3-serial python3-pip python3-yaml + apt-get install python3-pyscard python3-serial python3-cmd2 python3-pip python3-yaml pip3 install pytlv -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23352 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I314317ab547bc32497839fe70e7a6f6b66bcc8ef Gerrit-Change-Number: 23352 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 12 14:48:51 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 12 Mar 2021 14:48:51 +0000 Subject: Change in pysim[master]: Check in requirements.txt to simplify installing dependencies References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/23353 ) Change subject: Check in requirements.txt to simplify installing dependencies ...................................................................... Check in requirements.txt to simplify installing dependencies Change-Id: I88db5e8a661fb3ddc72b7d423a878c0143353d3e --- M README.md A requirements.txt 2 files changed, 8 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/53/23353/1 diff --git a/README.md b/README.md index c6ec3db..028a84a 100644 --- a/README.md +++ b/README.md @@ -44,6 +44,10 @@ apt-get install python3-pyscard python3-serial python3-cmd2 python3-pip python3-yaml pip3 install pytlv +Alternatively, everything can be installed using pip: + + pip3 install -r requirements.txt + Mailing List ------------ diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..978a3db --- /dev/null +++ b/requirements.txt @@ -0,0 +1,4 @@ +pyscard +serial +pytlv +cmd2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23353 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I88db5e8a661fb3ddc72b7d423a878c0143353d3e Gerrit-Change-Number: 23353 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 12 14:52:17 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 12 Mar 2021 14:52:17 +0000 Subject: Change in pysim[master]: README.md: add notes about the new 'cmd2' dependency In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23352 ) Change subject: README.md: add notes about the new 'cmd2' dependency ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23352 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I314317ab547bc32497839fe70e7a6f6b66bcc8ef Gerrit-Change-Number: 23352 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Fri, 12 Mar 2021 14:52:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 12 14:52:49 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 12 Mar 2021 14:52:49 +0000 Subject: Change in pysim[master]: Check in requirements.txt to simplify installing dependencies In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23353 ) Change subject: Check in requirements.txt to simplify installing dependencies ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23353 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I88db5e8a661fb3ddc72b7d423a878c0143353d3e Gerrit-Change-Number: 23353 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 12 Mar 2021 14:52: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 Mar 12 15:30:35 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 12 Mar 2021 15:30:35 +0000 Subject: Change in pysim[master]: README.md: add notes about the new 'cmd2' dependency In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23352 ) Change subject: README.md: add notes about the new 'cmd2' dependency ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23352 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I314317ab547bc32497839fe70e7a6f6b66bcc8ef Gerrit-Change-Number: 23352 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 12 Mar 2021 15:30:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 12 15:30:51 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 12 Mar 2021 15:30:51 +0000 Subject: Change in pysim[master]: Check in requirements.txt to simplify installing dependencies In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23353 ) Change subject: Check in requirements.txt to simplify installing dependencies ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23353 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I88db5e8a661fb3ddc72b7d423a878c0143353d3e Gerrit-Change-Number: 23353 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 12 Mar 2021 15:30: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 Mar 12 15:30:52 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 12 Mar 2021 15:30:52 +0000 Subject: Change in pysim[master]: README.md: add notes about the new 'cmd2' dependency In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/23352 ) Change subject: README.md: add notes about the new 'cmd2' dependency ...................................................................... README.md: add notes about the new 'cmd2' dependency Change-Id: I314317ab547bc32497839fe70e7a6f6b66bcc8ef --- M README.md 1 file changed, 2 insertions(+), 1 deletion(-) Approvals: pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/README.md b/README.md index 3234665..c6ec3db 100644 --- a/README.md +++ b/README.md @@ -37,10 +37,11 @@ - pyscard - serial - pytlv (for specific card types) +- cmd2 (for pySim-shell.py) Example for Debian: - apt-get install python3-pyscard python3-serial python3-pip python3-yaml + apt-get install python3-pyscard python3-serial python3-cmd2 python3-pip python3-yaml pip3 install pytlv -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23352 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I314317ab547bc32497839fe70e7a6f6b66bcc8ef Gerrit-Change-Number: 23352 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 Fri Mar 12 15:30:53 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 12 Mar 2021 15:30:53 +0000 Subject: Change in pysim[master]: Check in requirements.txt to simplify installing dependencies In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/23353 ) Change subject: Check in requirements.txt to simplify installing dependencies ...................................................................... Check in requirements.txt to simplify installing dependencies Change-Id: I88db5e8a661fb3ddc72b7d423a878c0143353d3e --- M README.md A requirements.txt 2 files changed, 8 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/README.md b/README.md index c6ec3db..028a84a 100644 --- a/README.md +++ b/README.md @@ -44,6 +44,10 @@ apt-get install python3-pyscard python3-serial python3-cmd2 python3-pip python3-yaml pip3 install pytlv +Alternatively, everything can be installed using pip: + + pip3 install -r requirements.txt + Mailing List ------------ diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..978a3db --- /dev/null +++ b/requirements.txt @@ -0,0 +1,4 @@ +pyscard +serial +pytlv +cmd2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23353 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I88db5e8a661fb3ddc72b7d423a878c0143353d3e Gerrit-Change-Number: 23353 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 Fri Mar 12 15:58:25 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 12 Mar 2021 15:58:25 +0000 Subject: Change in osmo-pcu[master]: cosmetic: tests/Makefile.am: Split content into several lines References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23354 ) Change subject: cosmetic: tests/Makefile.am: Split content into several lines ...................................................................... cosmetic: tests/Makefile.am: Split content into several lines Change-Id: I67361862b992d761b314d9565165ece7e380606d --- M tests/Makefile.am 1 file changed, 21 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/54/23354/1 diff --git a/tests/Makefile.am b/tests/Makefile.am index a7771b9..b377fdb 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -1,7 +1,22 @@ AM_CPPFLAGS = $(STD_DEFINES_AND_INCLUDES) $(LIBOSMOCORE_CFLAGS) $(LIBOSMOCTRL_CFLAGS) $(LIBOSMOGB_CFLAGS) $(LIBOSMOGSM_CFLAGS) -I$(top_srcdir)/src/ -I$(top_srcdir)/include/ AM_LDFLAGS = -lrt -no-install -check_PROGRAMS = rlcmac/RLCMACTest alloc/AllocTest alloc/MslotTest tbf/TbfTest types/TypesTest ms/MsTest llist/LListTest llc/LlcTest codel/codel_test edge/EdgeTest bitcomp/BitcompTest fn/FnTest app_info/AppInfoTest +check_PROGRAMS = \ + rlcmac/RLCMACTest \ + alloc/AllocTest \ + alloc/MslotTest \ + tbf/TbfTest \ + types/TypesTest \ + ms/MsTest \ + llist/LListTest \ + llc/LlcTest \ + codel/codel_test \ + edge/EdgeTest \ + bitcomp/BitcompTest \ + fn/FnTest \ + app_info/AppInfoTest \ + $(NULL) + noinst_PROGRAMS = emu/pcu_emu rlcmac_RLCMACTest_SOURCES = rlcmac/RLCMACTest.cpp @@ -147,7 +162,9 @@ } >'$(srcdir)/package.m4' EXTRA_DIST = \ - testsuite.at $(srcdir)/package.m4 $(TESTSUITE) \ + testsuite.at \ + $(srcdir)/package.m4 \ + $(TESTSUITE) \ rlcmac/RLCMACTest.ok rlcmac/RLCMACTest.err \ alloc/AllocTest.ok alloc/AllocTest.err \ tbf/TbfTest.err \ @@ -159,7 +176,8 @@ codel/codel_test.ok \ edge/EdgeTest.ok \ fn/FnTest.ok \ - app_info/AppInfoTest.ok app_info/AppInfoTest.err + app_info/AppInfoTest.ok app_info/AppInfoTest.err \ + $(NULL) DISTCLEANFILES = atconfig -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23354 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I67361862b992d761b314d9565165ece7e380606d Gerrit-Change-Number: 23354 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 Mar 12 15:58:25 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 12 Mar 2021 15:58:25 +0000 Subject: Change in osmo-pcu[master]: tests: Introduce unit tests for PDCH UL Controller References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23355 ) Change subject: tests: Introduce unit tests for PDCH UL Controller ...................................................................... tests: Introduce unit tests for PDCH UL Controller Related: OS#5020 Change-Id: Ie1ff0ca3d7fc8a9824d6fe4dceb746e301082bda --- M tests/Makefile.am M tests/testsuite.at A tests/ulc/PdchUlcTest.cpp A tests/ulc/PdchUlcTest.err A tests/ulc/PdchUlcTest.ok 5 files changed, 214 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/55/23355/1 diff --git a/tests/Makefile.am b/tests/Makefile.am index b377fdb..40617bb 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -15,6 +15,7 @@ bitcomp/BitcompTest \ fn/FnTest \ app_info/AppInfoTest \ + ulc/PdchUlcTest \ $(NULL) noinst_PROGRAMS = emu/pcu_emu @@ -143,6 +144,15 @@ $(LIBOSMOCORE_LIBS) \ $(COMMON_LA) +ulc_PdchUlcTest_SOURCES = ulc/PdchUlcTest.cpp +ulc_PdchUlcTest_LDADD = \ + $(top_builddir)/src/libgprs.la \ + $(LIBOSMOGB_LIBS) \ + $(LIBOSMOGSM_LIBS) \ + $(LIBOSMOCTRL_LIBS) \ + $(LIBOSMOCORE_LIBS) \ + $(COMMON_LA) + # The `:;' works around a Bash 3.2 bug when the output is not writeable. $(srcdir)/package.m4: $(top_srcdir)/configure.ac :;{ \ @@ -177,6 +187,7 @@ edge/EdgeTest.ok \ fn/FnTest.ok \ app_info/AppInfoTest.ok app_info/AppInfoTest.err \ + ulc/PdchUlcTest.ok ulc/PdchUlcTest.err \ $(NULL) DISTCLEANFILES = atconfig diff --git a/tests/testsuite.at b/tests/testsuite.at index 8a319bd..f6dc62c 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -88,3 +88,10 @@ cat $abs_srcdir/app_info/AppInfoTest.err > experr AT_CHECK([$OSMO_QEMU $abs_top_builddir/tests/app_info/AppInfoTest], [0], [expout], [experr]) AT_CLEANUP + +AT_SETUP([ulc]) +AT_KEYWORDS([ulc]) +cat $abs_srcdir/ulc/PdchUlcTest.ok > expout +cat $abs_srcdir/ulc/PdchUlcTest.err > experr +AT_CHECK([$OSMO_QEMU $abs_top_builddir/tests/ulc/PdchUlcTest], [0], [expout], [experr]) +AT_CLEANUP diff --git a/tests/ulc/PdchUlcTest.cpp b/tests/ulc/PdchUlcTest.cpp new file mode 100644 index 0000000..df922f3 --- /dev/null +++ b/tests/ulc/PdchUlcTest.cpp @@ -0,0 +1,188 @@ +/* PDCH UL Controller test + * + * Copyright (C) 2021 by sysmocom - s.f.m.c. GmbH + * Author: Pau Espin Pedrol + * All Rights Reserved + * + * Author: Philipp Maier + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +#include +#include + +extern "C" { +#include +#include +#include +#include +} + +#include "bts.h" +#include "sba.h" +#include "pdch_ul_controller.h" + +/* globals used by the code */ +void *tall_pcu_ctx; + +static void test_reserve_multiple() +{ + printf("=== start: %s ===\n", __FUNCTION__); + const uint32_t fn = 20; + struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); + struct gprs_rlcmac_pdch *pdch = &bts->trx[0].pdch[0]; + struct gprs_rlcmac_tbf *tbf1 = (struct gprs_rlcmac_tbf*)0x1234; /*Dummy pointer */ + struct gprs_rlcmac_tbf *tbf2 = (struct gprs_rlcmac_tbf*)0x5678; /*Dummy pointer */ + struct gprs_rlcmac_sba *sba1, *sba2; + pdch->last_rts_fn = fn; /* This is used by sba_alloc to set + reserve FN */ + sba1 = sba_alloc(bts, pdch, 0); + pdch->last_rts_fn = fn_next_block(pdch->last_rts_fn); + sba2 = sba_alloc(bts, pdch, 0); + uint32_t tbf1_poll_fn1 = fn_next_block(sba2->fn); + uint32_t tbf2_poll_fn1 = fn_next_block(tbf1_poll_fn1); + uint32_t tbf1_poll_fn2 = fn_next_block(tbf2_poll_fn1); + int rc; + struct pdch_ulc_node *node; + + /* SBAs are reserved directly during allocation: */ + OSMO_ASSERT(pdch_ulc_fn_is_free(pdch->ulc, sba1->fn) == false); + OSMO_ASSERT(pdch_ulc_get_sba(pdch->ulc, sba1->fn) == sba1); + OSMO_ASSERT(pdch_ulc_fn_is_free(pdch->ulc, sba2->fn) == false); + OSMO_ASSERT(pdch_ulc_get_sba(pdch->ulc, sba2->fn) == sba2); + + rc = pdch_ulc_reserve_sba(pdch->ulc, sba1); + OSMO_ASSERT(rc == -EEXIST); + OSMO_ASSERT(pdch_ulc_fn_is_free(pdch->ulc, sba1->fn) == false); + node = pdch_ulc_get_node(pdch->ulc, sba1->fn); + OSMO_ASSERT(node->type == PDCH_ULC_NODE_SBA && node->sba.sba == sba1); + OSMO_ASSERT(pdch_ulc_fn_is_free(pdch->ulc, sba1->fn) == false); + + rc = pdch_ulc_reserve_sba(pdch->ulc, sba2); + OSMO_ASSERT(rc == -EEXIST); + OSMO_ASSERT(pdch_ulc_get_sba(pdch->ulc, sba1->fn) == sba1); + OSMO_ASSERT(pdch_ulc_get_sba(pdch->ulc, sba2->fn) == sba2); + node = pdch_ulc_get_node(pdch->ulc, sba2->fn); + OSMO_ASSERT(node->type == PDCH_ULC_NODE_SBA && node->sba.sba == sba2); + + rc = pdch_ulc_reserve_tbf_poll(pdch->ulc, sba1->fn, tbf1); + OSMO_ASSERT(rc == -EEXIST); + OSMO_ASSERT(pdch_ulc_get_tbf_poll(pdch->ulc, sba1->fn) == NULL); + rc = pdch_ulc_reserve_tbf_poll(pdch->ulc, sba2->fn, tbf1); + OSMO_ASSERT(rc == -EEXIST); + OSMO_ASSERT(pdch_ulc_get_tbf_poll(pdch->ulc, sba2->fn) == NULL); + + /* Now Reserve correctly TBF1 */ + OSMO_ASSERT(pdch_ulc_fn_is_free(pdch->ulc, tbf1_poll_fn1) == true); + rc = pdch_ulc_reserve_tbf_poll(pdch->ulc, tbf1_poll_fn1, tbf1); + OSMO_ASSERT(rc == 0); + OSMO_ASSERT(pdch_ulc_get_tbf_poll(pdch->ulc, tbf1_poll_fn1) == tbf1); + OSMO_ASSERT(pdch_ulc_fn_is_free(pdch->ulc, tbf1_poll_fn1) == false); + node = pdch_ulc_get_node(pdch->ulc, tbf1_poll_fn1); + OSMO_ASSERT(node->type == PDCH_ULC_NODE_TBF_POLL && node->tbf_poll.poll_tbf == tbf1); + OSMO_ASSERT(pdch_ulc_fn_is_free(pdch->ulc, tbf1_poll_fn1) == false); + + /* Now reserve correctly TBF2 */ + OSMO_ASSERT(pdch_ulc_fn_is_free(pdch->ulc, tbf2_poll_fn1) == true); + rc = pdch_ulc_reserve_tbf_poll(pdch->ulc, tbf2_poll_fn1, tbf2); + OSMO_ASSERT(rc == 0); + OSMO_ASSERT(pdch_ulc_get_tbf_poll(pdch->ulc, tbf2_poll_fn1) == tbf2); + OSMO_ASSERT(pdch_ulc_fn_is_free(pdch->ulc, tbf2_poll_fn1) == false); + node = pdch_ulc_get_node(pdch->ulc, tbf2_poll_fn1); + OSMO_ASSERT(node->type == PDCH_ULC_NODE_TBF_POLL && node->tbf_poll.poll_tbf == tbf2); + OSMO_ASSERT(pdch_ulc_fn_is_free(pdch->ulc, tbf2_poll_fn1) == false); + + /* Now Reserve TBF1 for POLL again on a later FN, which is totally expected: */ + OSMO_ASSERT(pdch_ulc_fn_is_free(pdch->ulc, tbf1_poll_fn2) == true); + rc = pdch_ulc_reserve_tbf_poll(pdch->ulc, tbf1_poll_fn2, tbf1); + OSMO_ASSERT(rc == 0); + OSMO_ASSERT(pdch_ulc_get_tbf_poll(pdch->ulc, tbf1_poll_fn2) == tbf1); + OSMO_ASSERT(pdch_ulc_fn_is_free(pdch->ulc, tbf1_poll_fn2) == false); + node = pdch_ulc_get_node(pdch->ulc, tbf1_poll_fn2); + OSMO_ASSERT(node->type == PDCH_ULC_NODE_TBF_POLL && node->tbf_poll.poll_tbf == tbf1); + OSMO_ASSERT(pdch_ulc_fn_is_free(pdch->ulc, tbf1_poll_fn2) == false); + + /* Now release them in different ways: */ + node = pdch_ulc_pop_node(pdch->ulc, sba2->fn); + OSMO_ASSERT(node->type == PDCH_ULC_NODE_SBA && node->sba.sba == sba2); + OSMO_ASSERT(pdch_ulc_get_sba(pdch->ulc, sba2->fn) == NULL); + OSMO_ASSERT(pdch_ulc_fn_is_free(pdch->ulc, sba2->fn) == true); + /* This will probably print a wanring since in general SBAs are expected + * to be released from ULC during sba_free() time: */ + sba_free(sba2); + + pdch_ulc_expire_fn(pdch->ulc, sba1->fn); + + /* here the 2 tbf1 entries should be removed, so Ul Controller should + only have 1 entry for tbf2 after the call: */ + pdch_ulc_release_tbf(pdch->ulc, tbf1); + OSMO_ASSERT(pdch_ulc_get_tbf_poll(pdch->ulc, tbf1_poll_fn1) == NULL); + OSMO_ASSERT(pdch_ulc_get_tbf_poll(pdch->ulc, tbf1_poll_fn2) == NULL); + OSMO_ASSERT(pdch_ulc_get_tbf_poll(pdch->ulc, tbf2_poll_fn1) == tbf2); + + rc = pdch_ulc_release_fn(pdch->ulc, tbf1_poll_fn1); + OSMO_ASSERT(rc == -ENOKEY); + rc = pdch_ulc_release_fn(pdch->ulc, tbf1_poll_fn2); + OSMO_ASSERT(rc == -ENOKEY); + rc = pdch_ulc_release_fn(pdch->ulc, tbf2_poll_fn1); + OSMO_ASSERT(rc == 0); + + /* Make sure the store is empty now: */ + OSMO_ASSERT(!rb_first(&pdch->ulc->tree_root)); + + talloc_free(bts); + printf("=== end: %s ===\n", __FUNCTION__); +} + +int main(int argc, char **argv) +{ + tall_pcu_ctx = talloc_named_const(NULL, 1, "pdch_ulc test context"); + if (!tall_pcu_ctx) + abort(); + + msgb_talloc_ctx_init(tall_pcu_ctx, 0); + osmo_init_logging2(tall_pcu_ctx, &gprs_log_info); + log_set_use_color(osmo_stderr_target, 0); + log_set_print_filename2(osmo_stderr_target, LOG_FILENAME_NONE); + log_set_log_level(osmo_stderr_target, LOGL_DEBUG); + log_set_print_category_hex(osmo_stderr_target, 0); + log_set_print_category(osmo_stderr_target, 0); + log_parse_category_mask(osmo_stderr_target, "DPCU,1:DRLCMAC,1:DRLCMACUL,1"); + + the_pcu = gprs_pcu_alloc(tall_pcu_ctx); + + test_reserve_multiple(); + + talloc_free(the_pcu); + return EXIT_SUCCESS; +} + +/* + * stubs that should not be reached + */ +int16_t spoof_mnc = 0, spoof_mcc = 0; +bool spoof_mnc_3_digits = false; +extern "C" { + void l1if_pdch_req() { + abort(); + } void l1if_connect_pdch() { + abort(); + } + void l1if_close_pdch() { + abort(); + } + void l1if_open_pdch() { + abort(); + } +} diff --git a/tests/ulc/PdchUlcTest.err b/tests/ulc/PdchUlcTest.err new file mode 100644 index 0000000..29b4846 --- /dev/null +++ b/tests/ulc/PdchUlcTest.err @@ -0,0 +1,6 @@ +PDCH(bts=0,trx=0,ts=0) Trying to reserve already reserved FN 72 +PDCH(bts=0,trx=0,ts=0) Trying to reserve already reserved FN 78 +PDCH(bts=0,trx=0,ts=0) Trying to reserve already reserved FN 72 +PDCH(bts=0,trx=0,ts=0) Trying to reserve already reserved FN 78 +PDCH(bts=0,trx=0,ts=0) Trying to release unregistered SBA (FN=78, TA=0) +PDCH(bts=0,trx=0,ts=0) Timeout for registered SBA (FN=72, TA=0) diff --git a/tests/ulc/PdchUlcTest.ok b/tests/ulc/PdchUlcTest.ok new file mode 100644 index 0000000..a07636f --- /dev/null +++ b/tests/ulc/PdchUlcTest.ok @@ -0,0 +1,2 @@ +=== start: test_reserve_multiple === +=== end: test_reserve_multiple === -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23355 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie1ff0ca3d7fc8a9824d6fe4dceb746e301082bda Gerrit-Change-Number: 23355 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 Mar 12 17:25:52 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 12 Mar 2021 17:25:52 +0000 Subject: Change in osmo-pcu[master]: tests: ulc: Show current bug with FN wrap around References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23356 ) Change subject: tests: ulc: Show current bug with FN wrap around ...................................................................... tests: ulc: Show current bug with FN wrap around Issue will be fixed in next commit. Leaving ASSERTs disabled so that test passes in jenkins. Related: OS#5020 Change-Id: I657db6b300363f8f3a9e4cfaf7a7f49e361a0512 --- M tests/ulc/PdchUlcTest.cpp M tests/ulc/PdchUlcTest.err M tests/ulc/PdchUlcTest.ok 3 files changed, 350 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/56/23356/1 diff --git a/tests/ulc/PdchUlcTest.cpp b/tests/ulc/PdchUlcTest.cpp index df922f3..dfc14be 100644 --- a/tests/ulc/PdchUlcTest.cpp +++ b/tests/ulc/PdchUlcTest.cpp @@ -22,6 +22,9 @@ #include #include +#include +#include +#include extern "C" { #include @@ -30,6 +33,7 @@ #include } +#include "gprs_ms.h" #include "bts.h" #include "sba.h" #include "pdch_ul_controller.h" @@ -37,6 +41,36 @@ /* globals used by the code */ void *tall_pcu_ctx; +/* +static print_ulc_node(struct pdch_ulc_node *it) +{ + struct gprs_rlcmac_sba *sba; + switch (item->type) { + case PDCH_ULC_NODE_SBA: + item->sba.sba + printf("FN=%" PRIu32 " type=%s TA=%" PRIu8, + it->fn, get_value_string((pdch_ul_node_names, it->type) ); + return; + case PDCH_ULC_NODE_TBF_POLL: + item_tbf = item->tbf_poll.poll_tbf; + return; + case PDCH_ULC_NODE_TBF_USF: + item_tbf = (struct gprs_rlcmac_tbf *)item->tbf_usf.ul_tbf; + return; + } +} +*/ + +static void print_ulc_nodes(struct pdch_ulc *ulc) +{ + struct rb_node *node; + for (node = rb_first(&ulc->tree_root); node; node = rb_next(node)) { + struct pdch_ulc_node *it = container_of(node, struct pdch_ulc_node, node); + printf("FN=%" PRIu32 " type=%s\n", + it->fn, get_value_string(pdch_ul_node_names, it->type)); + } +} + static void test_reserve_multiple() { printf("=== start: %s ===\n", __FUNCTION__); @@ -145,6 +179,61 @@ printf("=== end: %s ===\n", __FUNCTION__); } +int _alloc_algorithm_dummy(struct gprs_rlcmac_bts *bts, struct gprs_rlcmac_tbf *tbf, + bool single, int8_t use_tbf) +{ + return 0; +} + + +static void test_fn_wrap_around() +{ + printf("=== start: %s ===\n", __FUNCTION__); + const uint32_t start_fn = GSM_MAX_FN - 40; + + the_pcu->alloc_algorithm = _alloc_algorithm_dummy; + + struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); + struct GprsMs *ms = ms_alloc(bts, 0x12345678); + struct gprs_rlcmac_tbf *tbf1 = tbf_alloc_dl_tbf(bts, ms, 0, true); + tbf1->trx = &bts->trx[0]; + struct gprs_rlcmac_pdch *pdch = &tbf1->trx->pdch[0]; + int rc; + uint32_t fn, last_fn; + + fn = start_fn; + while (fn < 40 || fn >= start_fn) { + printf("*** RESERVE FN=%" PRIu32 ":\n", fn); + rc = pdch_ulc_reserve_tbf_poll(pdch->ulc, fn, tbf1); + OSMO_ASSERT(rc == 0); + print_ulc_nodes(pdch->ulc); + fn = fn_next_block(fn); + } + last_fn = fn; + + /* Expiring fn_next_block(start_fn) should only expire first 2 entries here: */ + fn = fn_next_block(start_fn); + printf("*** EXPIRE FN=%" PRIu32 ":\n", fn); + pdch_ulc_expire_fn(pdch->ulc, fn); + print_ulc_nodes(pdch->ulc); + + /* We should still be able to release FN=0 here, since it came later: */ + printf("*** RELEASE fn=%" PRIu32 ":\n", 0); + rc = pdch_ulc_release_fn(pdch->ulc, 0); + print_ulc_nodes(pdch->ulc); + //OSMO_ASSERT(rc == 0); FIXME: DISABLED DUE TO BUG! + + /* Expiring last FN should expire all entries */ + printf("*** EXPIRE FN=%" PRIu32 ":\n", last_fn); + pdch_ulc_expire_fn(pdch->ulc, last_fn); + print_ulc_nodes(pdch->ulc); + /* Make sure the store is empty now: */ + //OSMO_ASSERT(!rb_first(&pdch->ulc->tree_root)); FIXME: DISABLED DUE TO BUG! + + talloc_free(bts); + printf("=== end: %s ===\n", __FUNCTION__); +} + int main(int argc, char **argv) { tall_pcu_ctx = talloc_named_const(NULL, 1, "pdch_ulc test context"); @@ -163,6 +252,7 @@ the_pcu = gprs_pcu_alloc(tall_pcu_ctx); test_reserve_multiple(); + test_fn_wrap_around(); talloc_free(the_pcu); return EXIT_SUCCESS; diff --git a/tests/ulc/PdchUlcTest.err b/tests/ulc/PdchUlcTest.err index 29b4846..88e4644 100644 --- a/tests/ulc/PdchUlcTest.err +++ b/tests/ulc/PdchUlcTest.err @@ -4,3 +4,28 @@ PDCH(bts=0,trx=0,ts=0) Trying to reserve already reserved FN 78 PDCH(bts=0,trx=0,ts=0) Trying to release unregistered SBA (FN=78, TA=0) PDCH(bts=0,trx=0,ts=0) Timeout for registered SBA (FN=72, TA=0) +Creating MS object, TLLI = 0x12345678 +MS(TLLI=0x12345678, IMSI=, TA=220, 0/0,) Attaching DL TBF: TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) +PDCH(bts=0,trx=0,ts=0) Expiring FN=2715613 but previous FN=0 is still reserved! +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=0): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) +PDCH(bts=0,trx=0,ts=0) Expiring FN=2715613 but previous FN=4 is still reserved! +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=4): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) +PDCH(bts=0,trx=0,ts=0) Expiring FN=2715613 but previous FN=8 is still reserved! +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=8): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) +PDCH(bts=0,trx=0,ts=0) Expiring FN=2715613 but previous FN=13 is still reserved! +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) +PDCH(bts=0,trx=0,ts=0) Expiring FN=2715613 but previous FN=17 is still reserved! +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) +PDCH(bts=0,trx=0,ts=0) Expiring FN=2715613 but previous FN=21 is still reserved! +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=21): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) +PDCH(bts=0,trx=0,ts=0) Expiring FN=2715613 but previous FN=26 is still reserved! +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=26): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) +PDCH(bts=0,trx=0,ts=0) Expiring FN=2715613 but previous FN=30 is still reserved! +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=30): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) +PDCH(bts=0,trx=0,ts=0) Expiring FN=2715613 but previous FN=34 is still reserved! +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=34): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=RELEASING) +PDCH(bts=0,trx=0,ts=0) Expiring FN=2715613 but previous FN=39 is still reserved! +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=39): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=RELEASING) +PDCH(bts=0,trx=0,ts=0) Expiring FN=2715613 but previous FN=2715608 is still reserved! +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715608): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=RELEASING) +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715613): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=RELEASING) diff --git a/tests/ulc/PdchUlcTest.ok b/tests/ulc/PdchUlcTest.ok index a07636f..7c17f01 100644 --- a/tests/ulc/PdchUlcTest.ok +++ b/tests/ulc/PdchUlcTest.ok @@ -1,2 +1,237 @@ === start: test_reserve_multiple === === end: test_reserve_multiple === +=== start: test_fn_wrap_around === +*** RESERVE FN=2715608: +FN=2715608 type=POLL +*** RESERVE FN=2715613: +FN=2715608 type=POLL +FN=2715613 type=POLL +*** RESERVE FN=2715617: +FN=2715608 type=POLL +FN=2715613 type=POLL +FN=2715617 type=POLL +*** RESERVE FN=2715622: +FN=2715608 type=POLL +FN=2715613 type=POLL +FN=2715617 type=POLL +FN=2715622 type=POLL +*** RESERVE FN=2715626: +FN=2715608 type=POLL +FN=2715613 type=POLL +FN=2715617 type=POLL +FN=2715622 type=POLL +FN=2715626 type=POLL +*** RESERVE FN=2715630: +FN=2715608 type=POLL +FN=2715613 type=POLL +FN=2715617 type=POLL +FN=2715622 type=POLL +FN=2715626 type=POLL +FN=2715630 type=POLL +*** RESERVE FN=2715635: +FN=2715608 type=POLL +FN=2715613 type=POLL +FN=2715617 type=POLL +FN=2715622 type=POLL +FN=2715626 type=POLL +FN=2715630 type=POLL +FN=2715635 type=POLL +*** RESERVE FN=2715639: +FN=2715608 type=POLL +FN=2715613 type=POLL +FN=2715617 type=POLL +FN=2715622 type=POLL +FN=2715626 type=POLL +FN=2715630 type=POLL +FN=2715635 type=POLL +FN=2715639 type=POLL +*** RESERVE FN=2715643: +FN=2715608 type=POLL +FN=2715613 type=POLL +FN=2715617 type=POLL +FN=2715622 type=POLL +FN=2715626 type=POLL +FN=2715630 type=POLL +FN=2715635 type=POLL +FN=2715639 type=POLL +FN=2715643 type=POLL +*** RESERVE FN=0: +FN=0 type=POLL +FN=2715608 type=POLL +FN=2715613 type=POLL +FN=2715617 type=POLL +FN=2715622 type=POLL +FN=2715626 type=POLL +FN=2715630 type=POLL +FN=2715635 type=POLL +FN=2715639 type=POLL +FN=2715643 type=POLL +*** RESERVE FN=4: +FN=0 type=POLL +FN=4 type=POLL +FN=2715608 type=POLL +FN=2715613 type=POLL +FN=2715617 type=POLL +FN=2715622 type=POLL +FN=2715626 type=POLL +FN=2715630 type=POLL +FN=2715635 type=POLL +FN=2715639 type=POLL +FN=2715643 type=POLL +*** RESERVE FN=8: +FN=0 type=POLL +FN=4 type=POLL +FN=8 type=POLL +FN=2715608 type=POLL +FN=2715613 type=POLL +FN=2715617 type=POLL +FN=2715622 type=POLL +FN=2715626 type=POLL +FN=2715630 type=POLL +FN=2715635 type=POLL +FN=2715639 type=POLL +FN=2715643 type=POLL +*** RESERVE FN=13: +FN=0 type=POLL +FN=4 type=POLL +FN=8 type=POLL +FN=13 type=POLL +FN=2715608 type=POLL +FN=2715613 type=POLL +FN=2715617 type=POLL +FN=2715622 type=POLL +FN=2715626 type=POLL +FN=2715630 type=POLL +FN=2715635 type=POLL +FN=2715639 type=POLL +FN=2715643 type=POLL +*** RESERVE FN=17: +FN=0 type=POLL +FN=4 type=POLL +FN=8 type=POLL +FN=13 type=POLL +FN=17 type=POLL +FN=2715608 type=POLL +FN=2715613 type=POLL +FN=2715617 type=POLL +FN=2715622 type=POLL +FN=2715626 type=POLL +FN=2715630 type=POLL +FN=2715635 type=POLL +FN=2715639 type=POLL +FN=2715643 type=POLL +*** RESERVE FN=21: +FN=0 type=POLL +FN=4 type=POLL +FN=8 type=POLL +FN=13 type=POLL +FN=17 type=POLL +FN=21 type=POLL +FN=2715608 type=POLL +FN=2715613 type=POLL +FN=2715617 type=POLL +FN=2715622 type=POLL +FN=2715626 type=POLL +FN=2715630 type=POLL +FN=2715635 type=POLL +FN=2715639 type=POLL +FN=2715643 type=POLL +*** RESERVE FN=26: +FN=0 type=POLL +FN=4 type=POLL +FN=8 type=POLL +FN=13 type=POLL +FN=17 type=POLL +FN=21 type=POLL +FN=26 type=POLL +FN=2715608 type=POLL +FN=2715613 type=POLL +FN=2715617 type=POLL +FN=2715622 type=POLL +FN=2715626 type=POLL +FN=2715630 type=POLL +FN=2715635 type=POLL +FN=2715639 type=POLL +FN=2715643 type=POLL +*** RESERVE FN=30: +FN=0 type=POLL +FN=4 type=POLL +FN=8 type=POLL +FN=13 type=POLL +FN=17 type=POLL +FN=21 type=POLL +FN=26 type=POLL +FN=30 type=POLL +FN=2715608 type=POLL +FN=2715613 type=POLL +FN=2715617 type=POLL +FN=2715622 type=POLL +FN=2715626 type=POLL +FN=2715630 type=POLL +FN=2715635 type=POLL +FN=2715639 type=POLL +FN=2715643 type=POLL +*** RESERVE FN=34: +FN=0 type=POLL +FN=4 type=POLL +FN=8 type=POLL +FN=13 type=POLL +FN=17 type=POLL +FN=21 type=POLL +FN=26 type=POLL +FN=30 type=POLL +FN=34 type=POLL +FN=2715608 type=POLL +FN=2715613 type=POLL +FN=2715617 type=POLL +FN=2715622 type=POLL +FN=2715626 type=POLL +FN=2715630 type=POLL +FN=2715635 type=POLL +FN=2715639 type=POLL +FN=2715643 type=POLL +*** RESERVE FN=39: +FN=0 type=POLL +FN=4 type=POLL +FN=8 type=POLL +FN=13 type=POLL +FN=17 type=POLL +FN=21 type=POLL +FN=26 type=POLL +FN=30 type=POLL +FN=34 type=POLL +FN=39 type=POLL +FN=2715608 type=POLL +FN=2715613 type=POLL +FN=2715617 type=POLL +FN=2715622 type=POLL +FN=2715626 type=POLL +FN=2715630 type=POLL +FN=2715635 type=POLL +FN=2715639 type=POLL +FN=2715643 type=POLL +*** EXPIRE FN=2715613: +FN=2715617 type=POLL +FN=2715622 type=POLL +FN=2715626 type=POLL +FN=2715630 type=POLL +FN=2715635 type=POLL +FN=2715639 type=POLL +FN=2715643 type=POLL +*** RELEASE fn=0: +FN=2715617 type=POLL +FN=2715622 type=POLL +FN=2715626 type=POLL +FN=2715630 type=POLL +FN=2715635 type=POLL +FN=2715639 type=POLL +FN=2715643 type=POLL +*** EXPIRE FN=43: +FN=2715617 type=POLL +FN=2715622 type=POLL +FN=2715626 type=POLL +FN=2715630 type=POLL +FN=2715635 type=POLL +FN=2715639 type=POLL +FN=2715643 type=POLL +=== end: test_fn_wrap_around === -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23356 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I657db6b300363f8f3a9e4cfaf7a7f49e361a0512 Gerrit-Change-Number: 23356 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 Mar 12 17:25:53 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 12 Mar 2021 17:25:53 +0000 Subject: Change in osmo-pcu[master]: ulc: Fix FN store order upon wrap around References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23357 ) Change subject: ulc: Fix FN store order upon wrap around ...................................................................... ulc: Fix FN store order upon wrap around Change-Id: I0a742f7fa1541b1837739207b9383772f981fb25 --- M src/pdch_ul_controller.c M tests/ulc/PdchUlcTest.cpp M tests/ulc/PdchUlcTest.err M tests/ulc/PdchUlcTest.ok 4 files changed, 99 insertions(+), 55 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/57/23357/1 diff --git a/src/pdch_ul_controller.c b/src/pdch_ul_controller.c index 5340bec..d6d4e5e 100644 --- a/src/pdch_ul_controller.c +++ b/src/pdch_ul_controller.c @@ -37,6 +37,20 @@ { 0, NULL } }; +#define GSM_MAX_FN_THRESH (GSM_MAX_FN >> 1) +/* 0: equal, -1: fn1 BEFORE fn2, 1: fn1 AFTER fn2 */ +static inline int fn_cmp(uint32_t fn1, uint32_t fn2) +{ + if (fn1 == fn2) + return 0; + /* FN1 goes before FN2: */ + if ((fn1 < fn2 && (fn2 - fn1) < GSM_MAX_FN_THRESH) || + (fn1 > fn2 && (fn1 - fn2) > GSM_MAX_FN_THRESH)) + return -1; + /* FN1 goes after FN2: */ + return 1; +} + struct pdch_ulc *pdch_ulc_alloc(struct gprs_rlcmac_pdch *pdch, void *ctx) { struct pdch_ulc* ulc; @@ -53,11 +67,13 @@ { struct rb_node *node; struct pdch_ulc_node *it; + int res; for (node = rb_first(&ulc->tree_root); node; node = rb_next(node)) { it = container_of(node, struct pdch_ulc_node, node); - if (it->fn == fn) + res = fn_cmp(it->fn, fn); + if (res == 0) /* it->fn == fn */ return it; - if (it->fn > fn) + if (res > 0) /* it->fn AFTER fn */ break; } return NULL; @@ -123,13 +139,15 @@ while (*new) { struct pdch_ulc_node *it; + int res; it = container_of(*new, struct pdch_ulc_node, node); parent = *new; - if (item->fn < it->fn) { + res = fn_cmp(item->fn, it->fn); + if (res < 0) { /* item->fn "BEFORE" it->fn */ new = &((*new)->rb_left); - } else if (item->fn > it->fn) { + } else if (res > 0) { /* item->fn "AFTER" it->fn */ new = &((*new)->rb_right); } else { LOGPDCH(ulc->pdch, DRLCMAC, LOGL_ERROR, @@ -213,13 +231,15 @@ { struct gprs_rlcmac_sba *sba; struct pdch_ulc_node *item; + int res; struct rb_node *first; while((first = rb_first(&ulc->tree_root))) { item = container_of(first, struct pdch_ulc_node, node); - if (item->fn > fn) + res = fn_cmp(item->fn, fn); + if (res > 0) /* item->fn AFTER fn */ break; - if (item->fn < fn) { + if (res < 0) { /* item->fn BEFORE fn */ /* Sanity check: */ LOGPDCH(ulc->pdch, DRLCMAC, LOGL_ERROR, "Expiring FN=%" PRIu32 " but previous FN=%" PRIu32 " is still reserved!\n", diff --git a/tests/ulc/PdchUlcTest.cpp b/tests/ulc/PdchUlcTest.cpp index dfc14be..73f1d6f 100644 --- a/tests/ulc/PdchUlcTest.cpp +++ b/tests/ulc/PdchUlcTest.cpp @@ -221,14 +221,14 @@ printf("*** RELEASE fn=%" PRIu32 ":\n", 0); rc = pdch_ulc_release_fn(pdch->ulc, 0); print_ulc_nodes(pdch->ulc); - //OSMO_ASSERT(rc == 0); FIXME: DISABLED DUE TO BUG! + OSMO_ASSERT(rc == 0); /* Expiring last FN should expire all entries */ printf("*** EXPIRE FN=%" PRIu32 ":\n", last_fn); pdch_ulc_expire_fn(pdch->ulc, last_fn); print_ulc_nodes(pdch->ulc); /* Make sure the store is empty now: */ - //OSMO_ASSERT(!rb_first(&pdch->ulc->tree_root)); FIXME: DISABLED DUE TO BUG! + OSMO_ASSERT(!rb_first(&pdch->ulc->tree_root)); talloc_free(bts); printf("=== end: %s ===\n", __FUNCTION__); diff --git a/tests/ulc/PdchUlcTest.err b/tests/ulc/PdchUlcTest.err index 88e4644..34a090b 100644 --- a/tests/ulc/PdchUlcTest.err +++ b/tests/ulc/PdchUlcTest.err @@ -6,26 +6,38 @@ PDCH(bts=0,trx=0,ts=0) Timeout for registered SBA (FN=72, TA=0) Creating MS object, TLLI = 0x12345678 MS(TLLI=0x12345678, IMSI=, TA=220, 0/0,) Attaching DL TBF: TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) -PDCH(bts=0,trx=0,ts=0) Expiring FN=2715613 but previous FN=0 is still reserved! -PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=0): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) -PDCH(bts=0,trx=0,ts=0) Expiring FN=2715613 but previous FN=4 is still reserved! -PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=4): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) -PDCH(bts=0,trx=0,ts=0) Expiring FN=2715613 but previous FN=8 is still reserved! -PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=8): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) -PDCH(bts=0,trx=0,ts=0) Expiring FN=2715613 but previous FN=13 is still reserved! -PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) -PDCH(bts=0,trx=0,ts=0) Expiring FN=2715613 but previous FN=17 is still reserved! -PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) -PDCH(bts=0,trx=0,ts=0) Expiring FN=2715613 but previous FN=21 is still reserved! -PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=21): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) -PDCH(bts=0,trx=0,ts=0) Expiring FN=2715613 but previous FN=26 is still reserved! -PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=26): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) -PDCH(bts=0,trx=0,ts=0) Expiring FN=2715613 but previous FN=30 is still reserved! -PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=30): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) -PDCH(bts=0,trx=0,ts=0) Expiring FN=2715613 but previous FN=34 is still reserved! -PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=34): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=RELEASING) -PDCH(bts=0,trx=0,ts=0) Expiring FN=2715613 but previous FN=39 is still reserved! -PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=39): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=RELEASING) PDCH(bts=0,trx=0,ts=0) Expiring FN=2715613 but previous FN=2715608 is still reserved! -PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715608): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=RELEASING) -PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715613): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=RELEASING) +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715608): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715613): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) +PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=2715617 is still reserved! +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715617): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) +PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=2715622 is still reserved! +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715622): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) +PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=2715626 is still reserved! +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715626): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) +PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=2715630 is still reserved! +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715630): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) +PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=2715635 is still reserved! +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715635): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) +PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=2715639 is still reserved! +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715639): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) +PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=2715643 is still reserved! +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715643): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=RELEASING) +PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=4 is still reserved! +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=4): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=RELEASING) +PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=8 is still reserved! +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=8): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=RELEASING) +PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=13 is still reserved! +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=RELEASING) +PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=17 is still reserved! +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=RELEASING) +PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=21 is still reserved! +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=21): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=RELEASING) +PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=26 is still reserved! +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=26): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=RELEASING) +PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=30 is still reserved! +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=30): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=RELEASING) +PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=34 is still reserved! +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=34): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=RELEASING) +PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=39 is still reserved! +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=39): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=RELEASING) diff --git a/tests/ulc/PdchUlcTest.ok b/tests/ulc/PdchUlcTest.ok index 7c17f01..f20fb30 100644 --- a/tests/ulc/PdchUlcTest.ok +++ b/tests/ulc/PdchUlcTest.ok @@ -56,7 +56,6 @@ FN=2715639 type=POLL FN=2715643 type=POLL *** RESERVE FN=0: -FN=0 type=POLL FN=2715608 type=POLL FN=2715613 type=POLL FN=2715617 type=POLL @@ -66,9 +65,20 @@ FN=2715635 type=POLL FN=2715639 type=POLL FN=2715643 type=POLL +FN=0 type=POLL *** RESERVE FN=4: +FN=2715608 type=POLL +FN=2715613 type=POLL +FN=2715617 type=POLL +FN=2715622 type=POLL +FN=2715626 type=POLL +FN=2715630 type=POLL +FN=2715635 type=POLL +FN=2715639 type=POLL +FN=2715643 type=POLL FN=0 type=POLL FN=4 type=POLL +*** RESERVE FN=8: FN=2715608 type=POLL FN=2715613 type=POLL FN=2715617 type=POLL @@ -78,10 +88,10 @@ FN=2715635 type=POLL FN=2715639 type=POLL FN=2715643 type=POLL -*** RESERVE FN=8: FN=0 type=POLL FN=4 type=POLL FN=8 type=POLL +*** RESERVE FN=13: FN=2715608 type=POLL FN=2715613 type=POLL FN=2715617 type=POLL @@ -91,11 +101,11 @@ FN=2715635 type=POLL FN=2715639 type=POLL FN=2715643 type=POLL -*** RESERVE FN=13: FN=0 type=POLL FN=4 type=POLL FN=8 type=POLL FN=13 type=POLL +*** RESERVE FN=17: FN=2715608 type=POLL FN=2715613 type=POLL FN=2715617 type=POLL @@ -105,12 +115,12 @@ FN=2715635 type=POLL FN=2715639 type=POLL FN=2715643 type=POLL -*** RESERVE FN=17: FN=0 type=POLL FN=4 type=POLL FN=8 type=POLL FN=13 type=POLL FN=17 type=POLL +*** RESERVE FN=21: FN=2715608 type=POLL FN=2715613 type=POLL FN=2715617 type=POLL @@ -120,13 +130,13 @@ FN=2715635 type=POLL FN=2715639 type=POLL FN=2715643 type=POLL -*** RESERVE FN=21: FN=0 type=POLL FN=4 type=POLL FN=8 type=POLL FN=13 type=POLL FN=17 type=POLL FN=21 type=POLL +*** RESERVE FN=26: FN=2715608 type=POLL FN=2715613 type=POLL FN=2715617 type=POLL @@ -136,7 +146,6 @@ FN=2715635 type=POLL FN=2715639 type=POLL FN=2715643 type=POLL -*** RESERVE FN=26: FN=0 type=POLL FN=4 type=POLL FN=8 type=POLL @@ -144,6 +153,7 @@ FN=17 type=POLL FN=21 type=POLL FN=26 type=POLL +*** RESERVE FN=30: FN=2715608 type=POLL FN=2715613 type=POLL FN=2715617 type=POLL @@ -153,7 +163,6 @@ FN=2715635 type=POLL FN=2715639 type=POLL FN=2715643 type=POLL -*** RESERVE FN=30: FN=0 type=POLL FN=4 type=POLL FN=8 type=POLL @@ -162,6 +171,7 @@ FN=21 type=POLL FN=26 type=POLL FN=30 type=POLL +*** RESERVE FN=34: FN=2715608 type=POLL FN=2715613 type=POLL FN=2715617 type=POLL @@ -171,7 +181,6 @@ FN=2715635 type=POLL FN=2715639 type=POLL FN=2715643 type=POLL -*** RESERVE FN=34: FN=0 type=POLL FN=4 type=POLL FN=8 type=POLL @@ -181,6 +190,7 @@ FN=26 type=POLL FN=30 type=POLL FN=34 type=POLL +*** RESERVE FN=39: FN=2715608 type=POLL FN=2715613 type=POLL FN=2715617 type=POLL @@ -190,7 +200,6 @@ FN=2715635 type=POLL FN=2715639 type=POLL FN=2715643 type=POLL -*** RESERVE FN=39: FN=0 type=POLL FN=4 type=POLL FN=8 type=POLL @@ -201,15 +210,6 @@ FN=30 type=POLL FN=34 type=POLL FN=39 type=POLL -FN=2715608 type=POLL -FN=2715613 type=POLL -FN=2715617 type=POLL -FN=2715622 type=POLL -FN=2715626 type=POLL -FN=2715630 type=POLL -FN=2715635 type=POLL -FN=2715639 type=POLL -FN=2715643 type=POLL *** EXPIRE FN=2715613: FN=2715617 type=POLL FN=2715622 type=POLL @@ -218,6 +218,16 @@ FN=2715635 type=POLL FN=2715639 type=POLL FN=2715643 type=POLL +FN=0 type=POLL +FN=4 type=POLL +FN=8 type=POLL +FN=13 type=POLL +FN=17 type=POLL +FN=21 type=POLL +FN=26 type=POLL +FN=30 type=POLL +FN=34 type=POLL +FN=39 type=POLL *** RELEASE fn=0: FN=2715617 type=POLL FN=2715622 type=POLL @@ -226,12 +236,14 @@ FN=2715635 type=POLL FN=2715639 type=POLL FN=2715643 type=POLL +FN=4 type=POLL +FN=8 type=POLL +FN=13 type=POLL +FN=17 type=POLL +FN=21 type=POLL +FN=26 type=POLL +FN=30 type=POLL +FN=34 type=POLL +FN=39 type=POLL *** EXPIRE FN=43: -FN=2715617 type=POLL -FN=2715622 type=POLL -FN=2715626 type=POLL -FN=2715630 type=POLL -FN=2715635 type=POLL -FN=2715639 type=POLL -FN=2715643 type=POLL === end: test_fn_wrap_around === -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23357 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I0a742f7fa1541b1837739207b9383772f981fb25 Gerrit-Change-Number: 23357 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 Mar 12 17:26:06 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 12 Mar 2021 17:26:06 +0000 Subject: Change in osmo-pcu[master]: ulc: Fix FN store order upon wrap around In-Reply-To: References: Message-ID: pespin has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-pcu/+/23357 ) Change subject: ulc: Fix FN store order upon wrap around ...................................................................... ulc: Fix FN store order upon wrap around Related: OS#5020 Change-Id: I0a742f7fa1541b1837739207b9383772f981fb25 --- M src/pdch_ul_controller.c M tests/ulc/PdchUlcTest.cpp M tests/ulc/PdchUlcTest.err M tests/ulc/PdchUlcTest.ok 4 files changed, 99 insertions(+), 55 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/57/23357/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23357 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I0a742f7fa1541b1837739207b9383772f981fb25 Gerrit-Change-Number: 23357 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-CC: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sat Mar 13 02:01:46 2021 From: admin at opensuse.org (OBS Notification) Date: Sat, 13 Mar 2021 02:01:46 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.10/x86_64 In-Reply-To: References: Message-ID: <604c1d1081474_6e562ae8dbaf25f03487c2@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_20.10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_20.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 112s] [COMPILING libboard/qmod/source/board_qmod.c] [ 112s] [COMPILING libboard/qmod/source/card_pres.c] [ 112s] [COMPILING libboard/qmod/source/i2c.c] [ 112s] [COMPILING libboard/qmod/source/wwan_led.c] [ 112s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 112s] [COMPILING apps/dfu/main.c] [ 112s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 112s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 113s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 113s] Memory region Used Size Region Size %age Used [ 113s] rom: 16592 B 16 KB 101.27% [ 113s] ram: 11680 B 48 KB 23.76/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 113s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 208 bytes [ 113s] collect2: error: ld returned 1 exit status [ 113s] % [ 113s] make[2]: *** [Makefile:230: flash] Error 1 [ 113s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 113s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 113s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 113s] dh_auto_build: error: make -j1 returned exit code 2 [ 113s] make: *** [debian/rules:16: build] Error 25 [ 113s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 113s] ### VM INTERACTION START ### [ 116s] [ 108.468975] sysrq: Power Off [ 116s] [ 108.470599] reboot: Power down [ 116s] ### VM INTERACTION END ### [ 116s] [ 116s] build85 failed "build simtrace2_0.7.0.76.62ad.dsc" at Sat Mar 13 02:01:44 UTC 2021. [ 116s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Mar 13 02:06:04 2021 From: admin at opensuse.org (OBS Notification) Date: Sat, 13 Mar 2021 02:06:04 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <604c1e1b53b22_6e562ae8dbaf25f03492d0@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_20.04/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_20.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 377s] [COMPILING apps/dfu/main.c] [ 377s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 377s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 377s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 378s] Memory region Used Size Region Size %age Used [ 378s] rom: 16600 B 16 KB 101.32% [ 378s] ram: 11688 B 48 KB 23.78/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 378s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 378s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 378s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 378s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 378s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 378s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 216 bytes [ 378s] collect2: error: ld returned 1 exit status [ 378s] % [ 378s] make[2]: *** [Makefile:230: flash] Error 1 [ 378s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 378s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 378s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 378s] dh_auto_build: error: make -j1 returned exit code 2 [ 378s] make: *** [debian/rules:16: build] Error 25 [ 378s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 378s] ### VM INTERACTION START ### [ 381s] [ 368.367902] sysrq: Power Off [ 381s] [ 368.444117] reboot: Power down [ 381s] ### VM INTERACTION END ### [ 381s] [ 382s] lamb01 failed "build simtrace2_0.7.0.76.62ad.dsc" at Sat Mar 13 02:05:49 UTC 2021. [ 382s] -- 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 Mar 13 06:41:57 2021 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Sat, 13 Mar 2021 06:41:57 +0000 Subject: Change in osmo-bsc[master]: Add vty command for Ericsson RBS2000 sync In-Reply-To: References: Message-ID: keith has uploaded a new patch set (#3) to the change originally created by javi-tic. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23317 ) Change subject: Add vty command for Ericsson RBS2000 sync ...................................................................... Add vty command for Ericsson RBS2000 sync This commit adds support for Selection of syncronization source Options are internal for E1 and external for GPS Change-Id: Ia3d1acd6b3442238b35fc911092e12a6ac989adb --- M include/osmocom/bsc/abis_om2000.h M include/osmocom/bsc/bts.h M src/osmo-bsc/abis_om2000.c M src/osmo-bsc/abis_om2000_vty.c 4 files changed, 37 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/17/23317/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23317 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia3d1acd6b3442238b35fc911092e12a6ac989adb Gerrit-Change-Number: 23317 Gerrit-PatchSet: 3 Gerrit-Owner: javi-tic Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 13 06:41:57 2021 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Sat, 13 Mar 2021 06:41:57 +0000 Subject: Change in osmo-bsc[master]: Add command to enable RX diversity to RBS2000 In-Reply-To: References: Message-ID: keith has uploaded a new patch set (#5) to the change originally created by javi-tic. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23318 ) Change subject: Add command to enable RX diversity to RBS2000 ...................................................................... Add command to enable RX diversity to RBS2000 Allow selection of RX diversity from VTY Options are a,ab,b Default is 'a' so there is no change from previous behavior Change-Id: I430762b8cfa51060841d90ba4446de73bd557c6c --- M include/osmocom/bsc/abis_om2000.h M include/osmocom/bsc/bts_trx.h M src/osmo-bsc/abis_om2000.c M src/osmo-bsc/abis_om2000_vty.c M src/osmo-bsc/bts_ericsson_rbs2000.c 5 files changed, 65 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/18/23318/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23318 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I430762b8cfa51060841d90ba4446de73bd557c6c Gerrit-Change-Number: 23318 Gerrit-PatchSet: 5 Gerrit-Owner: javi-tic Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith 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 Mar 13 06:43:40 2021 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Sat, 13 Mar 2021 06:43:40 +0000 Subject: Change in osmo-bsc[master]: Add vty command for Ericsson RBS2000 sync In-Reply-To: References: Message-ID: keith has uploaded a new patch set (#4) to the change originally created by javi-tic. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23317 ) Change subject: Add vty command for Ericsson RBS2000 sync ...................................................................... Add vty command for Ericsson RBS2000 sync This commit adds support for Selection of syncronization source. Options are internal for E1 and external for GPS Change-Id: Ia3d1acd6b3442238b35fc911092e12a6ac989adb --- M include/osmocom/bsc/abis_om2000.h M include/osmocom/bsc/bts.h M src/osmo-bsc/abis_om2000.c M src/osmo-bsc/abis_om2000_vty.c 4 files changed, 37 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/17/23317/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23317 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia3d1acd6b3442238b35fc911092e12a6ac989adb Gerrit-Change-Number: 23317 Gerrit-PatchSet: 4 Gerrit-Owner: javi-tic Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 13 06:43:40 2021 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Sat, 13 Mar 2021 06:43:40 +0000 Subject: Change in osmo-bsc[master]: Add command to enable RX diversity to RBS2000 In-Reply-To: References: Message-ID: keith has uploaded a new patch set (#6) to the change originally created by javi-tic. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23318 ) Change subject: Add command to enable RX diversity to RBS2000 ...................................................................... Add command to enable RX diversity to RBS2000 Allow selection of RX diversity from VTY Options are a,ab,b Default is 'a' so there is no change from previous behavior Change-Id: I430762b8cfa51060841d90ba4446de73bd557c6c --- M include/osmocom/bsc/abis_om2000.h M include/osmocom/bsc/bts_trx.h M src/osmo-bsc/abis_om2000.c M src/osmo-bsc/abis_om2000_vty.c M src/osmo-bsc/bts_ericsson_rbs2000.c 5 files changed, 65 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/18/23318/6 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23318 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I430762b8cfa51060841d90ba4446de73bd557c6c Gerrit-Change-Number: 23318 Gerrit-PatchSet: 6 Gerrit-Owner: javi-tic Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith 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 Mar 13 06:51:51 2021 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Sat, 13 Mar 2021 06:51:51 +0000 Subject: Change in osmo-bsc[master]: Add command to enable RX diversity to RBS2000 In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23318 ) Change subject: Add command to enable RX diversity to RBS2000 ...................................................................... Patch Set 6: (5 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/23318/4/src/osmo-bsc/abis_om2000_vty.c File src/osmo-bsc/abis_om2000_vty.c: https://gerrit.osmocom.org/c/osmo-bsc/+/23318/4/src/osmo-bsc/abis_om2000_vty.c at 585 PS4, Line 585: "Both\n" > Right. again.. hangover from the first draft. [?] Done https://gerrit.osmocom.org/c/osmo-bsc/+/23318/4/src/osmo-bsc/abis_om2000_vty.c at 597 PS4, Line 597: if > else if Done https://gerrit.osmocom.org/c/osmo-bsc/+/23318/4/src/osmo-bsc/abis_om2000_vty.c at 599 PS4, Line 599: if > else if Done https://gerrit.osmocom.org/c/osmo-bsc/+/23318/4/src/osmo-bsc/abis_om2000_vty.c at 682 PS4, Line 682: const struct value_string om2k_rx_diversity_names[4] = { > if it's not used outside of this file: use "static" Done https://gerrit.osmocom.org/c/osmo-bsc/+/23318/4/src/osmo-bsc/abis_om2000_vty.c at 694 PS4, Line 694: void abis_om2k_config_write_trx(struct vty *vty, struct gsm_bts_trx *trx) > should also be static (and yes, the code below sets a wrong example, sorry)) I dunno... but maybe it's the right example? bts_ericsson_rbs2000.c:177: static void config_write_trx(struct vty *vty, struct gsm_bts_trx *trx) { abis_om2k_config_write_trx(vty, trx); } -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23318 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I430762b8cfa51060841d90ba4446de73bd557c6c Gerrit-Change-Number: 23318 Gerrit-PatchSet: 6 Gerrit-Owner: javi-tic Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Sat, 13 Mar 2021 06:51:51 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge 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 Sat Mar 13 06:53:04 2021 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Sat, 13 Mar 2021 06:53:04 +0000 Subject: Change in osmo-bsc[master]: Add vty command for Ericsson RBS2000 sync In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23317 ) Change subject: Add vty command for Ericsson RBS2000 sync ...................................................................... Patch Set 4: (7 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/23317/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-bsc/+/23317/2//COMMIT_MSG at 9 PS2, Line 9: This commit adds support for Selection of syncronization source > Well, at the end of line because the phrase ends there, which is of course a common ortographic rule [?] Done https://gerrit.osmocom.org/c/osmo-bsc/+/23317/2/include/osmocom/bsc/bts.h File include/osmocom/bsc/bts.h: https://gerrit.osmocom.org/c/osmo-bsc/+/23317/2/include/osmocom/bsc/bts.h at 381 PS2, Line 381: int sync_src; > enum om2k_sync_src sync_src; Done https://gerrit.osmocom.org/c/osmo-bsc/+/23317/2/include/osmocom/bsc/bts.h at 381 PS2, Line 381: int > please use 'enum om2k_sync_src' as type here. Done https://gerrit.osmocom.org/c/osmo-bsc/+/23317/2/src/osmo-bsc/abis_om2000_vty.c File src/osmo-bsc/abis_om2000_vty.c: https://gerrit.osmocom.org/c/osmo-bsc/+/23317/2/src/osmo-bsc/abis_om2000_vty.c at 495 PS2, Line 495: if > else if Done https://gerrit.osmocom.org/c/osmo-bsc/+/23317/2/src/osmo-bsc/abis_om2000_vty.c at 495 PS2, Line 495: if (!strcmp(argv[0], "external")) > VTY internal code is parsing the parameters and making sure whatever is passed to this function is e [?] Ack https://gerrit.osmocom.org/c/osmo-bsc/+/23317/2/src/osmo-bsc/abis_om2000_vty.c at 681 PS2, Line 681: sync_src >= 0 > AFAIU, this condition is always true for both variants? I would just print it unconditionally. Ack https://gerrit.osmocom.org/c/osmo-bsc/+/23317/2/src/osmo-bsc/abis_om2000_vty.c at 681 PS2, Line 681: if (bts->rbs2000.sync_src >= 0) { > you're (both) right of course - this is a hangover from an earlier draft when this code was in bsc_v [?] Done -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23317 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia3d1acd6b3442238b35fc911092e12a6ac989adb Gerrit-Change-Number: 23317 Gerrit-PatchSet: 4 Gerrit-Owner: javi-tic Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Sat, 13 Mar 2021 06:53:04 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Comment-In-Reply-To: pespin 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 Sat Mar 13 08:37:40 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 13 Mar 2021 08:37:40 +0000 Subject: Change in osmo-bsc[master]: refactor handover penalty timers References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23358 ) Change subject: refactor handover penalty timers ...................................................................... refactor handover penalty timers So far the list of penalty timers was stored for an opaque target pointer. That was either a gsm_bts pointer for a local BTS, or a cell identifier list pointer for a remote-BSS cell. Reasons to refactor penalty timers: - The cell identifier list pointer came from the neighbor configuration storage, but the way cell neighbor config is stored will change in a subsequent patch. There will be no more cell identifier lists there. - Storing object pointers is inherently unsafe -- if an object gets removed and another gets allocated, the penalty timer could theoretically remain in force for an unrelated object. Rather store penalty timers for specific Cell IDs. Since remote-BSS neighbors can be requested by a cell identifier *list*, use a gsm0808_cell_id_list2 as key in the list of penalty timers. Fix handover_test.c: have different CI for each local BTS. So far it was the same LAC+CI for all BTSes, which now would make the test fail, because any penalty timer would appear to apply to all local cells. Related: OS#5018 Change-Id: I72dd6226a6d69c3f653a3174c6f55bf4eecc6885 --- M include/osmocom/bsc/bts.h M include/osmocom/bsc/gsm_data.h M include/osmocom/bsc/penalty_timers.h M src/osmo-bsc/bsc_subscr_conn_fsm.c M src/osmo-bsc/bts.c M src/osmo-bsc/handover_decision_2.c M src/osmo-bsc/handover_fsm.c M src/osmo-bsc/penalty_timers.c M tests/handover/handover_test.c 9 files changed, 135 insertions(+), 131 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/58/23358/1 diff --git a/include/osmocom/bsc/bts.h b/include/osmocom/bsc/bts.h index 6b58c7e..3e3c73e 100644 --- a/include/osmocom/bsc/bts.h +++ b/include/osmocom/bsc/bts.h @@ -620,6 +620,8 @@ bool gsm_bts_matches_lai(const struct gsm_bts *bts, const struct osmo_location_area_id *lai); bool gsm_bts_matches_cell_id(const struct gsm_bts *bts, const struct gsm0808_cell_id *cell_id); +void gsm_bts_cell_id(struct gsm0808_cell_id *cell_id, const struct gsm_bts *bts); +void gsm_bts_cell_id_list(struct gsm0808_cell_id_list2 *cell_id_list, const struct gsm_bts *bts); int gsm_bts_local_neighbor_add(struct gsm_bts *bts, struct gsm_bts *neighbor); int gsm_bts_local_neighbor_del(struct gsm_bts *bts, const struct gsm_bts *neighbor); diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index af1c8e8..1bf21ae 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -207,6 +207,10 @@ enum gsm_chan_t new_lchan_type; struct neighbor_ident_key target_cell; + /* For inter-BSC handover, this may reflect more than one Cell ID. Must also be set for intra-BSC handover, + * because it is used as key for penalty timers (e.g. in handover decision 2). */ + struct gsm0808_cell_id_list2 target_cell_ids; + uint8_t ho_ref; struct gsm_bts *new_bts; struct gsm_lchan *new_lchan; @@ -248,7 +252,7 @@ struct { int failures; - struct penalty_timers *penalty_timers; + struct llist_head penalty_timers; } hodec2; /* "Codec List (MSC Preferred)" as received by the BSSAP Assignment Request. 3GPP 48.008 diff --git a/include/osmocom/bsc/penalty_timers.h b/include/osmocom/bsc/penalty_timers.h index f5d1778..d662b3c 100644 --- a/include/osmocom/bsc/penalty_timers.h +++ b/include/osmocom/bsc/penalty_timers.h @@ -2,40 +2,23 @@ * initially used by handover algorithm 2 to keep per-BTS timers for each subscriber connection. */ #pragma once -/* Opaque struct to manage penalty timers */ -struct penalty_timers; +#include -/* Initialize a list of penalty timers. - * param ctx: talloc context to allocate in. - * returns an empty struct penalty_timers. */ -struct penalty_timers *penalty_timers_init(void *ctx); +struct penalty_timer { + struct llist_head entry; -/* Add a penalty timer for an arbitrary object. - * Note: the ownership of for_object remains with the caller; it is handled as a mere void* value, so - * invalid pointers can be handled without problems, while common sense dictates that invalidated - * pointers (freed objects) should probably be removed from this list. More importantly, the pointer must - * match any pointers used to query penalty timers, so for_object should reference some global/singleton - * object that tends to stay around longer than the penalty timers. - * param pt: penalty timers list as from penalty_timers_init(). - * param for_object: arbitrary pointer reference to store a penalty timer for (passing NULL is possible, - * but note that penalty_timers_clear() will clear all timers if given for_object=NULL). - * param timeout: penalty time in seconds. */ -void penalty_timers_add(struct penalty_timers *pt, const void *for_object, int timeout); + struct gsm0808_cell_id for_target_cell; + unsigned int timeout; +}; -/* Return the amount of penalty time remaining for an object. - * param pt: penalty timers list as from penalty_timers_init(). - * param for_object: arbitrary pointer reference to query penalty timers for. - * returns seconds remaining until all penalty time has expired. */ -unsigned int penalty_timers_remaining(struct penalty_timers *pt, const void *for_object); +void penalty_timers_add(void *ctx, struct llist_head *penalty_timers, + const struct gsm0808_cell_id *for_target_cell, int timeout); +void penalty_timers_add_list(void *ctx, struct llist_head *penalty_timers, + const struct gsm0808_cell_id_list2 *for_target_cells, int timeout); -/* Clear penalty timers for one or all objects. - * param pt: penalty timers list as from penalty_timers_init(). - * param for_object: arbitrary pointer reference to clear penalty time for, - * or NULL to clear all timers. */ -void penalty_timers_clear(struct penalty_timers *pt, const void *for_object); +unsigned int penalty_timers_remaining(struct llist_head *penalty_timers, + const struct gsm0808_cell_id *for_target_cell); +unsigned int penalty_timers_remaining_list(struct llist_head *penalty_timers, + const struct gsm0808_cell_id_list2 *for_target_cells); -/* Free a struct as returned from penalty_timers_init(). - * Clear all timers from the list, deallocate the list and set the pointer to NULL. - * param pt: pointer-to-pointer which references a struct penalty_timers as returned by - * penalty_timers_init(); *pt_p will be set to NULL. */ -void penalty_timers_free(struct penalty_timers **pt_p); +void penalty_timers_clear(struct llist_head *penalty_timers, const struct gsm0808_cell_id *for_target_cell); diff --git a/src/osmo-bsc/bsc_subscr_conn_fsm.c b/src/osmo-bsc/bsc_subscr_conn_fsm.c index ed08e86..954c6a5 100644 --- a/src/osmo-bsc/bsc_subscr_conn_fsm.c +++ b/src/osmo-bsc/bsc_subscr_conn_fsm.c @@ -933,7 +933,7 @@ /* drop pending messages */ gscon_dtap_queue_flush(conn, 0); - penalty_timers_free(&conn->hodec2.penalty_timers); + penalty_timers_clear(&conn->hodec2.penalty_timers, NULL); } static int gscon_timer_cb(struct osmo_fsm_inst *fi) @@ -1004,7 +1004,7 @@ conn->network = net; INIT_LLIST_HEAD(&conn->dtap_queue); - /* BTW, penalty timers will be initialized on-demand. */ + INIT_LLIST_HEAD(&conn->hodec2.penalty_timers); conn->sccp.conn_id = -1; /* don't allocate from 'conn' context, as gscon_cleanup() will call talloc_free(conn) before diff --git a/src/osmo-bsc/bts.c b/src/osmo-bsc/bts.c index 1d0979d..3bb4f8a 100644 --- a/src/osmo-bsc/bts.c +++ b/src/osmo-bsc/bts.c @@ -414,6 +414,34 @@ } } +/* Return a LAC+CI cell identity for the given BTS. + * (For matching a BTS within the local BSS, the PLMN code is not important.) */ +void gsm_bts_cell_id(struct gsm0808_cell_id *cell_id, const struct gsm_bts *bts) +{ + *cell_id = (struct gsm0808_cell_id){ + .id_discr = CELL_IDENT_LAC_AND_CI, + .id.lac_and_ci = { + .lac = bts->location_area_code, + .ci = bts->cell_identity, + }, + }; +} + +/* Same as gsm_bts_cell_id(), but return in a single-entry gsm0808_cell_id_list2. Useful for e.g. + * gsm0808_cell_id_list_add() and gsm0808_cell_id_lists_same(). */ +void gsm_bts_cell_id_list(struct gsm0808_cell_id_list2 *cell_id_list, const struct gsm_bts *bts) +{ + struct gsm0808_cell_id cell_id; + struct gsm0808_cell_id_list2 add; + int rc; + gsm_bts_cell_id(&cell_id, bts); + gsm0808_cell_id_to_list(&add, &cell_id); + /* Since the target list is empty, this should always succeed. */ + (*cell_id_list) = (struct gsm0808_cell_id_list2){}; + rc = gsm0808_cell_id_list_add(cell_id_list, &add); + OSMO_ASSERT(rc > 0); +} + static struct gsm_bts_ref *gsm_bts_ref_find(const struct llist_head *list, const struct gsm_bts *bts) { struct gsm_bts_ref *ref; diff --git a/src/osmo-bsc/handover_decision_2.c b/src/osmo-bsc/handover_decision_2.c index 134f502..0d0391c 100644 --- a/src/osmo-bsc/handover_decision_2.c +++ b/src/osmo-bsc/handover_decision_2.c @@ -215,49 +215,6 @@ reinit_congestion_timer(net); } -static void _conn_penalty_time_add(struct gsm_subscriber_connection *conn, - const void *for_object, - int penalty_time) -{ - if (!for_object) { - LOGP(DHODEC, LOGL_ERROR, "%s Unable to set Handover-2 penalty timer:" - " no target cell pointer\n", - bsc_subscr_name(conn->bsub)); - return; - } - - if (!conn->hodec2.penalty_timers) { - conn->hodec2.penalty_timers = penalty_timers_init(conn); - OSMO_ASSERT(conn->hodec2.penalty_timers); - } - - penalty_timers_add(conn->hodec2.penalty_timers, for_object, penalty_time); -} - -static void nik_penalty_time_add(struct gsm_subscriber_connection *conn, - struct neighbor_ident_key *nik, - int penalty_time) -{ - _conn_penalty_time_add(conn, - neighbor_ident_get(conn->network->neighbor_bss_cells, nik), - penalty_time); -} - -static void bts_penalty_time_add(struct gsm_subscriber_connection *conn, - struct gsm_bts *bts, - int penalty_time) -{ - _conn_penalty_time_add(conn, bts, penalty_time); -} - -static unsigned int conn_penalty_time_remaining(struct gsm_subscriber_connection *conn, - const void *for_object) -{ - if (!conn->hodec2.penalty_timers) - return 0; - return penalty_timers_remaining(conn->hodec2.penalty_timers, for_object); -} - /* did we get a RXLEV for a given cell in the given report? Mark matches as MRC_F_PROCESSED. */ static struct gsm_meas_rep_cell *cell_in_rep(struct gsm_meas_rep *mr, uint16_t arfcn, uint8_t bsic) { @@ -491,6 +448,7 @@ uint8_t requirement = 0; unsigned int penalty_time; int32_t current_overbooked; + struct gsm0808_cell_id target_cell_id; c->requirements = 0; /* Requirement A */ @@ -510,7 +468,8 @@ } /* the handover penalty timer must not run for this bts */ - penalty_time = conn_penalty_time_remaining(c->current.lchan->conn, c->target.bts); + gsm_bts_cell_id(&target_cell_id, c->target.bts); + penalty_time = penalty_timers_remaining(&c->current.lchan->conn->hodec2.penalty_timers, &target_cell_id); if (penalty_time) { LOGPHOLCHANTOBTS(c->current.lchan, c->target.bts, LOGL_DEBUG, "not a candidate, target BTS still in penalty time" " (%u seconds left)\n", penalty_time); @@ -788,7 +747,7 @@ /* Requirement A */ /* the handover penalty timer must not run for this bts */ - penalty_time = conn_penalty_time_remaining(c->current.lchan->conn, c->target.cil); + penalty_time = penalty_timers_remaining_list(&c->current.lchan->conn->hodec2.penalty_timers, c->target.cil); if (penalty_time) { LOGPHOLCHANTOREMOTE(c->current.lchan, c->target.cil, LOGL_DEBUG, "not a candidate, target BSS still in penalty time" @@ -1544,6 +1503,7 @@ /* Max Distance */ if (lchan->meas_rep_count > 0 && lchan->last_ta > ho_get_hodec2_max_distance(bts->ho)) { + struct gsm0808_cell_id bts_id; global_ho_reason = HO_REASON_MAX_DISTANCE; LOGPHOLCHAN(lchan, LOGL_NOTICE, "TA is TOO HIGH: %u > %d\n", lchan->last_ta, ho_get_hodec2_max_distance(bts->ho)); @@ -1551,7 +1511,9 @@ * early. it must be started before selecting a better cell, * so there is no assignment selected, due to running * penalty timer. */ - bts_penalty_time_add(lchan->conn, bts, ho_get_hodec2_penalty_max_dist(bts->ho)); + gsm_bts_cell_id(&bts_id, bts); + penalty_timers_add(lchan->conn, &lchan->conn->hodec2.penalty_timers, &bts_id, + ho_get_hodec2_penalty_max_dist(bts->ho)); find_alternative_lchan(lchan, true); return; } @@ -1989,7 +1951,6 @@ static void on_handover_end(struct gsm_subscriber_connection *conn, enum handover_result result) { struct gsm_bts *old_bts = NULL; - struct gsm_bts *new_bts = NULL; int penalty; struct handover *ho = &conn->ho; @@ -1999,8 +1960,6 @@ if (conn->lchan) old_bts = conn->lchan->ts->trx->bts; - if (ho->new_lchan) - new_bts = ho->new_lchan->ts->trx->bts; /* Only interested in handovers within this BSS or going out into another BSS. Incoming handovers * from another BSS are accounted for in the other BSS. */ @@ -2027,11 +1986,7 @@ LOG_HO(conn, LOGL_NOTICE, "Failed, starting penalty timer (%d s)\n", penalty); conn->hodec2.failures = 0; - - if (new_bts) - bts_penalty_time_add(conn, new_bts, penalty); - else - nik_penalty_time_add(conn, &ho->target_cell, penalty); + penalty_timers_add_list(conn, &conn->hodec2.penalty_timers, &ho->target_cell_ids, penalty); } static struct handover_decision_callbacks hodec2_callbacks = { diff --git a/src/osmo-bsc/handover_fsm.c b/src/osmo-bsc/handover_fsm.c index 87359dc..5270152 100644 --- a/src/osmo-bsc/handover_fsm.c +++ b/src/osmo-bsc/handover_fsm.c @@ -375,6 +375,7 @@ ho->scope = (ho->new_bts == bts) ? HO_INTRA_CELL : HO_INTRA_BSC; ho->ho_ref = g_next_ho_ref++; ho->async = true; + gsm_bts_cell_id_list(&ho->target_cell_ids, ho->new_bts); ho->new_lchan = lchan_select_by_type(ho->new_bts, ho->new_lchan_type); diff --git a/src/osmo-bsc/penalty_timers.c b/src/osmo-bsc/penalty_timers.c index 02cf246..6890061 100644 --- a/src/osmo-bsc/penalty_timers.c +++ b/src/osmo-bsc/penalty_timers.c @@ -28,16 +28,6 @@ #include #include -struct penalty_timers { - struct llist_head timers; -}; - -struct penalty_timer { - struct llist_head entry; - const void *for_object; - unsigned int timeout; -}; - static unsigned int time_now(void) { time_t now; @@ -46,16 +36,14 @@ return (unsigned int)now; } -struct penalty_timers *penalty_timers_init(void *ctx) -{ - struct penalty_timers *pt = talloc_zero(ctx, struct penalty_timers); - if (!pt) - return NULL; - INIT_LLIST_HEAD(&pt->timers); - return pt; -} - -void penalty_timers_add(struct penalty_timers *pt, const void *for_object, int timeout) +/* Add a penalty timer for a target cell ID. + * \param ctx talloc context to allocate new struct penalty_timer from. + * \param penalty_timers llist head to add penalty timer to. + * \param for_target_cell Which handover target to penalize. + * \param timeout Penalty time in seconds. + */ +void penalty_timers_add(void *ctx, struct llist_head *penalty_timers, + const struct gsm0808_cell_id *for_target_cell, int timeout) { struct penalty_timer *timer; unsigned int now; @@ -67,9 +55,9 @@ then = now + timeout; - /* timer already running for that BTS? */ - llist_for_each_entry(timer, &pt->timers, entry) { - if (timer->for_object != for_object) + /* timer already running for that target cell? */ + llist_for_each_entry(timer, penalty_timers, entry) { + if (!gsm0808_cell_ids_match(&timer->for_target_cell, for_target_cell, true)) continue; /* raise, if running timer will timeout earlier or has timed * out already, otherwise keep later timeout */ @@ -79,24 +67,49 @@ } /* add new timer */ - timer = talloc_zero(pt, struct penalty_timer); + timer = talloc_zero(ctx, struct penalty_timer); if (!timer) return; - timer->for_object = for_object; + timer->for_target_cell = *for_target_cell; timer->timeout = then; - llist_add_tail(&timer->entry, &pt->timers); + llist_add_tail(&timer->entry, penalty_timers); } -unsigned int penalty_timers_remaining(struct penalty_timers *pt, const void *for_object) +/* Add a penalty timer for each target cell ID in the given list. + * \param ctx talloc context to allocate new struct penalty_timer from. + * \param penalty_timers llist head to add penalty timer to. + * \param for_target_cells Which handover targets to penalize. + * \param timeout Penalty time in seconds. + */ +void penalty_timers_add_list(void *ctx, struct llist_head *penalty_timers, + const struct gsm0808_cell_id_list2 *for_target_cells, int timeout) +{ + int i; + for (i = 0; i < for_target_cells->id_list_len; i++) { + struct gsm0808_cell_id add = { + .id_discr = for_target_cells->id_discr, + .id = for_target_cells->id_list[i], + }; + penalty_timers_add(ctx, penalty_timers, &add, timeout); + } +} + +/* Return the amount of penalty time in seconds remaining for a target cell. + * \param penalty_timers llist head to look up penalty time in. + * \param for_target_cell Which handover target to query. + * \returns seconds remaining until all penalty time has expired. + */ +unsigned int penalty_timers_remaining(struct llist_head *penalty_timers, + const struct gsm0808_cell_id *for_target_cell) { struct penalty_timer *timer; unsigned int now = time_now(); unsigned int max_remaining = 0; - llist_for_each_entry(timer, &pt->timers, entry) { + llist_for_each_entry(timer, penalty_timers, entry) { unsigned int remaining; - if (timer->for_object != for_object) + if (!gsm0808_cell_ids_match(&timer->for_target_cell, for_target_cell, true)) continue; if (now >= timer->timeout) continue; @@ -107,23 +120,39 @@ return max_remaining; } -void penalty_timers_clear(struct penalty_timers *pt, const void *for_object) +/* Return the largest amount of penalty time in seconds remaining for any one of the given target cells. + * Call penalty_timers_remaining() for each entry of for_target_cells and return the largest value encountered. + * \param penalty_timers llist head to look up penalty time in. + * \param for_target_cells Which handover targets to query. + * \returns seconds remaining until all penalty time has expired. + */ +unsigned int penalty_timers_remaining_list(struct llist_head *penalty_timers, + const struct gsm0808_cell_id_list2 *for_target_cells) +{ + int i; + unsigned int max_remaining = 0; + for (i = 0; i < for_target_cells->id_list_len; i++) { + unsigned int remaining; + struct gsm0808_cell_id query = { + .id_discr = for_target_cells->id_discr, + .id = for_target_cells->id_list[i], + }; + remaining = penalty_timers_remaining(penalty_timers, &query); + max_remaining = OSMO_MAX(max_remaining, remaining); + } + return max_remaining; +} + +/* Clear penalty timers for one target cell, or completely clear the entire list. + * \param penalty_timers llist head to add penalty timer to. + * \param for_target_cell Which handover target to clear timers for, or NULL to clear all timers. */ +void penalty_timers_clear(struct llist_head *penalty_timers, const struct gsm0808_cell_id *for_target_cell) { struct penalty_timer *timer, *timer2; - llist_for_each_entry_safe(timer, timer2, &pt->timers, entry) { - if (for_object && timer->for_object != for_object) + llist_for_each_entry_safe(timer, timer2, penalty_timers, entry) { + if (for_target_cell && !gsm0808_cell_ids_match(&timer->for_target_cell, for_target_cell, true)) continue; llist_del(&timer->entry); talloc_free(timer); } } - -void penalty_timers_free(struct penalty_timers **pt_p) -{ - struct penalty_timers *pt = *pt_p; - if (!pt) - return; - penalty_timers_clear(pt, NULL); - talloc_free(pt); - *pt_p = NULL; -} diff --git a/tests/handover/handover_test.c b/tests/handover/handover_test.c index dff1390..332c94c 100644 --- a/tests/handover/handover_test.c +++ b/tests/handover/handover_test.c @@ -205,6 +205,7 @@ static struct gsm_bts *_create_bts(int num_trx, const char * const *ts_args, int ts_args_count) { static int arfcn = 870; + static int ci = 0; struct gsm_bts *bts; struct e1inp_sign_link *rsl_link; int i; @@ -220,6 +221,7 @@ } bts->location_area_code = 23; + bts->cell_identity = ci++; bts->c0->arfcn = arfcn++; bts->codec.efr = 1; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23358 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I72dd6226a6d69c3f653a3174c6f55bf4eecc6885 Gerrit-Change-Number: 23358 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 13 08:37:41 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 13 Mar 2021 08:37:41 +0000 Subject: Change in osmo-bsc[master]: drop neighbor_ident_test.c References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23359 ) Change subject: drop neighbor_ident_test.c ...................................................................... drop neighbor_ident_test.c This tests the opaquely designed neighbor config storage. However, a subsequent patch will refactor the neighbor config storage, and this neighbor ident API will change fundamentally. No need to test this. The new storage will use the usual scheme of transparent struct and llist, the opaque design is not necessary and just bloats. There is no need to test a plain llist, so this test needs no replacement. Related: OS#5018 Change-Id: I6522796bf0bbb9ab83e49168bcbff7bc70fd6c6d --- M tests/handover/Makefile.am D tests/handover/neighbor_ident_test.c D tests/handover/neighbor_ident_test.err D tests/handover/neighbor_ident_test.ok M tests/testsuite.at 5 files changed, 0 insertions(+), 478 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/59/23359/1 diff --git a/tests/handover/Makefile.am b/tests/handover/Makefile.am index 3951624..b3bc21f 100644 --- a/tests/handover/Makefile.am +++ b/tests/handover/Makefile.am @@ -24,13 +24,10 @@ handover_tests.sh \ handover_tests.ok \ $(srcdir)/test*.ho_vty \ - neighbor_ident_test.ok \ - neighbor_ident_test.err \ $(NULL) noinst_PROGRAMS = \ handover_test \ - neighbor_ident_test \ $(NULL) handover_test_SOURCES = \ @@ -118,18 +115,6 @@ $(LIBOSMOMGCPCLIENT_LIBS) \ $(NULL) -neighbor_ident_test_SOURCES = \ - neighbor_ident_test.c \ - $(NULL) - -neighbor_ident_test_LDADD = \ - $(top_builddir)/src/osmo-bsc/neighbor_ident.o \ - $(LIBOSMOCORE_LIBS) \ - $(LIBOSMOGSM_LIBS) \ - $(LIBOSMOCTRL_LIBS) \ - $(NULL) - .PHONY: update_exp update_exp: - $(builddir)/neighbor_ident_test >$(srcdir)/neighbor_ident_test.ok 2>$(srcdir)/neighbor_ident_test.err $(srcdir)/handover_tests.sh $(srcdir) $(builddir) -u diff --git a/tests/handover/neighbor_ident_test.c b/tests/handover/neighbor_ident_test.c deleted file mode 100644 index 9acbea0..0000000 --- a/tests/handover/neighbor_ident_test.c +++ /dev/null @@ -1,270 +0,0 @@ -/* Test the neighbor_ident.h API */ -/* - * (C) 2018 by sysmocom - s.f.m.c. GmbH - * All Rights Reserved - * - * Author: Neels Hofmeyr - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - * - */ - -#include -#include -#include - -#include - -#include - -static struct neighbor_ident_list *nil; - -static const struct neighbor_ident_key *k(int from_bts, uint16_t arfcn, uint8_t bsic) -{ - static struct neighbor_ident_key key; - key = (struct neighbor_ident_key){ - .from_bts = from_bts, - .arfcn = arfcn, - .bsic = bsic, - }; - return &key; -} - -static const struct gsm0808_cell_id_list2 cgi1 = { - .id_discr = CELL_IDENT_WHOLE_GLOBAL, - .id_list_len = 1, - .id_list = { - { - .global = { - .lai = { - .plmn = { .mcc = 1, .mnc = 2, .mnc_3_digits = false }, - .lac = 3, - }, - .cell_identity = 4, - } - }, - }, -}; - -static const struct gsm0808_cell_id_list2 cgi2 = { - .id_discr = CELL_IDENT_WHOLE_GLOBAL, - .id_list_len = 2, - .id_list = { - { - .global = { - .lai = { - .plmn = { .mcc = 1, .mnc = 2, .mnc_3_digits = false }, - .lac = 3, - }, - .cell_identity = 4, - } - }, - { - .global = { - .lai = { - .plmn = { .mcc = 5, .mnc = 6, .mnc_3_digits = true }, - .lac = 7, - }, - .cell_identity = 8, - } - }, - }, -}; - -static const struct gsm0808_cell_id_list2 lac1 = { - .id_discr = CELL_IDENT_LAC, - .id_list_len = 1, - .id_list = { - { - .lac = 123 - }, - }, -}; - -static const struct gsm0808_cell_id_list2 lac2 = { - .id_discr = CELL_IDENT_LAC, - .id_list_len = 2, - .id_list = { - { - .lac = 456 - }, - { - .lac = 789 - }, - }, -}; - -static void print_cil(const struct gsm0808_cell_id_list2 *cil) -{ - unsigned int i; - if (!cil) { - printf(" cell_id_list == NULL\n"); - return; - } - switch (cil->id_discr) { - case CELL_IDENT_WHOLE_GLOBAL: - printf(" cell_id_list cgi[%u] = {\n", cil->id_list_len); - for (i = 0; i < cil->id_list_len; i++) - printf(" %2d: %s\n", i, osmo_cgi_name(&cil->id_list[i].global)); - printf(" }\n"); - break; - case CELL_IDENT_LAC: - printf(" cell_id_list lac[%u] = {\n", cil->id_list_len); - for (i = 0; i < cil->id_list_len; i++) - printf(" %2d: %u\n", i, cil->id_list[i].lac); - printf(" }\n"); - break; - default: - printf(" Unimplemented id_disc\n"); - } -} - -static int print_nil_i; - -static bool nil_cb(const struct neighbor_ident_key *key, const struct gsm0808_cell_id_list2 *val, - void *cb_data) -{ - printf(" %2d: %s\n", print_nil_i++, neighbor_ident_key_name(key)); - print_cil(val); - return true; -} - -static void print_nil() -{ - print_nil_i = 0; - neighbor_ident_iter(nil, nil_cb, NULL); - if (!print_nil_i) - printf(" (empty)\n"); -} - -#define check_add(key, val, expect_rc) \ - do { \ - int rc; \ - rc = neighbor_ident_add(nil, key, val); \ - printf("neighbor_ident_add(" #key ", " #val ") --> expect rc=" #expect_rc ", got %d\n", rc); \ - if (rc != expect_rc) \ - printf("ERROR\n"); \ - print_nil(); \ - } while(0) - -#define check_del(key, expect_rc) \ - do { \ - bool rc; \ - rc = neighbor_ident_del(nil, key); \ - printf("neighbor_ident_del(" #key ") --> %s\n", rc ? "entry deleted" : "nothing deleted"); \ - if (rc != expect_rc) \ - printf("ERROR: expected: %s\n", expect_rc ? "entry deleted" : "nothing deleted"); \ - print_nil(); \ - } while(0) - -#define check_get(key, expect_rc) \ - do { \ - const struct gsm0808_cell_id_list2 *rc; \ - rc = neighbor_ident_get(nil, key); \ - printf("neighbor_ident_get(" #key ") --> %s\n", \ - rc ? "entry returned" : "NULL"); \ - if (((bool)expect_rc) != ((bool) rc)) \ - printf("ERROR: expected %s\n", expect_rc ? "an entry" : "NULL"); \ - if (rc) \ - print_cil(rc); \ - } while(0) - -int main(void) -{ - void *ctx = talloc_named_const(NULL, 0, "neighbor_ident_test"); - - printf("\n--- testing NULL neighbor_ident_list\n"); - nil = NULL; - check_add(k(0, 1, 2), &cgi1, -ENOMEM); - check_get(k(0, 1, 2), false); - check_del(k(0, 1, 2), false); - - printf("\n--- adding entries, test that no two identical entries are added\n"); - nil = neighbor_ident_init(ctx); - check_add(k(0, 1, 2), &cgi1, 1); - check_get(k(0, 1, 2), true); - check_add(k(0, 1, 2), &cgi1, 1); - check_add(k(0, 1, 2), &cgi2, 2); - check_add(k(0, 1, 2), &cgi2, 2); - check_del(k(0, 1, 2), true); - - printf("\n--- Cannot mix cell identifier types for one entry\n"); - check_add(k(0, 1, 2), &cgi1, 1); - check_add(k(0, 1, 2), &lac1, -EINVAL); - check_del(k(0, 1, 2), true); - neighbor_ident_free(nil); - - printf("\n--- BTS matching: specific BTS is stronger\n"); - nil = neighbor_ident_init(ctx); - check_add(k(NEIGHBOR_IDENT_KEY_ANY_BTS, 1, 2), &lac1, 1); - check_add(k(3, 1, 2), &lac2, 2); - check_get(k(2, 1, 2), true); - check_get(k(3, 1, 2), true); - check_get(k(4, 1, 2), true); - check_get(k(NEIGHBOR_IDENT_KEY_ANY_BTS, 1, 2), true); - neighbor_ident_free(nil); - - printf("\n--- BSIC matching: 6bit and 9bit are different realms, and wildcard match is weaker\n"); - nil = neighbor_ident_init(ctx); - check_add(k(0, 1, BSIC_ANY), &cgi1, 1); - check_add(k(0, 1, 2), &lac1, 1); - check_add(k(0, 1, 2), &lac2, 2); - check_get(k(0, 1, 2), true); - check_get(k(0, 1, 2), true); - neighbor_ident_free(nil); - - printf("\n--- Value ranges\n"); - nil = neighbor_ident_init(ctx); - check_add(k(0, 6, 1 << 6), &lac1, -ERANGE); - check_add(k(0, 6, BSIC_ANY - 1), &lac1, -ERANGE); - check_add(k(NEIGHBOR_IDENT_KEY_ANY_BTS - 1, 1, BSIC_ANY), &cgi2, -ERANGE); - check_add(k(256, 1, BSIC_ANY), &cgi2, -ERANGE); - check_add(k(0, 0, BSIC_ANY), &cgi1, 1); - check_add(k(255, 65535, BSIC_ANY), &lac1, 1); - check_add(k(0, 0, 0), &cgi2, 2); - check_add(k(255, 65535, 0x3f), &lac2, 2); - - neighbor_ident_free(nil); - - printf("\n--- size limits\n"); - { - int i; - struct gsm0808_cell_id_list2 a = { .id_discr = CELL_IDENT_LAC }; - struct gsm0808_cell_id_list2 b = { - .id_discr = CELL_IDENT_LAC, - .id_list = { - { .lac = 423 } - }, - .id_list_len = 1, - }; - for (i = 0; i < ARRAY_SIZE(a.id_list); i++) { - a.id_list[a.id_list_len ++].lac = i; - } - - nil = neighbor_ident_init(ctx); - - i = neighbor_ident_add(nil, k(0, 1, 2), &a); - printf("Added first cell identifier list (added %u) --> rc = %d\n", a.id_list_len, i); - i = neighbor_ident_add(nil, k(0, 1, 2), &b); - printf("Added second cell identifier list (tried to add %u) --> rc = %d\n", b.id_list_len, i); - if (i != -ENOSPC) - printf("ERROR: expected rc=%d\n", -ENOSPC); - neighbor_ident_free(nil); - } - - OSMO_ASSERT(talloc_total_blocks(ctx) == 1); - talloc_free(ctx); - - return 0; -} diff --git a/tests/handover/neighbor_ident_test.err b/tests/handover/neighbor_ident_test.err deleted file mode 100644 index e69de29..0000000 --- a/tests/handover/neighbor_ident_test.err +++ /dev/null diff --git a/tests/handover/neighbor_ident_test.ok b/tests/handover/neighbor_ident_test.ok deleted file mode 100644 index 961a33c..0000000 --- a/tests/handover/neighbor_ident_test.ok +++ /dev/null @@ -1,186 +0,0 @@ - ---- testing NULL neighbor_ident_list -neighbor_ident_add(k(0, 1, 2), &cgi1) --> expect rc=-ENOMEM, got -12 - (empty) -neighbor_ident_get(k(0, 1, 2)) --> NULL -neighbor_ident_del(k(0, 1, 2)) --> nothing deleted - (empty) - ---- adding entries, test that no two identical entries are added -neighbor_ident_add(k(0, 1, 2), &cgi1) --> expect rc=1, got 1 - 0: BTS 0 to ARFCN 1 BSIC 2 - cell_id_list cgi[1] = { - 0: 001-02-3-4 - } -neighbor_ident_get(k(0, 1, 2)) --> entry returned - cell_id_list cgi[1] = { - 0: 001-02-3-4 - } -neighbor_ident_add(k(0, 1, 2), &cgi1) --> expect rc=1, got 1 - 0: BTS 0 to ARFCN 1 BSIC 2 - cell_id_list cgi[1] = { - 0: 001-02-3-4 - } -neighbor_ident_add(k(0, 1, 2), &cgi2) --> expect rc=2, got 2 - 0: BTS 0 to ARFCN 1 BSIC 2 - cell_id_list cgi[2] = { - 0: 001-02-3-4 - 1: 005-006-7-8 - } -neighbor_ident_add(k(0, 1, 2), &cgi2) --> expect rc=2, got 2 - 0: BTS 0 to ARFCN 1 BSIC 2 - cell_id_list cgi[2] = { - 0: 001-02-3-4 - 1: 005-006-7-8 - } -neighbor_ident_del(k(0, 1, 2)) --> entry deleted - (empty) - ---- Cannot mix cell identifier types for one entry -neighbor_ident_add(k(0, 1, 2), &cgi1) --> expect rc=1, got 1 - 0: BTS 0 to ARFCN 1 BSIC 2 - cell_id_list cgi[1] = { - 0: 001-02-3-4 - } -neighbor_ident_add(k(0, 1, 2), &lac1) --> expect rc=-EINVAL, got -22 - 0: BTS 0 to ARFCN 1 BSIC 2 - cell_id_list cgi[1] = { - 0: 001-02-3-4 - } -neighbor_ident_del(k(0, 1, 2)) --> entry deleted - (empty) - ---- BTS matching: specific BTS is stronger -neighbor_ident_add(k(NEIGHBOR_IDENT_KEY_ANY_BTS, 1, 2), &lac1) --> expect rc=1, got 1 - 0: BTS * to ARFCN 1 BSIC 2 - cell_id_list lac[1] = { - 0: 123 - } -neighbor_ident_add(k(3, 1, 2), &lac2) --> expect rc=2, got 2 - 0: BTS * to ARFCN 1 BSIC 2 - cell_id_list lac[1] = { - 0: 123 - } - 1: BTS 3 to ARFCN 1 BSIC 2 - cell_id_list lac[2] = { - 0: 456 - 1: 789 - } -neighbor_ident_get(k(2, 1, 2)) --> entry returned - cell_id_list lac[1] = { - 0: 123 - } -neighbor_ident_get(k(3, 1, 2)) --> entry returned - cell_id_list lac[2] = { - 0: 456 - 1: 789 - } -neighbor_ident_get(k(4, 1, 2)) --> entry returned - cell_id_list lac[1] = { - 0: 123 - } -neighbor_ident_get(k(NEIGHBOR_IDENT_KEY_ANY_BTS, 1, 2)) --> entry returned - cell_id_list lac[1] = { - 0: 123 - } - ---- BSIC matching: 6bit and 9bit are different realms, and wildcard match is weaker -neighbor_ident_add(k(0, 1, BSIC_ANY), &cgi1) --> expect rc=1, got 1 - 0: BTS 0 to ARFCN 1 (any BSIC) - cell_id_list cgi[1] = { - 0: 001-02-3-4 - } -neighbor_ident_add(k(0, 1, 2), &lac1) --> expect rc=1, got 1 - 0: BTS 0 to ARFCN 1 (any BSIC) - cell_id_list cgi[1] = { - 0: 001-02-3-4 - } - 1: BTS 0 to ARFCN 1 BSIC 2 - cell_id_list lac[1] = { - 0: 123 - } -neighbor_ident_add(k(0, 1, 2), &lac2) --> expect rc=2, got 3 -ERROR - 0: BTS 0 to ARFCN 1 (any BSIC) - cell_id_list cgi[1] = { - 0: 001-02-3-4 - } - 1: BTS 0 to ARFCN 1 BSIC 2 - cell_id_list lac[3] = { - 0: 123 - 1: 456 - 2: 789 - } -neighbor_ident_get(k(0, 1, 2)) --> entry returned - cell_id_list lac[3] = { - 0: 123 - 1: 456 - 2: 789 - } -neighbor_ident_get(k(0, 1, 2)) --> entry returned - cell_id_list lac[3] = { - 0: 123 - 1: 456 - 2: 789 - } - ---- Value ranges -neighbor_ident_add(k(0, 6, 1 << 6), &lac1) --> expect rc=-ERANGE, got -34 - (empty) -neighbor_ident_add(k(0, 6, BSIC_ANY - 1), &lac1) --> expect rc=-ERANGE, got -34 - (empty) -neighbor_ident_add(k(NEIGHBOR_IDENT_KEY_ANY_BTS - 1, 1, BSIC_ANY), &cgi2) --> expect rc=-ERANGE, got -34 - (empty) -neighbor_ident_add(k(256, 1, BSIC_ANY), &cgi2) --> expect rc=-ERANGE, got -34 - (empty) -neighbor_ident_add(k(0, 0, BSIC_ANY), &cgi1) --> expect rc=1, got 1 - 0: BTS 0 to ARFCN 0 (any BSIC) - cell_id_list cgi[1] = { - 0: 001-02-3-4 - } -neighbor_ident_add(k(255, 65535, BSIC_ANY), &lac1) --> expect rc=1, got 1 - 0: BTS 0 to ARFCN 0 (any BSIC) - cell_id_list cgi[1] = { - 0: 001-02-3-4 - } - 1: BTS 255 to ARFCN 65535 (any BSIC) - cell_id_list lac[1] = { - 0: 123 - } -neighbor_ident_add(k(0, 0, 0), &cgi2) --> expect rc=2, got 2 - 0: BTS 0 to ARFCN 0 (any BSIC) - cell_id_list cgi[1] = { - 0: 001-02-3-4 - } - 1: BTS 255 to ARFCN 65535 (any BSIC) - cell_id_list lac[1] = { - 0: 123 - } - 2: BTS 0 to ARFCN 0 BSIC 0 - cell_id_list cgi[2] = { - 0: 001-02-3-4 - 1: 005-006-7-8 - } -neighbor_ident_add(k(255, 65535, 0x3f), &lac2) --> expect rc=2, got 2 - 0: BTS 0 to ARFCN 0 (any BSIC) - cell_id_list cgi[1] = { - 0: 001-02-3-4 - } - 1: BTS 255 to ARFCN 65535 (any BSIC) - cell_id_list lac[1] = { - 0: 123 - } - 2: BTS 0 to ARFCN 0 BSIC 0 - cell_id_list cgi[2] = { - 0: 001-02-3-4 - 1: 005-006-7-8 - } - 3: BTS 255 to ARFCN 65535 BSIC 63 - cell_id_list lac[2] = { - 0: 456 - 1: 789 - } - ---- size limits -Added first cell identifier list (added 127) --> rc = 127 -Added second cell identifier list (tried to add 1) --> rc = -28 diff --git a/tests/testsuite.at b/tests/testsuite.at index 17153cc..e7eb76b 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -44,13 +44,6 @@ AT_CHECK([$abs_top_builddir/tests/nanobts_omlattr/nanobts_omlattr_test], [], [expout], [ignore]) AT_CLEANUP -AT_SETUP([neighbor_ident]) -AT_KEYWORDS([neighbor_ident]) -cat $abs_srcdir/handover/neighbor_ident_test.ok > expout -cat $abs_srcdir/handover/neighbor_ident_test.err > experr -AT_CHECK([$abs_top_builddir/tests/handover/neighbor_ident_test], [], [expout], [experr]) -AT_CLEANUP - AT_SETUP([handover_tests]) AT_KEYWORDS([handover_tests]) cat $abs_srcdir/handover/handover_tests.ok > expout -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23359 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I6522796bf0bbb9ab83e49168bcbff7bc70fd6c6d Gerrit-Change-Number: 23359 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 13 08:37:41 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 13 Mar 2021 08:37:41 +0000 Subject: Change in osmo-bsc[master]: fix/refactor neighbor config References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23360 ) Change subject: fix/refactor neighbor config ...................................................................... fix/refactor neighbor config The neighbor configuration storage is fundamentally broken: it requires all local cells to be configured before being able to list them as neighbors of each other. Upon config write-back, the neighbor config however is placed back inline with the other config, and hence a written-out neighbor config no longer works on program restart. The cause of this problem is that the config is stored as explicit pointers between local cells (struct gsm_bts), which of course requires the pointer to exist before being able to reference it. Instead, store the actual configuration that the user entered as-is, without pointers or references to objects that need to be ready. Resolve the neighbors every time a neighbor is needed. Hence the user may enter any config at any place in the config file, even non-working config (like a BTS number that doesn't exist), and the relation to actual local or remote neighbor cells is made at runtime. Related: OS#5018 Change-Id: I9ed992f8bfff888b3933733c0576f92d50f2625b --- M include/osmocom/bsc/bts.h M include/osmocom/bsc/gsm_data.h M include/osmocom/bsc/handover.h M include/osmocom/bsc/neighbor_ident.h M src/osmo-bsc/bsc_init.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/bts.c M src/osmo-bsc/handover_decision.c M src/osmo-bsc/handover_decision_2.c M src/osmo-bsc/handover_fsm.c M src/osmo-bsc/handover_logic.c M src/osmo-bsc/neighbor_ident.c M src/osmo-bsc/neighbor_ident_vty.c M src/osmo-bsc/system_information.c M tests/bsc/bsc_test.c M tests/gsm0408/gsm0408_test.c M tests/neighbor_ident.vty 17 files changed, 852 insertions(+), 1,024 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/60/23360/1 diff --git a/include/osmocom/bsc/bts.h b/include/osmocom/bsc/bts.h index 3e3c73e..5dda44a 100644 --- a/include/osmocom/bsc/bts.h +++ b/include/osmocom/bsc/bts.h @@ -494,10 +494,13 @@ struct handover_cfg *ho; - /* A list of struct gsm_bts_ref, indicating neighbors of this BTS. - * When the si_common neigh_list is in automatic mode, it is populated from this list as well as - * gsm_network->neighbor_bss_cells. */ - struct llist_head local_neighbors; + /* Local and remote neighbor configuration: a list of neighbors as written in the VTY config, not resolved to + * actual cells. Entries may point at non-existing BTS numbers, or yet unconfigured ARFCN+BSIC. The point of + * this list is to keep the config as the user entered it: a) to write it back exactly as entered, and b) to + * allow adding neighbor cells that will only be configured further down in the config file. + * An actual neighbor cell object (local or remote-BSS) is resolved "at runtime" whenever a neighbor is being + * looked up. */ + struct llist_head neighbors; /* BTS-specific overrides for timer values from struct gsm_network. */ uint8_t T3122; /* ASSIGNMENT REJECT wait indication */ diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 1bf21ae..2a9da26 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -31,7 +31,6 @@ #include #include #include -#include #include #define GSM_T3122_DEFAULT 10 @@ -174,10 +173,16 @@ inline static const char *handover_scope_name(enum handover_scope val) { return get_value_string(handover_scope_names, val); } +/* Cell ARFCN + BSIC. */ +struct cell_ab { + uint16_t arfcn; + uint8_t bsic; +}; + struct handover_out_req { enum hodec_id from_hodec_id; struct gsm_lchan *old_lchan; - struct neighbor_ident_key target_nik; + struct cell_ab target_cell_ab; enum gsm_chan_t new_lchan_type; /*< leave GSM_LCHAN_NONE to use same as old_lchan */ }; @@ -205,7 +210,7 @@ enum hodec_id from_hodec_id; enum handover_scope scope; enum gsm_chan_t new_lchan_type; - struct neighbor_ident_key target_cell; + struct cell_ab target_cell_ab; /* For inter-BSC handover, this may reflect more than one Cell ID. Must also be set for intra-BSC handover, * because it is used as key for penalty timers (e.g. in handover decision 2). */ @@ -850,12 +855,6 @@ unsigned int used; }; -/* Useful to track N-N relations between BTS, for example neighbors. */ -struct gsm_bts_ref { - struct llist_head entry; - struct gsm_bts *bts; -}; - /* A single Page of a SMSCB message */ struct bts_smscb_page { /* SMSCB message we're part of */ @@ -1219,8 +1218,6 @@ struct osmo_tdef *tdefs; } mgw; - /* Remote BSS Cell Identifier Lists */ - struct neighbor_ident_list *neighbor_bss_cells; /* Remote BSS resolution sevice (CTRL iface) */ struct { char *addr; diff --git a/include/osmocom/bsc/handover.h b/include/osmocom/bsc/handover.h index a71bb98..f671491 100644 --- a/include/osmocom/bsc/handover.h +++ b/include/osmocom/bsc/handover.h @@ -82,8 +82,9 @@ void bsc_tx_bssmap_ho_failure(struct gsm_subscriber_connection *conn); int find_handover_target_cell(struct gsm_bts **local_target_cell_p, - const struct gsm0808_cell_id_list2 **remote_target_cell_p, - struct gsm_subscriber_connection *conn, const struct neighbor_ident_key *search_for, + struct gsm0808_cell_id_list2 *remote_target_cells, + struct gsm_subscriber_connection *conn, + const struct cell_ab *search_for, bool log_errors); void handover_parse_inter_bsc_mt(struct gsm_subscriber_connection *conn, diff --git a/include/osmocom/bsc/neighbor_ident.h b/include/osmocom/bsc/neighbor_ident.h index cab7f9e..48c44d3 100644 --- a/include/osmocom/bsc/neighbor_ident.h +++ b/include/osmocom/bsc/neighbor_ident.h @@ -7,62 +7,81 @@ #include #include +#include + struct vty; struct gsm_network; struct gsm_bts; -struct neighbor_ident_list; struct gsm0808_cell_id_list2; #define NEIGHBOR_IDENT_KEY_ANY_BTS -1 #define BSIC_ANY 0xff -struct neighbor_ident_key { - int from_bts; /*< BTS nr 0..255 or NEIGHBOR_IDENT_KEY_ANY_BTS */ - uint16_t arfcn; - uint8_t bsic; +enum neighbor_type { + NEIGHBOR_TYPE_UNSET = 0, + NEIGHBOR_TYPE_BTS_NR = 1, + NEIGHBOR_TYPE_CELL_ID = 2, }; -const char *neighbor_ident_key_name(const struct neighbor_ident_key *ni_key); +/* One line of VTY neighbor configuration as entered by the user. + * One of three variants: + * + * - just the local-BSS neighbor BTS nr: + * neighbor bts 123 + * + * - a neighbor cell identifier *without* ARFCN+BSIC: + * neighbor (lac|lac-ci|cgi|cgi-ps) 1 2 3... + * This is an elaborate / BTS-nr-agnostic way of indicating a local-BSS neighbor cell. + * + * - a neighbor cell identifier *with* ARFCN+BSIC: + * neighbor (lac|lac-ci|cgi|cgi-ps) 1 2 3... arfcn 456 bsic (23|any) + * This can either be + * - a remote-BSS neighbor cell, or + * - a super elaborate way of indicating a local-BSS neighbor, if this cell id exists in the local BSS. + */ +struct neighbor { + struct llist_head entry; -struct neighbor_ident_list *neighbor_ident_init(void *talloc_ctx); -void neighbor_ident_free(struct neighbor_ident_list *nil); + enum neighbor_type type; + union { + uint8_t bts_nr; + struct { + struct gsm0808_cell_id id; + bool ab_present; + struct cell_ab ab; + } cell_id; + }; +}; -bool neighbor_ident_key_match(const struct neighbor_ident_key *entry, - const struct neighbor_ident_key *search_for, - bool exact_match); +struct gsm_bts *resolve_local_neighbor(struct gsm_bts *from_bts, const struct neighbor *neighbor); +int resolve_remote_neighbors(struct gsm_bts *from_bts, const struct cell_ab *target_ab); -int neighbor_ident_add(struct neighbor_ident_list *nil, const struct neighbor_ident_key *key, - const struct gsm0808_cell_id_list2 *val); -const struct gsm0808_cell_id_list2 *neighbor_ident_get(const struct neighbor_ident_list *nil, - const struct neighbor_ident_key *key); -bool neighbor_ident_del(struct neighbor_ident_list *nil, const struct neighbor_ident_key *key); -void neighbor_ident_clear(struct neighbor_ident_list *nil); +int cell_ab_to_str_buf(char *buf, size_t buflen, const struct cell_ab *cell); +char *cell_ab_to_str_c(void *ctx, const struct cell_ab *cell); -void neighbor_ident_iter(const struct neighbor_ident_list *nil, - bool (* iter_cb )(const struct neighbor_ident_key *key, - const struct gsm0808_cell_id_list2 *val, - void *cb_data), - void *cb_data); +bool cell_ab_match(const struct cell_ab *entry, const struct cell_ab *search_for, bool exact_match); +bool cell_ab_valid(const struct cell_ab *cell); -struct neighbor_ident_key *bts_ident_key(const struct gsm_bts *bts); +int neighbor_to_str_buf(char *buf, size_t buflen, const struct neighbor *n); +char *neighbor_to_str_c(void *ctx, const struct neighbor *n); +bool neighbor_same(const struct neighbor *a, const struct neighbor *b, bool check_cell_ab); -void neighbor_ident_vty_init(struct gsm_network *net, struct neighbor_ident_list *nil); +void bts_cell_ab(struct cell_ab *arfcn_bsic, const struct gsm_bts *bts); + +int resolve_neighbors(struct gsm_bts **local_neighbor_p, struct gsm0808_cell_id_list2 *remote_neighbors, + struct gsm_bts *from_bts, const struct cell_ab *target_ab, bool log_errors); + +void neighbor_ident_vty_init(); void neighbor_ident_vty_write_bts(struct vty *vty, const char *indent, struct gsm_bts *bts); void neighbor_ident_vty_write_network(struct vty *vty, const char *indent); -bool neighbor_ident_bts_entry_exists(uint8_t from_bts); - -#define NEIGHBOR_IDENT_VTY_KEY_PARAMS "arfcn <0-1023> bsic (<0-63>|any)" -#define NEIGHBOR_IDENT_VTY_KEY_DOC \ +#define CELL_AB_VTY_PARAMS "arfcn <0-1023> bsic (<0-63>|any)" +#define CELL_AB_VTY_DOC \ "ARFCN of neighbor cell\n" "ARFCN value\n" \ "BSIC of neighbor cell\n" "BSIC value\n" \ "for all BSICs / use any BSIC in this ARFCN\n" -bool neighbor_ident_vty_parse_key_params(struct vty *vty, const char **argv, - struct neighbor_ident_key *key); -bool neighbor_ident_bts_parse_key_params(struct vty *vty, struct gsm_bts *bts, const char **argv, - struct neighbor_ident_key *key); - +void neighbor_ident_vty_parse_arfcn_bsic(struct cell_ab *ab, const char **argv); struct ctrl_handle *neighbor_controlif_setup(struct gsm_network *net); int neighbor_ctrl_cmds_install(struct gsm_network *net); diff --git a/src/osmo-bsc/bsc_init.c b/src/osmo-bsc/bsc_init.c index b959c9f..b572f27 100644 --- a/src/osmo-bsc/bsc_init.c +++ b/src/osmo-bsc/bsc_init.c @@ -100,7 +100,6 @@ net->ho = ho_cfg_init(net, NULL); net->hodec2.congestion_check_interval_s = HO_CFG_CONGESTION_CHECK_DEFAULT; - net->neighbor_bss_cells = neighbor_ident_init(net); /* init statistics */ net->bsc_ctrs = rate_ctr_group_alloc(net, &bsc_ctrg_desc, 0); diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index c8dfa8d..280fe9f 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -1881,8 +1881,8 @@ struct handover_out_req req = { .from_hodec_id = HODEC_USER, .old_lchan = from_lchan, - .target_nik = *bts_ident_key(to_bts), }; + bts_cell_ab(&req.target_cell_ab, to_bts); handover_request(&req); } return CMD_SUCCESS; @@ -2075,14 +2075,15 @@ } DEFUN(handover_any_to_arfcn_bsic, handover_any_to_arfcn_bsic_cmd, - "handover any to " NEIGHBOR_IDENT_VTY_KEY_PARAMS, + "handover any to " CELL_AB_VTY_PARAMS, MANUAL_HANDOVER_STR "Pick any actively used TCH/F or TCH/H lchan to handover to another cell." " This is likely to fail outside of a lab setup where you are certain that" " all MS are able to see the target cell.\n" "'to'\n" - NEIGHBOR_IDENT_VTY_KEY_DOC) + CELL_AB_VTY_DOC) { + struct cell_ab ab = {}; struct handover_out_req req; struct gsm_lchan *from_lchan; @@ -2095,12 +2096,8 @@ .old_lchan = from_lchan, }; - if (!neighbor_ident_bts_parse_key_params(vty, from_lchan->ts->trx->bts, - argv, &req.target_nik)) { - vty_out(vty, "%% BTS %u does not know about this neighbor%s", - from_lchan->ts->trx->bts->nr, VTY_NEWLINE); - return CMD_WARNING; - } + neighbor_ident_vty_parse_arfcn_bsic(&ab, argv); + req.target_cell_ab = ab; handover_request(&req); return CMD_SUCCESS; @@ -7775,7 +7772,7 @@ install_element(BTS_NODE, &cfg_bts_rep_no_ul_dl_sacch_cmd); install_element(BTS_NODE, &cfg_bts_rep_rxqual_cmd); - neighbor_ident_vty_init(network, network->neighbor_bss_cells); + neighbor_ident_vty_init(); /* See also handover commands added on bts level from handover_vty.c */ install_element(BTS_NODE, &cfg_bts_power_ctrl_cmd); diff --git a/src/osmo-bsc/bts.c b/src/osmo-bsc/bts.c index 3bb4f8a..5381a4e 100644 --- a/src/osmo-bsc/bts.c +++ b/src/osmo-bsc/bts.c @@ -273,7 +273,7 @@ INIT_LLIST_HEAD(&bts->abis_queue); INIT_LLIST_HEAD(&bts->loc_list); - INIT_LLIST_HEAD(&bts->local_neighbors); + INIT_LLIST_HEAD(&bts->neighbors); INIT_LLIST_HEAD(&bts->oml_fail_rep); INIT_LLIST_HEAD(&bts->chan_rqd_queue); @@ -442,59 +442,6 @@ OSMO_ASSERT(rc > 0); } -static struct gsm_bts_ref *gsm_bts_ref_find(const struct llist_head *list, const struct gsm_bts *bts) -{ - struct gsm_bts_ref *ref; - if (!bts) - return NULL; - llist_for_each_entry(ref, list, entry) { - if (ref->bts == bts) - return ref; - } - return NULL; -} - -/* Add a BTS reference to the local_neighbors list. - * Return 1 if added, 0 if such an entry already existed, and negative on errors. */ -int gsm_bts_local_neighbor_add(struct gsm_bts *bts, struct gsm_bts *neighbor) -{ - struct gsm_bts_ref *ref; - if (!bts || !neighbor) - return -ENOMEM; - - if (bts == neighbor) - return -EINVAL; - - /* Already got this entry? */ - ref = gsm_bts_ref_find(&bts->local_neighbors, neighbor); - if (ref) - return 0; - - ref = talloc_zero(bts, struct gsm_bts_ref); - if (!ref) - return -ENOMEM; - ref->bts = neighbor; - llist_add_tail(&ref->entry, &bts->local_neighbors); - return 1; -} - -/* Remove a BTS reference from the local_neighbors list. - * Return 1 if removed, 0 if no such entry existed, and negative on errors. */ -int gsm_bts_local_neighbor_del(struct gsm_bts *bts, const struct gsm_bts *neighbor) -{ - struct gsm_bts_ref *ref; - if (!bts || !neighbor) - return -ENOMEM; - - ref = gsm_bts_ref_find(&bts->local_neighbors, neighbor); - if (!ref) - return 0; - - llist_del(&ref->entry); - talloc_free(ref); - return 1; -} - /* return the gsm_lchan for the CBCH (if it exists at all) */ struct gsm_lchan *gsm_bts_get_cbch(struct gsm_bts *bts) { diff --git a/src/osmo-bsc/handover_decision.c b/src/osmo-bsc/handover_decision.c index 7eb8f31..1eeb277 100644 --- a/src/osmo-bsc/handover_decision.c +++ b/src/osmo-bsc/handover_decision.c @@ -201,8 +201,7 @@ req = (struct handover_out_req){ .from_hodec_id = HODEC1, .old_lchan = mr->lchan, - .target_nik = { - .from_bts = bts->nr, + .target_cell_ab = { .arfcn = best_cell->arfcn, .bsic = best_cell->bsic, }, diff --git a/src/osmo-bsc/handover_decision_2.c b/src/osmo-bsc/handover_decision_2.c index 0d0391c..b397a9a 100644 --- a/src/osmo-bsc/handover_decision_2.c +++ b/src/osmo-bsc/handover_decision_2.c @@ -83,8 +83,8 @@ #define LOGPHOCAND(candidate, level, fmt, args...) do {\ if ((candidate)->target.bts) \ LOGPHOLCHANTOBTS((candidate)->current.lchan, (candidate)->target.bts, level, fmt, ## args); \ - else if ((candidate)->target.cil) \ - LOGPHOLCHANTOREMOTE((candidate)->current.lchan, (candidate)->target.cil, level, fmt, ## args); \ + else if ((candidate)->target.cell_ids.id_list_len) \ + LOGPHOLCHANTOREMOTE((candidate)->current.lchan, &(candidate)->target.cell_ids, level, fmt, ## args); \ } while(0) @@ -120,8 +120,8 @@ int lchan_frees_tchh; } current; struct { - struct neighbor_ident_key nik; /* neighbor ARFCN+BSIC */ - const struct gsm0808_cell_id_list2 *cil; /* target cells in remote BSS */ + struct cell_ab ab; /* neighbor ARFCN+BSIC */ + struct gsm0808_cell_id_list2 cell_ids; /* target cells in remote BSS */ struct gsm_bts *bts; int rxlev; int rxlev_afs_bias; @@ -747,9 +747,9 @@ /* Requirement A */ /* the handover penalty timer must not run for this bts */ - penalty_time = penalty_timers_remaining_list(&c->current.lchan->conn->hodec2.penalty_timers, c->target.cil); + penalty_time = penalty_timers_remaining_list(&c->current.lchan->conn->hodec2.penalty_timers, &c->target.cell_ids); if (penalty_time) { - LOGPHOLCHANTOREMOTE(c->current.lchan, c->target.cil, LOGL_DEBUG, + LOGPHOLCHANTOREMOTE(c->current.lchan, &c->target.cell_ids, LOGL_DEBUG, "not a candidate, target BSS still in penalty time" " (%u seconds left)\n", penalty_time); return; @@ -879,9 +879,9 @@ req = (struct handover_out_req){ .from_hodec_id = HODEC2, .old_lchan = c->current.lchan, - .target_nik = *bts_ident_key(c->target.bts), .new_lchan_type = full_rate? GSM_LCHAN_TCH_F : GSM_LCHAN_TCH_H, }; + bts_cell_ab(&req.target_cell_ab, c->target.bts); handover_request(&req); return 0; } @@ -890,14 +890,14 @@ { struct handover_out_req req; - LOGPHOLCHANTOREMOTE(c->current.lchan, c->target.cil, LOGL_INFO, + LOGPHOLCHANTOREMOTE(c->current.lchan, &c->target.cell_ids, LOGL_INFO, "Triggering inter-BSC handover, due to %s\n", ho_reason_name(global_ho_reason)); req = (struct handover_out_req){ .from_hodec_id = HODEC2, .old_lchan = c->current.lchan, - .target_nik = c->target.nik, + .target_cell_ab = c->target.ab, }; handover_request(&req); return 0; @@ -933,13 +933,13 @@ candidate->target.free_tch##tchx, candidate->target.min_free_tch##tchx, \ REQUIREMENTS_ARGS(candidate->requirements, TCHX) - if (!candidate->target.bts && !candidate->target.cil) + if (!candidate->target.bts && !candidate->target.cell_ids.id_list_len) LOGPHOLCHAN(candidate->current.lchan, LOGL_DEBUG, "Empty candidate\n"); - if (candidate->target.bts && candidate->target.cil) + if (candidate->target.bts && candidate->target.cell_ids.id_list_len) LOGPHOLCHAN(candidate->current.lchan, LOGL_ERROR, "Invalid candidate: both local- and remote-BSS target\n"); - if (candidate->target.cil) - LOGPHOLCHANTOREMOTE(candidate->current.lchan, candidate->target.cil, LOGL_DEBUG, + if (candidate->target.cell_ids.id_list_len) + LOGPHOLCHANTOREMOTE(candidate->current.lchan, &candidate->target.cell_ids, LOGL_DEBUG, "RX level %d dBm -> %d dBm\n", rxlev2dbm(candidate->current.rxlev), rxlev2dbm(candidate->target.rxlev)); @@ -1052,9 +1052,8 @@ { struct gsm_bts *bts = lchan->ts->trx->bts; struct gsm_bts *neighbor_bts; - const struct gsm0808_cell_id_list2 *neighbor_cil; - struct neighbor_ident_key ni = { - .from_bts = bts->nr, + struct gsm0808_cell_id_list2 neighbor_cil; + struct cell_ab target_ab = { .arfcn = nmp->arfcn, .bsic = nmp->bsic, }; @@ -1078,9 +1077,9 @@ } find_handover_target_cell(&neighbor_bts, &neighbor_cil, - lchan->conn, &ni, false); + lchan->conn, &target_ab, false); - if (!neighbor_bts && !neighbor_cil) { + if (!neighbor_bts && !neighbor_cil.id_list_len) { LOGPHOBTS(bts, LOGL_DEBUG, "no neighbor ARFCN %u BSIC %u configured for this cell\n", nmp->arfcn, nmp->bsic); return; @@ -1103,9 +1102,9 @@ .rxlev = rxlev_current, }, .target = { - .nik = ni, + .ab = target_ab, .bts = neighbor_bts, - .cil = neighbor_cil, + .cell_ids = neighbor_cil, .rxlev = neigh_meas_avg(nmp, ho_get_hodec2_rxlev_neigh_avg_win(bts->ho)), }, }; diff --git a/src/osmo-bsc/handover_fsm.c b/src/osmo-bsc/handover_fsm.c index 5270152..70e479f 100644 --- a/src/osmo-bsc/handover_fsm.c +++ b/src/osmo-bsc/handover_fsm.c @@ -146,7 +146,7 @@ snprintf(buf, sizeof(buf), "("LOG_FMT_FROM_LCHAN") --HO-> (%s) " LOG_FMT_HO_SCOPE, LOG_ARGS_FROM_LCHAN(conn->lchan), - neighbor_ident_key_name(&ho->target_cell), + cell_ab_to_str_c(OTC_SELECT, &ho->target_cell_ab), LOG_ARGS_HO_SCOPE(conn)); else if (ho->scope & HO_INTER_BSC_IN) { @@ -227,9 +227,6 @@ conn = req->old_lchan->conn; OSMO_ASSERT(conn && conn->fi); - /* Make sure the handover target neighbor_ident_key contains the correct source bts nr */ - req->target_nik.from_bts = req->old_lchan->ts->trx->bts->nr; - /* To make sure we're allowed to start a handover, go through a gscon event dispatch. If that is accepted, the * same req is passed to handover_start(). */ osmo_fsm_inst_dispatch(conn->fi, GSCON_EV_HANDOVER_START, req); @@ -315,10 +312,10 @@ OSMO_ASSERT(req && req->old_lchan && req->old_lchan->conn); struct gsm_subscriber_connection *conn = req->old_lchan->conn; - const struct neighbor_ident_key *search_for = &req->target_nik; + const struct cell_ab *search_for = &req->target_cell_ab; struct handover *ho = &conn->ho; struct gsm_bts *local_target_cell = NULL; - const struct gsm0808_cell_id_list2 *remote_target_cell = NULL; + struct gsm0808_cell_id_list2 remote_target_cells = {}; if (conn->ho.fi) { LOG_HO(conn, LOGL_ERROR, "Handover requested while another handover is ongoing; Ignore\n"); @@ -335,9 +332,9 @@ ho->from_hodec_id = req->from_hodec_id; ho->new_lchan_type = req->new_lchan_type == GSM_LCHAN_NONE ? req->old_lchan->type : req->new_lchan_type; - ho->target_cell = req->target_nik; + ho->target_cell_ab = req->target_cell_ab; - if (find_handover_target_cell(&local_target_cell, &remote_target_cell, + if (find_handover_target_cell(&local_target_cell, &remote_target_cells, conn, search_for, true)) { handover_end(conn, HO_RESULT_ERROR); return; @@ -349,8 +346,8 @@ return; } - if (remote_target_cell) { - handover_start_inter_bsc_out(conn, remote_target_cell); + if (remote_target_cells.id_list_len) { + handover_start_inter_bsc_out(conn, &remote_target_cells); return; } diff --git a/src/osmo-bsc/handover_logic.c b/src/osmo-bsc/handover_logic.c index b0d175a..c0ed10d 100644 --- a/src/osmo-bsc/handover_logic.c +++ b/src/osmo-bsc/handover_logic.c @@ -126,7 +126,7 @@ return count; } -/* Find out a handover target cell for the given neighbor_ident_key, +/* Find out a handover target cell for the given arfcn_bsic, * and make sure there are no ambiguous matches. * Given a source BTS and a target ARFCN+BSIC, find which cell is the right handover target. * ARFCN+BSIC may be re-used within and/or across BSS, so make sure that only those cells that are explicitly @@ -138,22 +138,20 @@ * to be found. */ int find_handover_target_cell(struct gsm_bts **local_target_cell_p, - const struct gsm0808_cell_id_list2 **remote_target_cell_p, - struct gsm_subscriber_connection *conn, const struct neighbor_ident_key *search_for, + struct gsm0808_cell_id_list2 *remote_target_cells, + struct gsm_subscriber_connection *conn, + const struct cell_ab *search_for, bool log_errors) { struct gsm_network *net = conn->network; - struct gsm_bts *from_bts; struct gsm_bts *local_target_cell = NULL; - const struct gsm0808_cell_id_list2 *remote_target_cell = NULL; - struct gsm_bts_ref *neigh; bool ho_active; bool as_active; + struct gsm_bts *from_bts = conn->lchan->ts->trx->bts; + *remote_target_cells = (struct gsm0808_cell_id_list2){}; if (local_target_cell_p) *local_target_cell_p = NULL; - if (remote_target_cell_p) - *remote_target_cell_p = NULL; if (!search_for) { if (log_errors) @@ -161,7 +159,6 @@ return -EINVAL; } - from_bts = gsm_bts_num(net, search_for->from_bts); if (!from_bts) { if (log_errors) LOG_HO(conn, LOGL_ERROR, "Handover without source cell\n"); @@ -174,12 +171,11 @@ if (!ho_active && !as_active) { if (log_errors) LOG_HO(conn, LOGL_ERROR, "Cannot start Handover: Handover and Assignment disabled for this source cell (%s)\n", - neighbor_ident_key_name(search_for)); + cell_ab_to_str_c(OTC_SELECT, search_for)); return -EINVAL; } - if (llist_empty(&from_bts->local_neighbors) - && !neighbor_ident_bts_entry_exists(from_bts->nr)) { + if (llist_empty(&from_bts->neighbors)) { /* No explicit neighbor entries exist for this BTS. Hence apply the legacy default behavior that all * local cells are neighbors. */ struct gsm_bts *bts; @@ -192,15 +188,16 @@ for (i = 0; i < 2; i++) { bool exact_match = !i; llist_for_each_entry(bts, &net->bts_list, list) { - struct neighbor_ident_key bts_key = *bts_ident_key(bts); - if (neighbor_ident_key_match(&bts_key, search_for, exact_match)) { + struct cell_ab bts_ab; + bts_cell_ab(&bts_ab, bts); + if (cell_ab_match(&bts_ab, search_for, exact_match)) { if (local_target_cell) { if (log_errors) LOG_HO(conn, LOGL_ERROR, "NEIGHBOR CONFIGURATION ERROR: Multiple local cells match %s" " (BTS %d and BTS %d)." " Aborting Handover because of ambiguous network topology.\n", - neighbor_ident_key_name(search_for), + cell_ab_to_str_c(OTC_SELECT, search_for), local_target_cell->nr, bts->nr); return -EINVAL; } @@ -214,7 +211,7 @@ if (!local_target_cell) { if (log_errors) LOG_HO(conn, LOGL_ERROR, "Cannot Handover, no cell matches %s\n", - neighbor_ident_key_name(search_for)); + cell_ab_to_str_c(OTC_SELECT, search_for)); return -EINVAL; } @@ -222,14 +219,14 @@ if (log_errors) LOG_HO(conn, LOGL_ERROR, "Cannot start re-assignment, Assignment disabled for this cell (%s)\n", - neighbor_ident_key_name(search_for)); + cell_ab_to_str_c(OTC_SELECT, search_for)); return -EINVAL; } if (local_target_cell != from_bts && !ho_active) { if (log_errors) LOG_HO(conn, LOGL_ERROR, "Cannot start Handover, Handover disabled for this cell (%s)\n", - neighbor_ident_key_name(search_for)); + cell_ab_to_str_c(OTC_SELECT, search_for)); return -EINVAL; } @@ -243,81 +240,60 @@ LOG_HO(conn, LOGL_DEBUG, "There are explicit neighbors configured for this cell\n"); - /* Iterate explicit local neighbor cells */ - llist_for_each_entry(neigh, &from_bts->local_neighbors, entry) { - struct gsm_bts *neigh_bts = neigh->bts; - struct neighbor_ident_key neigh_bts_key = *bts_ident_key(neigh_bts); - neigh_bts_key.from_bts = from_bts->nr; - - LOG_HO(conn, LOGL_DEBUG, "Local neighbor %s\n", neighbor_ident_key_name(&neigh_bts_key)); - - if (!neighbor_ident_key_match(&neigh_bts_key, search_for, true)) { - LOG_HO(conn, LOGL_DEBUG, "Doesn't match %s\n", neighbor_ident_key_name(search_for)); - continue; - } - - if (local_target_cell) { - if (log_errors) - LOG_HO(conn, LOGL_ERROR, - "NEIGHBOR CONFIGURATION ERROR: Multiple BTS match %s (BTS %d and BTS %d)." - " Aborting Handover because of ambiguous network topology.\n", - neighbor_ident_key_name(search_for), local_target_cell->nr, neigh_bts->nr); - return -EINVAL; - } - - local_target_cell = neigh_bts; + if (resolve_neighbors(&local_target_cell, remote_target_cells, from_bts, search_for, log_errors)) { + LOG_HO(conn, LOGL_ERROR, "Cannot handover BTS %u -> %s: neighbor unknown\n", + from_bts->nr, cell_ab_to_str_c(OTC_SELECT, search_for)); + return -ENOENT; } - /* Any matching remote-BSS neighbor cell? */ - remote_target_cell = neighbor_ident_get(net->neighbor_bss_cells, search_for); + /* We have found possibly a local_target_cell (when != NULL), and / or remote_target_cells (when .id_list_len > + * 0). Figure out what to do with them. */ - if (remote_target_cell) - LOG_HO(conn, LOGL_DEBUG, "Found remote target cell %s\n", - gsm0808_cell_id_list_name(remote_target_cell)); + if (remote_target_cells->id_list_len) + LOG_HO(conn, LOGL_DEBUG, "Found remote target cell(s) %s\n", + gsm0808_cell_id_list_name_c(OTC_SELECT, remote_target_cells)); - if (local_target_cell && remote_target_cell) { + if (local_target_cell && remote_target_cells->id_list_len) { if (log_errors) - LOG_HO(conn, LOGL_ERROR, "NEIGHBOR CONFIGURATION ERROR: Both a local and a remote-BSS cell match %s" - " (BTS %d and remote %s)." + LOG_HO(conn, LOGL_ERROR, "NEIGHBOR CONFIGURATION ERROR: Both a local and a remote-BSS cell" + " match BTS %u -> %s (BTS %d and remote %s)." " Aborting Handover because of ambiguous network topology.\n", - neighbor_ident_key_name(search_for), local_target_cell->nr, - gsm0808_cell_id_list_name(remote_target_cell)); + from_bts->nr, cell_ab_to_str_c(OTC_SELECT, search_for), local_target_cell->bts_nr, + gsm0808_cell_id_list_name_c(OTC_SELECT, remote_target_cells)); return -EINVAL; } if (local_target_cell == from_bts && !as_active) { if (log_errors) LOG_HO(conn, LOGL_ERROR, - "Cannot start re-assignment, Assignment disabled for this cell (%s)\n", - neighbor_ident_key_name(search_for)); + "Cannot start re-assignment, Assignment disabled for this cell (BTS %u)\n", + from_bts->nr); return -EINVAL; } if (((local_target_cell && local_target_cell != from_bts) - || remote_target_cell) + || remote_target_cells->id_list_len) && !ho_active) { if (log_errors) LOG_HO(conn, LOGL_ERROR, - "Cannot start Handover, Handover disabled for this cell (%s)\n", - neighbor_ident_key_name(search_for)); + "Cannot start Handover, Handover disabled for this cell (BTS %u -> %s)\n", + from_bts->bts_nr, cell_ab_to_str_c(OTC_SELECT, search_for)); return -EINVAL; } + /* Return the result. After above checks, only one of local or remote cell has been found. */ if (local_target_cell) { if (local_target_cell_p) *local_target_cell_p = local_target_cell; return 0; } - if (remote_target_cell) { - if (remote_target_cell_p) - *remote_target_cell_p = remote_target_cell; + if (remote_target_cells->id_list_len) return 0; - } if (log_errors) LOG_HO(conn, LOGL_ERROR, "Cannot handover %s: neighbor unknown\n", - neighbor_ident_key_name(search_for)); + cell_ab_to_str_c(OTC_SELECT, search_for)); return -ENODEV; } diff --git a/src/osmo-bsc/neighbor_ident.c b/src/osmo-bsc/neighbor_ident.c index 3235508..b7ac7c9 100644 --- a/src/osmo-bsc/neighbor_ident.c +++ b/src/osmo-bsc/neighbor_ident.c @@ -40,88 +40,232 @@ #include #include -struct neighbor_ident_list { - struct llist_head list; -}; - -struct neighbor_ident { - struct llist_head entry; - - struct neighbor_ident_key key; - struct gsm0808_cell_id_list2 val; -}; - -#define APPEND_THING(func, args...) do { \ - int remain = buflen - (pos - buf); \ - int l = func(pos, remain, ##args); \ - if (l < 0 || l > remain) \ - pos = buf + buflen; \ - else \ - pos += l; \ - } while(0) -#define APPEND_STR(fmt, args...) APPEND_THING(snprintf, fmt, ##args) - -const char *_neighbor_ident_key_name(char *buf, size_t buflen, const struct neighbor_ident_key *ni_key) +void bts_cell_ab(struct cell_ab *arfcn_bsic, const struct gsm_bts *bts) { - char *pos = buf; - - APPEND_STR("BTS "); - if (ni_key->from_bts == NEIGHBOR_IDENT_KEY_ANY_BTS) - APPEND_STR("*"); - else if (ni_key->from_bts >= 0 && ni_key->from_bts <= 255) - APPEND_STR("%d", ni_key->from_bts); - else - APPEND_STR("invalid(%d)", ni_key->from_bts); - - APPEND_STR(" to "); - if (ni_key->bsic == BSIC_ANY) - APPEND_STR("ARFCN %u (any BSIC)", ni_key->arfcn); - else - APPEND_STR("ARFCN %u BSIC %u", ni_key->arfcn, ni_key->bsic & 0x3f); - return buf; + *arfcn_bsic = (struct cell_ab){ + .arfcn = bts->c0->arfcn, + .bsic = bts->bsic, + }; } -const char *neighbor_ident_key_name(const struct neighbor_ident_key *ni_key) +/* Find the local gsm_bts pointer that a specific other BTS' neighbor config refers to. Return NULL if there is no such + * local cell in this BSS. + */ +struct gsm_bts *resolve_local_neighbor(struct gsm_bts *from_bts, const struct neighbor *neighbor) { - static char buf[64]; - return _neighbor_ident_key_name(buf, sizeof(buf), ni_key); + struct gsm_bts *bts; + struct gsm_bts *bts_exact = NULL; + struct gsm_bts *bts_wildcard = NULL; + + switch (neighbor->type) { + case NEIGHBOR_TYPE_BTS_NR: + bts = gsm_bts_num(bsc_gsmnet, neighbor->bts_nr); + goto check_bts; + + case NEIGHBOR_TYPE_CELL_ID: + /* Find cell id below */ + break; + + default: + return NULL; + } + + /* NEIGHBOR_TYPE_CELL_ID */ + llist_for_each_entry(bts, &bsc_gsmnet->bts_list, list) { + struct gsm0808_cell_id cell_id; + gsm_bts_cell_id(&cell_id, bts); + + if (gsm0808_cell_ids_match(&cell_id, &neighbor->cell_id.id, true)) { + if (bts_exact) { + LOGP(DHO, LOGL_ERROR, + "NEIGHBOR CONFIG ERROR: Multiple BTS match %s (BTS %d and BTS %d)\n", + gsm0808_cell_id_name_c(OTC_SELECT, &neighbor->cell_id.id), + bts_exact->nr, bts->nr); + } else { + bts_exact = bts; + } + } + + if (!bts_wildcard && gsm0808_cell_ids_match(&cell_id, &neighbor->cell_id.id, false)) + bts_wildcard = bts; + } + + bts = (bts_exact ? : bts_wildcard); + +check_bts: + /* A cell cannot be its own neighbor */ + if (bts == from_bts) { + LOGP(DHO, LOGL_ERROR, + "NEIGHBOR CONFIG ERROR: BTS %u -> %s: this cell is configured as its own neighbor\n", + from_bts->nr, neighbor_to_str_c(OTC_SELECT, neighbor)); + bts = NULL; + } + + if (!bts) + return NULL; + + /* Double check whether ARFCN + BSIC config matches, if present. */ + if (neighbor->cell_id.ab_present) { + struct cell_ab cell_ab; + bts_cell_ab(&cell_ab, bts); + if (!cell_ab_match(&cell_ab, &neighbor->cell_id.ab, false)) { + LOGP(DHO, LOGL_ERROR, "NEIGHBOR CONFIG ERROR: Local BTS %d matches %s, but not ARFCN+BSIC %s\n", + bts->nr, gsm0808_cell_id_name_c(OTC_SELECT, &neighbor->cell_id.id), + cell_ab_to_str_c(OTC_SELECT, &cell_ab)); + return NULL; + } + } + + return bts; } -struct neighbor_ident_list *neighbor_ident_init(void *talloc_ctx) +int resolve_neighbors(struct gsm_bts **local_neighbor_p, struct gsm0808_cell_id_list2 *remote_neighbors, + struct gsm_bts *from_bts, const struct cell_ab *target_ab, bool log_errors) { - struct neighbor_ident_list *nil = talloc_zero(talloc_ctx, struct neighbor_ident_list); - OSMO_ASSERT(nil); - INIT_LLIST_HEAD(&nil->list); - return nil; + struct neighbor *n; + struct gsm_bts *local_neighbor = NULL; + struct gsm0808_cell_id_list2 remotes = {}; + + llist_for_each_entry(n, &from_bts->neighbors, entry) { + struct gsm_bts *neigh_bts = resolve_local_neighbor(from_bts, n); + + if (neigh_bts) { + /* This neighbor entry is a local cell neighbor. Do ARFCN and BSIC match? */ + struct cell_ab ab; + bts_cell_ab(&ab, neigh_bts); + if (!cell_ab_match(&ab, target_ab, false)) + continue; + + /* Found a local cell neighbor that matches the target_ab */ + + /* If we already found one, these are ambiguous local neighbors */ + if (local_neighbor) { + if (log_errors) + LOGP(DHO, LOGL_ERROR, "NEIGHBOR CONFIG ERROR:" + " Local BTS %d -> %s resolves to local neighbor BTSes %u *and* %u\n", + from_bts->nr, cell_ab_to_str_c(OTC_SELECT, target_ab), local_neighbor->nr, + neigh_bts->nr); + return -ENOTSUP; + } + local_neighbor = neigh_bts; + + } else if (n->type == NEIGHBOR_TYPE_CELL_ID && n->cell_id.ab_present) { + /* This neighbor entry is a remote-BSS neighbor. There may be multiple remote neighbors, + * collect those in a gsm0808_cell_id_list2 (remote_target_cells). A limitation is that all of + * them need to be of the same cell id type. */ + struct gsm0808_cell_id_list2 add_item; + int rc; + + if (!cell_ab_match(&n->cell_id.ab, target_ab, false)) + continue; + + /* Convert the gsm0808_cell_id to a list, so that we can use gsm0808_cell_id_list_add(). */ + gsm0808_cell_id_to_list(&add_item, &n->cell_id.id); + rc = gsm0808_cell_id_list_add(&remotes, &add_item); + if (rc < 0) { + if (log_errors) + LOGP(DHO, LOGL_ERROR, "NEIGHBOR CONFIG ERROR:" + " Local BTS %d -> %s resolves to remote-BSS neighbor %s;" + " Could not store this in neighbors list %s\n", + from_bts->nr, cell_ab_to_str_c(OTC_SELECT, target_ab), + gsm0808_cell_id_name_c(OTC_SELECT, &n->cell_id.id), + gsm0808_cell_id_list_name_c(OTC_SELECT, &remotes)); + return rc; + } + } + /* else: neighbor entry that does not resolve to anything. */ + } + + if (local_neighbor_p) + *local_neighbor_p = local_neighbor; + if (remote_neighbors) + *remote_neighbors = remotes; + + if (!local_neighbor && !remotes.id_list_len) + return -ENOENT; + return 0; } -void neighbor_ident_free(struct neighbor_ident_list *nil) +int cell_ab_to_str_buf(char *buf, size_t buflen, const struct cell_ab *cell) { - if (!nil) - return; - talloc_free(nil); + struct osmo_strbuf sb = { .buf = buf, .len = buflen }; + OSMO_STRBUF_PRINTF(sb, "ARFCN-BSIC:%u", cell->arfcn); + if (cell->bsic == BSIC_ANY) + OSMO_STRBUF_PRINTF(sb, "-any"); + else { + OSMO_STRBUF_PRINTF(sb, "-%u", cell->bsic); + if (cell->bsic > 0x3f) + OSMO_STRBUF_PRINTF(sb, "[ERANGE>63]"); + } + return sb.chars_needed; +} + +char *cell_ab_to_str_c(void *ctx, const struct cell_ab *cell) +{ + OSMO_NAME_C_IMPL(ctx, 64, "ERROR", cell_ab_to_str_buf, cell) +} + +int neighbor_to_str_buf(char *buf, size_t buflen, const struct neighbor *n) +{ + struct osmo_strbuf sb = { .buf = buf, .len = buflen }; + switch (n->type) { + case NEIGHBOR_TYPE_BTS_NR: + OSMO_STRBUF_PRINTF(sb, "BTS %u", n->bts_nr); + break; + case NEIGHBOR_TYPE_CELL_ID: + OSMO_STRBUF_APPEND_NOLEN(sb, gsm0808_cell_id_name_buf, &n->cell_id.id); + if (n->cell_id.ab_present) { + OSMO_STRBUF_PRINTF(sb, " "); + OSMO_STRBUF_APPEND(sb, cell_ab_to_str_buf, &n->cell_id.ab); + } + break; + case NEIGHBOR_TYPE_UNSET: + OSMO_STRBUF_PRINTF(sb, "UNSET"); + break; + default: + OSMO_STRBUF_PRINTF(sb, "INVALID"); + break; + } + return sb.chars_needed; +} + +char *neighbor_to_str_c(void *ctx, const struct neighbor *n) +{ + OSMO_NAME_C_IMPL(ctx, 64, "ERROR", neighbor_to_str_buf, n); +} + +bool neighbor_same(const struct neighbor *a, const struct neighbor *b, bool check_cell_ab) +{ + if (a == b) + return true; + if (a->type != b->type) + return false; + + switch (a->type) { + case NEIGHBOR_TYPE_BTS_NR: + return a->bts_nr == b->bts_nr; + + case NEIGHBOR_TYPE_CELL_ID: + if (check_cell_ab + && (a->cell_id.ab_present != b->cell_id.ab_present + || !cell_ab_match(&a->cell_id.ab, &b->cell_id.ab, true))) + return false; + return gsm0808_cell_ids_match(&a->cell_id.id, &b->cell_id.id, true); + default: + return a->type == b->type; + } } /* Return true when the entry matches the search_for requirements. * If exact_match is false, a BSIC_ANY entry acts as wildcard to match any search_for on that ARFCN, - * and a BSIC_ANY in search_for likewise returns any one entry that matches the ARFCN; - * also a from_bts == NEIGHBOR_IDENT_KEY_ANY_BTS in either entry or search_for will match. - * If exact_match is true, only identical bsic values and identical from_bts values return a match. + * and a BSIC_ANY in search_for likewise returns any one entry that matches the ARFCN. + * If exact_match is true, only identical bsic values return a match. * Note, typically wildcard BSICs are only in entry, e.g. the user configured list, and search_for * contains a specific BSIC, e.g. as received from a Measurement Report. */ -bool neighbor_ident_key_match(const struct neighbor_ident_key *entry, - const struct neighbor_ident_key *search_for, - bool exact_match) +bool cell_ab_match(const struct cell_ab *entry, + const struct cell_ab *search_for, + bool exact_match) { - if (exact_match - && entry->from_bts != search_for->from_bts) - return false; - - if (search_for->from_bts != NEIGHBOR_IDENT_KEY_ANY_BTS - && entry->from_bts != NEIGHBOR_IDENT_KEY_ANY_BTS - && entry->from_bts != search_for->from_bts) - return false; - if (entry->arfcn != search_for->arfcn) return false; @@ -134,144 +278,13 @@ return entry->bsic == search_for->bsic; } -static struct neighbor_ident *_neighbor_ident_get(const struct neighbor_ident_list *nil, - const struct neighbor_ident_key *key, - bool exact_match) +bool cell_ab_valid(const struct cell_ab *cell) { - struct neighbor_ident *ni; - struct neighbor_ident *wildcard_match = NULL; - - /* Do both exact-bsic and wildcard matching in the same iteration: - * Any exact match returns immediately, while for a wildcard match we still go through all - * remaining items in case an exact match exists. */ - llist_for_each_entry(ni, &nil->list, entry) { - if (neighbor_ident_key_match(&ni->key, key, true)) - return ni; - if (!exact_match) { - if (neighbor_ident_key_match(&ni->key, key, false)) - wildcard_match = ni; - } - } - return wildcard_match; -} - -static void _neighbor_ident_free(struct neighbor_ident *ni) -{ - llist_del(&ni->entry); - talloc_free(ni); -} - -bool neighbor_ident_key_valid(const struct neighbor_ident_key *key) -{ - if (key->from_bts != NEIGHBOR_IDENT_KEY_ANY_BTS - && (key->from_bts < 0 || key->from_bts > 255)) - return false; - - if (key->bsic != BSIC_ANY && key->bsic > 0x3f) + if (cell->bsic != BSIC_ANY && cell->bsic > 0x3f) return false; return true; } -/*! Add Cell Identifiers to an ARFCN+BSIC entry. - * Exactly one kind of identifier is allowed per ARFCN+BSIC entry, and any number of entries of that kind - * may be added up to the capacity of gsm0808_cell_id_list2, by one or more calls to this function. To - * replace an existing entry, first call neighbor_ident_del(nil, key). - * \returns number of entries in the resulting identifier list, or negative on error: - * see gsm0808_cell_id_list_add() for the meaning of returned error codes; - * return -ENOMEM when the list is not initialized, -ERANGE when the BSIC value is too large. */ -int neighbor_ident_add(struct neighbor_ident_list *nil, const struct neighbor_ident_key *key, - const struct gsm0808_cell_id_list2 *val) -{ - struct neighbor_ident *ni; - int rc; - - if (!nil) - return -ENOMEM; - - if (!neighbor_ident_key_valid(key)) - return -ERANGE; - - ni = _neighbor_ident_get(nil, key, true); - if (!ni) { - ni = talloc_zero(nil, struct neighbor_ident); - OSMO_ASSERT(ni); - *ni = (struct neighbor_ident){ - .key = *key, - .val = *val, - }; - llist_add_tail(&ni->entry, &nil->list); - return ni->val.id_list_len; - } - - rc = gsm0808_cell_id_list_add(&ni->val, val); - - if (rc < 0) - return rc; - - return ni->val.id_list_len; -} - -/*! Find cell identity for given BTS, ARFCN and BSIC, as previously added by neighbor_ident_add(). - */ -const struct gsm0808_cell_id_list2 *neighbor_ident_get(const struct neighbor_ident_list *nil, - const struct neighbor_ident_key *key) -{ - struct neighbor_ident *ni; - if (!nil) - return NULL; - ni = _neighbor_ident_get(nil, key, false); - if (!ni) - return NULL; - return &ni->val; -} - -bool neighbor_ident_del(struct neighbor_ident_list *nil, const struct neighbor_ident_key *key) -{ - struct neighbor_ident *ni; - if (!nil) - return false; - ni = _neighbor_ident_get(nil, key, true); - if (!ni) - return false; - _neighbor_ident_free(ni); - return true; -} - -void neighbor_ident_clear(struct neighbor_ident_list *nil) -{ - struct neighbor_ident *ni; - while ((ni = llist_first_entry_or_null(&nil->list, struct neighbor_ident, entry))) - _neighbor_ident_free(ni); -} - -/*! Iterate all neighbor_ident_list entries and call iter_cb for each. - * If iter_cb returns false, the iteration is stopped. */ -void neighbor_ident_iter(const struct neighbor_ident_list *nil, - bool (* iter_cb )(const struct neighbor_ident_key *key, - const struct gsm0808_cell_id_list2 *val, - void *cb_data), - void *cb_data) -{ - struct neighbor_ident *ni, *ni_next; - if (!nil) - return; - llist_for_each_entry_safe(ni, ni_next, &nil->list, entry) { - if (!iter_cb(&ni->key, &ni->val, cb_data)) - return; - } -} - -struct neighbor_ident_key *bts_ident_key(const struct gsm_bts *bts) -{ - static struct neighbor_ident_key key; - key = (struct neighbor_ident_key){ - .from_bts = NEIGHBOR_IDENT_KEY_ANY_BTS, - .arfcn = bts->c0->arfcn, - .bsic = bts->bsic, - }; - return &key; -} - /* Neighbor Resolution CTRL iface */ CTRL_CMD_DEFINE_RO(neighbor_resolve_cgi_ps_from_lac_ci, "neighbor_resolve_cgi_ps_from_lac_ci"); @@ -293,13 +306,12 @@ { struct gsm_network *net = (struct gsm_network *)data; struct gsm_bts *bts_tmp, *bts_found = NULL; - const struct gsm0808_cell_id_list2 *tgt_cell_li = NULL; char *tmp = NULL, *tok, *saveptr; - struct neighbor_ident_key ni; + struct cell_ab ab; unsigned lac, cell_id; struct osmo_cell_global_id_ps local_cgi_ps; const struct osmo_cell_global_id_ps *cgi_ps = NULL; - struct gsm_bts_ref *neigh; + struct neighbor *neigh; if (!cmd->variable) goto fmt_err; @@ -324,13 +336,11 @@ if (!(tok = strtok_r(NULL, ".", &saveptr))) goto fmt_err; - ni.arfcn = atoi(tok); + ab.arfcn = atoi(tok); if (!(tok = strtok_r(NULL, "\0", &saveptr))) goto fmt_err; - ni.bsic = atoi(tok); - - ni.from_bts = NEIGHBOR_IDENT_KEY_ANY_BTS; + ab.bsic = atoi(tok); llist_for_each_entry(bts_tmp, &net->bts_list, list) { if (bts_tmp->location_area_code != lac) @@ -338,38 +348,37 @@ if (bts_tmp->cell_identity != cell_id) continue; bts_found = bts_tmp; - ni.from_bts = bts_tmp->nr; break; } if (!bts_found) goto notfound_err; - LOG_BTS(bts_found, DLINP, LOGL_DEBUG, "Resolving neigbhor arfcn=%u bsic=%u\n", ni.arfcn, ni.bsic); + LOG_BTS(bts_found, DLINP, LOGL_DEBUG, "Resolving neigbhor %s\n", cell_ab_to_str_c(OTC_SELECT, &ab)); - if (!neighbor_ident_key_valid(&ni)) + if (!cell_ab_valid(&ab)) goto fmt_err; /* Is there a local BTS that matches the key? */ - llist_for_each_entry(neigh, &bts_found->local_neighbors, entry) { - struct gsm_bts *neigh_bts = neigh->bts; - struct neighbor_ident_key *neigh_bts_key = bts_ident_key(neigh_bts); - neigh_bts_key->from_bts = ni.from_bts; - if (!neighbor_ident_key_match(neigh_bts_key, &ni, true)) - continue; - if (gsm_bts_get_cgi_ps(neigh->bts, &local_cgi_ps) < 0) - continue; /* Not supporting GPRS */ - cgi_ps = &local_cgi_ps; - break; + llist_for_each_entry(neigh, &bts_found->neighbors, entry) { + struct gsm_bts *neigh_bts = resolve_local_neighbor(bts_found, neigh); + if (neigh_bts) { + /* A local neighbor */ + if (gsm_bts_get_cgi_ps(neigh_bts, &local_cgi_ps) < 0) + continue; /* Not supporting GPRS */ + cgi_ps = &local_cgi_ps; + break; + } else if (neigh->type == NEIGHBOR_TYPE_CELL_ID + && neigh->cell_id.id.id_discr == CELL_IDENT_WHOLE_GLOBAL_PS) { + /* A remote PS neighbor */ + cgi_ps = &neigh->cell_id.id.id.global_ps; + break; + } } - /* No local neighbor found, looking for remote neighbors */ - if (!cgi_ps) { - tgt_cell_li = neighbor_ident_get(net->neighbor_bss_cells, &ni); - if (!tgt_cell_li || tgt_cell_li->id_discr != CELL_IDENT_WHOLE_GLOBAL_PS || tgt_cell_li->id_list_len < 1) - goto notfound_err; - cgi_ps = &tgt_cell_li->id_list[0].global_ps; - } + /* No neighbor found */ + if (!cgi_ps) + goto notfound_err; ctrl_cmd_reply_printf(cmd, "%s", osmo_cgi_ps_name(cgi_ps)); talloc_free(tmp); diff --git a/src/osmo-bsc/neighbor_ident_vty.c b/src/osmo-bsc/neighbor_ident_vty.c index 72c11b0..90c8790 100644 --- a/src/osmo-bsc/neighbor_ident_vty.c +++ b/src/osmo-bsc/neighbor_ident_vty.c @@ -35,43 +35,6 @@ #include #include -static struct gsm_network *g_net = NULL; -static struct neighbor_ident_list *g_neighbor_cells = NULL; - -/* Parse VTY parameters matching NEIGHBOR_IDENT_VTY_KEY_PARAMS. Pass a pointer so that argv[0] is the - * ARFCN value followed by the BSIC keyword and value. vty *must* reference a BTS_NODE. */ -bool neighbor_ident_vty_parse_key_params(struct vty *vty, const char **argv, - struct neighbor_ident_key *key) -{ - struct gsm_bts *bts = vty->index; - - OSMO_ASSERT(vty->node == BTS_NODE); - OSMO_ASSERT(bts); - - return neighbor_ident_bts_parse_key_params(vty, bts, argv, key); -} - -/* same as neighbor_ident_vty_parse_key_params() but pass an explicit bts, so it works on any node. */ -bool neighbor_ident_bts_parse_key_params(struct vty *vty, struct gsm_bts *bts, const char **argv, - struct neighbor_ident_key *key) -{ - const char *arfcn_str = argv[0]; - const char *bsic_str = argv[1]; - - OSMO_ASSERT(bts); - - *key = (struct neighbor_ident_key){ - .from_bts = bts->nr, - .arfcn = atoi(arfcn_str), - }; - - if (!strcmp(bsic_str, "any")) - key->bsic = BSIC_ANY; - else - key->bsic = atoi(bsic_str); - return true; -} - #define NEIGHBOR_ADD_CMD "neighbor " #define NEIGHBOR_DEL_CMD "no neighbor " #define NEIGHBOR_DOC "Manage local and remote-BSS neighbor cells\n" @@ -79,67 +42,51 @@ #define NEIGHBOR_DEL_DOC NO_STR "Remove local or remote-BSS neighbor cell\n" #define LAC_PARAMS "lac <0-65535>" +#define LAC_ARGC 1 #define LAC_DOC "Neighbor cell by LAC\n" "LAC\n" #define LAC_CI_PARAMS "lac-ci <0-65535> <0-65535>" +#define LAC_CI_ARGC 2 #define LAC_CI_DOC "Neighbor cell by LAC and CI\n" "LAC\n" "CI\n" #define CGI_PARAMS "cgi <0-999> <0-999> <0-65535> <0-65535>" +#define CGI_ARGC 4 #define CGI_DOC "Neighbor cell by cgi\n" "MCC\n" "MNC\n" "LAC\n" "CI\n" #define CGI_PS_PARAMS "cgi-ps <0-999> <0-999> <0-65535> <0-255> <0-65535>" +#define CGI_PS_ARGC 5 #define CGI_PS_DOC "Neighbor cell by cgi (Packet Switched, with RAC)\n" "MCC\n" "MNC\n" "LAC\n" "RAC\n" "CI\n" #define LOCAL_BTS_PARAMS "bts <0-255>" #define LOCAL_BTS_DOC "Neighbor cell by local BTS number\n" "BTS number\n" -static struct gsm_bts *neighbor_ident_vty_parse_bts_nr(struct vty *vty, const char **argv) +static int neighbor_ident_vty_parse_lac(struct vty *vty, struct gsm0808_cell_id *cell_id, const char **argv) { - const char *bts_nr_str = argv[0]; - struct gsm_bts *bts = gsm_bts_num(g_net, atoi(bts_nr_str)); - if (!bts) - vty_out(vty, "%% No such BTS: nr = %s%s\n", bts_nr_str, VTY_NEWLINE); - return bts; -} - -static struct gsm_bts *bts_by_cell_id(struct vty *vty, struct gsm0808_cell_id *cell_id) -{ - struct gsm_bts *bts = gsm_bts_by_cell_id(g_net, cell_id, 0); - if (!bts) - vty_out(vty, "%% No such BTS: %s%s\n", gsm0808_cell_id_name(cell_id), VTY_NEWLINE); - return bts; -} - -static struct gsm0808_cell_id *neighbor_ident_vty_parse_lac(struct vty *vty, const char **argv) -{ - static struct gsm0808_cell_id cell_id; - cell_id = (struct gsm0808_cell_id){ + *cell_id = (struct gsm0808_cell_id){ .id_discr = CELL_IDENT_LAC, .id.lac = atoi(argv[0]), }; - return &cell_id; + return 0; } -static struct gsm0808_cell_id *neighbor_ident_vty_parse_lac_ci(struct vty *vty, const char **argv) +static int neighbor_ident_vty_parse_lac_ci(struct vty *vty, struct gsm0808_cell_id *cell_id, const char **argv) { - static struct gsm0808_cell_id cell_id; - cell_id = (struct gsm0808_cell_id){ + *cell_id = (struct gsm0808_cell_id){ .id_discr = CELL_IDENT_LAC_AND_CI, .id.lac_and_ci = { .lac = atoi(argv[0]), .ci = atoi(argv[1]), }, }; - return &cell_id; + return 0; } -static struct gsm0808_cell_id *neighbor_ident_vty_parse_cgi(struct vty *vty, const char **argv) +static int neighbor_ident_vty_parse_cgi(struct vty *vty, struct gsm0808_cell_id *cell_id, const char **argv) { - static struct gsm0808_cell_id cell_id; - cell_id = (struct gsm0808_cell_id){ + *cell_id = (struct gsm0808_cell_id){ .id_discr = CELL_IDENT_WHOLE_GLOBAL, }; - struct osmo_cell_global_id *cgi = &cell_id.id.global; + struct osmo_cell_global_id *cgi = &cell_id->id.global; const char *mcc = argv[0]; const char *mnc = argv[1]; const char *lac = argv[2]; @@ -147,25 +94,25 @@ if (osmo_mcc_from_str(mcc, &cgi->lai.plmn.mcc)) { vty_out(vty, "%% Error decoding MCC: %s%s", mcc, VTY_NEWLINE); - return NULL; + return -1; } if (osmo_mnc_from_str(mnc, &cgi->lai.plmn.mnc, &cgi->lai.plmn.mnc_3_digits)) { vty_out(vty, "%% Error decoding MNC: %s%s", mnc, VTY_NEWLINE); - return NULL; + return -1; } cgi->lai.lac = atoi(lac); cgi->cell_identity = atoi(ci); - return &cell_id; + return 0; } -static struct gsm0808_cell_id *neighbor_ident_vty_parse_cgi_ps(struct vty *vty, const char **argv) +static int neighbor_ident_vty_parse_cgi_ps(struct vty *vty, struct gsm0808_cell_id *cell_id, const char **argv) { - static struct gsm0808_cell_id cell_id = { + *cell_id = (struct gsm0808_cell_id){ .id_discr = CELL_IDENT_WHOLE_GLOBAL_PS, }; - struct osmo_cell_global_id_ps *cgi_ps = &cell_id.id.global_ps; + struct osmo_cell_global_id_ps *cgi_ps = &cell_id->id.global_ps; const char *mcc = argv[0]; const char *mnc = argv[1]; const char *lac = argv[2]; @@ -174,400 +121,351 @@ if (osmo_mcc_from_str(mcc, &cgi_ps->rai.lac.plmn.mcc)) { vty_out(vty, "%% Error decoding MCC: %s%s", mcc, VTY_NEWLINE); - return NULL; + return -1; } if (osmo_mnc_from_str(mnc, &cgi_ps->rai.lac.plmn.mnc, &cgi_ps->rai.lac.plmn.mnc_3_digits)) { vty_out(vty, "%% Error decoding MNC: %s%s", mnc, VTY_NEWLINE); - return NULL; + return -1; } cgi_ps->rai.lac.lac = atoi(lac); cgi_ps->rai.rac = atoi(rac); cgi_ps->cell_identity = atoi(ci); - return &cell_id; + return 0; } -static int add_local_bts(struct vty *vty, struct gsm_bts *neigh) +void neighbor_ident_vty_parse_arfcn_bsic(struct cell_ab *ab, const char **argv) { - int rc; + const char *arfcn_str = argv[0]; + const char *bsic_str = argv[1]; + + *ab = (struct cell_ab){ + .arfcn = atoi(arfcn_str), + .bsic = (!strcmp(bsic_str, "any")) ? BSIC_ANY : atoi(bsic_str), + }; +} + +static int add_neighbor(struct vty *vty, struct neighbor *n) +{ struct gsm_bts *bts = vty->index; - if (vty->node != BTS_NODE) { - vty_out(vty, "%% Error: cannot add local BTS neighbor, not on BTS node%s", - VTY_NEWLINE); - return CMD_WARNING; + struct neighbor *neighbor; + + OSMO_ASSERT((vty->node == BTS_NODE) && bts); + + llist_for_each_entry(neighbor, &bts->neighbors, entry) { + /* Check against duplicates */ + if (neighbor_same(neighbor, n, false)) { + /* Found a match on Cell ID or BTS number, without ARFCN+BSIC. If they are fully identical, ignore the + * duplicate. If the ARFCN+BSIC part differs, it's an error. */ + vty_out(vty, "%% BTS %u already had neighbor %s%s", bts->nr, neighbor_to_str_c(OTC_SELECT, neighbor), + VTY_NEWLINE); + if (!neighbor_same(neighbor, n, true)) { + vty_out(vty, "%% ERROR: duplicate Cell ID in neighbor config, with differing ARFCN+BSIC: %s%s", + neighbor_to_str_c(OTC_SELECT, n), VTY_NEWLINE); + return CMD_WARNING; + } + /* Exact same neighbor again, just ignore. */ + return CMD_SUCCESS; + } + + /* Allow only one cell ID per remote-BSS neighbor, see OS#3656 */ + if (n->type == NEIGHBOR_TYPE_CELL_ID + && n->cell_id.ab_present && neighbor->cell_id.ab_present + && cell_ab_match(&n->cell_id.ab, &neighbor->cell_id.ab, true)) { + vty_out(vty, "%% Error: only one Cell Identifier entry is allowed per remote neighbor." + " Already have: BTS %u -> %s%s", bts->nr, + neighbor_to_str_c(OTC_SELECT, neighbor), VTY_NEWLINE); + return CMD_WARNING; + } } - if (!bts) { - vty_out(vty, "%% Error: cannot add local BTS neighbor, no BTS on this node%s", - VTY_NEWLINE); - return CMD_WARNING; - } - if (!neigh) { - vty_out(vty, "%% Error: cannot add local BTS neighbor to BTS %u, no such neighbor BTS%s" - "%% (To add remote-BSS neighbors, pass full ARFCN and BSIC as well)%s", - bts->nr, VTY_NEWLINE, VTY_NEWLINE); - return CMD_WARNING; - } - rc = gsm_bts_local_neighbor_add(bts, neigh); - if (rc < 0) { - vty_out(vty, "%% Error: cannot add local BTS %u as neighbor to BTS %u: %s%s", - neigh->nr, bts->nr, strerror(-rc), VTY_NEWLINE); - return CMD_WARNING; - } else - vty_out(vty, "%% BTS %u %s local neighbor BTS %u with LAC %u CI %u and ARFCN %u BSIC %u%s", - bts->nr, rc? "now has" : "already had", - neigh->nr, neigh->location_area_code, neigh->cell_identity, - neigh->c0->arfcn, neigh->bsic, VTY_NEWLINE); + + neighbor = talloc_zero(bts, struct neighbor); + *neighbor = *n; + llist_add_tail(&neighbor->entry, &bts->neighbors); return CMD_SUCCESS; } -static int del_local_bts(struct vty *vty, struct gsm_bts *neigh) +static int del_neighbor(struct vty *vty, struct neighbor *n) { - int rc; struct gsm_bts *bts = vty->index; - if (vty->node != BTS_NODE) { - vty_out(vty, "%% Error: cannot remove local BTS neighbor, not on BTS node%s", - VTY_NEWLINE); - return CMD_WARNING; + struct neighbor *neighbor; + + OSMO_ASSERT((vty->node == BTS_NODE) && bts); + + llist_for_each_entry(neighbor, &bts->neighbors, entry) { + if (neighbor->type != n->type) + continue; + + switch (n->type) { + case NEIGHBOR_TYPE_BTS_NR: + if (neighbor->bts_nr == n->bts_nr) + break; + continue; + + case NEIGHBOR_TYPE_CELL_ID: + if (gsm0808_cell_ids_match(&neighbor->cell_id.id, &n->cell_id.id, true)) + break; + continue; + default: + continue; + } + + llist_del(&neighbor->entry); + talloc_free(neighbor); + return CMD_SUCCESS; } - if (!bts) { - vty_out(vty, "%% Error: cannot remove local BTS neighbor, no BTS on this node%s", - VTY_NEWLINE); - return CMD_WARNING; + + vty_out(vty, "%% Error: no such neighbor on BTS %d: %s%s", + bts->nr, neighbor_to_str_c(OTC_SELECT, n), VTY_NEWLINE); + return CMD_WARNING; +} + +static int del_neighbor_by_cell_ab(struct vty *vty, const struct cell_ab *cell_ab) +{ + struct gsm_bts *bts = vty->index; + struct neighbor *neighbor, *safe; + struct gsm_bts *neighbor_bts; + struct cell_ab neighbor_ab; + int count = 0; + + OSMO_ASSERT((vty->node == BTS_NODE) && bts); + + llist_for_each_entry_safe(neighbor, safe, &bts->neighbors, entry) { + switch (neighbor->type) { + case NEIGHBOR_TYPE_BTS_NR: + neighbor_bts = resolve_local_neighbor(bts, neighbor); + if (!neighbor_bts) + continue; + bts_cell_ab(&neighbor_ab, neighbor_bts); + if (!cell_ab_match(&neighbor_ab, cell_ab, false)) + continue; + break; + + case NEIGHBOR_TYPE_CELL_ID: + if (!neighbor->cell_id.ab_present) + continue; + if (!cell_ab_match(&neighbor->cell_id.ab, cell_ab, false)) + continue; + break; + default: + continue; + } + + llist_del(&neighbor->entry); + talloc_free(neighbor); + count++; } - if (!neigh) { - vty_out(vty, "%% Error: cannot remove local BTS neighbor from BTS %u, no such neighbor BTS%s", - bts->nr, VTY_NEWLINE); - return CMD_WARNING; - } - rc = gsm_bts_local_neighbor_del(bts, neigh); - if (rc < 0) { - vty_out(vty, "%% Error: cannot remove local BTS %u neighbor from BTS %u: %s%s", - neigh->nr, bts->nr, strerror(-rc), VTY_NEWLINE); - return CMD_WARNING; - } - if (rc == 0) - vty_out(vty, "%% BTS %u is no neighbor of BTS %u%s", - neigh->nr, bts->nr, VTY_NEWLINE); - return CMD_SUCCESS; + if (count) + return CMD_SUCCESS; + + vty_out(vty, "%% Cannot remove: no such neighbor on BTS %u: %s%s", + bts->nr, cell_ab_to_str_c(OTC_SELECT, cell_ab), VTY_NEWLINE); + return CMD_WARNING; } DEFUN(cfg_neighbor_add_bts_nr, cfg_neighbor_add_bts_nr_cmd, NEIGHBOR_ADD_CMD LOCAL_BTS_PARAMS, NEIGHBOR_ADD_DOC LOCAL_BTS_DOC) { - return add_local_bts(vty, neighbor_ident_vty_parse_bts_nr(vty, argv)); + struct neighbor n = { + .type = NEIGHBOR_TYPE_BTS_NR, + .bts_nr = atoi(argv[0]), + }; + return add_neighbor(vty, &n); } DEFUN(cfg_neighbor_add_lac, cfg_neighbor_add_lac_cmd, NEIGHBOR_ADD_CMD LAC_PARAMS, NEIGHBOR_ADD_DOC LAC_DOC) { - return add_local_bts(vty, bts_by_cell_id(vty, neighbor_ident_vty_parse_lac(vty, argv))); + struct neighbor n = { + .type = NEIGHBOR_TYPE_CELL_ID, + }; + if (neighbor_ident_vty_parse_lac(vty, &n.cell_id.id, argv)) + return CMD_WARNING; + return add_neighbor(vty, &n); } DEFUN(cfg_neighbor_add_lac_ci, cfg_neighbor_add_lac_ci_cmd, NEIGHBOR_ADD_CMD LAC_CI_PARAMS, NEIGHBOR_ADD_DOC LAC_CI_DOC) { - return add_local_bts(vty, bts_by_cell_id(vty, neighbor_ident_vty_parse_lac_ci(vty, argv))); + struct neighbor n = { + .type = NEIGHBOR_TYPE_CELL_ID, + }; + if (neighbor_ident_vty_parse_lac_ci(vty, &n.cell_id.id, argv)) + return CMD_WARNING; + return add_neighbor(vty, &n); } DEFUN(cfg_neighbor_add_cgi, cfg_neighbor_add_cgi_cmd, NEIGHBOR_ADD_CMD CGI_PARAMS, NEIGHBOR_ADD_DOC CGI_DOC) { - return add_local_bts(vty, bts_by_cell_id(vty, neighbor_ident_vty_parse_cgi(vty, argv))); + struct neighbor n = { + .type = NEIGHBOR_TYPE_CELL_ID, + }; + if (neighbor_ident_vty_parse_cgi(vty, &n.cell_id.id, argv)) + return CMD_WARNING; + return add_neighbor(vty, &n); } DEFUN(cfg_neighbor_add_cgi_ps, cfg_neighbor_add_cgi_ps_cmd, NEIGHBOR_ADD_CMD CGI_PS_PARAMS, NEIGHBOR_ADD_DOC CGI_PS_DOC) { - return add_local_bts(vty, bts_by_cell_id(vty, neighbor_ident_vty_parse_cgi_ps(vty, argv))); -} - -bool neighbor_ident_key_matches_bts(const struct neighbor_ident_key *key, struct gsm_bts *bts) -{ - if (!bts || !key) - return false; - return key->arfcn == bts->c0->arfcn - && (key->bsic == BSIC_ANY || key->bsic == bts->bsic); -} - -static int add_remote_or_local_bts(struct vty *vty, const struct gsm0808_cell_id *cell_id, - const struct neighbor_ident_key *key) -{ - int rc; - struct gsm_bts *local_neigh; - const struct gsm0808_cell_id_list2 *exists; - struct gsm0808_cell_id_list2 cil; - struct gsm_bts *bts = vty->index; - - if (vty->node != BTS_NODE) { - vty_out(vty, "%% Error: cannot add BTS neighbor, not on BTS node%s", - VTY_NEWLINE); - return CMD_WARNING; - } - if (!bts) { - vty_out(vty, "%% Error: cannot add BTS neighbor, no BTS on this node%s", - VTY_NEWLINE); - return CMD_WARNING; - } - - /* Is there a local BTS that matches the cell_id? */ - local_neigh = gsm_bts_by_cell_id(g_net, cell_id, 0); - if (local_neigh) { - /* But do the advertised ARFCN and BSIC match as intended? - * The user may omit ARFCN and BSIC for local cells, but if they are provided, - * they need to match. */ - if (!neighbor_ident_key_matches_bts(key, local_neigh)) { - vty_out(vty, "%% Error: bts %u: neighbor cell id %s indicates local BTS %u," - " but it does not match ARFCN+BSIC %s%s", - bts->nr, gsm0808_cell_id_name(cell_id), local_neigh->nr, - neighbor_ident_key_name(key), VTY_NEWLINE); - /* TODO: error out fatally for non-interactive VTY? */ - return CMD_WARNING; - } - return add_local_bts(vty, local_neigh); - } - - /* Allow only one cell ID per remote-BSS neighbor, see OS#3656 */ - exists = neighbor_ident_get(g_neighbor_cells, key); - if (exists) { - vty_out(vty, "%% Error: only one Cell Identifier entry is allowed per remote neighbor." - " Already have: %s -> %s%s", neighbor_ident_key_name(key), - gsm0808_cell_id_list_name(exists), VTY_NEWLINE); - return CMD_WARNING; - } - - /* The cell_id is not known in this BSS, so it must be a remote cell. */ - gsm0808_cell_id_to_list(&cil, cell_id); - rc = neighbor_ident_add(g_neighbor_cells, key, &cil); - - if (rc < 0) { - const char *reason; - switch (rc) { - case -EINVAL: - reason = ": mismatching type between current and newly added cell identifier"; - break; - case -ENOSPC: - reason = ": list is full"; - break; - default: - reason = ""; - break; - } - - vty_out(vty, "%% Error adding neighbor-BSS Cell Identifier %s%s%s", - gsm0808_cell_id_name(cell_id), reason, VTY_NEWLINE); - return CMD_WARNING; - } - - vty_out(vty, "%% %s now has %d remote BSS Cell Identifier List %s%s", - neighbor_ident_key_name(key), rc, rc == 1? "entry" : "entries", VTY_NEWLINE); - return CMD_SUCCESS; -} - -static int del_by_key(struct vty *vty, const struct neighbor_ident_key *key) -{ - int removed = 0; - int rc; - struct gsm_bts *bts = vty->index; - struct gsm_bts_ref *neigh, *safe; - - if (vty->node != BTS_NODE) { - vty_out(vty, "%% Error: cannot remove BTS neighbor, not on BTS node%s", - VTY_NEWLINE); - return CMD_WARNING; - } - if (!bts) { - vty_out(vty, "%% Error: cannot remove BTS neighbor, no BTS on this node%s", - VTY_NEWLINE); - return CMD_WARNING; - } - - /* Is there a local BTS that matches the key? */ - llist_for_each_entry_safe(neigh, safe, &bts->local_neighbors, entry) { - struct gsm_bts *neigh_bts = neigh->bts; - if (!neighbor_ident_key_matches_bts(key, neigh->bts)) - continue; - rc = gsm_bts_local_neighbor_del(bts, neigh->bts); - if (rc > 0) { - vty_out(vty, "%% Removed local neighbor bts %u to bts %u%s", - bts->nr, neigh_bts->nr, VTY_NEWLINE); - removed += rc; - } - } - - if (neighbor_ident_del(g_neighbor_cells, key)) { - vty_out(vty, "%% Removed remote BSS neighbor %s%s", - neighbor_ident_key_name(key), VTY_NEWLINE); - removed ++; - } - - if (!removed) { - vty_out(vty, "%% Cannot remove, no such neighbor: %s%s", - neighbor_ident_key_name(key), VTY_NEWLINE); - return CMD_WARNING; - } - return CMD_SUCCESS; -} - -struct nil_match_bts_data { - int bts_nr; - const struct neighbor_ident_key *found; -}; - -static bool nil_match_bts(const struct neighbor_ident_key *key, - const struct gsm0808_cell_id_list2 *val, - void *cb_data) -{ - struct nil_match_bts_data *d = cb_data; - if (key->from_bts == d->bts_nr) { - d->found = key; - return false; - } - return true; -} - -bool neighbor_ident_bts_entry_exists(uint8_t from_bts) -{ - struct nil_match_bts_data d = { - .bts_nr = from_bts, + struct neighbor n = { + .type = NEIGHBOR_TYPE_CELL_ID, }; - neighbor_ident_iter(g_neighbor_cells, nil_match_bts, &d); - return (bool)d.found; + if (neighbor_ident_vty_parse_cgi_ps(vty, &n.cell_id.id, argv)) + return CMD_WARNING; + return add_neighbor(vty, &n); } static int neighbor_del_all(struct vty *vty) { - int rc; - int removed = 0; struct gsm_bts *bts = vty->index; - + struct neighbor *n; OSMO_ASSERT((vty->node == BTS_NODE) && bts); - /* Remove all local neighbors and print to VTY for the user to know what changed */ - while (1) { - struct gsm_bts_ref *neigh = llist_first_entry_or_null(&bts->local_neighbors, struct gsm_bts_ref, entry); - struct gsm_bts *neigh_bts; - if (!neigh) - break; - - neigh_bts = neigh->bts; - OSMO_ASSERT(neigh_bts); - - /* It would be more efficient to just llist_del() the gsm_bts_ref directly, but for the sake of - * safe/sane API use and against code dup, rather invoke the central gsm_bts_local_neighbor_del() - * function intended for this task. */ - rc = gsm_bts_local_neighbor_del(bts, neigh_bts); - if (rc > 0) { - vty_out(vty, "%% Removed local neighbor bts %u to bts %u%s", - bts->nr, neigh_bts->nr, VTY_NEWLINE); - removed += rc; - } else { - vty_out(vty, "%% Error while removing local neighbor bts %u to bts %u, aborted%s", - bts->nr, neigh_bts->nr, VTY_NEWLINE); - return CMD_WARNING; - } - } - - /* Remove all remote-BSS neighbors */ - while (1) { - struct neighbor_ident_key k; - struct nil_match_bts_data d = { - .bts_nr = bts->nr, - }; - neighbor_ident_iter(g_neighbor_cells, nil_match_bts, &d); - if (!d.found) - break; - k = *d.found; - if (neighbor_ident_del(g_neighbor_cells, &k)) { - vty_out(vty, "%% Removed remote BSS neighbor %s%s", - neighbor_ident_key_name(&k), VTY_NEWLINE); - removed++; - } else { - vty_out(vty, "%% Error while removing remote BSS neighbor %s, aborted%s", - neighbor_ident_key_name(&k), VTY_NEWLINE); - return CMD_WARNING; - } - } - - if (!removed) + if (llist_empty(&bts->neighbors)) { vty_out(vty, "%% No neighbors configured%s", VTY_NEWLINE); + return CMD_SUCCESS; + } + + /* Remove all local neighbors and print to VTY for the user to know what changed */ + while ((n = llist_first_entry_or_null(&bts->neighbors, struct neighbor, entry))) { + vty_out(vty, "%% Removed neighbor: BTS %u to %s%s", + bts->nr, neighbor_to_str_c(OTC_SELECT, n), VTY_NEWLINE); + llist_del(&n->entry); + talloc_free(n); + } return CMD_SUCCESS; } DEFUN(cfg_neighbor_add_lac_arfcn_bsic, cfg_neighbor_add_lac_arfcn_bsic_cmd, - NEIGHBOR_ADD_CMD LAC_PARAMS " " NEIGHBOR_IDENT_VTY_KEY_PARAMS, - NEIGHBOR_ADD_DOC LAC_DOC NEIGHBOR_IDENT_VTY_KEY_DOC) + NEIGHBOR_ADD_CMD LAC_PARAMS " " CELL_AB_VTY_PARAMS, + NEIGHBOR_ADD_DOC LAC_DOC CELL_AB_VTY_DOC) { - struct neighbor_ident_key nik; - struct gsm0808_cell_id *cell_id = neighbor_ident_vty_parse_lac(vty, argv); - if (!cell_id) + struct neighbor n = { + .type = NEIGHBOR_TYPE_CELL_ID, + .cell_id.ab_present = true, + }; + if (neighbor_ident_vty_parse_lac(vty, &n.cell_id.id, argv)) return CMD_WARNING; - if (!neighbor_ident_vty_parse_key_params(vty, argv + 1, &nik)) - return CMD_WARNING; - return add_remote_or_local_bts(vty, cell_id, &nik); + neighbor_ident_vty_parse_arfcn_bsic(&n.cell_id.ab, argv + LAC_ARGC); + return add_neighbor(vty, &n); } DEFUN(cfg_neighbor_add_lac_ci_arfcn_bsic, cfg_neighbor_add_lac_ci_arfcn_bsic_cmd, - NEIGHBOR_ADD_CMD LAC_CI_PARAMS " " NEIGHBOR_IDENT_VTY_KEY_PARAMS, - NEIGHBOR_ADD_DOC LAC_CI_DOC NEIGHBOR_IDENT_VTY_KEY_DOC) + NEIGHBOR_ADD_CMD LAC_CI_PARAMS " " CELL_AB_VTY_PARAMS, + NEIGHBOR_ADD_DOC LAC_CI_DOC CELL_AB_VTY_DOC) { - struct neighbor_ident_key nik; - struct gsm0808_cell_id *cell_id = neighbor_ident_vty_parse_lac_ci(vty, argv); - if (!cell_id) + struct neighbor n = { + .type = NEIGHBOR_TYPE_CELL_ID, + .cell_id.ab_present = true, + }; + if (neighbor_ident_vty_parse_lac_ci(vty, &n.cell_id.id, argv)) return CMD_WARNING; - if (!neighbor_ident_vty_parse_key_params(vty, argv + 2, &nik)) - return CMD_WARNING; - return add_remote_or_local_bts(vty, cell_id, &nik); + neighbor_ident_vty_parse_arfcn_bsic(&n.cell_id.ab, argv + LAC_CI_ARGC); + return add_neighbor(vty, &n); } DEFUN(cfg_neighbor_add_cgi_arfcn_bsic, cfg_neighbor_add_cgi_arfcn_bsic_cmd, - NEIGHBOR_ADD_CMD CGI_PARAMS " " NEIGHBOR_IDENT_VTY_KEY_PARAMS, - NEIGHBOR_ADD_DOC CGI_DOC NEIGHBOR_IDENT_VTY_KEY_DOC) + NEIGHBOR_ADD_CMD CGI_PARAMS " " CELL_AB_VTY_PARAMS, + NEIGHBOR_ADD_DOC CGI_DOC CELL_AB_VTY_DOC) { - struct neighbor_ident_key nik; - struct gsm0808_cell_id *cell_id = neighbor_ident_vty_parse_cgi(vty, argv); - if (!cell_id) + struct neighbor n = { + .type = NEIGHBOR_TYPE_CELL_ID, + .cell_id.ab_present = true, + }; + if (neighbor_ident_vty_parse_cgi(vty, &n.cell_id.id, argv)) return CMD_WARNING; - if (!neighbor_ident_vty_parse_key_params(vty, argv + 4, &nik)) - return CMD_WARNING; - return add_remote_or_local_bts(vty, cell_id, &nik); + neighbor_ident_vty_parse_arfcn_bsic(&n.cell_id.ab, argv + CGI_ARGC); + return add_neighbor(vty, &n); } DEFUN(cfg_neighbor_add_cgi_ps_arfcn_bsic, cfg_neighbor_add_cgi_ps_arfcn_bsic_cmd, - NEIGHBOR_ADD_CMD CGI_PS_PARAMS " " NEIGHBOR_IDENT_VTY_KEY_PARAMS, - NEIGHBOR_ADD_DOC CGI_PS_DOC NEIGHBOR_IDENT_VTY_KEY_DOC) + NEIGHBOR_ADD_CMD CGI_PS_PARAMS " " CELL_AB_VTY_PARAMS, + NEIGHBOR_ADD_DOC CGI_PS_DOC CELL_AB_VTY_DOC) { - struct neighbor_ident_key nik; - struct gsm0808_cell_id *cell_id = neighbor_ident_vty_parse_cgi_ps(vty, argv); - if (!cell_id) + struct neighbor n = { + .type = NEIGHBOR_TYPE_CELL_ID, + .cell_id.ab_present = true, + }; + if (neighbor_ident_vty_parse_cgi_ps(vty, &n.cell_id.id, argv)) return CMD_WARNING; - if (!neighbor_ident_vty_parse_key_params(vty, argv + 5, &nik)) - return CMD_WARNING; - return add_remote_or_local_bts(vty, cell_id, &nik); + neighbor_ident_vty_parse_arfcn_bsic(&n.cell_id.ab, argv + CGI_PS_ARGC); + return add_neighbor(vty, &n); } DEFUN(cfg_neighbor_del_bts_nr, cfg_neighbor_del_bts_nr_cmd, NEIGHBOR_DEL_CMD LOCAL_BTS_PARAMS, NEIGHBOR_DEL_DOC LOCAL_BTS_DOC) { - return del_local_bts(vty, neighbor_ident_vty_parse_bts_nr(vty, argv)); + struct neighbor n = { + .type = NEIGHBOR_TYPE_BTS_NR, + .bts_nr = atoi(argv[0]), + }; + return del_neighbor(vty, &n); +} + +DEFUN(cfg_neighbor_del_lac, cfg_neighbor_del_lac_cmd, + NEIGHBOR_DEL_CMD LAC_PARAMS, + NEIGHBOR_DEL_DOC LAC_DOC) +{ + struct neighbor n = { + .type = NEIGHBOR_TYPE_CELL_ID, + }; + if (neighbor_ident_vty_parse_lac(vty, &n.cell_id.id, argv)) + return CMD_WARNING; + return del_neighbor(vty, &n); +} + +DEFUN(cfg_neighbor_del_lac_ci, cfg_neighbor_del_lac_ci_cmd, + NEIGHBOR_DEL_CMD LAC_CI_PARAMS, + NEIGHBOR_DEL_DOC LAC_CI_DOC) +{ + struct neighbor n = { + .type = NEIGHBOR_TYPE_CELL_ID, + }; + if (neighbor_ident_vty_parse_lac_ci(vty, &n.cell_id.id, argv)) + return CMD_WARNING; + return del_neighbor(vty, &n); +} + +DEFUN(cfg_neighbor_del_cgi, cfg_neighbor_del_cgi_cmd, + NEIGHBOR_DEL_CMD CGI_PARAMS, + NEIGHBOR_DEL_DOC CGI_DOC) +{ + struct neighbor n = { + .type = NEIGHBOR_TYPE_CELL_ID, + }; + if (neighbor_ident_vty_parse_cgi(vty, &n.cell_id.id, argv)) + return CMD_WARNING; + return del_neighbor(vty, &n); +} + +DEFUN(cfg_neighbor_del_cgi_ps, cfg_neighbor_del_cgi_ps_cmd, + NEIGHBOR_DEL_CMD CGI_PS_PARAMS, + NEIGHBOR_DEL_DOC CGI_PS_DOC) +{ + struct neighbor n = { + .type = NEIGHBOR_TYPE_CELL_ID, + }; + if (neighbor_ident_vty_parse_cgi_ps(vty, &n.cell_id.id, argv)) + return CMD_WARNING; + return del_neighbor(vty, &n); } DEFUN(cfg_neighbor_del_arfcn_bsic, cfg_neighbor_del_arfcn_bsic_cmd, - NEIGHBOR_DEL_CMD NEIGHBOR_IDENT_VTY_KEY_PARAMS, - NEIGHBOR_DEL_DOC NEIGHBOR_IDENT_VTY_KEY_DOC) + NEIGHBOR_DEL_CMD CELL_AB_VTY_PARAMS, + NEIGHBOR_DEL_DOC CELL_AB_VTY_DOC) { - struct neighbor_ident_key key; - - if (!neighbor_ident_vty_parse_key_params(vty, argv, &key)) - return CMD_WARNING; - - return del_by_key(vty, &key); + struct cell_ab ab; + neighbor_ident_vty_parse_arfcn_bsic(&ab, argv); + return del_neighbor_by_cell_ab(vty, &ab); } DEFUN(cfg_neighbor_del_all, cfg_neighbor_del_all_cmd, @@ -584,133 +482,98 @@ NEIGHBOR_DOC "Bind Neighbor Resolution Service (CTRL interface) to given ip and port\n" IP_STR IPV6_STR "Port to bind the service to [defaults to 4248 if not provided]\n") { - osmo_talloc_replace_string(g_net, &g_net->neigh_ctrl.addr, argv[0]); + osmo_talloc_replace_string(bsc_gsmnet, &bsc_gsmnet->neigh_ctrl.addr, argv[0]); if (argc > 1) - g_net->neigh_ctrl.port = atoi(argv[1]); + bsc_gsmnet->neigh_ctrl.port = atoi(argv[1]); else - g_net->neigh_ctrl.port = OSMO_CTRL_PORT_BSC_NEIGH; + bsc_gsmnet->neigh_ctrl.port = OSMO_CTRL_PORT_BSC_NEIGH; return CMD_SUCCESS; } void neighbor_ident_vty_write_network(struct vty *vty, const char *indent) { - if (g_net->neigh_ctrl.addr) - vty_out(vty, "%sneighbor-resolution bind %s %" PRIu16 "%s", indent, g_net->neigh_ctrl.addr, - g_net->neigh_ctrl.port, VTY_NEWLINE); + if (bsc_gsmnet->neigh_ctrl.addr) + vty_out(vty, "%sneighbor-resolution bind %s %" PRIu16 "%s", indent, bsc_gsmnet->neigh_ctrl.addr, + bsc_gsmnet->neigh_ctrl.port, VTY_NEWLINE); } - -struct write_neighbor_ident_entry_data { - struct vty *vty; - const char *indent; - struct gsm_bts *bts; -}; - -static bool write_neighbor_ident_list(const struct neighbor_ident_key *key, - const struct gsm0808_cell_id_list2 *val, - void *cb_data) +static int vty_write_cell_id_u(struct vty *vty, enum CELL_IDENT id_discr, const union gsm0808_cell_id_u *cell_id_u) { - struct write_neighbor_ident_entry_data *d = cb_data; - struct vty *vty = d->vty; - int i; + const struct osmo_cell_global_id *cgi; + const struct osmo_cell_global_id_ps *cgi_ps; - if (d->bts) { - if (d->bts->nr != key->from_bts) - return true; - } else if (key->from_bts != NEIGHBOR_IDENT_KEY_ANY_BTS) - return true; - -#define NEIGH_BSS_WRITE(fmt, args...) do { \ - vty_out(vty, "%sneighbor " fmt " arfcn %u ", d->indent, ## args, key->arfcn); \ - if (key->bsic == BSIC_ANY) \ - vty_out(vty, "bsic any"); \ - else \ - vty_out(vty, "bsic %u", key->bsic & 0x3f); \ - vty_out(vty, "%s", VTY_NEWLINE); \ - } while(0) - - switch (val->id_discr) { + switch (id_discr) { case CELL_IDENT_LAC: - for (i = 0; i < val->id_list_len; i++) { - NEIGH_BSS_WRITE("lac %u", val->id_list[i].lac); - } + vty_out(vty, "lac %u", cell_id_u->lac); break; case CELL_IDENT_LAC_AND_CI: - for (i = 0; i < val->id_list_len; i++) { - NEIGH_BSS_WRITE("lac-ci %u %u", - val->id_list[i].lac_and_ci.lac, - val->id_list[i].lac_and_ci.ci); - } + vty_out(vty, "lac-ci %u %u", cell_id_u->lac_and_ci.lac, cell_id_u->lac_and_ci.ci); break; case CELL_IDENT_WHOLE_GLOBAL: - for (i = 0; i < val->id_list_len; i++) { - const struct osmo_cell_global_id *cgi = &val->id_list[i].global; - NEIGH_BSS_WRITE("cgi %s %s %u %u", - osmo_mcc_name(cgi->lai.plmn.mcc), - osmo_mnc_name(cgi->lai.plmn.mnc, cgi->lai.plmn.mnc_3_digits), - cgi->lai.lac, cgi->cell_identity); - } + cgi = &cell_id_u->global; + vty_out(vty, "cgi %s %s %u %u", + osmo_mcc_name(cgi->lai.plmn.mcc), + osmo_mnc_name(cgi->lai.plmn.mnc, cgi->lai.plmn.mnc_3_digits), + cgi->lai.lac, cgi->cell_identity); break; case CELL_IDENT_WHOLE_GLOBAL_PS: - for (i = 0; i < val->id_list_len; i++) { - const struct osmo_cell_global_id_ps *cgi_ps = &val->id_list[i].global_ps; - NEIGH_BSS_WRITE("cgi-ps %s %s %u %u %u", - osmo_mcc_name(cgi_ps->rai.lac.plmn.mcc), - osmo_mnc_name(cgi_ps->rai.lac.plmn.mnc, cgi_ps->rai.lac.plmn.mnc_3_digits), - cgi_ps->rai.lac.lac, cgi_ps->rai.rac, - cgi_ps->cell_identity); - } + cgi_ps = &cell_id_u->global_ps; + vty_out(vty, "cgi-ps %s %s %u %u %u", + osmo_mcc_name(cgi_ps->rai.lac.plmn.mcc), + osmo_mnc_name(cgi_ps->rai.lac.plmn.mnc, cgi_ps->rai.lac.plmn.mnc_3_digits), + cgi_ps->rai.lac.lac, cgi_ps->rai.rac, + cgi_ps->cell_identity); break; default: - vty_out(vty, "%% Unsupported Cell Identity%s", VTY_NEWLINE); + return -1; } -#undef NEIGH_BSS_WRITE - - return true; -} - -void neighbor_ident_vty_write_remote_bss(struct vty *vty, const char *indent, struct gsm_bts *bts) -{ - struct write_neighbor_ident_entry_data d = { - .vty = vty, - .indent = indent, - .bts = bts, - }; - - neighbor_ident_iter(g_neighbor_cells, write_neighbor_ident_list, &d); -} - -void neighbor_ident_vty_write_local_neighbors(struct vty *vty, const char *indent, struct gsm_bts *bts) -{ - struct gsm_bts_ref *neigh; - - llist_for_each_entry(neigh, &bts->local_neighbors, entry) { - vty_out(vty, "%sneighbor bts %u%s", indent, neigh->bts->nr, VTY_NEWLINE); - } + return 0; } void neighbor_ident_vty_write_bts(struct vty *vty, const char *indent, struct gsm_bts *bts) { - neighbor_ident_vty_write_local_neighbors(vty, indent, bts); - neighbor_ident_vty_write_remote_bss(vty, indent, bts); + struct neighbor *n; + + llist_for_each_entry(n, &bts->neighbors, entry) { + switch (n->type) { + case NEIGHBOR_TYPE_BTS_NR: + vty_out(vty, "%sneighbor bts %u%s", indent, n->bts_nr, VTY_NEWLINE); + break; + + case NEIGHBOR_TYPE_CELL_ID: + vty_out(vty, "%sneighbor ", indent); + if (vty_write_cell_id_u(vty, n->cell_id.id.id_discr, &n->cell_id.id.id)) { + vty_out(vty, "[Unsupported Cell Identity]%s", VTY_NEWLINE); + continue; + } + + if (n->cell_id.ab_present) { + vty_out(vty, " arfcn %u ", n->cell_id.ab.arfcn); + if (n->cell_id.ab.bsic == BSIC_ANY) + vty_out(vty, "bsic any"); + else + vty_out(vty, "bsic %u", n->cell_id.ab.bsic & 0x3f); + } + vty_out(vty, "%s", VTY_NEWLINE); + break; + + default: + /* Ignore anything invalid */ + break; + } + } } DEFUN(show_bts_neighbor, show_bts_neighbor_cmd, - "show bts <0-255> neighbor " NEIGHBOR_IDENT_VTY_KEY_PARAMS, + "show bts <0-255> neighbor " CELL_AB_VTY_PARAMS, SHOW_STR "Display information about a BTS\n" "BTS number\n" "Query which cell would be the target for this neighbor ARFCN+BSIC\n" - NEIGHBOR_IDENT_VTY_KEY_DOC) + CELL_AB_VTY_DOC) { - int found = 0; - struct neighbor_ident_key key; - struct gsm_bts_ref *neigh; - const struct gsm0808_cell_id_list2 *res; - struct gsm_bts *bts = gsm_bts_num(g_net, atoi(argv[0])); - struct write_neighbor_ident_entry_data d = { - .vty = vty, - .indent = "% ", - .bts = bts, - }; + struct cell_ab ab; + struct gsm_bts *local_neighbor; + struct gsm0808_cell_id_list2 remote_neighbors; + struct gsm_bts *bts = gsm_bts_num(bsc_gsmnet, atoi(argv[0])); if (!bts) { vty_out(vty, "%% Error: cannot find BTS '%s'%s", argv[0], @@ -718,35 +581,41 @@ return CMD_WARNING; } - if (!neighbor_ident_bts_parse_key_params(vty, bts, &argv[1], &key)) + neighbor_ident_vty_parse_arfcn_bsic(&ab, &argv[1]); + + switch (resolve_neighbors(&local_neighbor, &remote_neighbors, bts, &ab, true)) { + case 0: + break; + case -ENOENT: + vty_out(vty, "%% No entry for BTS %u -> %s%s", bts->nr, cell_ab_to_str_c(OTC_SELECT, &ab), VTY_NEWLINE); return CMD_WARNING; - - /* Is there a local BTS that matches the key? */ - llist_for_each_entry(neigh, &bts->local_neighbors, entry) { - if (!neighbor_ident_key_matches_bts(&key, neigh->bts)) - continue; - vty_out(vty, "%% %s resolves to local BTS %u lac-ci %u %u%s", - neighbor_ident_key_name(&key), neigh->bts->nr, neigh->bts->location_area_code, - neigh->bts->cell_identity, VTY_NEWLINE); - found++; + default: + vty_out(vty, "%% Error while resolving neighbors BTS %u -> %s%s", bts->nr, + cell_ab_to_str_c(OTC_SELECT, &ab), VTY_NEWLINE); + return CMD_WARNING; } - res = neighbor_ident_get(g_neighbor_cells, &key); - if (res) { - write_neighbor_ident_list(&key, res, &d); - found++; + /* From successful rc == 0, there is exactly either a local_neighbor or a nonempty remote_neighbors list. */ + + vty_out(vty, "%% BTS %u -> %s resolves to", bts->nr, cell_ab_to_str_c(OTC_SELECT, &ab)); + if (local_neighbor) { + vty_out(vty, " local BTS %u lac-ci %u %u%s", + local_neighbor->nr, + local_neighbor->location_area_code, + local_neighbor->cell_identity, VTY_NEWLINE); } - if (!found) - vty_out(vty, "%% No entry for %s%s", neighbor_ident_key_name(&key), VTY_NEWLINE); + if (remote_neighbors.id_list_len) { + vty_out(vty, " remote-BSS neighbors: %s%s", + gsm0808_cell_id_list_name_c(OTC_SELECT, &remote_neighbors), + VTY_NEWLINE); + } return CMD_SUCCESS; } -void neighbor_ident_vty_init(struct gsm_network *net, struct neighbor_ident_list *nil) +void neighbor_ident_vty_init() { - g_net = net; - g_neighbor_cells = nil; install_element(GSMNET_NODE, &cfg_neighbor_bind_cmd); install_element(BTS_NODE, &cfg_neighbor_add_bts_nr_cmd); @@ -759,6 +628,10 @@ install_element(BTS_NODE, &cfg_neighbor_add_cgi_arfcn_bsic_cmd); install_element(BTS_NODE, &cfg_neighbor_add_cgi_ps_arfcn_bsic_cmd); install_element(BTS_NODE, &cfg_neighbor_del_bts_nr_cmd); + install_element(BTS_NODE, &cfg_neighbor_del_lac_cmd); + install_element(BTS_NODE, &cfg_neighbor_del_lac_ci_cmd); + install_element(BTS_NODE, &cfg_neighbor_del_cgi_cmd); + install_element(BTS_NODE, &cfg_neighbor_del_cgi_ps_cmd); install_element(BTS_NODE, &cfg_neighbor_del_arfcn_bsic_cmd); install_element(BTS_NODE, &cfg_neighbor_del_all_cmd); install_element_ve(&show_bts_neighbor_cmd); diff --git a/src/osmo-bsc/system_information.c b/src/osmo-bsc/system_information.c index fae1355..20d033d 100644 --- a/src/osmo-bsc/system_information.c +++ b/src/osmo-bsc/system_information.c @@ -602,25 +602,6 @@ return bitvec2freq_list(chan_list, bv, bts, false, false); } -struct generate_bcch_chan_list__ni_iter_data { - struct gsm_bts *bts; - struct bitvec *bv; -}; - -static bool generate_bcch_chan_list__ni_iter_cb(const struct neighbor_ident_key *key, - const struct gsm0808_cell_id_list2 *val, - void *cb_data) -{ - struct generate_bcch_chan_list__ni_iter_data *data = cb_data; - - if (key->from_bts != NEIGHBOR_IDENT_KEY_ANY_BTS - && key->from_bts != data->bts->nr) - return true; - - bitvec_set_bit_pos(data->bv, key->arfcn, 1); - return true; -} - /*! generate a cell channel list as per Section 10.5.2.22 of 04.08 * \param[out] chan_list caller-provided output buffer * \param[in] bts BTS descriptor used for input data @@ -646,7 +627,7 @@ /* Zero-initialize the bit-vector */ memset(bv->data, 0, bv->data_len); - if (llist_empty(&bts->local_neighbors)) { + if (llist_empty(&bts->neighbors)) { /* There are no explicit neighbors, assume all BTS are. */ llist_for_each_entry(cur_bts, &bts->network->bts_list, list) { if (cur_bts == bts) @@ -655,21 +636,21 @@ } } else { /* Only add explicit neighbor cells */ - struct gsm_bts_ref *neigh; - llist_for_each_entry(neigh, &bts->local_neighbors, entry) { - bitvec_set_bit_pos(bv, neigh->bts->c0->arfcn, 1); + struct neighbor *n; + llist_for_each_entry(n, &bts->neighbors, entry) { + if (n->type == NEIGHBOR_TYPE_CELL_ID && n->cell_id.ab_present) { + bitvec_set_bit_pos(bv, n->cell_id.ab.arfcn, 1); + } else { + struct gsm_bts *neigh_bts = resolve_local_neighbor(bts, n); + if (neigh_bts) + bitvec_set_bit_pos(bv, n->cell_id.ab.arfcn, 1); + else + LOGP(DHO, LOGL_ERROR, + "Neither local nor remote neighbor: BTS %u -> %s\n", + bts->nr, neighbor_to_str_c(OTC_SELECT, n)); + } } } - - /* Also add neighboring BSS cells' ARFCNs */ - { - struct generate_bcch_chan_list__ni_iter_data data = { - .bv = bv, - .bts = bts, - }; - neighbor_ident_iter(bts->network->neighbor_bss_cells, - generate_bcch_chan_list__ni_iter_cb, &data); - } } /* then we generate a GSM 04.08 frequency list from the bitvec */ diff --git a/tests/bsc/bsc_test.c b/tests/bsc/bsc_test.c index 0ed504b..dbb547e 100644 --- a/tests/bsc/bsc_test.c +++ b/tests/bsc/bsc_test.c @@ -39,6 +39,7 @@ #include void *ctx = NULL; +struct gsm_network *bsc_gsmnet = NULL; enum test { TEST_SCAN_TO_BTS, @@ -125,6 +126,7 @@ struct gsm_network *net = gsm_network_init(ctx); struct gsm_subscriber_connection *conn = talloc_zero(net, struct gsm_subscriber_connection); + bsc_gsmnet = net; conn->network = net; /* start testing with proper messages */ @@ -176,6 +178,7 @@ } talloc_free(net); + bsc_gsmnet = NULL; } static const struct log_info_cat log_categories[] = { diff --git a/tests/gsm0408/gsm0408_test.c b/tests/gsm0408/gsm0408_test.c index c23b262..7545381 100644 --- a/tests/gsm0408/gsm0408_test.c +++ b/tests/gsm0408/gsm0408_test.c @@ -59,6 +59,7 @@ } +struct gsm_network *bsc_gsmnet = NULL; static inline void gen(struct gsm_bts *bts, const char *s) { @@ -899,6 +900,7 @@ printf("Network init failure.\n"); return EXIT_FAILURE; } + bsc_gsmnet = net; test_si_range_helpers(); test_arfcn_filter(); diff --git a/tests/neighbor_ident.vty b/tests/neighbor_ident.vty index 93571b7..b1429d8 100644 --- a/tests/neighbor_ident.vty +++ b/tests/neighbor_ident.vty @@ -94,6 +94,10 @@ neighbor cgi <0-999> <0-999> <0-65535> <0-65535> arfcn <0-1023> bsic (<0-63>|any) neighbor cgi-ps <0-999> <0-999> <0-65535> <0-255> <0-65535> arfcn <0-1023> bsic (<0-63>|any) no neighbor bts <0-255> + no neighbor lac <0-65535> + no neighbor lac-ci <0-65535> <0-65535> + no neighbor cgi <0-999> <0-999> <0-65535> <0-65535> + no neighbor cgi-ps <0-999> <0-999> <0-65535> <0-255> <0-65535> no neighbor arfcn <0-1023> bsic (<0-63>|any) no neighbors ... @@ -173,8 +177,12 @@ neighbor Remove local or remote-BSS neighbor cell OsmoBSC(config-net-bts)# no neighbor ? - bts Neighbor cell by local BTS number - arfcn ARFCN of neighbor cell + bts Neighbor cell by local BTS number + lac Neighbor cell by LAC + lac-ci Neighbor cell by LAC and CI + cgi Neighbor cell by cgi + cgi-ps Neighbor cell by cgi (Packet Switched, with RAC) + arfcn ARFCN of neighbor cell OsmoBSC(config-net-bts)# no neighbor bts ? <0-255> BTS number @@ -199,52 +207,64 @@ % Unknown command. OsmoBSC(config-net-bts)# neighbor bts 0 -% Error: cannot add local BTS 0 as neighbor to BTS 0: Invalid argument +OsmoBSC(config-net-bts)# no neighbor bts 0 OsmoBSC(config-net-bts)# show running-config ... !neighbor -OsmoBSC(config-net-bts)# neighbor bts 1 -% BTS 0 now has local neighbor BTS 1 with LAC 21 CI 31 and ARFCN 41 BSIC 11 +OsmoBSC(config-net-bts)# no neighbor bts 1 +% Error: no such neighbor on BTS 0: BTS 1 +OsmoBSC(config-net-bts)# ### Add non-existing BTS nr -- is allowed, checking plausibility at runtime +OsmoBSC(config-net-bts)# neighbor bts 123 + +OsmoBSC(config-net-bts)# ### A neighbor by LAC and by BTS number are two distinct neighbor entries, resolved at runtime OsmoBSC(config-net-bts)# neighbor lac 22 -% BTS 0 now has local neighbor BTS 2 with LAC 22 CI 65535 and ARFCN 42 BSIC 12 OsmoBSC(config-net-bts)# no neighbor bts 2 +% Error: no such neighbor on BTS 0: BTS 2 +OsmoBSC(config-net-bts)# no neighbor lac 22 + OsmoBSC(config-net-bts)# neighbor cgi 901 70 22 65535 -% BTS 0 now has local neighbor BTS 2 with LAC 22 CI 65535 and ARFCN 42 BSIC 12 OsmoBSC(config-net-bts)# neighbor cgi 23 42 423 5 arfcn 23 bsic 42 -% BTS 0 to ARFCN 23 BSIC 42 now has 1 remote BSS Cell Identifier List entry OsmoBSC(config-net-bts)# ### adding the same entry again results in no change -OsmoBSC(config-net-bts)# neighbor bts 1 -% BTS 0 already had local neighbor BTS 1 with LAC 21 CI 31 and ARFCN 41 BSIC 11 -OsmoBSC(config-net-bts)# neighbor lac-ci 21 31 -% BTS 0 already had local neighbor BTS 1 with LAC 21 CI 31 and ARFCN 41 BSIC 11 -OsmoBSC(config-net-bts)# neighbor cgi 23 42 423 5 arfcn 23 bsic 42 -% Error: only one Cell Identifier entry is allowed per remote neighbor. Already have: BTS 0 to ARFCN 23 BSIC 42 -> CGI[1]:{023-42-423-5} -OsmoBSC(config-net-bts)# neighbor cgi 23 42 423 5 arfcn 23 bsic 42 -% Error: only one Cell Identifier entry is allowed per remote neighbor. Already have: BTS 0 to ARFCN 23 BSIC 42 -> CGI[1]:{023-42-423-5} -OsmoBSC(config-net-bts)# neighbor cgi 23 42 423 5 arfcn 23 bsic 42 -% Error: only one Cell Identifier entry is allowed per remote neighbor. Already have: BTS 0 to ARFCN 23 BSIC 42 -> CGI[1]:{023-42-423-5} +OsmoBSC(config-net-bts)# neighbor bts 123 +% BTS 0 already had neighbor BTS 123 -OsmoBSC(config-net-bts)# neighbor cgi 23 042 423 6 arfcn 23 bsic 42 -% Error: only one Cell Identifier entry is allowed per remote neighbor. Already have: BTS 0 to ARFCN 23 BSIC 42 -> CGI[1]:{023-42-423-5} +OsmoBSC(config-net-bts)# neighbor lac-ci 21 31 arfcn 41 bsic 11 +OsmoBSC(config-net-bts)# neighbor lac-ci 21 31 arfcn 41 bsic 11 +% BTS 0 already had neighbor LAC-CI:21-31 ARFCN-BSIC:41-11 +OsmoBSC(config-net-bts)# neighbor lac-ci 21 31 arfcn 22 bsic 32 +% BTS 0 already had neighbor LAC-CI:21-31 ARFCN-BSIC:41-11 +% ERROR: duplicate Cell ID in neighbor config, with differing ARFCN+BSIC: LAC-CI:21-31 ARFCN-BSIC:22-32 +OsmoBSC(config-net-bts)# show running-config +... + neighbor lac-ci 21 31 arfcn 41 bsic 11 +... + +OsmoBSC(config-net-bts)# neighbor cgi 23 42 423 5 arfcn 23 bsic 42 +% BTS 0 already had neighbor CGI:023-42-423-5 ARFCN-BSIC:23-42 + +OsmoBSC(config-net-bts)# neighbor cgi 23 042 423 5 arfcn 23 bsic 42 +% Error: only one Cell Identifier entry is allowed per remote neighbor. Already have: BTS 0 -> CGI:023-42-423-5 ARFCN-BSIC:23-42 + +OsmoBSC(config-net-bts)# neighbor cgi 23 42 423 6 arfcn 23 bsic 42 +% Error: only one Cell Identifier entry is allowed per remote neighbor. Already have: BTS 0 -> CGI:023-42-423-5 ARFCN-BSIC:23-42 + +OsmoBSC(config-net-bts)# neighbor cgi 23 42 423 6 arfcn 42 bsic 1 OsmoBSC(config-net-bts)# neighbor lac 456 arfcn 123 bsic 45 -% BTS 0 to ARFCN 123 BSIC 45 now has 1 remote BSS Cell Identifier List entry - -OsmoBSC(config-net-bts)# neighbor cgi 23 042 234 56 arfcn 23 bsic 42 -% Error: only one Cell Identifier entry is allowed per remote neighbor. Already have: BTS 0 to ARFCN 23 BSIC 42 -> CGI[1]:{023-42-423-5} OsmoBSC(config-net-bts)# neighbor lac-ci 789 10 arfcn 423 bsic any -% BTS 0 to ARFCN 423 (any BSIC) now has 1 remote BSS Cell Identifier List entry OsmoBSC(config-net-bts)# neighbor lac-ci 789 10 arfcn 423 bsic 63 -% Error: only one Cell Identifier entry is allowed per remote neighbor. Already have: BTS 0 to ARFCN 423 BSIC 63 -> LAC-CI[1]:{789-10} +% BTS 0 already had neighbor LAC-CI:789-10 ARFCN-BSIC:423-any +% ERROR: duplicate Cell ID in neighbor config, with differing ARFCN+BSIC: LAC-CI:789-10 ARFCN-BSIC:423-63 OsmoBSC(config-net-bts)# neighbor lac-ci 789 10 arfcn 423 bsic 1 -% Error: only one Cell Identifier entry is allowed per remote neighbor. Already have: BTS 0 to ARFCN 423 BSIC 1 -> LAC-CI[1]:{789-10} +% BTS 0 already had neighbor LAC-CI:789-10 ARFCN-BSIC:423-any +% ERROR: duplicate Cell ID in neighbor config, with differing ARFCN+BSIC: LAC-CI:789-10 ARFCN-BSIC:423-1 OsmoBSC(config-net-bts)# show running-config ... @@ -252,119 +272,125 @@ ... !neighbor bts 0 ... !neighbor - neighbor bts 1 - neighbor bts 2 + neighbor bts 123 + neighbor cgi 901 70 22 65535 neighbor cgi 023 42 423 5 arfcn 23 bsic 42 + neighbor lac-ci 21 31 arfcn 41 bsic 11 + neighbor cgi 023 42 423 6 arfcn 42 bsic 1 neighbor lac 456 arfcn 123 bsic 45 neighbor lac-ci 789 10 arfcn 423 bsic any ... !neighbor OsmoBSC(config-net-bts)# do show bts 0 neighbor arfcn 99 bsic any -% No entry for BTS 0 to ARFCN 99 (any BSIC) +% No entry for BTS 0 -> ARFCN-BSIC:99-any OsmoBSC(config-net-bts)# do show bts 0 neighbor arfcn 41 bsic any -% BTS 0 to ARFCN 41 (any BSIC) resolves to local BTS 1 lac-ci 21 31 +% BTS 0 -> ARFCN-BSIC:41-any resolves to local BTS 1 lac-ci 21 31 OsmoBSC(config-net-bts)# do show bts 0 neighbor arfcn 423 bsic 1 -% neighbor lac-ci 789 10 arfcn 423 bsic 1 +% BTS 0 -> ARFCN-BSIC:423-1 resolves to remote-BSS neighbors: LAC-CI[1]:{789-10} OsmoBSC(config-net-bts)# do show bts 0 neighbor arfcn 423 bsic 23 -% neighbor lac-ci 789 10 arfcn 423 bsic 23 +% BTS 0 -> ARFCN-BSIC:423-23 resolves to remote-BSS neighbors: LAC-CI[1]:{789-10} OsmoBSC(config-net-bts)# no neighbor arfcn 99 bsic 7 -% Cannot remove, no such neighbor: BTS 0 to ARFCN 99 BSIC 7 +% Cannot remove: no such neighbor on BTS 0: ARFCN-BSIC:99-7 OsmoBSC(config-net-bts)# no neighbor arfcn 23 bsic 42 -% Removed remote BSS neighbor BTS 0 to ARFCN 23 BSIC 42 OsmoBSC(config-net-bts)# show running-config ... !neighbor - neighbor bts 1 - neighbor bts 2 + neighbor bts 123 + neighbor cgi 901 70 22 65535 + neighbor lac-ci 21 31 arfcn 41 bsic 11 + neighbor cgi 023 42 423 6 arfcn 42 bsic 1 neighbor lac 456 arfcn 123 bsic 45 neighbor lac-ci 789 10 arfcn 423 bsic any ... !neighbor OsmoBSC(config-net-bts)# no neighbor arfcn 123 bsic 45 -% Removed remote BSS neighbor BTS 0 to ARFCN 123 BSIC 45 OsmoBSC(config-net-bts)# show running-config ... !neighbor - neighbor bts 1 - neighbor bts 2 + neighbor bts 123 + neighbor cgi 901 70 22 65535 + neighbor lac-ci 21 31 arfcn 41 bsic 11 + neighbor cgi 023 42 423 6 arfcn 42 bsic 1 neighbor lac-ci 789 10 arfcn 423 bsic any ... !neighbor OsmoBSC(config-net-bts)# no neighbor arfcn 423 bsic any -% Removed remote BSS neighbor BTS 0 to ARFCN 423 (any BSIC) OsmoBSC(config-net-bts)# show running-config ... !neighbor - neighbor bts 1 - neighbor bts 2 + neighbor bts 123 + neighbor cgi 901 70 22 65535 + neighbor lac-ci 21 31 arfcn 41 bsic 11 + neighbor cgi 023 42 423 6 arfcn 42 bsic 1 ... !neighbor OsmoBSC(config-net-bts)# no neighbor arfcn 423 bsic 63 -% Cannot remove, no such neighbor: BTS 0 to ARFCN 423 BSIC 63 +% Cannot remove: no such neighbor on BTS 0: ARFCN-BSIC:423-63 OsmoBSC(config-net-bts)# show running-config ... !neighbor - neighbor bts 1 - neighbor bts 2 + neighbor bts 123 + neighbor cgi 901 70 22 65535 + neighbor lac-ci 21 31 arfcn 41 bsic 11 + neighbor cgi 023 42 423 6 arfcn 42 bsic 1 ... !neighbor OsmoBSC(config-net-bts)# no neighbor arfcn 423 bsic 1 -% Cannot remove, no such neighbor: BTS 0 to ARFCN 423 BSIC 1 +% Cannot remove: no such neighbor on BTS 0: ARFCN-BSIC:423-1 OsmoBSC(config-net-bts)# show running-config ... !neighbor - neighbor bts 1 - neighbor bts 2 + neighbor bts 123 + neighbor cgi 901 70 22 65535 + neighbor lac-ci 21 31 arfcn 41 bsic 11 + neighbor cgi 023 42 423 6 arfcn 42 bsic 1 ... !neighbor OsmoBSC(config-net-bts)# no neighbor arfcn 41 bsic any -% Removed local neighbor bts 0 to bts 1 OsmoBSC(config-net-bts)# show running-config ... !neighbor - neighbor bts 2 + neighbor bts 123 + neighbor cgi 901 70 22 65535 + neighbor cgi 023 42 423 6 arfcn 42 bsic 1 ... !neighbor OsmoBSC(config-net-bts)# no neighbor arfcn 41 bsic any -% Cannot remove, no such neighbor: BTS 0 to ARFCN 41 (any BSIC) +% Cannot remove: no such neighbor on BTS 0: ARFCN-BSIC:41-any OsmoBSC(config-net-bts)# show running-config ... !neighbor - neighbor bts 2 + neighbor bts 123 + neighbor cgi 901 70 22 65535 + neighbor cgi 023 42 423 6 arfcn 42 bsic 1 ... !neighbor -OsmoBSC(config-net-bts)# no neighbor arfcn 42 bsic 12 -% Removed local neighbor bts 0 to bts 2 +OsmoBSC(config-net-bts)# no neighbor bts 123 +OsmoBSC(config-net-bts)# no neighbor cgi 901 70 22 65535 +OsmoBSC(config-net-bts)# no neighbor arfcn 42 bsic 1 OsmoBSC(config-net-bts)# show running-config ... !neighbor OsmoBSC(config-net-bts)# neighbor bts 1 -% BTS 0 now has local neighbor BTS 1 with LAC 21 CI 31 and ARFCN 41 BSIC 11 OsmoBSC(config-net-bts)# neighbor bts 2 -% BTS 0 now has local neighbor BTS 2 with LAC 22 CI 65535 and ARFCN 42 BSIC 12 OsmoBSC(config-net-bts)# neighbor cgi 023 42 423 5 arfcn 23 bsic 42 -% BTS 0 to ARFCN 23 BSIC 42 now has 1 remote BSS Cell Identifier List entry OsmoBSC(config-net-bts)# neighbor lac 456 arfcn 123 bsic 45 -% BTS 0 to ARFCN 123 BSIC 45 now has 1 remote BSS Cell Identifier List entry OsmoBSC(config-net-bts)# neighbor lac-ci 789 10 arfcn 423 bsic any -% BTS 0 to ARFCN 423 (any BSIC) now has 1 remote BSS Cell Identifier List entry - OsmoBSC(config-net-bts)# neighbor cgi-ps 23 42 423 2 5 arfcn 23 bsic 32 -% BTS 0 to ARFCN 23 BSIC 32 now has 1 remote BSS Cell Identifier List entry OsmoBSC(config-net-bts)# no neighbors -% Removed local neighbor bts 0 to bts 1 -% Removed local neighbor bts 0 to bts 2 -% Removed remote BSS neighbor BTS 0 to ARFCN 23 BSIC 42 -% Removed remote BSS neighbor BTS 0 to ARFCN 123 BSIC 45 -% Removed remote BSS neighbor BTS 0 to ARFCN 423 (any BSIC) -% Removed remote BSS neighbor BTS 0 to ARFCN 23 BSIC 32 +% Removed neighbor: BTS 0 to BTS 1 +% Removed neighbor: BTS 0 to BTS 2 +% Removed neighbor: BTS 0 to CGI:023-42-423-5 ARFCN-BSIC:23-42 +% Removed neighbor: BTS 0 to LAC:456 ARFCN-BSIC:123-45 +% Removed neighbor: BTS 0 to LAC-CI:789-10 ARFCN-BSIC:423-any +% Removed neighbor: BTS 0 to CGI-PS:023-42-423-2-5 ARFCN-BSIC:23-32 OsmoBSC(config-net-bts)# show running-config ... !neighbor -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23360 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9ed992f8bfff888b3933733c0576f92d50f2625b Gerrit-Change-Number: 23360 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 13 08:43:34 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 13 Mar 2021 08:43:34 +0000 Subject: Change in osmo-bsc[master]: Add vty command for Ericsson RBS2000 sync In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23317 ) Change subject: Add vty command for Ericsson RBS2000 sync ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23317 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia3d1acd6b3442238b35fc911092e12a6ac989adb Gerrit-Change-Number: 23317 Gerrit-PatchSet: 4 Gerrit-Owner: javi-tic Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-Reviewer: tnt Gerrit-CC: fixeria Gerrit-CC: pespin Gerrit-Comment-Date: Sat, 13 Mar 2021 08:43: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 Mar 13 08:44:25 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 13 Mar 2021 08:44:25 +0000 Subject: Change in osmo-bsc[master]: Add command to enable RX diversity to RBS2000 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23318 ) Change subject: Add command to enable RX diversity to RBS2000 ...................................................................... Patch Set 6: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/23318/6/src/osmo-bsc/abis_om2000_vty.c File src/osmo-bsc/abis_om2000_vty.c: https://gerrit.osmocom.org/c/osmo-bsc/+/23318/6/src/osmo-bsc/abis_om2000_vty.c at 695 PS6, Line 695: abis_om2k_config_write_trx can also be static, only user is below in the same file, right? -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23318 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I430762b8cfa51060841d90ba4446de73bd557c6c Gerrit-Change-Number: 23318 Gerrit-PatchSet: 6 Gerrit-Owner: javi-tic Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Sat, 13 Mar 2021 08:44: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 Mar 13 08:45:39 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 13 Mar 2021 08:45:39 +0000 Subject: Change in osmo-bsc[master]: refactor handover penalty timers In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23358 ) Change subject: refactor handover penalty timers ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23358 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I72dd6226a6d69c3f653a3174c6f55bf4eecc6885 Gerrit-Change-Number: 23358 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Sat, 13 Mar 2021 08:45: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 Mar 13 08:50:35 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 13 Mar 2021 08:50:35 +0000 Subject: Change in osmo-bsc[master]: drop neighbor_ident_test.c In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23359 ) Change subject: drop neighbor_ident_test.c ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23359 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I6522796bf0bbb9ab83e49168bcbff7bc70fd6c6d Gerrit-Change-Number: 23359 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 13 Mar 2021 08:50: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 Mar 13 08:52:04 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 13 Mar 2021 08:52:04 +0000 Subject: Change in osmo-pcu[master]: Replace PollController with newly added PDCH UL Controller In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23309 ) Change subject: Replace PollController with newly added PDCH UL Controller ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23309 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I683ca738ce5a133c49c36a1d94439a942d64a831 Gerrit-Change-Number: 23309 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 13 Mar 2021 08:52: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 Sat Mar 13 08:53:33 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 13 Mar 2021 08:53:33 +0000 Subject: Change in osmo-pcu[master]: bts: Detect FN jumps In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23314 ) Change subject: bts: Detect FN jumps ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23314 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I29fb27981597edc69abb976049ba41aa840488cb Gerrit-Change-Number: 23314 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Sat, 13 Mar 2021 08: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 Sat Mar 13 08:53:44 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 13 Mar 2021 08:53:44 +0000 Subject: Change in osmo-pcu[master]: cosmetic: tests/Makefile.am: Split content into several lines In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23354 ) Change subject: cosmetic: tests/Makefile.am: Split content into several lines ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23354 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I67361862b992d761b314d9565165ece7e380606d Gerrit-Change-Number: 23354 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 13 Mar 2021 08:53:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 13 08:55:34 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 13 Mar 2021 08:55:34 +0000 Subject: Change in osmo-pcu[master]: tests: Introduce unit tests for PDCH UL Controller In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23355 ) Change subject: tests: Introduce unit tests for PDCH UL Controller ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23355 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie1ff0ca3d7fc8a9824d6fe4dceb746e301082bda Gerrit-Change-Number: 23355 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 13 Mar 2021 08:55: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 Mar 13 08:55:52 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 13 Mar 2021 08:55:52 +0000 Subject: Change in osmo-pcu[master]: tests: ulc: Show current bug with FN wrap around In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23356 ) Change subject: tests: ulc: Show current bug with FN wrap around ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23356 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I657db6b300363f8f3a9e4cfaf7a7f49e361a0512 Gerrit-Change-Number: 23356 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 13 Mar 2021 08:55: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 Mar 13 08:56:09 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 13 Mar 2021 08:56:09 +0000 Subject: Change in osmo-pcu[master]: ulc: Fix FN store order upon wrap around In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23357 ) Change subject: ulc: Fix FN store order upon wrap around ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23357 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I0a742f7fa1541b1837739207b9383772f981fb25 Gerrit-Change-Number: 23357 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 13 Mar 2021 08:56: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 Mar 13 09:11:13 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 13 Mar 2021 09:11:13 +0000 Subject: Change in docker-playground[master]: debian-stretch-build: add missing respawn.sh References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/23361 ) Change subject: debian-stretch-build: add missing respawn.sh ...................................................................... debian-stretch-build: add missing respawn.sh In I3ec86c8610b3b43d39ea8e3da444861d317ced4e the container-individual respawn.sh has been replaced with a common one - but unfortuantely missing to update the debian-stretch-build, which made (at least) ttcn3-bts-test builds fail for two nights now. Change-Id: I15dcfe317d7ba81b9df0b5ceef142f4eae1ef3f3 --- M debian-stretch-build/Dockerfile 1 file changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/61/23361/1 diff --git a/debian-stretch-build/Dockerfile b/debian-stretch-build/Dockerfile index e1570c3..2c3128e 100644 --- a/debian-stretch-build/Dockerfile +++ b/debian-stretch-build/Dockerfile @@ -58,6 +58,9 @@ wget && \ apt-get clean +# Make respawn.sh part of this image, so it can be used by other images based on it +COPY .common/respawn.sh /usr/local/bin/respawn.sh + COPY .common/Release.key /tmp/Release.key RUN apt-key add /tmp/Release.key && \ rm /tmp/Release.key && \ -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23361 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I15dcfe317d7ba81b9df0b5ceef142f4eae1ef3f3 Gerrit-Change-Number: 23361 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 Mar 13 09:12:17 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 13 Mar 2021 09:12:17 +0000 Subject: Change in docker-playground[master]: debian-stretch-build: add missing respawn.sh In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23361 ) Change subject: debian-stretch-build: add missing respawn.sh ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23361 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I15dcfe317d7ba81b9df0b5ceef142f4eae1ef3f3 Gerrit-Change-Number: 23361 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: fixeria Gerrit-Reviewer: neels Gerrit-Comment-Date: Sat, 13 Mar 2021 09:12: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 Mar 13 09:12:21 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 13 Mar 2021 09:12:21 +0000 Subject: Change in docker-playground[master]: debian-stretch-build: add missing respawn.sh In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23361 ) Change subject: debian-stretch-build: add missing respawn.sh ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23361 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I15dcfe317d7ba81b9df0b5ceef142f4eae1ef3f3 Gerrit-Change-Number: 23361 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Sat, 13 Mar 2021 09:12: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 Mar 13 09:12:23 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 13 Mar 2021 09:12:23 +0000 Subject: Change in docker-playground[master]: debian-stretch-build: add missing respawn.sh In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23361 ) Change subject: debian-stretch-build: add missing respawn.sh ...................................................................... debian-stretch-build: add missing respawn.sh In I3ec86c8610b3b43d39ea8e3da444861d317ced4e the container-individual respawn.sh has been replaced with a common one - but unfortuantely missing to update the debian-stretch-build, which made (at least) ttcn3-bts-test builds fail for two nights now. Change-Id: I15dcfe317d7ba81b9df0b5ceef142f4eae1ef3f3 --- M debian-stretch-build/Dockerfile 1 file changed, 3 insertions(+), 0 deletions(-) Approvals: neels: Looks good to me, approved laforge: Looks good to me, approved; Verified diff --git a/debian-stretch-build/Dockerfile b/debian-stretch-build/Dockerfile index e1570c3..2c3128e 100644 --- a/debian-stretch-build/Dockerfile +++ b/debian-stretch-build/Dockerfile @@ -58,6 +58,9 @@ wget && \ apt-get clean +# Make respawn.sh part of this image, so it can be used by other images based on it +COPY .common/respawn.sh /usr/local/bin/respawn.sh + COPY .common/Release.key /tmp/Release.key RUN apt-key add /tmp/Release.key && \ rm /tmp/Release.key && \ -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23361 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I15dcfe317d7ba81b9df0b5ceef142f4eae1ef3f3 Gerrit-Change-Number: 23361 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 13 14:36:34 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 13 Mar 2021 14:36:34 +0000 Subject: Change in docker-playground[master]: debian-stretch-build: add missing respawn.sh In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23361 ) Change subject: debian-stretch-build: add missing respawn.sh ...................................................................... Patch Set 1: Damn, how could I forget about this one... Thanks for the fix! -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23361 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I15dcfe317d7ba81b9df0b5ceef142f4eae1ef3f3 Gerrit-Change-Number: 23361 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Comment-Date: Sat, 13 Mar 2021 14:36: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 Sat Mar 13 19:25:14 2021 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Sat, 13 Mar 2021 19:25:14 +0000 Subject: Change in osmo-bsc[master]: Add command to enable RX diversity to RBS2000 In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23318 ) Change subject: Add command to enable RX diversity to RBS2000 ...................................................................... Patch Set 6: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/23318/6/src/osmo-bsc/abis_om2000_vty.c File src/osmo-bsc/abis_om2000_vty.c: https://gerrit.osmocom.org/c/osmo-bsc/+/23318/6/src/osmo-bsc/abis_om2000_vty.c at 695 PS6, Line 695: abis_om2k_config_write_trx > can also be static, only user is below in the same file, right? It's called from config_write_trx() in bts_ericsson_rbs2000.c -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23318 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I430762b8cfa51060841d90ba4446de73bd557c6c Gerrit-Change-Number: 23318 Gerrit-PatchSet: 6 Gerrit-Owner: javi-tic Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Sat, 13 Mar 2021 19:25:14 +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 Mar 13 23:38:47 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 13 Mar 2021 23:38:47 +0000 Subject: Change in osmo-pcu[master]: cosmetic: tests/Makefile.am: Split content into several lines In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23354 ) Change subject: cosmetic: tests/Makefile.am: Split content into several lines ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23354 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I67361862b992d761b314d9565165ece7e380606d Gerrit-Change-Number: 23354 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 13 Mar 2021 23:38: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 Mar 13 23:44:03 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 13 Mar 2021 23:44:03 +0000 Subject: Change in osmo-pcu[master]: tests: Introduce unit tests for PDCH UL Controller In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23355 ) Change subject: tests: Introduce unit tests for PDCH UL Controller ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/23355/1/tests/ulc/PdchUlcTest.cpp File tests/ulc/PdchUlcTest.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/23355/1/tests/ulc/PdchUlcTest.cpp at 7 PS1, Line 7: Philipp Maier Huh? Stop stealing Philipp's code! :D -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23355 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie1ff0ca3d7fc8a9824d6fe4dceb746e301082bda Gerrit-Change-Number: 23355 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Sat, 13 Mar 2021 23:44:03 +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 Mar 13 23:53:29 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 13 Mar 2021 23:53:29 +0000 Subject: Change in osmo-bsc[master]: refactor handover penalty timers In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23358 ) Change subject: refactor handover penalty timers ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23358 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I72dd6226a6d69c3f653a3174c6f55bf4eecc6885 Gerrit-Change-Number: 23358 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 13 Mar 2021 23:53:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 13 23:54:23 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 13 Mar 2021 23:54:23 +0000 Subject: Change in osmo-bsc[master]: drop neighbor_ident_test.c In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23359 ) Change subject: drop neighbor_ident_test.c ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23359 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I6522796bf0bbb9ab83e49168bcbff7bc70fd6c6d Gerrit-Change-Number: 23359 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 13 Mar 2021 23:54: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 Mar 13 23:58:57 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 13 Mar 2021 23:58:57 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/udp_link.py: cosmetic: setblocking() takes bool References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmocom-bb/+/23362 ) Change subject: trx_toolkit/udp_link.py: cosmetic: setblocking() takes bool ...................................................................... trx_toolkit/udp_link.py: cosmetic: setblocking() takes bool Change-Id: I9c4fa8cb7c237f3b9e34ba236b6507da5c668aee --- M src/target/trx_toolkit/udp_link.py 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmocom-bb refs/changes/62/23362/1 diff --git a/src/target/trx_toolkit/udp_link.py b/src/target/trx_toolkit/udp_link.py index 0602694..43a4815 100644 --- a/src/target/trx_toolkit/udp_link.py +++ b/src/target/trx_toolkit/udp_link.py @@ -28,7 +28,7 @@ self.sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) self.sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) self.sock.bind((bind_addr, bind_port)) - self.sock.setblocking(0) + self.sock.setblocking(False) # Save remote info self.remote_addr = remote_addr -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/23362 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I9c4fa8cb7c237f3b9e34ba236b6507da5c668aee Gerrit-Change-Number: 23362 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sun Mar 14 01:38:07 2021 From: admin at opensuse.org (OBS Notification) Date: Sun, 14 Mar 2021 01:38:07 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <604d690a764f3_6e562ae8dbaf25f055552e@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_20.04/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_20.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 158s] [COMPILING apps/dfu/main.c] [ 158s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 158s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 158s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 158s] Memory region Used Size Region Size %age Used [ 158s] rom: 16600 B 16 KB 101.32% [ 158s] ram: 11688 B 48 KB 23.78/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 158s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 158s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 158s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 158s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 158s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 158s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 216 bytes [ 158s] collect2: error: ld returned 1 exit status [ 158s] % [ 158s] make[2]: *** [Makefile:230: flash] Error 1 [ 158s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 158s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 158s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 158s] dh_auto_build: error: make -j1 returned exit code 2 [ 158s] make: *** [debian/rules:16: build] Error 25 [ 158s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 158s] ### VM INTERACTION START ### [ 161s] [ 150.711801] sysrq: Power Off [ 161s] [ 150.720740] reboot: Power down [ 161s] ### VM INTERACTION END ### [ 161s] [ 161s] lamb59 failed "build simtrace2_0.7.0.76.62ad.dsc" at Sun Mar 14 01:38:04 UTC 2021. [ 161s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Mar 14 01:39:33 2021 From: admin at opensuse.org (OBS Notification) Date: Sun, 14 Mar 2021 01:39:33 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.10/x86_64 In-Reply-To: References: Message-ID: <604d6966a40f0_6e562ae8dbaf25f0555673@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_20.10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_20.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 155s] [COMPILING libboard/qmod/source/board_qmod.c] [ 155s] [COMPILING libboard/qmod/source/card_pres.c] [ 156s] [COMPILING libboard/qmod/source/i2c.c] [ 156s] [COMPILING libboard/qmod/source/wwan_led.c] [ 156s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 156s] [COMPILING apps/dfu/main.c] [ 156s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 156s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 156s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 156s] Memory region Used Size Region Size %age Used [ 156s] rom: 16592 B 16 KB 101.27% [ 156s] ram: 11680 B 48 KB 23.76/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 156s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 208 bytes [ 156s] collect2: error: ld returned 1 exit status [ 156s] % [ 156s] make[2]: *** [Makefile:230: flash] Error 1 [ 156s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 156s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 156s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 156s] dh_auto_build: error: make -j1 returned exit code 2 [ 156s] make: *** [debian/rules:16: build] Error 25 [ 156s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 156s] ### VM INTERACTION START ### [ 160s] [ 148.406151] sysrq: Power Off [ 160s] [ 148.414313] reboot: Power down [ 160s] ### VM INTERACTION END ### [ 160s] [ 160s] lamb05 failed "build simtrace2_0.7.0.76.62ad.dsc" at Sun Mar 14 01:39:18 UTC 2021. [ 160s] -- 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 Mar 14 01:56:00 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 14 Mar 2021 01:56:00 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/udp_link.py: cosmetic: setblocking() takes bool In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/23362 ) Change subject: trx_toolkit/udp_link.py: cosmetic: setblocking() takes bool ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/23362 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I9c4fa8cb7c237f3b9e34ba236b6507da5c668aee Gerrit-Change-Number: 23362 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sun, 14 Mar 2021 01:56: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 Mar 14 01:56:03 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 14 Mar 2021 01:56:03 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit/udp_link.py: cosmetic: setblocking() takes bool In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/23362 ) Change subject: trx_toolkit/udp_link.py: cosmetic: setblocking() takes bool ...................................................................... trx_toolkit/udp_link.py: cosmetic: setblocking() takes bool Change-Id: I9c4fa8cb7c237f3b9e34ba236b6507da5c668aee --- M src/target/trx_toolkit/udp_link.py 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/src/target/trx_toolkit/udp_link.py b/src/target/trx_toolkit/udp_link.py index 0602694..43a4815 100644 --- a/src/target/trx_toolkit/udp_link.py +++ b/src/target/trx_toolkit/udp_link.py @@ -28,7 +28,7 @@ self.sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) self.sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) self.sock.bind((bind_addr, bind_port)) - self.sock.setblocking(0) + self.sock.setblocking(False) # Save remote info self.remote_addr = remote_addr -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/23362 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I9c4fa8cb7c237f3b9e34ba236b6507da5c668aee Gerrit-Change-Number: 23362 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 Sun Mar 14 15:19:55 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Sun, 14 Mar 2021 15:19:55 +0000 Subject: Change in osmo-pcu[master]: tests: Introduce unit tests for PDCH UL Controller In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23355 ) Change subject: tests: Introduce unit tests for PDCH UL Controller ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/23355/1/tests/ulc/PdchUlcTest.cpp File tests/ulc/PdchUlcTest.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/23355/1/tests/ulc/PdchUlcTest.cpp at 7 PS1, Line 7: Philipp Maier > Huh? Stop stealing Philipp's code! :D I probably simply copied an existing test file to avoid having to put the entire license block, etc. I'll fix it. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23355 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie1ff0ca3d7fc8a9824d6fe4dceb746e301082bda Gerrit-Change-Number: 23355 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Sun, 14 Mar 2021 15:19:55 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: fixeria Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 14 20:01:08 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 14 Mar 2021 20:01:08 +0000 Subject: Change in osmo-sgsn[master]: main: resurrect removed 'ns' logging category as deprecated References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/23363 ) Change subject: main: resurrect removed 'ns' logging category as deprecated ...................................................................... main: resurrect removed 'ns' logging category as deprecated This logging category has been removed completely in [1], and now osmo-sgsn fails to start with old configuration files: There is no such command. Error occurred during reading the below line: logging level ns info Let's accept it and print a deprecation warning. Change-Id: I2036170af41db89484c299e18e0b703c97427dc1 Fixes: [1] Ia4723ab344ad6a1927029a2d5d0dda020266b39d --- M src/sgsn/sgsn_main.c 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/63/23363/1 diff --git a/src/sgsn/sgsn_main.c b/src/sgsn/sgsn_main.c index 97309dd..71f2efa 100644 --- a/src/sgsn/sgsn_main.c +++ b/src/sgsn/sgsn_main.c @@ -405,6 +405,7 @@ rate_ctr_init(tall_sgsn_ctx); logging_vty_add_deprecated_subsys(tall_sgsn_ctx, "bssgp"); + logging_vty_add_deprecated_subsys(tall_sgsn_ctx, "ns"); sgsn_nsi = gprs_ns2_instantiate(tall_sgsn_ctx, &gprs_ns_prim_cb, NULL); if (!sgsn_nsi) { -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/23363 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I2036170af41db89484c299e18e0b703c97427dc1 Gerrit-Change-Number: 23363 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 Mar 14 20:08:15 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 14 Mar 2021 20:08:15 +0000 Subject: Change in docker-playground[master]: ttcn3-sgsn-test/osmo-sgsn.cfg: drop deperecated log categories References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/23364 ) Change subject: ttcn3-sgsn-test/osmo-sgsn.cfg: drop deperecated log categories ...................................................................... ttcn3-sgsn-test/osmo-sgsn.cfg: drop deperecated log categories Change-Id: I7e307eb2c504ff392edda5e6a25cdda5fcdc6442 --- M ttcn3-sgsn-test/osmo-sgsn.cfg 1 file changed, 0 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/64/23364/1 diff --git a/ttcn3-sgsn-test/osmo-sgsn.cfg b/ttcn3-sgsn-test/osmo-sgsn.cfg index b587fa8..25cb224 100644 --- a/ttcn3-sgsn-test/osmo-sgsn.cfg +++ b/ttcn3-sgsn-test/osmo-sgsn.cfg @@ -19,8 +19,6 @@ logging level meas notice logging level ref notice logging level gprs debug - logging level ns info - logging level bssgp info logging level llc debug logging level sndcp debug logging level slhc notice -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23364 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I7e307eb2c504ff392edda5e6a25cdda5fcdc6442 Gerrit-Change-Number: 23364 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Mon Mar 15 01:38:17 2021 From: admin at opensuse.org (OBS Notification) Date: Mon, 15 Mar 2021 01:38:17 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <604eba91f3254_6e562ae8dbaf25f071311d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_20.04/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_20.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 155s] [COMPILING apps/dfu/main.c] [ 155s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 155s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 156s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 156s] Memory region Used Size Region Size %age Used [ 156s] rom: 16600 B 16 KB 101.32% [ 156s] ram: 11688 B 48 KB 23.78/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 156s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 156s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 156s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 156s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 156s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 156s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 216 bytes [ 156s] collect2: error: ld returned 1 exit status [ 156s] % [ 156s] make[2]: *** [Makefile:230: flash] Error 1 [ 156s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 156s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 156s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 156s] dh_auto_build: error: make -j1 returned exit code 2 [ 156s] make: *** [debian/rules:16: build] Error 25 [ 156s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 156s] ### VM INTERACTION START ### [ 159s] [ 147.862194] sysrq: Power Off [ 159s] [ 147.870663] reboot: Power down [ 159s] ### VM INTERACTION END ### [ 159s] [ 159s] lamb16 failed "build simtrace2_0.7.0.76.62ad.dsc" at Mon Mar 15 01:38:03 UTC 2021. [ 159s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Mar 15 01:38:34 2021 From: admin at opensuse.org (OBS Notification) Date: Mon, 15 Mar 2021 01:38:34 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.10/x86_64 In-Reply-To: References: Message-ID: <604ebab171e6f_6e562ae8dbaf25f071328f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_20.10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_20.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 159s] [COMPILING libboard/qmod/source/board_qmod.c] [ 159s] [COMPILING libboard/qmod/source/card_pres.c] [ 159s] [COMPILING libboard/qmod/source/i2c.c] [ 160s] [COMPILING libboard/qmod/source/wwan_led.c] [ 160s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 160s] [COMPILING apps/dfu/main.c] [ 160s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 160s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 160s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 161s] Memory region Used Size Region Size %age Used [ 161s] rom: 16592 B 16 KB 101.27% [ 161s] ram: 11680 B 48 KB 23.76/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 161s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 208 bytes [ 161s] collect2: error: ld returned 1 exit status [ 161s] % [ 161s] make[2]: *** [Makefile:230: flash] Error 1 [ 161s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 161s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 161s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 161s] dh_auto_build: error: make -j1 returned exit code 2 [ 161s] make: *** [debian/rules:16: build] Error 25 [ 161s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 161s] ### VM INTERACTION START ### [ 164s] [ 151.603749] sysrq: Power Off [ 164s] [ 151.610438] reboot: Power down [ 164s] ### VM INTERACTION END ### [ 164s] [ 164s] lamb25 failed "build simtrace2_0.7.0.76.62ad.dsc" at Mon Mar 15 01:38:17 UTC 2021. [ 164s] -- 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 Mar 15 09:40:39 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 15 Mar 2021 09:40:39 +0000 Subject: Change in osmo-bsc[master]: refactor handover penalty timers In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23358 ) Change subject: refactor handover penalty timers ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23358 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I72dd6226a6d69c3f653a3174c6f55bf4eecc6885 Gerrit-Change-Number: 23358 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 15 Mar 2021 09:40: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 Mar 15 09:41:22 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 15 Mar 2021 09:41:22 +0000 Subject: Change in osmo-bsc[master]: drop neighbor_ident_test.c In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23359 ) Change subject: drop neighbor_ident_test.c ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23359 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I6522796bf0bbb9ab83e49168bcbff7bc70fd6c6d Gerrit-Change-Number: 23359 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 15 Mar 2021 09:41: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 Mar 15 10:00:14 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 15 Mar 2021 10:00:14 +0000 Subject: Change in osmo-bsc[master]: fix/refactor neighbor config In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23360 ) Change subject: fix/refactor neighbor config ...................................................................... Patch Set 1: Code-Review+1 (2 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/23360/1/include/osmocom/bsc/bts.h File include/osmocom/bsc/bts.h: https://gerrit.osmocom.org/c/osmo-bsc/+/23360/1/include/osmocom/bsc/bts.h at 501 PS1, Line 501: * An actual neighbor cell object (local or remote-BSS) is resolved "at runtime" whenever a neighbor is being I would add some verification function at startup to make sure the config is valid. https://gerrit.osmocom.org/c/osmo-bsc/+/23360/1/src/osmo-bsc/neighbor_ident.c File src/osmo-bsc/neighbor_ident.c: https://gerrit.osmocom.org/c/osmo-bsc/+/23360/1/src/osmo-bsc/neighbor_ident.c at 362 PS1, Line 362: /* Is there a local BTS that matches the key? */ remove "local" from here, since it checks both now. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23360 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9ed992f8bfff888b3933733c0576f92d50f2625b Gerrit-Change-Number: 23360 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 15 Mar 2021 10:00: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 Mar 15 10:01:56 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 15 Mar 2021 10:01:56 +0000 Subject: Change in osmo-bsc[master]: Add vty command for Ericsson RBS2000 sync In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23317 ) Change subject: Add vty command for Ericsson RBS2000 sync ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23317 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia3d1acd6b3442238b35fc911092e12a6ac989adb Gerrit-Change-Number: 23317 Gerrit-PatchSet: 4 Gerrit-Owner: javi-tic Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 15 Mar 2021 10:01:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 15 10:04:26 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 15 Mar 2021 10:04:26 +0000 Subject: Change in osmo-bsc[master]: Add command to enable RX diversity to RBS2000 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23318 ) Change subject: Add command to enable RX diversity to RBS2000 ...................................................................... Patch Set 6: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/23318/6/include/osmocom/bsc/abis_om2000.h File include/osmocom/bsc/abis_om2000.h: https://gerrit.osmocom.org/c/osmo-bsc/+/23318/6/include/osmocom/bsc/abis_om2000.h at 52 PS6, Line 52: OM2K_RX_DIVERSITY_A = 0x02, This order of fields is really weird. Can we please have it in numerical order? OM2K_RX_DIVERSITY_B = 0x01. OM2K_RX_DIVERSITY_A = 0x02, OM2K_RX_DIVERSITY_AB = 0x03, -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23318 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I430762b8cfa51060841d90ba4446de73bd557c6c Gerrit-Change-Number: 23318 Gerrit-PatchSet: 6 Gerrit-Owner: javi-tic Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 15 Mar 2021 10:04:26 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 15 10:04:30 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 15 Mar 2021 10:04:30 +0000 Subject: Change in osmo-bsc[master]: Add vty command for Ericsson RBS2000 sync In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23317 ) Change subject: Add vty command for Ericsson RBS2000 sync ...................................................................... Add vty command for Ericsson RBS2000 sync This commit adds support for Selection of syncronization source. Options are internal for E1 and external for GPS Change-Id: Ia3d1acd6b3442238b35fc911092e12a6ac989adb --- M include/osmocom/bsc/abis_om2000.h M include/osmocom/bsc/bts.h M src/osmo-bsc/abis_om2000.c M src/osmo-bsc/abis_om2000_vty.c 4 files changed, 37 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/bsc/abis_om2000.h b/include/osmocom/bsc/abis_om2000.h index 62aef9d..51ec11b 100644 --- a/include/osmocom/bsc/abis_om2000.h +++ b/include/osmocom/bsc/abis_om2000.h @@ -43,6 +43,11 @@ OM2K_MO_S_DISABLED, }; +enum om2k_sync_src { + OM2K_SYNC_SRC_INTERNAL = 0x00, + OM2K_SYNC_SRC_EXTERNAL = 0x01, +}; + /* on-wire format for IS conn group */ struct om2k_is_conn_grp { uint16_t icp1; diff --git a/include/osmocom/bsc/bts.h b/include/osmocom/bsc/bts.h index 6b58c7e..0c0e467 100644 --- a/include/osmocom/bsc/bts.h +++ b/include/osmocom/bsc/bts.h @@ -15,6 +15,7 @@ #include "osmocom/bsc/gsm_data.h" #include "osmocom/bsc/bts_trx.h" #include "osmocom/bsc/bts_sm.h" +#include "osmocom/bsc/abis_om2000.h" enum bts_counter_id { BTS_CTR_CHREQ_TOTAL, @@ -378,6 +379,7 @@ uint16_t limit; uint16_t active; } om2k_version[16]; + enum om2k_sync_src sync_src; } rbs2000; struct { uint8_t bts_type; diff --git a/src/osmo-bsc/abis_om2000.c b/src/osmo-bsc/abis_om2000.c index 90d558a..edcf8cf 100644 --- a/src/osmo-bsc/abis_om2000.c +++ b/src/osmo-bsc/abis_om2000.c @@ -1389,7 +1389,7 @@ fill_om2k_hdr(o2k, &bts->rbs2000.tf.om2k_mo.addr, OM2K_MSGT_TF_CONF_REQ); msgb_tv_put(msg, OM2K_DEI_TF_MODE, OM2K_TF_MODE_STANDALONE); - msgb_tv_put(msg, OM2K_DEI_TF_SYNC_SRC, 0x00); + msgb_tv_put(msg, OM2K_DEI_TF_SYNC_SRC, bts->rbs2000.sync_src); msgb_tv_fixed_put(msg, OM2K_DEI_FS_OFFSET, sizeof(fs_offset_undef), fs_offset_undef); DEBUGP(DNM, "Tx MO=%s %s\n", abis_om2k_mo_name(&bts->rbs2000.tf.om2k_mo.addr), @@ -3103,6 +3103,7 @@ bts_fi = om2k_bts_fsm_alloc(bts); bts->rbs2000.bts_fi = bts_fi; + bts->rbs2000.sync_src = OM2K_SYNC_SRC_INTERNAL; om2k_mo_init(&bts->rbs2000.cf.om2k_mo, OM2K_MO_CLS_CF, bts->nr, 0xFF, 0); om2k_mo_fsm_alloc(bts_fi, OM2K_BTS_EVT_CF_DONE, bts->c0, &bts->rbs2000.cf.om2k_mo); diff --git a/src/osmo-bsc/abis_om2000_vty.c b/src/osmo-bsc/abis_om2000_vty.c index ef063a1..0c35b8f 100644 --- a/src/osmo-bsc/abis_om2000_vty.c +++ b/src/osmo-bsc/abis_om2000_vty.c @@ -81,6 +81,7 @@ "Central Function\n" \ "Transmitter\n" \ "Receiver\n" +#define OM2K_VTY_HELP "Configure OM2K specific parameters\n" DEFUN(om2k_class_inst, om2k_class_inst_cmd, "bts <0-255> om2000 class " OM2K_OBJCLASS_VTY @@ -475,10 +476,31 @@ return CMD_SUCCESS; } +DEFUN_USRATTR(cfg_bts_om2k_sync, cfg_bts_om2k_sync_cmd, + X(BSC_VTY_ATTR_RESTART_ABIS_OML_LINK), + "om2000 sync-source (internal|external)", + OM2K_VTY_HELP + "TF Synchronization Source\n" + "Use Internal (E1)\n" + "USe External (GPS)\n") +{ + struct gsm_bts *bts = vty->index; + if (bts->type != GSM_BTS_TYPE_RBS2000) { + vty_out(vty, "%% Command only works for RBS2000%s", + VTY_NEWLINE); + return CMD_WARNING; + } + if (!strcmp(argv[0], "internal")) + bts->rbs2000.sync_src = OM2K_SYNC_SRC_INTERNAL; + else if (!strcmp(argv[0], "external")) + bts->rbs2000.sync_src = OM2K_SYNC_SRC_EXTERNAL; + return CMD_SUCCESS; +} + DEFUN_USRATTR(cfg_bts_om2k_version_limit, cfg_bts_om2k_version_limit_cmd, X(BSC_VTY_ATTR_RESTART_ABIS_OML_LINK), "om2000 version-limit (oml|rsl) gen <0-99> rev <0-99>", - "Configure OM2K specific parameters\n" + OM2K_VTY_HELP "Configure optional maximum protocol version to negotiate\n" "Limit OML IWD version\n" "Limit RSL IWD version\n" "Generation limit\n" @@ -656,6 +678,10 @@ (bts->rbs2000.om2k_version[i].limit >> 8), (bts->rbs2000.om2k_version[i].limit & 0xff), VTY_NEWLINE); + vty_out(vty, " om2000 sync-source %s%s", + bts->rbs2000.sync_src != OM2K_SYNC_SRC_EXTERNAL + ? "internal" : "external", + VTY_NEWLINE); } static void vty_dump_om2k_mo(struct vty *vty, const struct om2k_mo *mo, const char *pfx) @@ -755,6 +781,7 @@ install_element(BTS_NODE, &cfg_bts_is_conn_list_cmd); install_element(BTS_NODE, &cfg_bts_alt_mode_cmd); + install_element(BTS_NODE, &cfg_bts_om2k_sync_cmd); install_element(BTS_NODE, &cfg_bts_om2k_version_limit_cmd); install_element(BTS_NODE, &cfg_om2k_con_group_cmd); install_element(BTS_NODE, &del_om2k_con_group_cmd); -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23317 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ia3d1acd6b3442238b35fc911092e12a6ac989adb Gerrit-Change-Number: 23317 Gerrit-PatchSet: 4 Gerrit-Owner: javi-tic Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Reviewer: tnt Gerrit-CC: fixeria Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 15 10:05:07 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 15 Mar 2021 10:05:07 +0000 Subject: Change in osmo-sgsn[master]: main: resurrect removed 'ns' logging category as deprecated In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/23363 ) Change subject: main: resurrect removed 'ns' logging category as deprecated ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/23363 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I2036170af41db89484c299e18e0b703c97427dc1 Gerrit-Change-Number: 23363 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 15 Mar 2021 10:05:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 15 10:05:20 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 15 Mar 2021 10:05:20 +0000 Subject: Change in docker-playground[master]: ttcn3-sgsn-test/osmo-sgsn.cfg: drop deperecated log categories In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23364 ) Change subject: ttcn3-sgsn-test/osmo-sgsn.cfg: drop deperecated log categories ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23364 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I7e307eb2c504ff392edda5e6a25cdda5fcdc6442 Gerrit-Change-Number: 23364 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 15 Mar 2021 10:05:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 15 10:13:04 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 15 Mar 2021 10:13:04 +0000 Subject: Change in osmo-pcu[master]: tests: Introduce unit tests for PDCH UL Controller In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/23355 to look at the new patch set (#2). Change subject: tests: Introduce unit tests for PDCH UL Controller ...................................................................... tests: Introduce unit tests for PDCH UL Controller Related: OS#5020 Change-Id: Ie1ff0ca3d7fc8a9824d6fe4dceb746e301082bda --- M tests/Makefile.am M tests/testsuite.at A tests/ulc/PdchUlcTest.cpp A tests/ulc/PdchUlcTest.err A tests/ulc/PdchUlcTest.ok 5 files changed, 212 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/55/23355/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23355 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie1ff0ca3d7fc8a9824d6fe4dceb746e301082bda Gerrit-Change-Number: 23355 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 15 13:51:36 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 15 Mar 2021 13:51:36 +0000 Subject: Change in osmo-ci[master]: ansible: ogt: prod setup has 12 modems nowadays References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/23365 ) Change subject: ansible: ogt: prod setup has 12 modems nowadays ...................................................................... ansible: ogt: prod setup has 12 modems nowadays Change-Id: I6e401b292b2587733396c4160c008b894fc066a5 --- M ansible/host_vars/osmo-gsm-tester-prod.yml 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/65/23365/1 diff --git a/ansible/host_vars/osmo-gsm-tester-prod.yml b/ansible/host_vars/osmo-gsm-tester-prod.yml index a2a5a36..ba9ba7d 100644 --- a/ansible/host_vars/osmo-gsm-tester-prod.yml +++ b/ansible/host_vars/osmo-gsm-tester-prod.yml @@ -10,4 +10,4 @@ ip: 10.42.42.123 # how many modems are connected via a quadmodem? -gsm_modems: 8 +gsm_modems: 12 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23365 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I6e401b292b2587733396c4160c008b894fc066a5 Gerrit-Change-Number: 23365 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 Mar 15 13:51:37 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 15 Mar 2021 13:51:37 +0000 Subject: Change in osmo-ci[master]: ansible: ogt: uhubctl has new cmdline syntax to specify ports References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/23366 ) Change subject: ansible: ogt: uhubctl has new cmdline syntax to specify ports ...................................................................... ansible: ogt: uhubctl has new cmdline syntax to specify ports Change-Id: Ie57d85dc0a66e053247cd5bb92a4b2dea4eb4309 --- M ansible/roles/gsm-tester/templates/quad_modem_power_cycle.sh 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/66/23366/1 diff --git a/ansible/roles/gsm-tester/templates/quad_modem_power_cycle.sh b/ansible/roles/gsm-tester/templates/quad_modem_power_cycle.sh index f461d81..b826976 100755 --- a/ansible/roles/gsm-tester/templates/quad_modem_power_cycle.sh +++ b/ansible/roles/gsm-tester/templates/quad_modem_power_cycle.sh @@ -3,12 +3,12 @@ locations="$(uhubctl -n 1d50:4002 | grep "Current status for hub" | awk '{print $5}')" for l in $locations; do - uhubctl -p 123456 -a 0 -n 1d50:4002 -l $l + uhubctl -p 1,2,3,4,5,6 -a 0 -n 1d50:4002 -l $l done # give a lot of time to discharge capacitors on the board sleep 20 for l in $locations; do - uhubctl -p 123456 -a 1 -n 1d50:4002 -l $l + uhubctl -p 1,2,3,4,5,6 -a 1 -n 1d50:4002 -l $l done attempts=30 while [ "x$(uhubctl | grep -e 05c6 -e 1199 -c)" != "x{{ gsm_modems }}" ]; do -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23366 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ie57d85dc0a66e053247cd5bb92a4b2dea4eb4309 Gerrit-Change-Number: 23366 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 Mar 15 13:54:07 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 15 Mar 2021 13:54:07 +0000 Subject: Change in osmo-ci[master]: ansible: ogt: prod setup has 12 modems nowadays In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23365 ) Change subject: ansible: ogt: prod setup has 12 modems nowadays ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23365 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I6e401b292b2587733396c4160c008b894fc066a5 Gerrit-Change-Number: 23365 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 15 Mar 2021 13: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 Mon Mar 15 13:54:10 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 15 Mar 2021 13:54:10 +0000 Subject: Change in osmo-ci[master]: ansible: ogt: uhubctl has new cmdline syntax to specify ports In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23366 ) Change subject: ansible: ogt: uhubctl has new cmdline syntax to specify ports ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23366 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ie57d85dc0a66e053247cd5bb92a4b2dea4eb4309 Gerrit-Change-Number: 23366 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 15 Mar 2021 13:54:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 15 16:17:53 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 15 Mar 2021 16:17:53 +0000 Subject: Change in osmo-pcu[master]: Add new PDCH UL Controller, drop SBAllocator class In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23291 ) Change subject: Add new PDCH UL Controller, drop SBAllocator class ...................................................................... Patch Set 8: Code-Review+1 (2 comments) https://gerrit.osmocom.org/c/osmo-pcu/+/23291/8/src/pdch_ul_controller.c File src/pdch_ul_controller.c: https://gerrit.osmocom.org/c/osmo-pcu/+/23291/8/src/pdch_ul_controller.c at 29 PS8, Line 29: ? Why the question mark, is this an unresolved TODO? https://gerrit.osmocom.org/c/osmo-pcu/+/23291/8/src/pdch_ul_controller.c at 96 PS8, Line 96: new (with "new" as variable name, gerrit syntax highlighting is confused. maybe use another one?) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23291 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I84b24beea4a1aa2c1528f41435f77bd16df2b947 Gerrit-Change-Number: 23291 Gerrit-PatchSet: 8 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 15 Mar 2021 16:17:53 +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 Mar 15 16:19:50 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 15 Mar 2021 16:19:50 +0000 Subject: Change in docker-playground[master]: ttcn3-sgsn-test/osmo-sgsn.cfg: drop deperecated log categories In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23364 ) Change subject: ttcn3-sgsn-test/osmo-sgsn.cfg: drop deperecated log categories ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23364 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I7e307eb2c504ff392edda5e6a25cdda5fcdc6442 Gerrit-Change-Number: 23364 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 15 Mar 2021 16:19:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 15 16:19:54 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 15 Mar 2021 16:19:54 +0000 Subject: Change in docker-playground[master]: ttcn3-sgsn-test/osmo-sgsn.cfg: drop deperecated log categories In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23364 ) Change subject: ttcn3-sgsn-test/osmo-sgsn.cfg: drop deperecated log categories ...................................................................... ttcn3-sgsn-test/osmo-sgsn.cfg: drop deperecated log categories Change-Id: I7e307eb2c504ff392edda5e6a25cdda5fcdc6442 --- M ttcn3-sgsn-test/osmo-sgsn.cfg 1 file changed, 0 insertions(+), 2 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve fixeria: Looks good to me, approved; Verified diff --git a/ttcn3-sgsn-test/osmo-sgsn.cfg b/ttcn3-sgsn-test/osmo-sgsn.cfg index b587fa8..25cb224 100644 --- a/ttcn3-sgsn-test/osmo-sgsn.cfg +++ b/ttcn3-sgsn-test/osmo-sgsn.cfg @@ -19,8 +19,6 @@ logging level meas notice logging level ref notice logging level gprs debug - logging level ns info - logging level bssgp info logging level llc debug logging level sndcp debug logging level slhc notice -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23364 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I7e307eb2c504ff392edda5e6a25cdda5fcdc6442 Gerrit-Change-Number: 23364 Gerrit-PatchSet: 1 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 Mon Mar 15 16:19:59 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 15 Mar 2021 16:19:59 +0000 Subject: Change in osmo-sgsn[master]: main: resurrect removed 'ns' logging category as deprecated In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/23363 ) Change subject: main: resurrect removed 'ns' logging category as deprecated ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/23363 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I2036170af41db89484c299e18e0b703c97427dc1 Gerrit-Change-Number: 23363 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 15 Mar 2021 16:19:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 15 16:20:01 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 15 Mar 2021 16:20:01 +0000 Subject: Change in osmo-sgsn[master]: main: resurrect removed 'ns' logging category as deprecated In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/23363 ) Change subject: main: resurrect removed 'ns' logging category as deprecated ...................................................................... main: resurrect removed 'ns' logging category as deprecated This logging category has been removed completely in [1], and now osmo-sgsn fails to start with old configuration files: There is no such command. Error occurred during reading the below line: logging level ns info Let's accept it and print a deprecation warning. Change-Id: I2036170af41db89484c299e18e0b703c97427dc1 Fixes: [1] Ia4723ab344ad6a1927029a2d5d0dda020266b39d --- M src/sgsn/sgsn_main.c 1 file changed, 1 insertion(+), 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/src/sgsn/sgsn_main.c b/src/sgsn/sgsn_main.c index 97309dd..71f2efa 100644 --- a/src/sgsn/sgsn_main.c +++ b/src/sgsn/sgsn_main.c @@ -405,6 +405,7 @@ rate_ctr_init(tall_sgsn_ctx); logging_vty_add_deprecated_subsys(tall_sgsn_ctx, "bssgp"); + logging_vty_add_deprecated_subsys(tall_sgsn_ctx, "ns"); sgsn_nsi = gprs_ns2_instantiate(tall_sgsn_ctx, &gprs_ns_prim_cb, NULL); if (!sgsn_nsi) { -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/23363 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I2036170af41db89484c299e18e0b703c97427dc1 Gerrit-Change-Number: 23363 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 Mon Mar 15 16:22:45 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 15 Mar 2021 16:22:45 +0000 Subject: Change in osmo-pcu[master]: sched: Use new PDCH UL Controller In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23323 ) Change subject: sched: Use new PDCH UL Controller ...................................................................... Patch Set 3: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/23323/3//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-pcu/+/23323/3//COMMIT_MSG at 14 PS3, Line 14: advantatge (advantage) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23323 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia60bb5249a9837dec1f42180e44d9848334d86d6 Gerrit-Change-Number: 23323 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 15 Mar 2021 16:22:45 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 15 16:24:21 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 15 Mar 2021 16:24:21 +0000 Subject: Change in osmo-pcu[master]: bts: Detect FN jumps In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23314 ) Change subject: bts: Detect FN jumps ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23314 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I29fb27981597edc69abb976049ba41aa840488cb Gerrit-Change-Number: 23314 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 15 Mar 2021 16:24: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 Mar 15 16:24:37 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 15 Mar 2021 16:24:37 +0000 Subject: Change in osmo-pcu[master]: cosmetic: tests/Makefile.am: Split content into several lines In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23354 ) Change subject: cosmetic: tests/Makefile.am: Split content into several lines ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23354 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I67361862b992d761b314d9565165ece7e380606d Gerrit-Change-Number: 23354 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 15 Mar 2021 16:24: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 Mon Mar 15 16:27:58 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 15 Mar 2021 16:27:58 +0000 Subject: Change in osmo-pcu[master]: tests: Introduce unit tests for PDCH UL Controller In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23355 ) Change subject: tests: Introduce unit tests for PDCH UL Controller ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/23355/2/tests/ulc/PdchUlcTest.cpp File tests/ulc/PdchUlcTest.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/23355/2/tests/ulc/PdchUlcTest.cpp at 119 PS2, Line 119: wanring (warning) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23355 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie1ff0ca3d7fc8a9824d6fe4dceb746e301082bda Gerrit-Change-Number: 23355 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 15 Mar 2021 16:27:58 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 15 16:30:15 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 15 Mar 2021 16:30:15 +0000 Subject: Change in osmo-pcu[master]: tests: ulc: Show current bug with FN wrap around In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23356 ) Change subject: tests: ulc: Show current bug with FN wrap around ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/23356/2/tests/ulc/PdchUlcTest.cpp File tests/ulc/PdchUlcTest.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/23356/2/tests/ulc/PdchUlcTest.cpp at 60 PS2, Line 60: */ why is this commented out? -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23356 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I657db6b300363f8f3a9e4cfaf7a7f49e361a0512 Gerrit-Change-Number: 23356 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: osmith Gerrit-Comment-Date: Mon, 15 Mar 2021 16:30:15 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 15 16:31:00 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Mon, 15 Mar 2021 16:31:00 +0000 Subject: Change in osmo-pcu[master]: ulc: Fix FN store order upon wrap around In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23357 ) Change subject: ulc: Fix FN store order upon wrap around ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23357 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I0a742f7fa1541b1837739207b9383772f981fb25 Gerrit-Change-Number: 23357 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 15 Mar 2021 16:31: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 Mar 15 17:33:28 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 15 Mar 2021 17:33:28 +0000 Subject: Change in osmo-bts[master]: bts-trx: Drop duplicate set of last_clk_ind References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/23367 ) Change subject: bts-trx: Drop duplicate set of last_clk_ind ...................................................................... bts-trx: Drop duplicate set of last_clk_ind These fields are always aready set by the only caller of the function trx_setup_clock(), so there's no use in re-setting them. Change-Id: Id8a7141984e07eb11abae08e0c63ae7ebc333511 --- M src/osmo-bts-trx/scheduler_trx.c 1 file changed, 0 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/67/23367/1 diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index bf0650d..6e54d43 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -378,8 +378,6 @@ osmo_timerfd_schedule(&tcs->fn_timer_ofd, NULL, interval); tcs->last_fn_timer.tv = *tv_now; - tcs->last_clk_ind.tv = *tv_now; - tcs->last_clk_ind.fn = fn; return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/23367 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id8a7141984e07eb11abae08e0c63ae7ebc333511 Gerrit-Change-Number: 23367 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 Mar 15 17:33:28 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 15 Mar 2021 17:33:28 +0000 Subject: Change in osmo-bts[master]: bts-trx: reorder first timerfd schedule to decrease first timeout skew References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/23368 ) Change subject: bts-trx: reorder first timerfd schedule to decrease first timeout skew ...................................................................... bts-trx: reorder first timerfd schedule to decrease first timeout skew By reordering the instruction, we scheduler the timerfd prior to processing the FN on the upper layers. This means the first timerfd expiration even will happen more inline with the expected time, that is, CLOCK IND time + GSM_TDMA_FN_DURATION_nS. Let T(trx_sched_fn) be the time spent executing function trx_sched_fn(). With previous order, the timerfd would have been scheduled later, which in the end would mean expiration would happen at time CLOCK_IND + GSM_TDMA_FN_DURATION_nS + T(trx_sched_fn), hence ending up with an extra skew of T(trx_sched_fn) added by ourselves. This extra skew added may be important specially at startup time (when this code path is used), since usually the load in the system is high and skew is usually already higher, which means helping crossing unacceptable thresholds which may end up in osmo-bts-trx stopping with "No clock from osmo-trx" reason. Change-Id: Ie2ba35cd87f0bd4078ac3b4b5ec2eacad36c4258 --- M src/osmo-bts-trx/scheduler_trx.c 1 file changed, 3 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/68/23368/1 diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index 6e54d43..efd4954 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -369,15 +369,14 @@ static int trx_setup_clock(struct gsm_bts *bts, struct osmo_trx_clock_state *tcs, struct timespec *tv_now, const struct timespec *interval, uint32_t fn) { - tcs->last_fn_timer.fn = fn; - /* call trx cheduler function for new 'last' FN */ - trx_sched_fn(bts, tcs->last_fn_timer.fn); - /* schedule first FN clock timer */ osmo_timerfd_setup(&tcs->fn_timer_ofd, trx_fn_timer_cb, bts); osmo_timerfd_schedule(&tcs->fn_timer_ofd, NULL, interval); + tcs->last_fn_timer.fn = fn; tcs->last_fn_timer.tv = *tv_now; + /* call trx scheduler function for new 'last' FN */ + trx_sched_fn(bts, tcs->last_fn_timer.fn); return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/23368 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ie2ba35cd87f0bd4078ac3b4b5ec2eacad36c4258 Gerrit-Change-Number: 23368 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 Mar 15 17:38:04 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 15 Mar 2021 17:38:04 +0000 Subject: Change in osmo-bts[master]: bts-trx: reorder first timerfd schedule to decrease first timeout skew In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/23368 ) Change subject: bts-trx: reorder first timerfd schedule to decrease first timeout skew ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/23368 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ie2ba35cd87f0bd4078ac3b4b5ec2eacad36c4258 Gerrit-Change-Number: 23368 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 15 Mar 2021 17:38: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 Mar 15 17:38:25 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 15 Mar 2021 17:38:25 +0000 Subject: Change in osmo-bts[master]: bts-trx: Drop duplicate set of last_clk_ind In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/23367 ) Change subject: bts-trx: Drop duplicate set of last_clk_ind ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/23367 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id8a7141984e07eb11abae08e0c63ae7ebc333511 Gerrit-Change-Number: 23367 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: fixeria Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Mon, 15 Mar 2021 17:38:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 15 17:40:50 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 15 Mar 2021 17:40:50 +0000 Subject: Change in osmo-bts[master]: bts-trx: Drop duplicate set of last_clk_ind In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/23367 ) Change subject: bts-trx: Drop duplicate set of last_clk_ind ...................................................................... bts-trx: Drop duplicate set of last_clk_ind These fields are always aready set by the only caller of the function trx_setup_clock(), so there's no use in re-setting them. Change-Id: Id8a7141984e07eb11abae08e0c63ae7ebc333511 --- M src/osmo-bts-trx/scheduler_trx.c 1 file changed, 0 insertions(+), 2 deletions(-) Approvals: fixeria: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index bf0650d..6e54d43 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -378,8 +378,6 @@ osmo_timerfd_schedule(&tcs->fn_timer_ofd, NULL, interval); tcs->last_fn_timer.tv = *tv_now; - tcs->last_clk_ind.tv = *tv_now; - tcs->last_clk_ind.fn = fn; return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/23367 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Id8a7141984e07eb11abae08e0c63ae7ebc333511 Gerrit-Change-Number: 23367 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 15 17:59:07 2021 From: gerrit-no-reply at lists.osmocom.org (Hoernchen) Date: Mon, 15 Mar 2021 17:59:07 +0000 Subject: Change in osmo-bts[master]: bts-trx: reorder first timerfd schedule to decrease first timeout skew In-Reply-To: References: Message-ID: Hoernchen has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/23368 ) Change subject: bts-trx: reorder first timerfd schedule to decrease first timeout skew ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/23368 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ie2ba35cd87f0bd4078ac3b4b5ec2eacad36c4258 Gerrit-Change-Number: 23368 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 15 Mar 2021 17:59:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 15 18:05:01 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 15 Mar 2021 18:05:01 +0000 Subject: Change in osmo-ci[master]: jobs: Add OGT open5gs build jobs References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/23369 ) Change subject: jobs: Add OGT open5gs build jobs ...................................................................... jobs: Add OGT open5gs build jobs Change-Id: Ib7786d077017b24825d575b6801cb7c7f08ea832 --- M jobs/osmo-gsm-tester-runner.yml M jobs/osmo-gsm-tester-trigger.yml 2 files changed, 5 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/69/23369/1 diff --git a/jobs/osmo-gsm-tester-runner.yml b/jobs/osmo-gsm-tester-runner.yml index 25d8fd0..a505629 100644 --- a/jobs/osmo-gsm-tester-runner.yml +++ b/jobs/osmo-gsm-tester-runner.yml @@ -87,6 +87,8 @@ - copy_artifact: repo: osmo-gsm-tester_build-osmo-pcu-oc2g - copy_artifact: + repo: osmo-gsm-tester_build-open5gs + - copy_artifact: repo: osmo-gsm-tester_build-srslte - defaults: @@ -130,6 +132,7 @@ - osmo-gsm-tester_build-osmo-pcu-sysmo - osmo-gsm-tester_build-osmo-bts-oc2g - osmo-gsm-tester_build-osmo-pcu-oc2g + - osmo-gsm-tester_build-open5gs - osmo-gsm-tester_build-srslte builders: - copy_artifact_all diff --git a/jobs/osmo-gsm-tester-trigger.yml b/jobs/osmo-gsm-tester-trigger.yml index e37c1f1..07edcf4 100644 --- a/jobs/osmo-gsm-tester-trigger.yml +++ b/jobs/osmo-gsm-tester-trigger.yml @@ -28,5 +28,6 @@ osmo-gsm-tester_build-osmo-bts-sysmo, osmo-gsm-tester_build-osmo-pcu-sysmo, osmo-gsm-tester_build-osmo-bts-oc2g, - osmo-gsm-tester_build-osmo-pcu-oc2g + osmo-gsm-tester_build-osmo-pcu-oc2g, + osmo-gsm-tester_build-open5gs, osmo-gsm-tester_build-srslte -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23369 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ib7786d077017b24825d575b6801cb7c7f08ea832 Gerrit-Change-Number: 23369 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 Mar 15 18:15:28 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 15 Mar 2021 18:15:28 +0000 Subject: Change in osmo-ci[master]: jobs: Add OGT open5gs build jobs In-Reply-To: References: Message-ID: pespin has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-ci/+/23369 ) Change subject: jobs: Add OGT open5gs build jobs ...................................................................... jobs: Add OGT open5gs build jobs Change-Id: Ib7786d077017b24825d575b6801cb7c7f08ea832 --- M jobs/osmo-gsm-tester-builder.yml M jobs/osmo-gsm-tester-runner.yml M jobs/osmo-gsm-tester-trigger.yml 3 files changed, 8 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/69/23369/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23369 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ib7786d077017b24825d575b6801cb7c7f08ea832 Gerrit-Change-Number: 23369 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 Mon Mar 15 18:24:23 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 15 Mar 2021 18:24:23 +0000 Subject: Change in osmo-ci[master]: ansible: osmocom_build_deps.yml: Install missing open5gs dep libnghtt... References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/23370 ) Change subject: ansible: osmocom_build_deps.yml: Install missing open5gs dep libnghttp2-dev ...................................................................... ansible: osmocom_build_deps.yml: Install missing open5gs dep libnghttp2-dev The official Build Guide lists it as a dependency, and meson fails without it. Change-Id: I6b40acd7dd5bdc596b26227bba83e3f87a841d00 --- M ansible/roles/osmocom-jenkins-slave/tasks/osmocom_build_deps.yml 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/70/23370/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 816218f..e2b5a98 100644 --- a/ansible/roles/osmocom-jenkins-slave/tasks/osmocom_build_deps.yml +++ b/ansible/roles/osmocom-jenkins-slave/tasks/osmocom_build_deps.yml @@ -160,6 +160,7 @@ - libmongoc-dev - libbson-dev - libyaml-dev + - libnghttp2-dev cache_valid_time: 3600 update_cache: yes when: ansible_distribution == 'Debian' and ansible_distribution_version|int >= 10 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23370 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I6b40acd7dd5bdc596b26227bba83e3f87a841d00 Gerrit-Change-Number: 23370 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 Mar 15 18:37:06 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 15 Mar 2021 18:37:06 +0000 Subject: Change in osmo-pcu[master]: Add new PDCH UL Controller, drop SBAllocator class In-Reply-To: References: Message-ID: Hello osmith, Jenkins Builder, laforge, fixeria, daniel, lynxis lazus, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/23291 to look at the new patch set (#9). Change subject: Add new PDCH UL Controller, drop SBAllocator class ...................................................................... Add new PDCH UL Controller, drop SBAllocator class Right now we handle different types of UL allocations in different classes like PollAllocator and SBAllocator, and they usually don't take into account the other one in most cases. Furthermore, those objects are usually per-BTS object, instead of per PDCH object. This is a first step towards having a unified per-PDCH controller which takes care of controlling what is scheduled and hence expected on the uplink. Each PDCH has a UL Controller which keeps track of all reserved uplink frame, be it SB, RRBP poll or USF assigned, all under the same API. As a first step, only the SBA part is fully implemented and used (being it the easiest part to replace); TBF poll+usf will come in follow-up patches later on. As a result, the SBAllocator per-BTS class dissappears but some of its code is refactored/reused to provide more features to the gprs_rlcmac_sba object, which is also further integrated into the new UL Controller. Related: OS#5020 Change-Id: I84b24beea4a1aa2c1528f41435f77bd16df2b947 --- M src/Makefile.am M src/bts.cpp M src/bts.h M src/gprs_rlcmac_sched.cpp M src/pcu_l1_if.cpp M src/pcu_utils.h M src/pdch.cpp M src/pdch.h A src/pdch_ul_controller.c A src/pdch_ul_controller.h M src/poll_controller.cpp A src/sba.c D src/sba.cpp M src/sba.h M src/tbf.cpp M tests/tbf/TbfTest.cpp M tests/tbf/TbfTest.err 17 files changed, 443 insertions(+), 225 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/91/23291/9 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23291 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I84b24beea4a1aa2c1528f41435f77bd16df2b947 Gerrit-Change-Number: 23291 Gerrit-PatchSet: 9 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 15 18:37:06 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 15 Mar 2021 18:37:06 +0000 Subject: Change in osmo-pcu[master]: sched: Use new PDCH UL Controller In-Reply-To: References: Message-ID: Hello osmith, Jenkins Builder, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/23323 to look at the new patch set (#4). Change subject: sched: Use new PDCH UL Controller ...................................................................... sched: Use new PDCH UL Controller Take the time to also do small refactorings to clarify and simplify the function, by using rts_next_fn() already available in pcu_utils.h and getting rid of poll_tbf from tbf_candidates, which clearly follows another objective. Using PDCH UL Controller has the advantage that we don't need to check poll_scheduled() on each TBF, but only do the query once. Related: OS#5020 Change-Id: Ia60bb5249a9837dec1f42180e44d9848334d86d6 --- M src/gprs_rlcmac_sched.cpp M src/pdch_ul_controller.c M src/pdch_ul_controller.h 3 files changed, 23 insertions(+), 24 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/23/23323/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23323 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia60bb5249a9837dec1f42180e44d9848334d86d6 Gerrit-Change-Number: 23323 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 15 18:37:06 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 15 Mar 2021 18:37:06 +0000 Subject: Change in osmo-pcu[master]: tests: Introduce unit tests for PDCH UL Controller In-Reply-To: References: Message-ID: Hello osmith, Jenkins Builder, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/23355 to look at the new patch set (#3). Change subject: tests: Introduce unit tests for PDCH UL Controller ...................................................................... tests: Introduce unit tests for PDCH UL Controller Related: OS#5020 Change-Id: Ie1ff0ca3d7fc8a9824d6fe4dceb746e301082bda --- M tests/Makefile.am M tests/testsuite.at A tests/ulc/PdchUlcTest.cpp A tests/ulc/PdchUlcTest.err A tests/ulc/PdchUlcTest.ok 5 files changed, 212 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/55/23355/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23355 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie1ff0ca3d7fc8a9824d6fe4dceb746e301082bda Gerrit-Change-Number: 23355 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-CC: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 15 18:37:06 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 15 Mar 2021 18:37:06 +0000 Subject: Change in osmo-pcu[master]: tests: ulc: Show current bug with FN wrap around In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/23356 to look at the new patch set (#3). Change subject: tests: ulc: Show current bug with FN wrap around ...................................................................... tests: ulc: Show current bug with FN wrap around Issue will be fixed in next commit. Leaving ASSERTs disabled so that test passes in jenkins. Related: OS#5020 Change-Id: I657db6b300363f8f3a9e4cfaf7a7f49e361a0512 --- M tests/ulc/PdchUlcTest.cpp M tests/ulc/PdchUlcTest.err M tests/ulc/PdchUlcTest.ok 3 files changed, 330 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/56/23356/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23356 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I657db6b300363f8f3a9e4cfaf7a7f49e361a0512 Gerrit-Change-Number: 23356 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 15 18:37:06 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 15 Mar 2021 18:37:06 +0000 Subject: Change in osmo-pcu[master]: ulc: Fix FN store order upon wrap around In-Reply-To: References: Message-ID: Hello osmith, Jenkins Builder, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/23357 to look at the new patch set (#4). Change subject: ulc: Fix FN store order upon wrap around ...................................................................... ulc: Fix FN store order upon wrap around Related: OS#5020 Change-Id: I0a742f7fa1541b1837739207b9383772f981fb25 --- M src/pdch_ul_controller.c M tests/ulc/PdchUlcTest.cpp M tests/ulc/PdchUlcTest.err M tests/ulc/PdchUlcTest.ok 4 files changed, 99 insertions(+), 55 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/57/23357/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23357 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I0a742f7fa1541b1837739207b9383772f981fb25 Gerrit-Change-Number: 23357 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 15 18:48:51 2021 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Mon, 15 Mar 2021 18:48:51 +0000 Subject: Change in osmo-bsc[master]: Add command to enable RX diversity to RBS2000 In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23318 ) Change subject: Add command to enable RX diversity to RBS2000 ...................................................................... Patch Set 6: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/23318/6/include/osmocom/bsc/abis_om2000.h File include/osmocom/bsc/abis_om2000.h: https://gerrit.osmocom.org/c/osmo-bsc/+/23318/6/include/osmocom/bsc/abis_om2000.h at 52 PS6, Line 52: OM2K_RX_DIVERSITY_A = 0x02, > This order of fields is really weird. Can we please have it in numerical order? [?] the "order" I guess is a sort of mix of alphabetic and physical left to right on the unit itself. I do also kind of find it weird that on a 1 to 3 basis, The designers decided it should go B,A,AB but whatever... I don't mind. I guess there will be no "objections" to 1,2,3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23318 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I430762b8cfa51060841d90ba4446de73bd557c6c Gerrit-Change-Number: 23318 Gerrit-PatchSet: 6 Gerrit-Owner: javi-tic Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 15 Mar 2021 18:48:51 +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 Mar 15 18:51:34 2021 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Mon, 15 Mar 2021 18:51:34 +0000 Subject: Change in osmo-bsc[master]: Add command to enable RX diversity to RBS2000 In-Reply-To: References: Message-ID: keith has uploaded a new patch set (#7) to the change originally created by javi-tic. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23318 ) Change subject: Add command to enable RX diversity to RBS2000 ...................................................................... Add command to enable RX diversity to RBS2000 Allow selection of RX diversity from VTY Options are a,ab,b Default is 'a' so there is no change from previous behavior Change-Id: I430762b8cfa51060841d90ba4446de73bd557c6c --- M include/osmocom/bsc/abis_om2000.h M include/osmocom/bsc/bts_trx.h M src/osmo-bsc/abis_om2000.c M src/osmo-bsc/abis_om2000_vty.c M src/osmo-bsc/bts_ericsson_rbs2000.c 5 files changed, 65 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/18/23318/7 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23318 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I430762b8cfa51060841d90ba4446de73bd557c6c Gerrit-Change-Number: 23318 Gerrit-PatchSet: 7 Gerrit-Owner: javi-tic Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 15 18:53:31 2021 From: gerrit-no-reply at lists.osmocom.org (keith) Date: Mon, 15 Mar 2021 18:53:31 +0000 Subject: Change in osmo-bsc[master]: Add command to enable RX diversity to RBS2000 In-Reply-To: References: Message-ID: keith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23318 ) Change subject: Add command to enable RX diversity to RBS2000 ...................................................................... Patch Set 7: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/23318/6/include/osmocom/bsc/abis_om2000.h File include/osmocom/bsc/abis_om2000.h: https://gerrit.osmocom.org/c/osmo-bsc/+/23318/6/include/osmocom/bsc/abis_om2000.h at 52 PS6, Line 52: OM2K_RX_DIVERSITY_A = 0x02, > the "order" I guess is a sort of mix of alphabetic and physical left to right on the unit itself. [?] Done -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23318 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I430762b8cfa51060841d90ba4446de73bd557c6c Gerrit-Change-Number: 23318 Gerrit-PatchSet: 7 Gerrit-Owner: javi-tic Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 15 Mar 2021 18:53:31 +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 Mar 15 19:03:34 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 15 Mar 2021 19:03:34 +0000 Subject: Change in osmo-bsc[master]: Add command to enable RX diversity to RBS2000 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23318 ) Change subject: Add command to enable RX diversity to RBS2000 ...................................................................... Patch Set 7: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23318 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I430762b8cfa51060841d90ba4446de73bd557c6c Gerrit-Change-Number: 23318 Gerrit-PatchSet: 7 Gerrit-Owner: javi-tic Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 15 Mar 2021 19:03:34 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 15 19:03:37 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 15 Mar 2021 19:03:37 +0000 Subject: Change in osmo-bsc[master]: Add command to enable RX diversity to RBS2000 In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23318 ) Change subject: Add command to enable RX diversity to RBS2000 ...................................................................... Add command to enable RX diversity to RBS2000 Allow selection of RX diversity from VTY Options are a,ab,b Default is 'a' so there is no change from previous behavior Change-Id: I430762b8cfa51060841d90ba4446de73bd557c6c --- M include/osmocom/bsc/abis_om2000.h M include/osmocom/bsc/bts_trx.h M src/osmo-bsc/abis_om2000.c M src/osmo-bsc/abis_om2000_vty.c M src/osmo-bsc/bts_ericsson_rbs2000.c 5 files changed, 65 insertions(+), 2 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 51ec11b..a616015 100644 --- a/include/osmocom/bsc/abis_om2000.h +++ b/include/osmocom/bsc/abis_om2000.h @@ -48,6 +48,12 @@ OM2K_SYNC_SRC_EXTERNAL = 0x01, }; +enum om2k_rx_diversity { + OM2K_RX_DIVERSITY_B = 0x01, + OM2K_RX_DIVERSITY_A = 0x02, + OM2K_RX_DIVERSITY_AB = 0x03, +}; + /* on-wire format for IS conn group */ struct om2k_is_conn_grp { uint16_t icp1; @@ -151,6 +157,7 @@ struct vty; void abis_om2k_config_write_bts(struct vty *vty, struct gsm_bts *bts); +void abis_om2k_config_write_trx(struct vty *vty, struct gsm_bts_trx *trx); const char *abis_om2k_mo_name(const struct abis_om2k_mo *mo); diff --git a/include/osmocom/bsc/bts_trx.h b/include/osmocom/bsc/bts_trx.h index 85adc9b..7c8ef52 100644 --- a/include/osmocom/bsc/bts_trx.h +++ b/include/osmocom/bsc/bts_trx.h @@ -13,6 +13,7 @@ #include #include "osmocom/bsc/gsm_data.h" +#include "osmocom/bsc/abis_om2000.h" struct gsm_bts; @@ -76,6 +77,7 @@ struct { struct om2k_mo om2k_mo; } tx; + enum om2k_rx_diversity rx_diversity; } rbs2000; }; struct gsm_bts_trx_ts ts[TRX_NR_TS]; diff --git a/src/osmo-bsc/abis_om2000.c b/src/osmo-bsc/abis_om2000.c index edcf8cf..61db437 100644 --- a/src/osmo-bsc/abis_om2000.c +++ b/src/osmo-bsc/abis_om2000.c @@ -1344,7 +1344,7 @@ /* OM2K_DEI_FREQ_SPEC_RX: Using trx_nr as "RX address" only works for single MCTR case */ msgb_tv16_put(msg, OM2K_DEI_FREQ_SPEC_RX, 0x8000 | ((uint16_t)trx->nr << 10)); - msgb_tv_put(msg, OM2K_DEI_RX_DIVERSITY, 0x02); /* A */ + msgb_tv_put(msg, OM2K_DEI_RX_DIVERSITY, trx->rbs2000.rx_diversity); return abis_om2k_sendmsg(trx->bts, msg); } @@ -1518,7 +1518,7 @@ msgb_tv_put(msg, OM2K_DEI_HSN, ts->hopping.hsn); msgb_tv_put(msg, OM2K_DEI_MAIO, ts->hopping.maio); msgb_tv_put(msg, OM2K_DEI_BSIC, ts->trx->bts->bsic); - msgb_tv_put(msg, OM2K_DEI_RX_DIVERSITY, 0x02); /* A */ + msgb_tv_put(msg, OM2K_DEI_RX_DIVERSITY, ts->trx->rbs2000.rx_diversity); msgb_tv16_put(msg, OM2K_DEI_FN_OFFSET, 0); msgb_tv_put(msg, OM2K_DEI_EXT_RANGE, 0); /* Off */ /* Optional: Interference Rejection Combining */ @@ -3076,6 +3076,7 @@ trx_fi = om2k_trx_fsm_alloc(trx->bts->rbs2000.bts_fi, trx, OM2K_BTS_EVT_TRX_DONE); trx->rbs2000.trx_fi = trx_fi; + trx->rbs2000.rx_diversity = OM2K_RX_DIVERSITY_A; om2k_mo_init(&trx->rbs2000.trxc.om2k_mo, OM2K_MO_CLS_TRXC, bts->nr, 255, trx->nr); om2k_mo_fsm_alloc(trx_fi, OM2K_TRX_EVT_TRXC_DONE, trx, &trx->rbs2000.trxc.om2k_mo); diff --git a/src/osmo-bsc/abis_om2000_vty.c b/src/osmo-bsc/abis_om2000_vty.c index 0c35b8f..675c84e 100644 --- a/src/osmo-bsc/abis_om2000_vty.c +++ b/src/osmo-bsc/abis_om2000_vty.c @@ -574,6 +574,33 @@ return CMD_SUCCESS; } +DEFUN_USRATTR(cfg_trx_om2k_rx_diversity, + cfg_trx_om2k_rx_diversity_cmd, + X(BSC_VTY_ATTR_RESTART_ABIS_RSL_LINK), + "om2000 rx-diversity-mode (a|ab|b)", + OM2K_VTY_HELP + "RX Diversity\n" + "Antenna TX/RX (A)\n" + "Both Antennas\n" + "Antenna RX (B)\n") + +{ + struct gsm_bts_trx *trx = vty->index; + + if (trx->bts->type != GSM_BTS_TYPE_RBS2000) { + vty_out(vty, "%% Command only works for RBS2000%s", + VTY_NEWLINE); + return CMD_WARNING; + } + + if (!strcmp(argv[0], "a")) + trx->rbs2000.rx_diversity = OM2K_RX_DIVERSITY_A; + else if (!strcmp(argv[0], "ab")) + trx->rbs2000.rx_diversity = OM2K_RX_DIVERSITY_AB; + else if (!strcmp(argv[0], "b")) + trx->rbs2000.rx_diversity = OM2K_RX_DIVERSITY_B; + return CMD_SUCCESS; +} DEFUN(om2k_conf_req, om2k_conf_req_cmd, "configuration-request", @@ -653,6 +680,24 @@ } } +static const struct value_string om2k_rx_diversity_names[4] = { + { OM2K_RX_DIVERSITY_A, "a" }, + { OM2K_RX_DIVERSITY_AB, "ab" }, + { OM2K_RX_DIVERSITY_B, "b" }, + { 0, NULL } +}; + +static const char *rx_diversity2str(enum om2k_rx_diversity type) +{ + return get_value_string(om2k_rx_diversity_names, type); +} + +void abis_om2k_config_write_trx(struct vty *vty, struct gsm_bts_trx *trx) +{ + vty_out(vty, " om2000 rx-diversity-mode %s%s", + rx_diversity2str(trx->rbs2000.rx_diversity), VTY_NEWLINE); +} + void abis_om2k_config_write_bts(struct vty *vty, struct gsm_bts *bts) { struct is_conn_group *igrp; @@ -786,5 +831,7 @@ install_element(BTS_NODE, &cfg_om2k_con_group_cmd); install_element(BTS_NODE, &del_om2k_con_group_cmd); + install_element(TRX_NODE, &cfg_trx_om2k_rx_diversity_cmd); + return 0; } diff --git a/src/osmo-bsc/bts_ericsson_rbs2000.c b/src/osmo-bsc/bts_ericsson_rbs2000.c index fa0dab8..7d29657 100644 --- a/src/osmo-bsc/bts_ericsson_rbs2000.c +++ b/src/osmo-bsc/bts_ericsson_rbs2000.c @@ -174,6 +174,11 @@ abis_om2k_config_write_bts(vty, bts); } +static void config_write_trx(struct vty *vty, struct gsm_bts_trx *trx) +{ + abis_om2k_config_write_trx(vty, trx); +} + static int bts_model_rbs2k_start(struct gsm_network *net); static void bts_model_rbs2k_e1line_bind_ops(struct e1inp_line *line) @@ -201,6 +206,7 @@ .trx_init = bts_model_rbs2k_trx_init, .oml_rcvmsg = &abis_om2k_rcvmsg, .config_write_bts = &config_write_bts, + .config_write_trx = &config_write_trx, .e1line_bind_ops = &bts_model_rbs2k_e1line_bind_ops, }; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23318 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I430762b8cfa51060841d90ba4446de73bd557c6c Gerrit-Change-Number: 23318 Gerrit-PatchSet: 7 Gerrit-Owner: javi-tic Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: keith 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 Mon Mar 15 19:03:45 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 15 Mar 2021 19:03:45 +0000 Subject: Change in osmo-ci[master]: ansible: ogt: prod setup has 12 modems nowadays In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23365 ) Change subject: ansible: ogt: prod setup has 12 modems nowadays ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23365 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I6e401b292b2587733396c4160c008b894fc066a5 Gerrit-Change-Number: 23365 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 15 Mar 2021 19:03: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 Mar 15 19:04:21 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 15 Mar 2021 19:04:21 +0000 Subject: Change in osmo-ci[master]: ansible: ogt: uhubctl has new cmdline syntax to specify ports In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23366 ) Change subject: ansible: ogt: uhubctl has new cmdline syntax to specify ports ...................................................................... Patch Set 1: Code-Review+1 since you had the git commit link on IRC today, it would have been good to add it here to the commit log, for the record. not critical. -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23366 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ie57d85dc0a66e053247cd5bb92a4b2dea4eb4309 Gerrit-Change-Number: 23366 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 15 Mar 2021 19: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 Mon Mar 15 19:04:31 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 15 Mar 2021 19:04:31 +0000 Subject: Change in osmo-ci[master]: jobs: Add OGT open5gs build jobs In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23369 ) Change subject: jobs: Add OGT open5gs build jobs ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23369 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ib7786d077017b24825d575b6801cb7c7f08ea832 Gerrit-Change-Number: 23369 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 15 Mar 2021 19: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 Mon Mar 15 19:04:46 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 15 Mar 2021 19:04:46 +0000 Subject: Change in osmo-ci[master]: ansible: osmocom_build_deps.yml: Install missing open5gs dep libnghtt... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23370 ) Change subject: ansible: osmocom_build_deps.yml: Install missing open5gs dep libnghttp2-dev ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23370 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I6b40acd7dd5bdc596b26227bba83e3f87a841d00 Gerrit-Change-Number: 23370 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 15 Mar 2021 19:04:46 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 15 19:06:22 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 15 Mar 2021 19:06:22 +0000 Subject: Change in osmo-pcu[master]: sched: Use new PDCH UL Controller In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23323 ) Change subject: sched: Use new PDCH UL Controller ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23323 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia60bb5249a9837dec1f42180e44d9848334d86d6 Gerrit-Change-Number: 23323 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 15 Mar 2021 19:06: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 Mar 15 19:06:43 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 15 Mar 2021 19:06:43 +0000 Subject: Change in osmo-pcu[master]: tests: Introduce unit tests for PDCH UL Controller In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23355 ) Change subject: tests: Introduce unit tests for PDCH UL Controller ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23355 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie1ff0ca3d7fc8a9824d6fe4dceb746e301082bda Gerrit-Change-Number: 23355 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-CC: fixeria Gerrit-Comment-Date: Mon, 15 Mar 2021 19:06: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 Mar 15 19:06:51 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 15 Mar 2021 19:06:51 +0000 Subject: Change in osmo-pcu[master]: tests: ulc: Show current bug with FN wrap around In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23356 ) Change subject: tests: ulc: Show current bug with FN wrap around ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23356 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I657db6b300363f8f3a9e4cfaf7a7f49e361a0512 Gerrit-Change-Number: 23356 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: osmith Gerrit-Comment-Date: Mon, 15 Mar 2021 19:06: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 Mar 15 19:07:17 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 15 Mar 2021 19:07:17 +0000 Subject: Change in osmo-pcu[master]: ulc: Fix FN store order upon wrap around In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23357 ) Change subject: ulc: Fix FN store order upon wrap around ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23357 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I0a742f7fa1541b1837739207b9383772f981fb25 Gerrit-Change-Number: 23357 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 15 Mar 2021 19:07:17 +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 Mar 16 07:22:01 2021 From: admin at opensuse.org (OBS Notification) Date: Tue, 16 Mar 2021 07:22:01 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <60505caf96517_2bca2af34a7ac610228045@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_20.04/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_20.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 155s] [COMPILING apps/dfu/main.c] [ 155s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 155s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 155s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 156s] Memory region Used Size Region Size %age Used [ 156s] rom: 16600 B 16 KB 101.32% [ 156s] ram: 11688 B 48 KB 23.78/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 156s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 156s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 156s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 156s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 156s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 156s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 216 bytes [ 156s] collect2: error: ld returned 1 exit status [ 156s] % [ 156s] make[2]: *** [Makefile:230: flash] Error 1 [ 156s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 156s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 156s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 156s] dh_auto_build: error: make -j1 returned exit code 2 [ 156s] make: *** [debian/rules:16: build] Error 25 [ 156s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 156s] ### VM INTERACTION START ### [ 159s] [ 147.633029] sysrq: Power Off [ 159s] [ 147.640417] reboot: Power down [ 159s] ### VM INTERACTION END ### [ 159s] [ 159s] lamb66 failed "build simtrace2_0.7.0.76.62ad.dsc" at Tue Mar 16 07:21:52 UTC 2021. [ 159s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Mar 16 07:23:10 2021 From: admin at opensuse.org (OBS Notification) Date: Tue, 16 Mar 2021 07:23:10 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.10/x86_64 In-Reply-To: References: Message-ID: <60505ceb48774_2bca2af34a7ac610228234@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_20.10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_20.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 191s] [COMPILING libboard/qmod/source/board_qmod.c] [ 192s] [COMPILING libboard/qmod/source/card_pres.c] [ 192s] [COMPILING libboard/qmod/source/i2c.c] [ 192s] [COMPILING libboard/qmod/source/wwan_led.c] [ 192s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 192s] [COMPILING apps/dfu/main.c] [ 192s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 193s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 193s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 193s] Memory region Used Size Region Size %age Used [ 193s] rom: 16592 B 16 KB 101.27% [ 193s] ram: 11680 B 48 KB 23.76/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 193s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 208 bytes [ 193s] collect2: error: ld returned 1 exit status [ 193s] % [ 193s] make[2]: *** [Makefile:230: flash] Error 1 [ 193s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 193s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 193s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 193s] dh_auto_build: error: make -j1 returned exit code 2 [ 193s] make: *** [debian/rules:16: build] Error 25 [ 193s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 193s] ### VM INTERACTION START ### [ 196s] [ 183.741730] sysrq: Power Off [ 196s] [ 183.748391] reboot: Power down [ 196s] ### VM INTERACTION END ### [ 196s] [ 196s] lamb54 failed "build simtrace2_0.7.0.76.62ad.dsc" at Tue Mar 16 07:22:53 UTC 2021. [ 196s] -- 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 Mar 16 08:22:02 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 16 Mar 2021 08:22:02 +0000 Subject: Change in osmo-pcu[master]: sched: Use new PDCH UL Controller In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23323 ) Change subject: sched: Use new PDCH UL Controller ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23323 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia60bb5249a9837dec1f42180e44d9848334d86d6 Gerrit-Change-Number: 23323 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 16 Mar 2021 08:22:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 16 08:22:39 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 16 Mar 2021 08:22:39 +0000 Subject: Change in osmo-pcu[master]: tests: Introduce unit tests for PDCH UL Controller In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23355 ) Change subject: tests: Introduce unit tests for PDCH UL Controller ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23355 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie1ff0ca3d7fc8a9824d6fe4dceb746e301082bda Gerrit-Change-Number: 23355 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 16 Mar 2021 08:22: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 Mar 16 08:24:09 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 16 Mar 2021 08:24:09 +0000 Subject: Change in osmo-pcu[master]: tests: ulc: Show current bug with FN wrap around In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23356 ) Change subject: tests: ulc: Show current bug with FN wrap around ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23356 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I657db6b300363f8f3a9e4cfaf7a7f49e361a0512 Gerrit-Change-Number: 23356 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 16 Mar 2021 08:24: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 Mar 16 08:24:30 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 16 Mar 2021 08:24:30 +0000 Subject: Change in osmo-pcu[master]: ulc: Fix FN store order upon wrap around In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23357 ) Change subject: ulc: Fix FN store order upon wrap around ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23357 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I0a742f7fa1541b1837739207b9383772f981fb25 Gerrit-Change-Number: 23357 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 16 Mar 2021 08:24: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 Mar 16 08:25:46 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Tue, 16 Mar 2021 08:25:46 +0000 Subject: Change in osmo-pcu[master]: Add new PDCH UL Controller, drop SBAllocator class In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23291 ) Change subject: Add new PDCH UL Controller, drop SBAllocator class ...................................................................... Patch Set 9: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23291 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I84b24beea4a1aa2c1528f41435f77bd16df2b947 Gerrit-Change-Number: 23291 Gerrit-PatchSet: 9 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 16 Mar 2021 08: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 Mar 16 10:02:28 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 10:02:28 +0000 Subject: Change in osmo-pcu[master]: Add new PDCH UL Controller, drop SBAllocator class In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23291 ) Change subject: Add new PDCH UL Controller, drop SBAllocator class ...................................................................... Patch Set 9: Code-Review+2 (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/23291/8/src/pdch_ul_controller.c File src/pdch_ul_controller.c: https://gerrit.osmocom.org/c/osmo-pcu/+/23291/8/src/pdch_ul_controller.c at 29 PS8, Line 29: ? > Why the question mark, is this an unresolved TODO? This is to safe my ass for now. Once everything is proven to work reliable and we know usual behavior, then we can fine-tune further :D -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23291 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I84b24beea4a1aa2c1528f41435f77bd16df2b947 Gerrit-Change-Number: 23291 Gerrit-PatchSet: 9 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 16 Mar 2021 10:02:28 +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 Tue Mar 16 10:02:31 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 10:02:31 +0000 Subject: Change in osmo-pcu[master]: Replace PollController with newly added PDCH UL Controller In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23309 ) Change subject: Replace PollController with newly added PDCH UL Controller ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23309 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I683ca738ce5a133c49c36a1d94439a942d64a831 Gerrit-Change-Number: 23309 Gerrit-PatchSet: 6 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 16 Mar 2021 10:02:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 16 10:02:33 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 10:02:33 +0000 Subject: Change in osmo-pcu[master]: sched: Use new PDCH UL Controller In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23323 ) Change subject: sched: Use new PDCH UL Controller ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23323 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia60bb5249a9837dec1f42180e44d9848334d86d6 Gerrit-Change-Number: 23323 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: Tue, 16 Mar 2021 10:02:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 16 10:02:35 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 10:02:35 +0000 Subject: Change in osmo-pcu[master]: bts: Detect FN jumps In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23314 ) Change subject: bts: Detect FN jumps ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23314 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I29fb27981597edc69abb976049ba41aa840488cb Gerrit-Change-Number: 23314 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 16 Mar 2021 10:02:35 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 16 10:02:42 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 10:02:42 +0000 Subject: Change in osmo-pcu[master]: tests: Introduce unit tests for PDCH UL Controller In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23355 ) Change subject: tests: Introduce unit tests for PDCH UL Controller ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23355 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie1ff0ca3d7fc8a9824d6fe4dceb746e301082bda Gerrit-Change-Number: 23355 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-Comment-Date: Tue, 16 Mar 2021 10:02: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 Mar 16 10:02:44 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 10:02:44 +0000 Subject: Change in osmo-pcu[master]: tests: ulc: Show current bug with FN wrap around In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23356 ) Change subject: tests: ulc: Show current bug with FN wrap around ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23356 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I657db6b300363f8f3a9e4cfaf7a7f49e361a0512 Gerrit-Change-Number: 23356 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 16 Mar 2021 10:02: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 Mar 16 10:02:46 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 10:02:46 +0000 Subject: Change in osmo-pcu[master]: ulc: Fix FN store order upon wrap around In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23357 ) Change subject: ulc: Fix FN store order upon wrap around ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23357 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I0a742f7fa1541b1837739207b9383772f981fb25 Gerrit-Change-Number: 23357 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 16 Mar 2021 10:02: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 Mar 16 10:02:53 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 10:02:53 +0000 Subject: Change in osmo-pcu[master]: Add new PDCH UL Controller, drop SBAllocator class In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23291 ) Change subject: Add new PDCH UL Controller, drop SBAllocator class ...................................................................... Add new PDCH UL Controller, drop SBAllocator class Right now we handle different types of UL allocations in different classes like PollAllocator and SBAllocator, and they usually don't take into account the other one in most cases. Furthermore, those objects are usually per-BTS object, instead of per PDCH object. This is a first step towards having a unified per-PDCH controller which takes care of controlling what is scheduled and hence expected on the uplink. Each PDCH has a UL Controller which keeps track of all reserved uplink frame, be it SB, RRBP poll or USF assigned, all under the same API. As a first step, only the SBA part is fully implemented and used (being it the easiest part to replace); TBF poll+usf will come in follow-up patches later on. As a result, the SBAllocator per-BTS class dissappears but some of its code is refactored/reused to provide more features to the gprs_rlcmac_sba object, which is also further integrated into the new UL Controller. Related: OS#5020 Change-Id: I84b24beea4a1aa2c1528f41435f77bd16df2b947 --- M src/Makefile.am M src/bts.cpp M src/bts.h M src/gprs_rlcmac_sched.cpp M src/pcu_l1_if.cpp M src/pcu_utils.h M src/pdch.cpp M src/pdch.h A src/pdch_ul_controller.c A src/pdch_ul_controller.h M src/poll_controller.cpp A src/sba.c D src/sba.cpp M src/sba.h M src/tbf.cpp M tests/tbf/TbfTest.cpp M tests/tbf/TbfTest.err 17 files changed, 443 insertions(+), 225 deletions(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/src/Makefile.am b/src/Makefile.am index eefbea1..ab9aeeb 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -62,9 +62,10 @@ tbf_dl.cpp \ bts.cpp \ pdch.cpp \ + pdch_ul_controller.c \ poll_controller.cpp \ encoding.cpp \ - sba.cpp \ + sba.c \ decoding.cpp \ llc.cpp \ rlc.cpp \ @@ -100,6 +101,7 @@ tbf_dl.h \ bts.h \ pdch.h \ + pdch_ul_controller.h \ poll_controller.h \ encoding.h \ sba.h \ diff --git a/src/bts.cpp b/src/bts.cpp index 1d3f690..a7d475c 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -212,7 +212,6 @@ * m_ms_store's destructor */ bts->ms_store->cleanup(); delete bts->ms_store; - delete bts->sba; delete bts->pollController; if (bts->ratectrs) { @@ -246,7 +245,6 @@ bts->nr = bts_nr; bts->pollController = new PollController(*bts); - bts->sba = new SBAController(*bts); bts->ms_store = new GprsMsStorage(bts); bts->cur_fn = 0; @@ -819,10 +817,43 @@ return 0; } +struct gprs_rlcmac_sba *bts_alloc_sba(struct gprs_rlcmac_bts *bts, uint8_t ta) +{ + struct gprs_rlcmac_pdch *pdch; + struct gprs_rlcmac_sba *sba = NULL; + int8_t trx, ts; + + if (!gsm48_ta_is_valid(ta)) + return NULL; + + for (trx = 0; trx < 8; trx++) { + for (ts = 7; ts >= 0; ts--) { + pdch = &bts->trx[trx].pdch[ts]; + if (!pdch->is_enabled()) + continue; + break; + } + if (ts >= 0) + break; + } + if (trx == 8) { + LOGP(DRLCMAC, LOGL_NOTICE, "No PDCH available.\n"); + return NULL; + } + + sba = sba_alloc(bts, pdch, ta); + if (!sba) + return NULL; + + bts_do_rate_ctr_inc(bts, CTR_SBA_ALLOCATED); + return sba; +} + int bts_rcv_rach(struct gprs_rlcmac_bts *bts, const struct rach_ind_params *rip) { struct chan_req_params chan_req = { 0 }; struct gprs_rlcmac_ul_tbf *tbf = NULL; + struct gprs_rlcmac_sba *sba; uint8_t trx_no, ts_no; uint32_t sb_fn = 0; uint8_t usf = 7; @@ -864,14 +895,18 @@ /* Should we allocate a single block or an Uplink TBF? */ if (chan_req.single_block) { - rc = bts_sba(bts)->alloc(&trx_no, &ts_no, &sb_fn, ta); - if (rc < 0) { + sba = bts_alloc_sba(bts, ta); + if (!sba) { LOGP(DRLCMAC, LOGL_NOTICE, "No PDCH resource for " - "single block allocation: rc=%d\n", rc); + "single block allocation\n"); + rc = -EBUSY; /* Send RR Immediate Assignment Reject */ goto send_imm_ass_rej; } + trx_no = sba->pdch->trx_no(); + ts_no = sba->pdch->ts_no; + sb_fn = sba->fn; tsc = bts->trx[trx_no].pdch[ts_no].tsc; LOGP(DRLCMAC, LOGL_DEBUG, "Allocated a single block at " "SBFn=%u TRX=%u TS=%u\n", sb_fn, trx_no, ts_no); @@ -1076,11 +1111,6 @@ return ms; } -struct SBAController *bts_sba(struct gprs_rlcmac_bts *bts) -{ - return bts->sba; -} - struct GprsMsStorage *bts_ms_store(struct gprs_rlcmac_bts *bts) { return bts->ms_store; diff --git a/src/bts.h b/src/bts.h index 3ddf501..8070abb 100644 --- a/src/bts.h +++ b/src/bts.h @@ -196,7 +196,6 @@ }; struct PollController; -struct SBAController; struct GprsMsStorage; struct pcu_l1_meas; @@ -253,7 +252,6 @@ uint8_t max_cs_dl, max_cs_ul; uint8_t max_mcs_dl, max_mcs_ul; struct PollController *pollController; - struct SBAController *sba; struct rate_ctr_group *ratectrs; struct osmo_stat_item_group *statg; @@ -308,8 +306,6 @@ enum pcu_gsmtap_category categ, uint8_t channel, const struct rach_ind_params *rip); -struct SBAController *bts_sba(struct gprs_rlcmac_bts *bts); - struct GprsMsStorage *bts_ms_store(struct gprs_rlcmac_bts *bts); struct GprsMs *bts_ms_by_tlli(struct gprs_rlcmac_bts *bts, uint32_t tlli, uint32_t old_tlli); @@ -339,6 +335,8 @@ struct gprs_rlcmac_bts *bts_alloc(struct gprs_pcu *pcu, uint8_t bts_nr); +struct gprs_rlcmac_sba *bts_alloc_sba(struct gprs_rlcmac_bts *bts, uint8_t ta); + void bts_recalc_initial_cs(struct gprs_rlcmac_bts *bts); void bts_recalc_initial_mcs(struct gprs_rlcmac_bts *bts); void bts_recalc_max_cs(struct gprs_rlcmac_bts *bts); diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp index 51deb65..ce8fd02 100644 --- a/src/gprs_rlcmac_sched.cpp +++ b/src/gprs_rlcmac_sched.cpp @@ -482,11 +482,10 @@ block_nr, poll_fn, tbf_name(tbf_cand.poll)); usf = USF_UNUSED; /* else. check for sba */ - } else if ((sba_fn = bts_sba(bts)->sched(trx, ts, fn, block_nr)) != 0xffffffff) { - LOGP(DRLCMACSCHED, LOGL_DEBUG, "Received RTS for PDCH: TRX=%d " - "TS=%d FN=%d block_nr=%d scheduling free USF for " - "single block allocation at FN=%d\n", trx, ts, fn, - block_nr, sba_fn); + } else if ((sba_fn = find_sba_rts(pdch, fn, block_nr)) != 0xffffffff) { + LOGPDCH(pdch, DRLCMACSCHED, LOGL_DEBUG, "Received RTS for PDCH: " + "FN=%d block_nr=%d scheduling free USF for " + "single block allocation at FN=%d\n", fn, block_nr, sba_fn); usf = USF_UNUSED; /* else, we search for uplink resource */ } else { diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index 970387d..f28c46f 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -285,7 +285,11 @@ int pcu_rx_data_ind_pdtch(struct gprs_rlcmac_bts *bts, struct gprs_rlcmac_pdch *pdch, uint8_t *data, uint8_t len, uint32_t fn, struct pcu_l1_meas *meas) { - return pdch->rcv_block(data, len, fn, meas); + int rc; + + rc = pdch->rcv_block(data, len, fn, meas); + pdch_ulc_expire_fn(pdch->ulc, fn); + return rc; } static int pcu_rx_data_ind_bcch(struct gprs_rlcmac_bts *bts, uint8_t *data, uint8_t len) diff --git a/src/pcu_utils.h b/src/pcu_utils.h index 1d43045..a153ce7 100644 --- a/src/pcu_utils.h +++ b/src/pcu_utils.h @@ -25,6 +25,7 @@ #endif #include +#include static inline int msecs_to_frames(int msecs) { return (msecs * (1024 * 1000 / 4615)) / 1024; @@ -40,6 +41,15 @@ ts->tv_nsec = (csecs % 100) * 10000000; } +static inline uint32_t rts_next_fn(uint32_t rts_fn, uint8_t block_nr) +{ + uint32_t fn = rts_fn + 4; + if ((block_nr % 3) == 2) + fn++; + fn = fn % GSM_MAX_FN; + return fn; +} + #ifdef __cplusplus template inline unsigned int pcu_bitcount(T x) diff --git a/src/pdch.cpp b/src/pdch.cpp index 66afda7..1e54117 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -139,6 +139,7 @@ /* Initialize the PTCCH/D message (Packet Timing Advance Control Channel) */ memset(pdch->ptcch_msg, PTCCH_TAI_FREE, PTCCH_TAI_NUM); memset(pdch->ptcch_msg + PTCCH_TAI_NUM, PTCCH_PADDING, 7); + pdch->ulc = pdch_ulc_alloc(pdch, trx->bts); } void gprs_rlcmac_pdch::enable() @@ -169,7 +170,7 @@ while ((pag = dequeue_paging())) talloc_free(pag); - bts_sba(trx->bts)->free_resources(this); + talloc_free(this->ulc); } struct gprs_rlcmac_paging *gprs_rlcmac_pdch::dequeue_paging() @@ -604,10 +605,10 @@ LOGPDCH(this, DRLCMAC, LOGL_DEBUG, "MS requests UL TBF " "in packet resource request of single " "block, so we provide one:\n"); - sba = bts_sba(bts())->find(this, fn); + sba = pdch_ulc_get_sba(this->ulc, fn); if (sba) { ms_set_ta(ms, sba->ta); - bts_sba(bts())->free_sba(sba); + sba_free(sba); } else if (!ul_tbf || !ul_tbf->state_is(GPRS_RLCMAC_FINISHED)) { LOGPTBFUL(ul_tbf, LOGL_NOTICE, "MS requests UL TBF in PACKET RESOURCE REQ of " @@ -702,9 +703,9 @@ ms = bts_alloc_ms(bts(), 0, 0); ms_set_tlli(ms, report->TLLI); } - if ((sba = bts_sba(bts())->find(this, fn))) { + if ((sba = pdch_ulc_get_sba(this->ulc, fn))) { ms_set_ta(ms, sba->ta); - bts_sba(bts())->free_sba(sba); + sba_free(sba); } gprs_rlcmac_meas_rep(ms, report); } diff --git a/src/pdch.h b/src/pdch.h index fb28019..cfa0195 100644 --- a/src/pdch.h +++ b/src/pdch.h @@ -28,6 +28,7 @@ #include #include "gsm_rlcmac.h" #include "coding_scheme.h" +#include "pdch_ul_controller.h" } #endif @@ -126,6 +127,7 @@ /* back pointers */ struct gprs_rlcmac_trx *trx; uint8_t ts_no; + struct pdch_ulc *ulc; #ifdef __cplusplus private: @@ -191,10 +193,9 @@ void pdch_disable(struct gprs_rlcmac_pdch *pdch); #ifdef __cplusplus } +#endif #define LOGPDCH(pdch, category, level, fmt, args...) \ LOGP(category, level, "PDCH(bts=%" PRIu8 ",trx=%" PRIu8 ",ts=%" PRIu8 ") " fmt, \ (pdch)->trx->bts->nr, (pdch)->trx->trx_no, (pdch)->ts_no, \ ## args) - -#endif diff --git a/src/pdch_ul_controller.c b/src/pdch_ul_controller.c new file mode 100644 index 0000000..ecd3691 --- /dev/null +++ b/src/pdch_ul_controller.c @@ -0,0 +1,186 @@ +/* pdch_ul_controller.c + * + * Copyright (C) 2021 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 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 it program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#include +#include + +#include "pdch_ul_controller.h" +#include "bts.h" +#include "sba.h" +#include "pdch.h" + +/* TS 44.060 Table 10.4.5.1 states maximum RRBP is N + 26. Give extra space for time diff between Tx and Rx? */ +#define MAX_FN_RESERVED (27 + 50) + +const struct value_string pdch_ul_node_names[] = { + { PDCH_ULC_NODE_TBF_USF, "USF" }, + { PDCH_ULC_NODE_TBF_POLL, "POLL" }, + { PDCH_ULC_NODE_SBA, "SBA" }, + { 0, NULL } +}; + +struct pdch_ulc *pdch_ulc_alloc(struct gprs_rlcmac_pdch *pdch, void *ctx) +{ + struct pdch_ulc* ulc; + ulc = talloc_zero(ctx, struct pdch_ulc); + if (!ulc) + return ulc; + + ulc->pdch = pdch; + ulc->pool_ctx = talloc_pool(ulc, sizeof(struct pdch_ulc_node) * MAX_FN_RESERVED); + return ulc; +} + +struct pdch_ulc_node *pdch_ulc_get_node(struct pdch_ulc *ulc, uint32_t fn) +{ + struct rb_node *node; + struct pdch_ulc_node *it; + for (node = rb_first(&ulc->tree_root); node; node = rb_next(node)) { + it = container_of(node, struct pdch_ulc_node, node); + if (it->fn == fn) + return it; + if (it->fn > fn) + break; + } + return NULL; +} +struct pdch_ulc_node *pdch_ulc_pop_node(struct pdch_ulc *ulc, uint32_t fn) +{ + struct pdch_ulc_node *item = pdch_ulc_get_node(ulc, fn); + if (!item) + return NULL; + rb_erase(&item->node, &ulc->tree_root); + return item; +} + +struct gprs_rlcmac_sba *pdch_ulc_get_sba(struct pdch_ulc *ulc, uint32_t fn) +{ + struct pdch_ulc_node *item = pdch_ulc_get_node(ulc, fn); + if (!item || item->type != PDCH_ULC_NODE_SBA) + return NULL; + return item->sba.sba; +} + +bool pdch_ulc_fn_is_free(struct pdch_ulc *ulc, uint32_t fn) +{ + return !pdch_ulc_get_node(ulc, fn); +} + +static struct pdch_ulc_node *_alloc_node(struct pdch_ulc *ulc, uint32_t fn) +{ + struct pdch_ulc_node *node; + node = talloc_zero(ulc->pool_ctx, struct pdch_ulc_node); + node->fn = fn; + return node; +} + +static int pdch_ulc_add_node(struct pdch_ulc *ulc, struct pdch_ulc_node *item) +{ + struct rb_node **n = &(ulc->tree_root.rb_node); + struct rb_node *parent = NULL; + + while (*n) { + struct pdch_ulc_node *it; + + it = container_of(*n, struct pdch_ulc_node, node); + + parent = *n; + if (item->fn < it->fn) { + n = &((*n)->rb_left); + } else if (item->fn > it->fn) { + n = &((*n)->rb_right); + } else { + LOGPDCH(ulc->pdch, DRLCMAC, LOGL_ERROR, + "Trying to reserve already reserved FN %u\n", + item->fn); + return -EEXIST; + } + } + + rb_link_node(&item->node, parent, n); + rb_insert_color(&item->node, &ulc->tree_root); + return 0; +} + +int pdch_ulc_reserve_tbf_usf(struct pdch_ulc *ulc, uint32_t fn, struct gprs_rlcmac_ul_tbf *ul_tbf) +{ + return 0; /* TODO: implement */ +} + +int pdch_ulc_reserve_tbf_poll(struct pdch_ulc *ulc, uint32_t fn, struct gprs_rlcmac_tbf *tbf) +{ + return 0; /* TODO: implement */ +} + +int pdch_ulc_reserve_sba(struct pdch_ulc *ulc, struct gprs_rlcmac_sba *sba) +{ + struct pdch_ulc_node *item = _alloc_node(ulc, sba->fn); + item->type = PDCH_ULC_NODE_SBA; + item->sba.sba = sba; + return pdch_ulc_add_node(ulc, item); +} + +int pdch_ulc_release_fn(struct pdch_ulc *ulc, uint32_t fn) +{ + struct pdch_ulc_node *item = pdch_ulc_get_node(ulc, fn); + if (!item) + return -ENOKEY; + rb_erase(&item->node, &ulc->tree_root); + talloc_free(item); + return 0; +} + +void pdch_ulc_expire_fn(struct pdch_ulc *ulc, uint32_t fn) +{ + struct gprs_rlcmac_sba *sba; + struct pdch_ulc_node *item; + + struct rb_node *first; + while((first = rb_first(&ulc->tree_root))) { + item = container_of(first, struct pdch_ulc_node, node); + if (item->fn > fn) + break; + if (item->fn < fn) { + /* Sanity check: */ + LOGPDCH(ulc->pdch, DRLCMAC, LOGL_ERROR, + "Expiring FN=%" PRIu32 " but previous FN=%" PRIu32 " is still reserved!\n", + fn, item->fn); + } + rb_erase(&item->node, &ulc->tree_root); + + switch (item->type) { + case PDCH_ULC_NODE_TBF_USF: + /* TODO: increase N3...*/ + break; + case PDCH_ULC_NODE_TBF_POLL: + /* TODO: increase N3...*/ + break; + case PDCH_ULC_NODE_SBA: + sba = item->sba.sba; + LOGPDCH(sba->pdch, DRLCMAC, LOGL_NOTICE, + "Timeout for registered SBA (FN=%u, TA=%u)\n", + sba->fn, sba->ta); + sba_timeout(sba); + break; + } + + talloc_free(item); + } +} diff --git a/src/pdch_ul_controller.h b/src/pdch_ul_controller.h new file mode 100644 index 0000000..e86dbf5 --- /dev/null +++ b/src/pdch_ul_controller.h @@ -0,0 +1,79 @@ +/* pdch_ul_controller.h + * + * Copyright (C) 2021 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 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ +#pragma once + +#include +#include + +#include +#include + +struct gprs_rlcmac_pdch; +struct gprs_rlcmac_tbf; +struct gprs_rlcmac_ul_tbf; +struct gprs_rlcmac_sba; + +struct pdch_ulc { + struct gprs_rlcmac_pdch *pdch; /* back pointer */ + uint32_t last_fn; /* last FN rx from TDMA clock */ + struct rb_root tree_root; + void *pool_ctx; /* talloc pool of struct pdch_ulc_node */ +}; + +enum PdchUlcNode { + PDCH_ULC_NODE_TBF_USF, + PDCH_ULC_NODE_TBF_POLL, + PDCH_ULC_NODE_SBA, +}; +extern const struct value_string pdch_ul_node_names[]; + +struct pdch_ulc_node { + struct rb_node node; /*! entry in pdch_ulc->tree_root */ + uint32_t fn; + enum PdchUlcNode type; + union { + struct { + struct gprs_rlcmac_ul_tbf *ul_tbf; + } tbf_usf; + struct { + struct gprs_rlcmac_tbf *poll_tbf; + } tbf_poll; + struct { + struct gprs_rlcmac_sba *sba; + } sba; + }; +}; + + +struct pdch_ulc *pdch_ulc_alloc(struct gprs_rlcmac_pdch *pdch, void *ctx); + +int pdch_ulc_reserve_tbf_usf(struct pdch_ulc *ulc, uint32_t fn, struct gprs_rlcmac_ul_tbf *ul_tbf); +int pdch_ulc_reserve_tbf_poll(struct pdch_ulc *ulc, uint32_t fn, struct gprs_rlcmac_tbf *tbf); +int pdch_ulc_reserve_sba(struct pdch_ulc *ulc, struct gprs_rlcmac_sba *sba); + +bool pdch_ulc_fn_is_free(struct pdch_ulc *ulc, uint32_t fn); + +struct pdch_ulc_node *pdch_ulc_get_node(struct pdch_ulc *ulc, uint32_t fn); +struct pdch_ulc_node *pdch_ulc_pop_node(struct pdch_ulc *ulc, uint32_t fn); +struct gprs_rlcmac_sba *pdch_ulc_get_sba(struct pdch_ulc *ulc, uint32_t fn); + +int pdch_ulc_release_fn(struct pdch_ulc *ulc, uint32_t fn); + +void pdch_ulc_expire_fn(struct pdch_ulc *ulc, uint32_t fn); diff --git a/src/poll_controller.cpp b/src/poll_controller.cpp index 04ec4fd..fe10171 100644 --- a/src/poll_controller.cpp +++ b/src/poll_controller.cpp @@ -51,7 +51,6 @@ { struct gprs_rlcmac_dl_tbf *dl_tbf; struct gprs_rlcmac_ul_tbf *ul_tbf; - struct gprs_rlcmac_sba *sba, *sba2; struct llist_item *pos; llist_for_each_entry(pos, &m_bts.ul_tbfs, list) { @@ -68,11 +67,4 @@ dl_tbf->poll_timeout(); } } - llist_for_each_entry_safe(sba, sba2, &bts_sba(&m_bts)->m_sbas, list) { - if (elapsed_fn_check(max_delay, frame_number, sba->fn)) { - /* sba will be freed here */ - bts_sba(&m_bts)->timeout(sba); - } - } - } diff --git a/src/sba.c b/src/sba.c new file mode 100644 index 0000000..2c3519d --- /dev/null +++ b/src/sba.c @@ -0,0 +1,90 @@ +/* sba.c + * + * Copyright (C) 2021 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 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#include "pdch.h" +#include "pdch_ul_controller.h" + +/* starting time for assigning single slot + * This offset must be a multiple of 13. */ +#define AGCH_START_OFFSET 52 + + +struct gprs_rlcmac_sba *sba_alloc(void *ctx, struct gprs_rlcmac_pdch *pdch, uint8_t ta) +{ + struct gprs_rlcmac_sba *sba; + sba = talloc_zero(ctx, struct gprs_rlcmac_sba); + if (!sba) + return NULL; + + sba->pdch = pdch; + sba->ta = ta; + + /* TODO: request ULC for next available FN instead of hardcoded AGCH_START_OFFSET */ + sba->fn = next_fn(pdch->last_rts_fn, AGCH_START_OFFSET); + + pdch_ulc_reserve_sba(pdch->ulc, sba); + return sba; +} + +/* Internal use */ +static void sba_free_norelease(struct gprs_rlcmac_sba *sba) +{ + bts_do_rate_ctr_inc(sba->pdch->trx->bts, CTR_SBA_FREED); + talloc_free(sba); +} + +void sba_free(struct gprs_rlcmac_sba *sba) +{ + if (pdch_ulc_release_fn(sba->pdch->ulc, sba->fn) < 0) + LOGPDCH(sba->pdch, DRLCMAC, LOGL_NOTICE, + "Trying to release unregistered SBA (FN=%u, TA=%u)\n", + sba->fn, sba->ta); + sba_free_norelease(sba); +} + +void sba_timeout(struct gprs_rlcmac_sba *sba) +{ + /* Upon timeout, the UL Controller node is already released */ + sba_free_norelease(sba); +} + +uint32_t find_sba_rts(struct gprs_rlcmac_pdch *pdch, uint32_t fn, uint8_t block_nr) +{ + uint32_t sba_fn = rts_next_fn(fn, block_nr); + struct gprs_rlcmac_sba *sba; + + sba = pdch_ulc_get_sba(pdch->ulc, sba_fn); + if (sba) + return sba_fn; + + return 0xffffffff; +} diff --git a/src/sba.cpp b/src/sba.cpp deleted file mode 100644 index 53eb847..0000000 --- a/src/sba.cpp +++ /dev/null @@ -1,157 +0,0 @@ -/* sba.cpp - * - * Copyright (C) 2012 Ivan Klyuchnikov - * Copyright (C) 2012 Andreas Eversberg - * Copyright (C) 2013 by Holger Hans Peter Freyther - * - * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - */ - -#include -#include -#include -#include -#include - -extern "C" { -#include -#include -#include -#include -} - -#include - -extern void *tall_pcu_ctx; - -/* starting time for assigning single slot - * This offset must be a multiple of 13. */ -#define AGCH_START_OFFSET 52 - -SBAController::SBAController(struct gprs_rlcmac_bts &bts) - : m_bts(bts) -{ - INIT_LLIST_HEAD(&m_sbas); -} - -int SBAController::alloc( - uint8_t *_trx, uint8_t *_ts, uint32_t *_fn, uint8_t ta) -{ - - struct gprs_rlcmac_pdch *pdch; - struct gprs_rlcmac_sba *sba; - 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; - - for (trx = 0; trx < 8; trx++) { - for (ts = 7; ts >= 0; ts--) { - pdch = &m_bts.trx[trx].pdch[ts]; - if (!pdch->is_enabled()) - continue; - break; - } - if (ts >= 0) - break; - } - if (trx == 8) { - LOGP(DRLCMAC, LOGL_NOTICE, "No PDCH available.\n"); - talloc_free(sba); - return -EINVAL; - } - - fn = next_fn(pdch->last_rts_fn, AGCH_START_OFFSET); - - sba->trx_no = trx; - sba->ts_no = ts; - sba->fn = fn; - sba->ta = ta; - - llist_add(&sba->list, &m_sbas); - bts_do_rate_ctr_inc(&m_bts, CTR_SBA_ALLOCATED); - - *_trx = trx; - *_ts = ts; - *_fn = fn; - return 0; -} - -gprs_rlcmac_sba *SBAController::find(uint8_t trx, uint8_t ts, uint32_t fn) -{ - struct gprs_rlcmac_sba *sba; - - llist_for_each_entry(sba, &m_sbas, list) { - if (sba->trx_no == trx && sba->ts_no == ts && sba->fn == fn) - return sba; - } - - return NULL; -} - -gprs_rlcmac_sba *SBAController::find(const gprs_rlcmac_pdch *pdch, uint32_t fn) -{ - return find(pdch->trx_no(), pdch->ts_no, fn); -} - -uint32_t SBAController::sched(uint8_t trx, uint8_t ts, uint32_t fn, uint8_t block_nr) -{ - uint32_t sba_fn = fn + 4; - struct gprs_rlcmac_sba *sba; - - /* check special TBF for events */ - if ((block_nr % 3) == 2) - sba_fn++; - sba_fn = sba_fn % GSM_MAX_FN; - sba = find(trx, ts, sba_fn); - if (sba) - return sba_fn; - - return 0xffffffff; -} - -int SBAController::timeout(struct gprs_rlcmac_sba *sba) -{ - LOGP(DRLCMAC, LOGL_NOTICE, - "Poll timeout for SBA (TRX=%u, TS=%u, FN=%u, TA=%u)\n", sba->trx_no, - sba->ts_no, sba->fn, sba->ta); - bts_do_rate_ctr_inc(&m_bts, CTR_SBA_TIMEDOUT); - free_sba(sba); - return 0; -} - -void SBAController::free_sba(gprs_rlcmac_sba *sba) -{ - bts_do_rate_ctr_inc(&m_bts, CTR_SBA_FREED); - llist_del(&sba->list); - talloc_free(sba); -} - -void SBAController::free_resources(struct gprs_rlcmac_pdch *pdch) -{ - struct gprs_rlcmac_sba *sba, *sba2; - const uint8_t trx_no = pdch->trx->trx_no; - const uint8_t ts_no = pdch->ts_no; - - llist_for_each_entry_safe(sba, sba2, &m_sbas, list) { - if (sba->trx_no == trx_no && sba->ts_no == ts_no) - free_sba(sba); - } -} diff --git a/src/sba.h b/src/sba.h index a6e3f82..0f2fdc6 100644 --- a/src/sba.h +++ b/src/sba.h @@ -20,48 +20,31 @@ */ #pragma once +#ifdef __cplusplus +extern "C" { +#endif + #include -extern "C" { #include -} -struct gprs_rlcmac_bts; struct gprs_rlcmac_pdch; /* * single block allocation entry */ struct gprs_rlcmac_sba { - struct llist_head list; - uint8_t trx_no; - uint8_t ts_no; + struct gprs_rlcmac_pdch *pdch; /* PDCH where the SBA is allocated on*/ uint32_t fn; uint8_t ta; }; -/** - * I help to manage SingleBlockAssignment (SBA). - * - * TODO: Add a flush method.. - */ -struct SBAController { - friend class PollController; -public: - SBAController(struct gprs_rlcmac_bts &bts); +struct gprs_rlcmac_sba *sba_alloc(void *ctx, struct gprs_rlcmac_pdch *pdch, uint8_t ta); +void sba_free(struct gprs_rlcmac_sba *sba); +void sba_timeout(struct gprs_rlcmac_sba *sba); - int alloc(uint8_t *_trx, uint8_t *_ts, uint32_t *_fn, uint8_t ta); - gprs_rlcmac_sba *find(uint8_t trx, uint8_t ts, uint32_t fn); - gprs_rlcmac_sba *find(const gprs_rlcmac_pdch *pdch, uint32_t fn); +uint32_t find_sba_rts(struct gprs_rlcmac_pdch *pdch, uint32_t fn, uint8_t block_nr); - uint32_t sched(uint8_t trx, uint8_t ts, uint32_t fn, uint8_t block_nr); - - int timeout(struct gprs_rlcmac_sba *sba); - void free_resources(struct gprs_rlcmac_pdch *pdch); - - void free_sba(gprs_rlcmac_sba *sba); - -private: - struct gprs_rlcmac_bts &m_bts; - llist_head m_sbas; -}; +#ifdef __cplusplus +} +#endif diff --git a/src/tbf.cpp b/src/tbf.cpp index 70b3b12..87ca5bd 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -562,7 +562,7 @@ LOGPTBF(this, LOGL_DEBUG, "Polling is already scheduled\n"); return -EBUSY; } - if (bts_sba(bts)->find(trx->trx_no, ts, new_poll_fn)) { + if (!pdch_ulc_fn_is_free(trx->pdch[ts].ulc, new_poll_fn)) { LOGPTBF(this, LOGL_DEBUG, "Polling is already scheduled " "for single block allocation at FN %d TS %d ...\n", new_poll_fn, ts); diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp index d921cbe..f7524c9 100644 --- a/tests/tbf/TbfTest.cpp +++ b/tests/tbf/TbfTest.cpp @@ -1793,7 +1793,7 @@ */ rc = bts_handle_rach(bts, 0x70, rach_fn, qta); - OSMO_ASSERT(rc == -EINVAL); + OSMO_ASSERT(rc == -EBUSY); TALLOC_FREE(the_pcu); fprintf(stderr, "=== end %s ===\n", __func__); diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index f483625..2f370d4 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -6232,7 +6232,7 @@ MS requests Uplink resource on CCCH/RACH: ra=0x70 (8 bit) Fn=2654167 qta=31 MS requests single block allocation No PDCH available. -No PDCH resource for single block allocation: rc=-22 +No PDCH resource for single block allocation Tx Immediate Assignment Reject on AGCH === end test_immediate_assign_rej_single_block === === start test_tbf_egprs_two_phase_puan === -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23291 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I84b24beea4a1aa2c1528f41435f77bd16df2b947 Gerrit-Change-Number: 23291 Gerrit-PatchSet: 9 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 16 10:02:54 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 10:02:54 +0000 Subject: Change in osmo-pcu[master]: Replace PollController with newly added PDCH UL Controller In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23309 ) Change subject: Replace PollController with newly added PDCH UL Controller ...................................................................... Replace PollController with newly added PDCH UL Controller TbfTest is updated to submit empty blocks to have somehow meaningful output (at least as meaningful test results as before, not much). That's because we must update bts->curr_fn to have polls expire. Related: OS#5020 Change-Id: I683ca738ce5a133c49c36a1d94439a942d64a831 --- M src/Makefile.am M src/bts.cpp M src/bts.h M src/pdch.cpp M src/pdch_ul_controller.c M src/pdch_ul_controller.h D src/poll_controller.cpp D src/poll_controller.h M src/tbf.cpp M src/tbf.h M tests/tbf/TbfTest.cpp M tests/tbf/TbfTest.err 12 files changed, 288 insertions(+), 246 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, but someone else must approve diff --git a/src/Makefile.am b/src/Makefile.am index ab9aeeb..e1225b0 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -63,7 +63,6 @@ bts.cpp \ pdch.cpp \ pdch_ul_controller.c \ - poll_controller.cpp \ encoding.cpp \ sba.c \ decoding.cpp \ @@ -102,7 +101,6 @@ bts.h \ pdch.h \ pdch_ul_controller.h \ - poll_controller.h \ encoding.h \ sba.h \ rlc.h \ diff --git a/src/bts.cpp b/src/bts.cpp index a7d475c..9f78c8b 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -19,7 +19,6 @@ */ #include -#include #include #include #include @@ -212,7 +211,6 @@ * m_ms_store's destructor */ bts->ms_store->cleanup(); delete bts->ms_store; - delete bts->pollController; if (bts->ratectrs) { rate_ctr_group_free(bts->ratectrs); @@ -244,7 +242,6 @@ bts->pcu = pcu; bts->nr = bts_nr; - bts->pollController = new PollController(*bts); bts->ms_store = new GprsMsStorage(bts); bts->cur_fn = 0; @@ -295,16 +292,9 @@ /* The UL frame numbers lag 3 behind the DL frames and the data * indication is only sent after all 4 frames of the block have been * received. Sometimes there is an idle frame between the end of one - * and start of another frame (every 3 blocks). So the timeout should - * definitely be there if we're more than 8 frames past poll_fn. Let's - * stay on the safe side and say 13 or more. An additional delay can - * happen due to the block processing time in the DSP, so the delay of - * decoded blocks relative to the timing clock can be much larger. - * Values up to 50 frames have been observed under load. */ - const static int max_delay = 60; + * and start of another frame (every 3 blocks). */ bts->cur_fn = fn; - bts->pollController->expireTimedout(bts->cur_fn, max_delay); } static inline int delta_fn(int fn, int to) @@ -341,8 +331,6 @@ if (delay < fn_update_ok_min_delay || delay > fn_update_ok_max_delay || bts_current_frame_number(bts) == 0) bts->cur_fn = fn; - - bts->pollController->expireTimedout(fn, max_delay); } int bts_add_paging(struct gprs_rlcmac_bts *bts, uint8_t chan_needed, const struct osmo_mobile_identity *mi) @@ -485,36 +473,6 @@ return false; } -struct gprs_rlcmac_dl_tbf *bts_dl_tbf_by_poll_fn(struct gprs_rlcmac_bts *bts, uint32_t fn, uint8_t trx, uint8_t ts) -{ - struct llist_item *pos; - struct gprs_rlcmac_tbf *tbf; - - /* only one TBF can poll on specific TS/FN, because scheduler can only - * schedule one downlink control block (with polling) at a FN per TS */ - llist_for_each_entry(pos, &bts->dl_tbfs, list) { - tbf = (struct gprs_rlcmac_tbf *)pos->entry; - if (tbf_check(tbf, fn, trx, ts)) - return as_dl_tbf(tbf); - } - return NULL; -} - -struct gprs_rlcmac_ul_tbf *bts_ul_tbf_by_poll_fn(struct gprs_rlcmac_bts *bts, uint32_t fn, uint8_t trx, uint8_t ts) -{ - struct llist_item *pos; - struct gprs_rlcmac_tbf *tbf; - - /* only one TBF can poll on specific TS/FN, because scheduler can only - * schedule one downlink control block (with polling) at a FN per TS */ - llist_for_each_entry(pos, &bts->ul_tbfs, list) { - tbf = (struct gprs_rlcmac_tbf *)pos->entry; - if (tbf_check(tbf, fn, trx, ts)) - return as_ul_tbf(tbf); - } - return NULL; -} - /* lookup downlink TBF Entity (by TFI) */ struct gprs_rlcmac_dl_tbf *bts_dl_tbf_by_tfi(struct gprs_rlcmac_bts *bts, uint8_t tfi, uint8_t trx, uint8_t ts) { @@ -1162,13 +1120,16 @@ void bts_update_tbf_ta(struct gprs_rlcmac_bts *bts, const char *p, uint32_t fn, uint8_t trx_no, uint8_t ts, int8_t ta, bool is_rach) { - struct gprs_rlcmac_ul_tbf *tbf = - bts_ul_tbf_by_poll_fn(bts, fn, trx_no, ts); - if (!tbf) + struct gprs_rlcmac_pdch *pdch = &bts->trx[trx_no].pdch[ts]; + struct pdch_ulc_node *poll = pdch_ulc_get_node(pdch->ulc, fn); + struct gprs_rlcmac_ul_tbf *tbf; + if (!poll || poll->type !=PDCH_ULC_NODE_TBF_POLL || + poll->tbf_poll.poll_tbf->direction != GPRS_RLCMAC_UL_TBF) LOGP(DL1IF, LOGL_DEBUG, "[%s] update TA = %u ignored due to " "unknown UL TBF on TRX = %d, TS = %d, FN = %d\n", p, ta, trx_no, ts, fn); else { + tbf = as_ul_tbf(poll->tbf_poll.poll_tbf); /* we need to distinguish TA information provided by L1 * from PH-DATA-IND and PHY-RA-IND so that we can properly * update TA for given TBF diff --git a/src/bts.h b/src/bts.h index 8070abb..a459c2e 100644 --- a/src/bts.h +++ b/src/bts.h @@ -195,7 +195,6 @@ bool single_block; }; -struct PollController; struct GprsMsStorage; struct pcu_l1_meas; @@ -251,7 +250,6 @@ int cur_blk_fn; uint8_t max_cs_dl, max_cs_ul; uint8_t max_mcs_dl, max_mcs_ul; - struct PollController *pollController; struct rate_ctr_group *ratectrs; struct osmo_stat_item_group *statg; @@ -272,8 +270,6 @@ uint32_t bts_rfn_to_fn(const struct gprs_rlcmac_bts *bts, int32_t rfn); -struct gprs_rlcmac_dl_tbf *bts_dl_tbf_by_poll_fn(struct gprs_rlcmac_bts *bts, uint32_t fn, uint8_t trx, uint8_t ts); -struct gprs_rlcmac_ul_tbf *bts_ul_tbf_by_poll_fn(struct gprs_rlcmac_bts *bts, uint32_t fn, uint8_t trx, uint8_t ts); struct gprs_rlcmac_dl_tbf *bts_dl_tbf_by_tfi(struct gprs_rlcmac_bts *bts, uint8_t tfi, uint8_t trx, uint8_t ts); struct gprs_rlcmac_ul_tbf *bts_ul_tbf_by_tfi(struct gprs_rlcmac_bts *bts, uint8_t tfi, uint8_t trx, uint8_t ts); diff --git a/src/pdch.cpp b/src/pdch.cpp index 1e54117..727ffc6 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -306,12 +306,10 @@ uint32_t tlli = packet->TLLI; GprsMs *ms = bts_ms_by_tlli(bts(), tlli, GSM_RESERVED_TMSI); gprs_rlcmac_ul_tbf *ul_tbf; + struct pdch_ulc_node *poll; - tbf = bts_ul_tbf_by_poll_fn(bts(), fn, trx_no(), ts_no); - if (!tbf) - tbf = bts_dl_tbf_by_poll_fn(bts(), fn, trx_no(), ts_no); - - if (!tbf) { + poll = pdch_ulc_get_node(ulc, fn); + if (!poll || poll->type !=PDCH_ULC_NODE_TBF_POLL || !poll->tbf_poll.poll_tbf) { LOGPDCH(this, DRLCMAC, LOGL_NOTICE, "PACKET CONTROL ACK with " "unknown FN=%u TLLI=0x%08x (TRX %d TS %d)\n", fn, tlli, trx_no(), ts_no); @@ -326,6 +324,7 @@ ms_dl_tbf(ms) ? ms_dl_tbf(ms)->state_name() : "None"); return; } + tbf = poll->tbf_poll.poll_tbf; /* Reset N3101 counter: */ tbf->n_reset(N3101); @@ -334,6 +333,7 @@ LOGPTBF(tbf, LOGL_DEBUG, "RX: [PCU <- BTS] Packet Control Ack\n"); TBF_POLL_SCHED_UNSET(tbf); + pdch_ulc_release_fn(ulc, fn); /* check if this control ack belongs to packet uplink ack */ ul_tbf = as_ul_tbf(tbf); @@ -426,6 +426,7 @@ void gprs_rlcmac_pdch::rcv_control_dl_ack_nack(Packet_Downlink_Ack_Nack_t *ack_nack, uint32_t fn, struct pcu_l1_meas *meas) { int8_t tfi = 0; /* must be signed */ + struct pdch_ulc_node *poll; struct gprs_rlcmac_dl_tbf *tbf; int rc; int num_blocks; @@ -435,13 +436,14 @@ char show_bits[RLC_GPRS_WS + 1]; tfi = ack_nack->DOWNLINK_TFI; - tbf = bts_dl_tbf_by_poll_fn(bts(), fn, trx_no(), ts_no); - if (!tbf) { + poll = pdch_ulc_get_node(ulc, fn); + if (!poll || poll->type != PDCH_ULC_NODE_TBF_POLL) { LOGPDCH(this, DRLCMAC, LOGL_NOTICE, "PACKET DOWNLINK ACK with " "unknown FN=%u TFI=%d (TRX %d TS %d)\n", fn, tfi, trx_no(), ts_no); return; } + tbf = as_dl_tbf(poll->tbf_poll.poll_tbf); if (tbf->tfi() != tfi) { LOGPTBFDL(tbf, LOGL_NOTICE, "PACKET DOWNLINK ACK with wrong TFI=%d, ignoring!\n", tfi); @@ -453,6 +455,7 @@ if (tbf->handle_ack_nack()) LOGPTBF(tbf, LOGL_NOTICE, "Recovered downlink ack\n"); + pdch_ulc_release_fn(ulc, fn); LOGPTBF(tbf, LOGL_DEBUG, "RX: [PCU <- BTS] Packet Downlink Ack/Nack\n"); @@ -493,6 +496,7 @@ { int8_t tfi = 0; /* must be signed */ struct gprs_rlcmac_dl_tbf *tbf; + struct pdch_ulc_node *poll; gprs_rlc_dl_window *window; int rc; int num_blocks; @@ -502,13 +506,14 @@ int bsn_begin, bsn_end; tfi = ack_nack->DOWNLINK_TFI; - tbf = bts_dl_tbf_by_poll_fn(bts(), fn, trx_no(), ts_no); - if (!tbf) { + poll = pdch_ulc_get_node(ulc, fn); + if (!poll || poll->type !=PDCH_ULC_NODE_TBF_POLL) { LOGPDCH(this, DRLCMAC, LOGL_NOTICE, "EGPRS PACKET DOWNLINK ACK with " "unknown FN=%u TFI=%d (TRX %d TS %d)\n", fn, tfi, trx_no(), ts_no); return; } + tbf = as_dl_tbf(poll->tbf_poll.poll_tbf); if (tbf->tfi() != tfi) { LOGPDCH(this, DRLCMAC, LOGL_NOTICE, "EGPRS PACKET DOWNLINK ACK with " "wrong TFI=%d, ignoring!\n", tfi); @@ -520,6 +525,7 @@ if (tbf->handle_ack_nack()) LOGPTBF(tbf, LOGL_NOTICE, "Recovered EGPRS downlink ack\n"); + pdch_ulc_release_fn(ulc, fn); LOGPTBF(tbf, LOGL_DEBUG, "RX: [PCU <- BTS] EGPRS Packet Downlink Ack/Nack\n"); @@ -694,6 +700,7 @@ void gprs_rlcmac_pdch::rcv_measurement_report(Packet_Measurement_Report_t *report, uint32_t fn) { struct gprs_rlcmac_sba *sba; + struct pdch_ulc_node *poll; GprsMs *ms; ms = bts_ms_by_tlli(bts(), report->TLLI, GSM_RESERVED_TMSI); @@ -703,9 +710,23 @@ ms = bts_alloc_ms(bts(), 0, 0); ms_set_tlli(ms, report->TLLI); } - if ((sba = pdch_ulc_get_sba(this->ulc, fn))) { - ms_set_ta(ms, sba->ta); - sba_free(sba); + if ((poll = pdch_ulc_get_node(ulc, fn))) { + switch (poll->type) { + case PDCH_ULC_NODE_TBF_USF: + break; + case PDCH_ULC_NODE_TBF_POLL: + LOGPDCH(this, DRLCMAC, LOGL_INFO, "FN=%" PRIu32 " Rx Meas Report " + "on RRBP POLL, this probably means a DL/CTRL ACK/NACk will " + "need to be polled again later\n", fn); + TBF_POLL_SCHED_UNSET(poll->tbf_poll.poll_tbf); + pdch_ulc_release_fn(ulc, fn); + break; + case PDCH_ULC_NODE_SBA: + sba = poll->sba.sba; + ms_set_ta(ms, sba->ta); + sba_free(sba); + break; + } } gprs_rlcmac_meas_rep(ms, report); } @@ -795,6 +816,7 @@ "FN=%u RX: [PCU <- BTS] unknown control block(%d) received\n", fn, ul_control_block->u.MESSAGE_TYPE); } + free_ret: talloc_free(ul_control_block); bitvec_free(rlc_block); @@ -809,13 +831,8 @@ bts_set_current_frame_number(trx->bts, fn); /* No successfully decoded UL block was received during this FN: */ - if (len == 0) { - /* TODO: Here, in the future, it can be checked whether a UL block was expected for: - * - UL/DL TBFs: RRBP poll pending (bts->pollController->expireTimedout) - * - UL TBFs: USF poll pending (we don't store this info in ul_tbf yet) -> inc N3101 (OS#5033) - */ + if (len == 0) return 0; - } enum CodingScheme cs = mcs_get_by_size_ul(len); if (!cs) { @@ -1007,6 +1024,8 @@ m_assigned_tfi[tbf->direction] &= ~(1UL << tbf->tfi()); m_tbfs[tbf->direction][tbf->tfi()] = NULL; + pdch_ulc_release_tbf(ulc, tbf); + LOGPDCH(this, DRLCMAC, LOGL_INFO, "Detaching %s, %d TBFs, " "USFs = %02x, TFIs = %08x.\n", tbf->name(), m_num_tbfs[tbf->direction], diff --git a/src/pdch_ul_controller.c b/src/pdch_ul_controller.c index ecd3691..38e6893 100644 --- a/src/pdch_ul_controller.c +++ b/src/pdch_ul_controller.c @@ -25,6 +25,7 @@ #include "bts.h" #include "sba.h" #include "pdch.h" +#include "pcu_utils.h" /* TS 44.060 Table 10.4.5.1 states maximum RRBP is N + 26. Give extra space for time diff between Tx and Rx? */ #define MAX_FN_RESERVED (27 + 50) @@ -83,6 +84,22 @@ return !pdch_ulc_get_node(ulc, fn); } +int pdch_ulc_get_next_free_rrbp_fn(struct pdch_ulc *ulc, uint32_t fn, uint32_t *poll_fn, unsigned int *rrbp) +{ + /* TODO: support other RRBP offsets, see TS 44.060 able 10.4.5.1 */ + uint32_t new_poll_fn = next_fn(fn, 13); + if (!pdch_ulc_fn_is_free(ulc, new_poll_fn)) { + LOGPDCH(ulc->pdch, DRLCMAC, LOGL_ERROR, "Polling is already scheduled " + "for single block allocation at FN=%u\n", fn); + return -EBUSY; + } + + *poll_fn = new_poll_fn; + *rrbp = 0; + + return 0; +} + static struct pdch_ulc_node *_alloc_node(struct pdch_ulc *ulc, uint32_t fn) { struct pdch_ulc_node *node; @@ -126,7 +143,10 @@ int pdch_ulc_reserve_tbf_poll(struct pdch_ulc *ulc, uint32_t fn, struct gprs_rlcmac_tbf *tbf) { - return 0; /* TODO: implement */ + struct pdch_ulc_node *item = _alloc_node(ulc, fn); + item->type = PDCH_ULC_NODE_TBF_POLL; + item->tbf_poll.poll_tbf = tbf; + return pdch_ulc_add_node(ulc, item); } int pdch_ulc_reserve_sba(struct pdch_ulc *ulc, struct gprs_rlcmac_sba *sba) @@ -147,6 +167,40 @@ return 0; } +void pdch_ulc_release_tbf(struct pdch_ulc *ulc, const struct gprs_rlcmac_tbf *tbf) +{ + bool tree_modified; + do { + struct rb_node *node; + struct pdch_ulc_node *item; + const struct gprs_rlcmac_tbf *item_tbf; + + tree_modified = false; + for (node = rb_first(&ulc->tree_root); node; node = rb_next(node)) { + item = container_of(node, struct pdch_ulc_node, node); + switch (item->type) { + case PDCH_ULC_NODE_SBA: + continue; + case PDCH_ULC_NODE_TBF_POLL: + item_tbf = item->tbf_poll.poll_tbf; + break; + case PDCH_ULC_NODE_TBF_USF: + item_tbf = (struct gprs_rlcmac_tbf *)item->tbf_usf.ul_tbf; + break; + } + if (item_tbf != tbf) + continue; + /* One entry found, remove it from tree and restart + * search from start (to avoid traverse continue from + * no-more existant node */ + tree_modified = true; + rb_erase(&item->node, &ulc->tree_root); + talloc_free(item); + break; + } + } while (tree_modified); +} + void pdch_ulc_expire_fn(struct pdch_ulc *ulc, uint32_t fn) { struct gprs_rlcmac_sba *sba; @@ -170,7 +224,10 @@ /* TODO: increase N3...*/ break; case PDCH_ULC_NODE_TBF_POLL: - /* TODO: increase N3...*/ + LOGPDCH(ulc->pdch, DRLCMAC, LOGL_NOTICE, + "Timeout for registered POLL (FN=%u): %s\n", + item->fn, tbf_name(item->tbf_poll.poll_tbf)); + tbf_poll_timeout(item->tbf_poll.poll_tbf); break; case PDCH_ULC_NODE_SBA: sba = item->sba.sba; diff --git a/src/pdch_ul_controller.h b/src/pdch_ul_controller.h index e86dbf5..53604a9 100644 --- a/src/pdch_ul_controller.h +++ b/src/pdch_ul_controller.h @@ -70,10 +70,14 @@ bool pdch_ulc_fn_is_free(struct pdch_ulc *ulc, uint32_t fn); +int pdch_ulc_get_next_free_rrbp_fn(struct pdch_ulc *ulc, uint32_t fn, uint32_t *poll_fn, unsigned int *rrbp); + struct pdch_ulc_node *pdch_ulc_get_node(struct pdch_ulc *ulc, uint32_t fn); struct pdch_ulc_node *pdch_ulc_pop_node(struct pdch_ulc *ulc, uint32_t fn); struct gprs_rlcmac_sba *pdch_ulc_get_sba(struct pdch_ulc *ulc, uint32_t fn); +void pdch_ulc_release_tbf(struct pdch_ulc *ulc, const struct gprs_rlcmac_tbf *tbf); + int pdch_ulc_release_fn(struct pdch_ulc *ulc, uint32_t fn); void pdch_ulc_expire_fn(struct pdch_ulc *ulc, uint32_t fn); diff --git a/src/poll_controller.cpp b/src/poll_controller.cpp deleted file mode 100644 index fe10171..0000000 --- a/src/poll_controller.cpp +++ /dev/null @@ -1,70 +0,0 @@ -/* poll_controller.h - * - * Copyright (C) 2012 Andreas Eversberg - * Copyright (C) 2013 by Holger Hans Peter Freyther - * - * All Rights Reserved - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - * - */ - -#include -#include -#include -#include -#include -#include -#include - -extern "C" { -#include -#include -} - -PollController::PollController(struct gprs_rlcmac_bts& bts) - : m_bts(bts) -{} - -static inline bool elapsed_fn_check(unsigned max_delay, int frame_number, uint32_t from) -{ - uint32_t elapsed = (frame_number + GSM_MAX_FN - from) % GSM_MAX_FN; - - if (elapsed > max_delay && elapsed < 2715400) - return true; - - return false; -} - -void PollController::expireTimedout(int frame_number, unsigned max_delay) -{ - struct gprs_rlcmac_dl_tbf *dl_tbf; - struct gprs_rlcmac_ul_tbf *ul_tbf; - struct llist_item *pos; - - llist_for_each_entry(pos, &m_bts.ul_tbfs, list) { - ul_tbf = as_ul_tbf((struct gprs_rlcmac_tbf *)pos->entry); - if (ul_tbf->poll_scheduled()) { - if (elapsed_fn_check(max_delay, frame_number, ul_tbf->poll_fn)) - ul_tbf->poll_timeout(); - } - } - llist_for_each_entry(pos, &m_bts.dl_tbfs, list) { - dl_tbf = as_dl_tbf((struct gprs_rlcmac_tbf *)pos->entry); - if (dl_tbf->poll_scheduled()) { - if (elapsed_fn_check(max_delay, frame_number, dl_tbf->poll_fn)) - dl_tbf->poll_timeout(); - } - } -} diff --git a/src/poll_controller.h b/src/poll_controller.h deleted file mode 100644 index 8e709a3..0000000 --- a/src/poll_controller.h +++ /dev/null @@ -1,45 +0,0 @@ -/* poll_controller.h - * - * Copyright (C) 2013 by Holger Hans Peter Freyther - * - * All Rights Reserved - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU 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 . - * - */ - -#pragma once - -struct gprs_rlcmac_bts; - -/** - * I belong to a BTS and I am responsible for finding TBFs and - * SBAs that should have been polled and execute the timeout - * action on them. - */ -struct PollController { -public: - PollController(struct gprs_rlcmac_bts& bts); - - /* check for poll timeout */ - void expireTimedout(int frame_number, unsigned max_delay); - -private: - struct gprs_rlcmac_bts& m_bts; - -private: - /* disable copying to avoid slicing */ - PollController(const PollController&); - PollController& operator=(const PollController&); -}; diff --git a/src/tbf.cpp b/src/tbf.cpp index 87ca5bd..7237f58 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -550,8 +550,7 @@ int gprs_rlcmac_tbf::check_polling(uint32_t fn, uint8_t ts, uint32_t *poll_fn_, unsigned int *rrbp_) const { - uint32_t new_poll_fn = next_fn(fn, 13); - + int rc; if (!is_control_ts(ts)) { LOGPTBF(this, LOGL_DEBUG, "Polling cannot be " "scheduled in this TS %d (first control TS %d)\n", @@ -562,15 +561,13 @@ LOGPTBF(this, LOGL_DEBUG, "Polling is already scheduled\n"); return -EBUSY; } - if (!pdch_ulc_fn_is_free(trx->pdch[ts].ulc, new_poll_fn)) { - LOGPTBF(this, LOGL_DEBUG, "Polling is already scheduled " - "for single block allocation at FN %d TS %d ...\n", - new_poll_fn, ts); - return -EBUSY; - } - *poll_fn_ = new_poll_fn; - *rrbp_ = 0; + if ((rc = pdch_ulc_get_next_free_rrbp_fn(trx->pdch[ts].ulc, fn, poll_fn_, rrbp_)) < 0) { + LOGPTBF(this, LOGL_DEBUG, + "(bts=%u,trx=%u,ts=%u) FN=%u No suitable free RRBP offset found!\n", + trx->bts->nr, trx->trx_no, ts, fn); + return rc; + } return 0; } @@ -591,6 +588,11 @@ chan, new_poll_fn, ts); /* schedule polling */ + if (pdch_ulc_reserve_tbf_poll(trx->pdch[ts].ulc, new_poll_fn, this) < 0) { + LOGPTBFDL(this, LOGL_ERROR, "Failed scheduling poll on %s (FN=%d, TS=%d)\n", + chan, poll_fn, ts); + return; + } poll_state = GPRS_RLCMAC_POLL_SCHED; poll_fn = new_poll_fn; poll_ts = ts; @@ -1230,3 +1232,8 @@ { return tbf->set_polling(new_poll_fn, ts, t); } + +void tbf_poll_timeout(struct gprs_rlcmac_tbf *tbf) +{ + tbf->poll_timeout(); +} diff --git a/src/tbf.h b/src/tbf.h index 989ec08..779bc26 100644 --- a/src/tbf.h +++ b/src/tbf.h @@ -209,6 +209,7 @@ int tbf_assign_control_ts(struct gprs_rlcmac_tbf *tbf); int tbf_check_polling(const struct gprs_rlcmac_tbf *tbf, uint32_t fn, uint8_t ts, uint32_t *poll_fn, unsigned int *rrbp); void tbf_set_polling(struct gprs_rlcmac_tbf *tbf, uint32_t new_poll_fn, uint8_t ts, enum gprs_rlcmac_tbf_poll_type t); +void tbf_poll_timeout(struct gprs_rlcmac_tbf *tbf); #ifdef __cplusplus } #endif diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp index f7524c9..ed54545 100644 --- a/tests/tbf/TbfTest.cpp +++ b/tests/tbf/TbfTest.cpp @@ -629,6 +629,14 @@ return ul_tbf; } +static void send_ul_mac_block_buf(struct gprs_rlcmac_bts *bts, struct gprs_rlcmac_pdch *pdch, + unsigned fn, uint8_t *buf, int num_bytes) +{ + bts_set_current_block_frame_number(bts, fn, 0); + pdch->rcv_block(buf, num_bytes, fn, &meas); + pdch_ulc_expire_fn(pdch->ulc, fn); +} + static void send_ul_mac_block(struct gprs_rlcmac_bts *bts, unsigned trx_no, unsigned ts_no, RlcMacUplink_t *ulreq, unsigned fn) { @@ -644,10 +652,8 @@ OSMO_ASSERT(size_t(num_bytes) < sizeof(buf)); bitvec_free(rlc_block); - bts_set_current_block_frame_number(bts, fn, 0); - pdch = &bts->trx[trx_no].pdch[ts_no]; - pdch->rcv_block(&buf[0], num_bytes, fn, &meas); + send_ul_mac_block_buf(bts, pdch, fn, &buf[0], num_bytes); } static void send_control_ack(gprs_rlcmac_tbf *tbf) @@ -667,6 +673,13 @@ &ulreq, tbf->poll_fn); } +static void send_empty_block(gprs_rlcmac_tbf *tbf, unsigned ts_no, unsigned fn) +{ + struct gprs_rlcmac_pdch *pdch; + pdch = &tbf->bts->trx[tbf->trx->trx_no].pdch[ts_no]; + send_ul_mac_block_buf(tbf->bts, pdch, fn, NULL, 0); +} + static gprs_rlcmac_ul_tbf *puan_urbb_len_issue(struct gprs_rlcmac_bts *bts, uint8_t ts_no, uint32_t tlli, uint32_t *fn, uint16_t qta, uint8_t ms_class, uint8_t egprs_ms_class) @@ -1887,6 +1900,7 @@ const char *imsi = "0011223344"; uint8_t ms_class = 1; gprs_rlcmac_ul_tbf *ul_tbf; + gprs_rlcmac_dl_tbf *dl_tbf; GprsMs *ms, *ms1, *ms2; fprintf(stderr, "=== start %s ===\n", __func__); @@ -1913,6 +1927,12 @@ transmit_dl_data(bts, tlli1, &fn); OSMO_ASSERT(llc_queue_size(ms_llc_queue(ms1)) == 0); + dl_tbf = ms_dl_tbf(ms1); + OSMO_ASSERT(dl_tbf); + fn = dl_tbf->poll_fn; + send_empty_block(dl_tbf, dl_tbf->poll_ts, fn); + fn = fn_add_blocks(fn, 1); + /* Now establish a new TBF for the RA UPDATE COMPLETE (new TLLI) */ ul_tbf = establish_ul_tbf_two_phase(bts, ts_no, tlli2, &fn, qta, ms_class, 0); @@ -2679,9 +2699,11 @@ OSMO_ASSERT(dl_tbf->state_is(GPRS_RLCMAC_FLOW)); /* Drain the queue */ - while (dl_tbf->have_data()) + while (dl_tbf->have_data()) { /* Request to send one RLC/MAC block */ request_dl_rlc_block(dl_tbf, &fn); + } + send_empty_block(dl_tbf, dl_tbf->poll_ts, fn); /* Schedule a large LLC frame */ dl_tbf->append_data(1000, test_data, sizeof(test_data)); @@ -2689,9 +2711,11 @@ OSMO_ASSERT(dl_tbf->state_is(GPRS_RLCMAC_FLOW)); /* Drain the queue */ - while (dl_tbf->have_data()) + while (dl_tbf->have_data()) { /* Request to send one RLC/MAC block */ request_dl_rlc_block(dl_tbf, &fn); + } + send_empty_block(dl_tbf, dl_tbf->poll_ts, fn); OSMO_ASSERT(dl_tbf->state_is(GPRS_RLCMAC_FLOW)); @@ -3034,7 +3058,8 @@ /* Send first RLC data block with demanded_mcs */ MAKE_ACKED(msg, dl_tbf, fn, mcs, true); } - + /* Clean up pending items in UL controller: */ + send_empty_block(dl_tbf, dl_tbf->poll_ts, fn+50); tbf_cleanup(dl_tbf); } diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index 2f370d4..c519a67 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -1706,26 +1706,31 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) starting timer T3191 [final block (DL-TBF)] with 5 sec. 0 microsec, cur_fn=2654288 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Scheduled Ack/Nack polling on FN=2654292, TS=7 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) msg block (BSN 0, CS-4): 0f 01 00 29 52 41 55 5f 41 43 43 45 50 54 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 00 -Received RTS for PDCH: TRX=0 TS=7 FN=2654283 block_nr=11 scheduling USF=0 for required uplink resource of UL TFI=0 -PDCH(bts=0,trx=0,ts=7) FN=2654283 Scheduling data message at RTS for DL TFI=0 prio=1 mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) Timeout for registered POLL (FN=2654292): TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) poll timeout for FN=2654292, TS=7 (curr FN 2654292) +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) N3101 0 => 1 (< MAX 10) +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) N3105 0 => 1 (< MAX 8) +Received RTS for PDCH: TRX=0 TS=7 FN=2654296 block_nr=2 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) FN=2654296 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS_GMSK-only TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Restarting at BSN 0, because all blocks have been transmitted. TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Resending BSN 0 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) need_padding 0 spb_status 0 spb 0 (BSN1 0 BSN2 -1) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Copying data unit 0 (BSN 0) -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) msg block (BSN 0, CS-4): 07 01 00 29 52 41 55 5f 41 43 43 45 50 54 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 00 -MS requests Uplink resource on CCCH/RACH: ra=0x73 (8 bit) Fn=2654232 qta=31 +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Scheduling Ack/Nack polling, because polling timed out. +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Scheduled DL Acknowledgement polling on PACCH (FN=2654309, TS=7) +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) restarting timer T3191 [final block (DL-TBF)] with 5 sec. 0 microsec, cur_fn=2654292 +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Scheduled Ack/Nack polling on FN=2654309, TS=7 +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) msg block (BSN 0, CS-4): 0f 01 00 29 52 41 55 5f 41 43 43 45 50 54 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 00 +MS requests Uplink resource on CCCH/RACH: ra=0x73 (8 bit) Fn=2654245 qta=31 MS requests single block allocation -Allocated a single block at SBFn=2654335 TRX=0 TS=7 +Allocated a single block at SBFn=2654348 TRX=0 TS=7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=-1 USF=7 Found first unallocated TRX=0 TFI=1 -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) poll timeout for FN=2654292, TS=7 (curr FN 2654335) -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) N3101 0 => 1 (< MAX 10) -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) N3105 0 => 1 (< MAX 8) -PDCH(bts=0,trx=0,ts=7) FN=2654335 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ -PDCH(bts=0,trx=0,ts=7) FN=2654335 ------------------------- RX : Uplink Control Block ------------------------- +PDCH(bts=0,trx=0,ts=7) FN=2654348 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ +PDCH(bts=0,trx=0,ts=7) FN=2654348 ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0xffffffff Modifying MS object, UL TLLI: 0xffffffff -> 0xf5667788, not yet confirmed PDCH(bts=0,trx=0,ts=7) MS requests UL TBF in packet resource request of single block, so we provide one: @@ -1747,17 +1752,23 @@ TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=NULL) Allocated: trx = 0, ul_slots = 80, dl_slots = 00 MS(TLLI=0xf5667788, IMSI=, TA=7, 1/0,) Attaching UL TBF: TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=NULL) TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=NULL) changes state from NULL to ASSIGN -TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654335 +TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654348 TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS -Received RTS for PDCH: TRX=0 TS=7 FN=2654335 block_nr=11 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654348 but previous FN=2654309 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered POLL (FN=2654309): TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) poll timeout for FN=2654309, TS=7 (curr FN 2654348) +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) N3101 1 => 2 (< MAX 10) +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) N3105 1 => 2 (< MAX 8) +Received RTS for PDCH: TRX=0 TS=7 FN=2654348 block_nr=2 scheduling USF=0 for required uplink resource of UL TFI=0 TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) start Packet Uplink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- -TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) Scheduled UL Assignment polling on PACCH (FN=2654348, TS=7) -PDCH(bts=0,trx=0,ts=7) FN=2654335 Scheduling control message at RTS for TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) -PDCH(bts=0,trx=0,ts=7) FN=2654348 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ -PDCH(bts=0,trx=0,ts=7) FN=2654348 ------------------------- RX : Uplink Control Block ------------------------- +TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) Scheduled UL Assignment polling on PACCH (FN=2654361, TS=7) +PDCH(bts=0,trx=0,ts=7) FN=2654348 Scheduling control message at RTS for TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) +PDCH(bts=0,trx=0,ts=7) FN=2654361 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ +PDCH(bts=0,trx=0,ts=7) FN=2654361 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) RX: [PCU <- BTS] Packet Control Ack TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) changes poll state from GPRS_RLCMAC_POLL_SCHED to GPRS_RLCMAC_POLL_NONE TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) [DOWNLINK] UPLINK ASSIGNED @@ -1765,7 +1776,7 @@ TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) changes state from ASSIGN to FLOW PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=1, CPS=0, RSB=0, rc=184 TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) UL DATA TFI=1 received (V(Q)=0 .. V(R)=0) -TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654340 +TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654353 TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) BSN 0 storing in window (0..63) TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) data_length=20, data=00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @@ -3691,11 +3702,17 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 24, MCS-1): 07 00 06 16 18 fe 03 02 02 02 02 02 56 56 56 56 56 56 56 56 56 56 56 56 56 56 00 +PDCH(bts=0,trx=0,ts=4) Expiring FN=112 but previous FN=13 is still reserved! +PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 112) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3101 0 => 1 (< MAX 10) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |No downlink ACK received yet| +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to WAIT RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=2654167 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_WAIT_ACK to GPRS_RLCMAC_DL_ASS_NONE +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=112 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_SEND_ASS to GPRS_RLCMAC_DL_ASS_NONE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes state from WAIT RELEASE to RELEASING TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) stopping timer T3193 [freeing TBF] @@ -3947,11 +3964,17 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 19, MCS-2): 07 c0 04 12 20 fe 03 02 02 02 02 02 02 02 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 00 +PDCH(bts=0,trx=0,ts=4) Expiring FN=91 but previous FN=13 is still reserved! +PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 91) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3101 0 => 1 (< MAX 10) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |No downlink ACK received yet| +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to WAIT RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=2654167 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_WAIT_ACK to GPRS_RLCMAC_DL_ASS_NONE +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=91 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_SEND_ASS to GPRS_RLCMAC_DL_ASS_NONE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes state from WAIT RELEASE to RELEASING TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) stopping timer T3193 [freeing TBF] @@ -4153,11 +4176,17 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 14, MCS-3): 07 80 03 06 7c fe 03 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 56 56 56 56 00 +PDCH(bts=0,trx=0,ts=4) Expiring FN=69 but previous FN=13 is still reserved! +PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 69) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3101 0 => 1 (< MAX 10) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |No downlink ACK received yet| +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to WAIT RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=2654167 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_WAIT_ACK to GPRS_RLCMAC_DL_ASS_NONE +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=69 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_SEND_ASS to GPRS_RLCMAC_DL_ASS_NONE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes state from WAIT RELEASE to RELEASING TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) stopping timer T3193 [freeing TBF] @@ -4339,11 +4368,17 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 12, MCS-4): 07 00 03 00 70 fe 03 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 56 56 56 56 56 56 56 56 56 56 56 56 56 56 00 +PDCH(bts=0,trx=0,ts=4) Expiring FN=60 but previous FN=13 is still reserved! +PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 60) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3101 0 => 1 (< MAX 10) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |No downlink ACK received yet| +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to WAIT RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=2654167 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_WAIT_ACK to GPRS_RLCMAC_DL_ASS_NONE +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=60 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_SEND_ASS to GPRS_RLCMAC_DL_ASS_NONE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes state from WAIT RELEASE to RELEASING TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) stopping timer T3193 [freeing TBF] @@ -4505,11 +4540,17 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 10, MCS-5): 07 80 02 08 c4 7f 40 40 40 40 40 40 40 c0 ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca 0a +PDCH(bts=0,trx=0,ts=4) Expiring FN=52 but previous FN=13 is still reserved! +PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 52) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3101 0 => 1 (< MAX 10) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |No downlink ACK received yet| +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to WAIT RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=2654167 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_WAIT_ACK to GPRS_RLCMAC_DL_ASS_NONE +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=52 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_SEND_ASS to GPRS_RLCMAC_DL_ASS_NONE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes state from WAIT RELEASE to RELEASING TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) stopping timer T3193 [freeing TBF] @@ -4641,11 +4682,17 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 7, MCS-6): 07 c0 01 00 e2 7f 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 c0 ca ca ca 0a +PDCH(bts=0,trx=0,ts=4) Expiring FN=39 but previous FN=13 is still reserved! +PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 39) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3101 0 => 1 (< MAX 10) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |No downlink ACK received yet| +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to WAIT RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=2654167 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_WAIT_ACK to GPRS_RLCMAC_DL_ASS_NONE +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=39 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_SEND_ASS to GPRS_RLCMAC_DL_ASS_NONE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes state from WAIT RELEASE to RELEASING TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) stopping timer T3193 [freeing TBF] @@ -4784,11 +4831,17 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 10, MCS-5): 07 80 02 08 c4 7f 40 40 40 40 40 40 40 c0 ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca 0a +PDCH(bts=0,trx=0,ts=4) Expiring FN=34 but previous FN=13 is still reserved! +PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 34) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3101 0 => 1 (< MAX 10) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |No downlink ACK received yet| +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to WAIT RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=2654167 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_WAIT_ACK to GPRS_RLCMAC_DL_ASS_NONE +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=34 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_SEND_ASS to GPRS_RLCMAC_DL_ASS_NONE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes state from WAIT RELEASE to RELEASING TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) stopping timer T3193 [freeing TBF] @@ -4916,11 +4969,17 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 8, MCS-8): 07 00 02 00 60 20 fd 07 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac 80 f4 1f 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 b0 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 02 +PDCH(bts=0,trx=0,ts=4) Expiring FN=30 but previous FN=13 is still reserved! +PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 30) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3101 0 => 1 (< MAX 10) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |No downlink ACK received yet| +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to WAIT RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=2654167 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_WAIT_ACK to GPRS_RLCMAC_DL_ASS_NONE +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=30 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_SEND_ASS to GPRS_RLCMAC_DL_ASS_NONE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes state from WAIT RELEASE to RELEASING TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) stopping timer T3193 [freeing TBF] @@ -5035,11 +5094,17 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 6, MCS-9): 07 80 01 02 00 05 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 80 f8 1f 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 b0 b2 b2 b2 02 +PDCH(bts=0,trx=0,ts=4) Expiring FN=26 but previous FN=13 is still reserved! +PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 26) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3101 0 => 1 (< MAX 10) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |No downlink ACK received yet| +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to WAIT RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=2654167 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_WAIT_ACK to GPRS_RLCMAC_DL_ASS_NONE +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=26 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_SEND_ASS to GPRS_RLCMAC_DL_ASS_NONE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes state from WAIT RELEASE to RELEASING TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) stopping timer T3193 [freeing TBF] @@ -5095,7 +5160,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to WAIT RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=2654167 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=58 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_SEND_ASS to GPRS_RLCMAC_DL_ASS_NONE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes state from WAIT RELEASE to RELEASING TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free @@ -5150,7 +5215,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to WAIT RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=2654167 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=58 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_SEND_ASS to GPRS_RLCMAC_DL_ASS_NONE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes state from WAIT RELEASE to RELEASING TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free @@ -5205,7 +5270,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to WAIT RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=2654167 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=58 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_SEND_ASS to GPRS_RLCMAC_DL_ASS_NONE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes state from WAIT RELEASE to RELEASING TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free @@ -5273,10 +5338,16 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 1 (BSN 1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-7): 07 00 00 02 c0 01 04 08 0c 10 14 18 1c 20 24 28 2c 30 34 38 3c 40 44 48 4c 50 54 58 5c 60 64 68 6c 70 74 78 7c 80 84 88 8c 90 94 98 9c a0 a4 a8 ac b0 b4 b8 bc c0 c4 c8 cc d0 d4 d8 dc 80 f5 8f 93 a3 b3 c3 d3 e3 f3 03 14 24 34 44 54 64 74 84 94 a4 b4 c4 d4 e4 f4 04 15 25 35 45 55 65 75 85 95 a5 b5 c5 d5 e5 f5 05 16 26 36 b6 b2 b2 b2 b2 b2 b2 b2 b2 b2 02 +PDCH(bts=0,trx=0,ts=4) Expiring FN=63 but previous FN=21 is still reserved! +PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=21): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=21, TS=4 (curr FN 63) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3101 0 => 1 (< MAX 10) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |No downlink ACK received yet| +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to WAIT RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=2654167 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=63 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_SEND_ASS to GPRS_RLCMAC_DL_ASS_NONE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes state from WAIT RELEASE to RELEASING TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free @@ -5344,10 +5415,16 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 1 (BSN 1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-9): 07 00 00 02 28 01 04 08 0c 10 14 18 1c 20 24 28 2c 30 34 38 3c 40 44 48 4c 50 54 58 5c 60 64 68 6c 70 74 78 7c 80 84 88 8c 90 94 98 9c a0 a4 a8 ac b0 b4 b8 bc c0 c4 c8 cc d0 d4 d8 dc e0 e4 e8 ec f0 f4 f8 fc 00 05 09 0d 11 15 19 1d 21 25 41 f3 af b4 c4 d4 e4 f4 04 15 25 35 45 55 65 75 85 95 a5 b5 c5 d5 e5 f5 05 16 26 36 b6 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 02 +PDCH(bts=0,trx=0,ts=4) Expiring FN=63 but previous FN=21 is still reserved! +PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=21): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=21, TS=4 (curr FN 63) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3101 0 => 1 (< MAX 10) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |No downlink ACK received yet| +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to WAIT RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=2654167 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=63 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_SEND_ASS to GPRS_RLCMAC_DL_ASS_NONE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes state from WAIT RELEASE to RELEASING TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free @@ -5415,10 +5492,16 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 1, MCS-5): 07 40 00 08 d6 3f 4e 8e ce 0e 4f 8f cf 0f 50 90 d0 10 51 91 d1 11 52 92 d2 12 53 93 d3 13 54 94 d4 14 55 95 d5 15 56 96 d6 16 57 97 d7 17 58 98 d8 d8 ca ca ca ca ca ca ca ca ca 0a +PDCH(bts=0,trx=0,ts=4) Expiring FN=63 but previous FN=17 is still reserved! +PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=17, TS=4 (curr FN 63) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3101 0 => 1 (< MAX 10) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |No downlink ACK received yet| +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to WAIT RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=2654167 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=63 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_SEND_ASS to GPRS_RLCMAC_DL_ASS_NONE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes state from WAIT RELEASE to RELEASING TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free @@ -5486,10 +5569,16 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 1, MCS-6): 07 40 00 02 cd bf d2 12 53 93 d3 13 54 94 d4 14 55 95 d5 15 56 96 d6 16 57 97 d7 17 58 98 d8 d8 ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca 0a +PDCH(bts=0,trx=0,ts=4) Expiring FN=63 but previous FN=17 is still reserved! +PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=17, TS=4 (curr FN 63) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3101 0 => 1 (< MAX 10) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |No downlink ACK received yet| +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to WAIT RELEASE -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=2654167 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=63 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes DL ASS state from GPRS_RLCMAC_DL_ASS_SEND_ASS to GPRS_RLCMAC_DL_ASS_NONE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE EGPRS) changes state from WAIT RELEASE to RELEASING TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING EGPRS) free -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23309 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I683ca738ce5a133c49c36a1d94439a942d64a831 Gerrit-Change-Number: 23309 Gerrit-PatchSet: 6 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 Mar 16 10:02:54 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 10:02:54 +0000 Subject: Change in osmo-pcu[master]: sched: Use new PDCH UL Controller In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23323 ) Change subject: sched: Use new PDCH UL Controller ...................................................................... sched: Use new PDCH UL Controller Take the time to also do small refactorings to clarify and simplify the function, by using rts_next_fn() already available in pcu_utils.h and getting rid of poll_tbf from tbf_candidates, which clearly follows another objective. Using PDCH UL Controller has the advantage that we don't need to check poll_scheduled() on each TBF, but only do the query once. Related: OS#5020 Change-Id: Ia60bb5249a9837dec1f42180e44d9848334d86d6 --- M src/gprs_rlcmac_sched.cpp M src/pdch_ul_controller.c M src/pdch_ul_controller.h 3 files changed, 23 insertions(+), 24 deletions(-) Approvals: Jenkins Builder: Verified laforge: 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/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp index ce8fd02..c63ed6e 100644 --- a/src/gprs_rlcmac_sched.cpp +++ b/src/gprs_rlcmac_sched.cpp @@ -35,36 +35,25 @@ } struct tbf_sched_candidates { - struct gprs_rlcmac_tbf *poll; struct gprs_rlcmac_tbf *ul_ass; struct gprs_rlcmac_tbf *dl_ass; struct gprs_rlcmac_tbf *nacc; struct gprs_rlcmac_ul_tbf *ul_ack; }; -static uint32_t sched_poll(struct gprs_rlcmac_bts *bts, - uint8_t trx, uint8_t ts, uint32_t fn, uint8_t block_nr, - struct tbf_sched_candidates *tbf_cand) +static void get_tbf_candidates(const struct gprs_rlcmac_bts *bts, uint8_t trx, + uint8_t ts, struct tbf_sched_candidates *tbf_cand) { struct gprs_rlcmac_ul_tbf *ul_tbf; struct gprs_rlcmac_dl_tbf *dl_tbf; struct llist_item *pos; - uint32_t poll_fn; - /* check special TBF for events */ - poll_fn = fn + 4; - if ((block_nr % 3) == 2) - poll_fn ++; - poll_fn = poll_fn % GSM_MAX_FN; llist_for_each_entry(pos, &bts->ul_tbfs, list) { ul_tbf = as_ul_tbf((struct gprs_rlcmac_tbf *)pos->entry); OSMO_ASSERT(ul_tbf); /* this trx, this ts */ if (ul_tbf->trx->trx_no != trx || !ul_tbf->is_control_ts(ts)) continue; - /* polling for next uplink block */ - if (ul_tbf->poll_scheduled() && ul_tbf->poll_fn == poll_fn) - tbf_cand->poll = ul_tbf; if (ul_tbf->ul_ack_state_is(GPRS_RLCMAC_UL_ACK_SEND_ACK)) tbf_cand->ul_ack = ul_tbf; if (ul_tbf->dl_ass_state_is(GPRS_RLCMAC_DL_ASS_SEND_ASS)) @@ -84,9 +73,6 @@ /* this trx, this ts */ if (dl_tbf->trx->trx_no != trx || !dl_tbf->is_control_ts(ts)) continue; - /* polling for next uplink block */ - if (dl_tbf->poll_scheduled() && dl_tbf->poll_fn == poll_fn) - tbf_cand->poll = dl_tbf; if (dl_tbf->dl_ass_state_is(GPRS_RLCMAC_DL_ASS_SEND_ASS)) tbf_cand->dl_ass = dl_tbf; if (dl_tbf->ul_ass_state_is(GPRS_RLCMAC_UL_ASS_SEND_ASS) @@ -96,8 +82,6 @@ if (dl_tbf->is_tfi_assigned() && ms_nacc_rts(dl_tbf->ms())) tbf_cand->nacc = dl_tbf; } - - return poll_fn; } static struct gprs_rlcmac_ul_tbf *sched_select_uplink(uint8_t trx, uint8_t ts, uint32_t fn, @@ -436,10 +420,12 @@ { struct gprs_rlcmac_pdch *pdch; struct tbf_sched_candidates tbf_cand = {0}; + struct gprs_rlcmac_tbf *poll_tbf; struct gprs_rlcmac_ul_tbf *usf_tbf; + struct gprs_rlcmac_sba *sba; uint8_t usf; struct msgb *msg = NULL; - uint32_t poll_fn, sba_fn; + uint32_t poll_fn; enum pcu_gsmtap_category gsmtap_cat; bool tx_is_egprs = false; bool require_gprs_only; @@ -473,19 +459,21 @@ req_mcs_kind = EGPRS; /* all kinds are fine */ } - poll_fn = sched_poll(bts, trx, ts, fn, block_nr, &tbf_cand); + /* polling for next uplink block */ + poll_fn = rts_next_fn(fn, block_nr); + /* check uplink resource for polling */ - if (tbf_cand.poll) { + if ((poll_tbf = pdch_ulc_get_tbf_poll(pdch->ulc, poll_fn))) { LOGP(DRLCMACSCHED, LOGL_DEBUG, "Received RTS for PDCH: TRX=%d " "TS=%d FN=%d block_nr=%d scheduling free USF for " "polling at FN=%d of %s\n", trx, ts, fn, - block_nr, poll_fn, tbf_name(tbf_cand.poll)); + block_nr, poll_fn, tbf_name(poll_tbf)); usf = USF_UNUSED; /* else. check for sba */ - } else if ((sba_fn = find_sba_rts(pdch, fn, block_nr)) != 0xffffffff) { + } else if ((sba = pdch_ulc_get_sba(pdch->ulc, poll_fn))) { LOGPDCH(pdch, DRLCMACSCHED, LOGL_DEBUG, "Received RTS for PDCH: " "FN=%d block_nr=%d scheduling free USF for " - "single block allocation at FN=%d\n", fn, block_nr, sba_fn); + "single block allocation at FN=%d\n", fn, block_nr, sba->fn); usf = USF_UNUSED; /* else, we search for uplink resource */ } else { @@ -503,6 +491,8 @@ } } + get_tbf_candidates(bts, trx, ts, &tbf_cand); + /* Prio 1: select control message */ if ((msg = sched_select_ctrl_msg(pdch, fn, block_nr, &tbf_cand))) { gsmtap_cat = PCU_GSMTAP_C_DL_CTRL; diff --git a/src/pdch_ul_controller.c b/src/pdch_ul_controller.c index 38e6893..1fa91ae 100644 --- a/src/pdch_ul_controller.c +++ b/src/pdch_ul_controller.c @@ -79,6 +79,14 @@ return item->sba.sba; } +struct gprs_rlcmac_tbf *pdch_ulc_get_tbf_poll(struct pdch_ulc *ulc, uint32_t fn) +{ + struct pdch_ulc_node *item = pdch_ulc_get_node(ulc, fn); + if (!item || item->type != PDCH_ULC_NODE_TBF_POLL) + return NULL; + return item->tbf_poll.poll_tbf; +} + bool pdch_ulc_fn_is_free(struct pdch_ulc *ulc, uint32_t fn) { return !pdch_ulc_get_node(ulc, fn); diff --git a/src/pdch_ul_controller.h b/src/pdch_ul_controller.h index 53604a9..eb93143 100644 --- a/src/pdch_ul_controller.h +++ b/src/pdch_ul_controller.h @@ -75,6 +75,7 @@ struct pdch_ulc_node *pdch_ulc_get_node(struct pdch_ulc *ulc, uint32_t fn); struct pdch_ulc_node *pdch_ulc_pop_node(struct pdch_ulc *ulc, uint32_t fn); struct gprs_rlcmac_sba *pdch_ulc_get_sba(struct pdch_ulc *ulc, uint32_t fn); +struct gprs_rlcmac_tbf *pdch_ulc_get_tbf_poll(struct pdch_ulc *ulc, uint32_t fn); void pdch_ulc_release_tbf(struct pdch_ulc *ulc, const struct gprs_rlcmac_tbf *tbf); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23323 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia60bb5249a9837dec1f42180e44d9848334d86d6 Gerrit-Change-Number: 23323 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 Tue Mar 16 10:02:55 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 10:02:55 +0000 Subject: Change in osmo-pcu[master]: bts: Detect FN jumps In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23314 ) Change subject: bts: Detect FN jumps ...................................................................... bts: Detect FN jumps Change-Id: I29fb27981597edc69abb976049ba41aa840488cb --- M src/bts.cpp M src/bts.h M src/pcu_utils.h M tests/tbf/TbfTest.cpp M tests/tbf/TbfTest.err 5 files changed, 87 insertions(+), 14 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved laforge: Looks good to me, but someone else must approve osmith: Looks good to me, but someone else must approve diff --git a/src/bts.cpp b/src/bts.cpp index 9f78c8b..c1cee17 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -244,7 +244,7 @@ bts->ms_store = new GprsMsStorage(bts); - bts->cur_fn = 0; + bts->cur_fn = FN_UNSET; bts->cur_blk_fn = -1; bts->max_cs_dl = MAX_GPRS_CS; bts->max_cs_ul = MAX_GPRS_CS; @@ -287,13 +287,16 @@ return bts; } -void bts_set_current_frame_number(struct gprs_rlcmac_bts *bts, int fn) +void bts_set_current_frame_number(struct gprs_rlcmac_bts *bts, uint32_t fn) { /* The UL frame numbers lag 3 behind the DL frames and the data * indication is only sent after all 4 frames of the block have been * received. Sometimes there is an idle frame between the end of one * and start of another frame (every 3 blocks). */ - + if (fn != bts->cur_fn && bts->cur_fn != FN_UNSET && fn != fn_next_block(bts->cur_fn)) { + LOGP(DRLCMAC, LOGL_NOTICE, + "Detected FN jump! %u -> %u\n", bts->cur_fn, fn); + } bts->cur_fn = fn; } @@ -329,8 +332,8 @@ bts->cur_blk_fn = fn; if (delay < fn_update_ok_min_delay || delay > fn_update_ok_max_delay || - bts_current_frame_number(bts) == 0) - bts->cur_fn = fn; + bts_current_frame_number(bts) == FN_UNSET) + bts_set_current_frame_number(bts, fn); } int bts_add_paging(struct gprs_rlcmac_bts *bts, uint8_t chan_needed, const struct osmo_mobile_identity *mi) diff --git a/src/bts.h b/src/bts.h index a459c2e..9336c89 100644 --- a/src/bts.h +++ b/src/bts.h @@ -246,7 +246,7 @@ /* back pointer to PCU object */ struct gprs_pcu *pcu; - int cur_fn; + uint32_t cur_fn; int cur_blk_fn; uint8_t max_cs_dl, max_cs_ul; uint8_t max_mcs_dl, max_mcs_ul; @@ -275,10 +275,9 @@ void bts_snd_dl_ass(struct gprs_rlcmac_bts *bts, struct gprs_rlcmac_tbf *tbf, bool poll, uint16_t pgroup); -/** TODO: change the number to unsigned */ -void bts_set_current_frame_number(struct gprs_rlcmac_bts *bts, int frame_number); +void bts_set_current_frame_number(struct gprs_rlcmac_bts *bts, uint32_t frame_number); void bts_set_current_block_frame_number(struct gprs_rlcmac_bts *bts, int frame_number, unsigned max_delay); -static inline int bts_current_frame_number(const struct gprs_rlcmac_bts *bts) +static inline uint32_t bts_current_frame_number(const struct gprs_rlcmac_bts *bts) { return bts->cur_fn; } diff --git a/src/pcu_utils.h b/src/pcu_utils.h index a153ce7..1b90070 100644 --- a/src/pcu_utils.h +++ b/src/pcu_utils.h @@ -27,6 +27,8 @@ #include #include +#define FN_UNSET 0xFFFFFFFF + static inline int msecs_to_frames(int msecs) { return (msecs * (1024 * 1000 / 4615)) / 1024; } @@ -50,6 +52,19 @@ return fn; } +static inline unsigned fn2bn(unsigned fn) +{ + return (fn % 52) / 4; +} + +static inline unsigned fn_next_block(unsigned fn) +{ + unsigned bn = fn2bn(fn) + 1; + fn = fn - (fn % 52); + fn += bn * 4 + bn / 3; + return fn % GSM_MAX_FN; +} + #ifdef __cplusplus template inline unsigned int pcu_bitcount(T x) diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp index ed54545..2986132 100644 --- a/tests/tbf/TbfTest.cpp +++ b/tests/tbf/TbfTest.cpp @@ -213,11 +213,6 @@ return dl_tbf; } -static unsigned fn2bn(unsigned fn) -{ - return (fn % 52) / 4; -} - static unsigned fn_add_blocks(unsigned fn, unsigned blocks) { unsigned bn = fn2bn(fn) + blocks; diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index c519a67..5d4c9c9 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -1516,6 +1516,7 @@ Allocated a single block at SBFn=2654270 TRX=0 TS=7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=-1 USF=7 Found first unallocated TRX=0 TFI=0 +Detected FN jump! 2654167 -> 2654270 PDCH(bts=0,trx=0,ts=7) FN=2654270 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) FN=2654270 ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0xffffffff @@ -1547,6 +1548,7 @@ ------------------------- TX : Packet Uplink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) Scheduled UL Assignment polling on PACCH (FN=2654283, TS=7) PDCH(bts=0,trx=0,ts=7) FN=2654270 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) +Detected FN jump! 2654270 -> 2654283 PDCH(bts=0,trx=0,ts=7) FN=2654283 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) FN=2654283 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) RX: [PCU <- BTS] Packet Control Ack @@ -1554,6 +1556,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) [DOWNLINK] UPLINK ASSIGNED TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_WAIT_ACK to GPRS_RLCMAC_UL_ASS_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes state from ASSIGN to FLOW +Detected FN jump! 2654283 -> 2654275 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 @@ -1596,6 +1599,7 @@ Allocated a single block at SBFn=2654270 TRX=0 TS=7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=-1 USF=7 Found first unallocated TRX=0 TFI=0 +Detected FN jump! 2654167 -> 2654270 PDCH(bts=0,trx=0,ts=7) FN=2654270 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) FN=2654270 ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0xffffffff @@ -1627,6 +1631,7 @@ ------------------------- TX : Packet Uplink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) Scheduled UL Assignment polling on PACCH (FN=2654283, TS=7) PDCH(bts=0,trx=0,ts=7) FN=2654270 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) +Detected FN jump! 2654270 -> 2654283 PDCH(bts=0,trx=0,ts=7) FN=2654283 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) FN=2654283 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) RX: [PCU <- BTS] Packet Control Ack @@ -1634,6 +1639,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) [DOWNLINK] UPLINK ASSIGNED TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_WAIT_ACK to GPRS_RLCMAC_UL_ASS_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes state from ASSIGN to FLOW +Detected FN jump! 2654283 -> 2654275 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 @@ -1675,6 +1681,7 @@ ------------------------- TX : Packet Downlink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Scheduled DL Assignment polling on PACCH (FN=2654288, TS=7) PDCH(bts=0,trx=0,ts=7) FN=2654275 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +Detected FN jump! 2654275 -> 2654288 PDCH(bts=0,trx=0,ts=7) FN=2654288 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) FN=2654288 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) RX: [PCU <- BTS] Packet Control Ack @@ -1729,6 +1736,7 @@ Allocated a single block at SBFn=2654348 TRX=0 TS=7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=-1 USF=7 Found first unallocated TRX=0 TFI=1 +Detected FN jump! 2654292 -> 2654348 PDCH(bts=0,trx=0,ts=7) FN=2654348 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) FN=2654348 ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0xffffffff @@ -1767,6 +1775,7 @@ ------------------------- TX : Packet Uplink Assignment ------------------------- TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) Scheduled UL Assignment polling on PACCH (FN=2654361, TS=7) PDCH(bts=0,trx=0,ts=7) FN=2654348 Scheduling control message at RTS for TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) +Detected FN jump! 2654348 -> 2654361 PDCH(bts=0,trx=0,ts=7) FN=2654361 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) FN=2654361 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) RX: [PCU <- BTS] Packet Control Ack @@ -1774,6 +1783,7 @@ TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) [DOWNLINK] UPLINK ASSIGNED TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_WAIT_ACK to GPRS_RLCMAC_UL_ASS_NONE TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) changes state from ASSIGN to FLOW +Detected FN jump! 2654361 -> 2654353 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=1, CPS=0, RSB=0, rc=184 TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) UL DATA TFI=1 received (V(Q)=0 .. V(R)=0) TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654353 @@ -1799,6 +1809,7 @@ Allocated a single block at SBFn=2654270 TRX=0 TS=7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=-1 USF=7 Found first unallocated TRX=0 TFI=0 +Detected FN jump! 2654167 -> 2654270 PDCH(bts=0,trx=0,ts=7) FN=2654270 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) FN=2654270 ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0xffffffff @@ -1831,6 +1842,7 @@ ------------------------- TX : Packet Uplink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) Scheduled UL Assignment polling on PACCH (FN=2654283, TS=7) PDCH(bts=0,trx=0,ts=7) FN=2654270 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) +Detected FN jump! 2654270 -> 2654283 PDCH(bts=0,trx=0,ts=7) FN=2654283 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) FN=2654283 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) RX: [PCU <- BTS] Packet Control Ack @@ -1838,6 +1850,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) [DOWNLINK] UPLINK ASSIGNED TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_WAIT_ACK to GPRS_RLCMAC_UL_ASS_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes state from ASSIGN to FLOW +Detected FN jump! 2654283 -> 2654275 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0, UL) Link quality 12dB (old 12dB) left window [5, 8], modifying uplink CS level: CS-2 -> CS-3 @@ -1886,6 +1899,7 @@ Allocated a single block at SBFn=2654327 TRX=0 TS=7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=-1 USF=7 Found first unallocated TRX=0 TFI=0 +Detected FN jump! 2654275 -> 2654327 PDCH(bts=0,trx=0,ts=7) FN=2654327 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) FN=2654327 ------------------------- RX : Uplink Control Block ------------------------- PDCH(bts=0,trx=0,ts=7) MS requests UL TBF in packet resource request of single block, so we provide one: @@ -1913,6 +1927,7 @@ ------------------------- TX : Packet Uplink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) Scheduled UL Assignment polling on PACCH (FN=2654340, TS=7) PDCH(bts=0,trx=0,ts=7) FN=2654327 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) +Detected FN jump! 2654327 -> 2654340 PDCH(bts=0,trx=0,ts=7) FN=2654340 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) FN=2654340 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) RX: [PCU <- BTS] Packet Control Ack @@ -1920,6 +1935,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) [DOWNLINK] UPLINK ASSIGNED TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_WAIT_ACK to GPRS_RLCMAC_UL_ASS_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes state from ASSIGN to FLOW +Detected FN jump! 2654340 -> 2654331 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654331 @@ -1937,6 +1953,7 @@ Allocated a single block at SBFn=2654270 TRX=0 TS=7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=-1 USF=7 Found first unallocated TRX=0 TFI=0 +Detected FN jump! 2654167 -> 2654270 PDCH(bts=0,trx=0,ts=7) FN=2654270 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) FN=2654270 ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0xffffffff @@ -1969,6 +1986,7 @@ ------------------------- TX : Packet Uplink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) Scheduled UL Assignment polling on PACCH (FN=2654283, TS=7) PDCH(bts=0,trx=0,ts=7) FN=2654270 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) +Detected FN jump! 2654270 -> 2654283 PDCH(bts=0,trx=0,ts=7) FN=2654283 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) FN=2654283 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) RX: [PCU <- BTS] Packet Control Ack @@ -1976,6 +1994,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) [DOWNLINK] UPLINK ASSIGNED TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_WAIT_ACK to GPRS_RLCMAC_UL_ASS_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes state from ASSIGN to FLOW +Detected FN jump! 2654283 -> 2654275 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0, UL) Link quality 12dB (old 12dB) left window [5, 8], modifying uplink CS level: CS-2 -> CS-3 @@ -2079,6 +2098,7 @@ Allocated a single block at SBFn=2654270 TRX=0 TS=7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=-1 USF=7 Found first unallocated TRX=0 TFI=0 +Detected FN jump! 2654167 -> 2654270 PDCH(bts=0,trx=0,ts=7) FN=2654270 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) FN=2654270 ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0xffffffff @@ -2111,6 +2131,7 @@ ------------------------- TX : Packet Uplink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) Scheduled UL Assignment polling on PACCH (FN=2654283, TS=7) PDCH(bts=0,trx=0,ts=7) FN=2654270 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) +Detected FN jump! 2654270 -> 2654283 PDCH(bts=0,trx=0,ts=7) FN=2654283 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) FN=2654283 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) RX: [PCU <- BTS] Packet Control Ack @@ -2118,6 +2139,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) [DOWNLINK] UPLINK ASSIGNED TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_WAIT_ACK to GPRS_RLCMAC_UL_ASS_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes state from ASSIGN to FLOW +Detected FN jump! 2654283 -> 2654275 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0, UL) Link quality 12dB (old 12dB) left window [5, 8], modifying uplink CS level: CS-2 -> CS-3 @@ -2199,6 +2221,7 @@ ------------------------- TX : Packet Downlink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Scheduled DL Assignment polling on PACCH (FN=2654288, TS=7) PDCH(bts=0,trx=0,ts=7) FN=2654275 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +Detected FN jump! 2654275 -> 2654288 PDCH(bts=0,trx=0,ts=7) FN=2654288 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) FN=2654288 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) RX: [PCU <- BTS] Packet Control Ack @@ -2751,6 +2774,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) appending 21 bytes TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) appending 21 bytes TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) appending 21 bytes +Detected FN jump! 2654288 -> 2654379 PDCH(bts=0,trx=0,ts=7) FN=2654379 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) FN=2654379 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) changes poll state from GPRS_RLCMAC_POLL_SCHED to GPRS_RLCMAC_POLL_NONE @@ -2790,6 +2814,7 @@ ------------------------- TX : Packet Downlink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) Scheduled DL Assignment polling on PACCH (FN=2654413, TS=7) PDCH(bts=0,trx=0,ts=7) FN=2654400 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) +Detected FN jump! 2654379 -> 2654413 PDCH(bts=0,trx=0,ts=7) FN=2654413 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) FN=2654413 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) RX: [PCU <- BTS] Packet Control Ack @@ -3119,6 +3144,7 @@ Allocated a single block at SBFn=2654270 TRX=0 TS=7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=-1 USF=7 Found first unallocated TRX=0 TFI=0 +Detected FN jump! 2654167 -> 2654270 PDCH(bts=0,trx=0,ts=7) FN=2654270 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) FN=2654270 ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0xffffffff @@ -3155,6 +3181,7 @@ ------------------------- TX : Packet Uplink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) Scheduled UL Assignment polling on PACCH (FN=2654283, TS=7) PDCH(bts=0,trx=0,ts=7) FN=2654270 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) +Detected FN jump! 2654270 -> 2654283 PDCH(bts=0,trx=0,ts=7) FN=2654283 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) FN=2654283 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) RX: [PCU <- BTS] Packet Control Ack @@ -3162,6 +3189,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) [DOWNLINK] UPLINK ASSIGNED TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_WAIT_ACK to GPRS_RLCMAC_UL_ASS_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes state from ASSIGN to FLOW +Detected FN jump! 2654283 -> 2654275 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [5, 8], modifying uplink CS level: MCS-2 -> MCS-3 @@ -3207,6 +3235,7 @@ Allocated a single block at SBFn=2654270 TRX=0 TS=7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=-1 USF=7 Found first unallocated TRX=0 TFI=0 +Detected FN jump! 2654167 -> 2654270 PDCH(bts=0,trx=0,ts=7) FN=2654270 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) FN=2654270 ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0xffffffff @@ -3243,6 +3272,7 @@ ------------------------- TX : Packet Uplink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) Scheduled UL Assignment polling on PACCH (FN=2654283, TS=7) PDCH(bts=0,trx=0,ts=7) FN=2654270 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) +Detected FN jump! 2654270 -> 2654283 PDCH(bts=0,trx=0,ts=7) FN=2654283 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) FN=2654283 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) RX: [PCU <- BTS] Packet Control Ack @@ -3250,6 +3280,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) [DOWNLINK] UPLINK ASSIGNED TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_WAIT_ACK to GPRS_RLCMAC_UL_ASS_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes state from ASSIGN to FLOW +Detected FN jump! 2654283 -> 2654275 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [5, 8], modifying uplink CS level: MCS-2 -> MCS-3 @@ -3456,6 +3487,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-1): 07 00 00 16 28 fe 03 02 02 02 02 02 02 02 02 02 56 56 56 56 56 56 56 56 56 56 00 +Detected FN jump! 2654167 -> 8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 512 bytes Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS @@ -3702,6 +3734,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 24, MCS-1): 07 00 06 16 18 fe 03 02 02 02 02 02 56 56 56 56 56 56 56 56 56 56 56 56 56 56 00 +Detected FN jump! 8 -> 112 PDCH(bts=0,trx=0,ts=4) Expiring FN=112 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 112) @@ -3768,6 +3801,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-2): 07 00 00 12 28 fe 03 02 02 02 02 02 02 02 02 02 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 00 +Detected FN jump! 112 -> 8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 512 bytes Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS @@ -3964,6 +3998,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 19, MCS-2): 07 c0 04 12 20 fe 03 02 02 02 02 02 02 02 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 00 +Detected FN jump! 8 -> 91 PDCH(bts=0,trx=0,ts=4) Expiring FN=91 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 91) @@ -4030,6 +4065,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-3): 07 00 00 06 28 fe 03 02 02 02 02 02 02 02 02 02 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 00 +Detected FN jump! 91 -> 8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 512 bytes Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS @@ -4176,6 +4212,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 14, MCS-3): 07 80 03 06 7c fe 03 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 56 56 56 56 00 +Detected FN jump! 8 -> 69 PDCH(bts=0,trx=0,ts=4) Expiring FN=69 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 69) @@ -4242,6 +4279,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-4): 07 00 00 00 28 fe 03 02 02 02 02 02 02 02 02 02 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 00 +Detected FN jump! 69 -> 8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 512 bytes Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS @@ -4368,6 +4406,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 12, MCS-4): 07 00 03 00 70 fe 03 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 56 56 56 56 56 56 56 56 56 56 56 56 56 56 00 +Detected FN jump! 8 -> 60 PDCH(bts=0,trx=0,ts=4) Expiring FN=60 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 60) @@ -4434,6 +4473,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-5): 07 00 00 08 c5 7f 40 40 40 40 40 40 40 40 40 c0 ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca 0a +Detected FN jump! 60 -> 8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 512 bytes Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS @@ -4540,6 +4580,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 10, MCS-5): 07 80 02 08 c4 7f 40 40 40 40 40 40 40 c0 ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca 0a +Detected FN jump! 8 -> 52 PDCH(bts=0,trx=0,ts=4) Expiring FN=52 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 52) @@ -4606,6 +4647,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-6): 07 00 00 00 c5 7f 40 40 40 40 40 40 40 40 40 c0 ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca 0a +Detected FN jump! 52 -> 8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 512 bytes Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS @@ -4682,6 +4724,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 7, MCS-6): 07 c0 01 00 e2 7f 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 c0 ca ca ca 0a +Detected FN jump! 8 -> 39 PDCH(bts=0,trx=0,ts=4) Expiring FN=39 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 39) @@ -4749,6 +4792,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-5): 07 00 00 08 c5 7f 40 40 40 40 40 40 40 40 40 c0 ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca 0a +Detected FN jump! 39 -> 8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 512 bytes Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS @@ -4831,6 +4875,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 10, MCS-5): 07 80 02 08 c4 7f 40 40 40 40 40 40 40 c0 ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca 0a +Detected FN jump! 8 -> 34 PDCH(bts=0,trx=0,ts=4) Expiring FN=34 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 34) @@ -4899,6 +4944,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-8): 07 00 00 00 60 50 fc 07 04 04 04 04 04 04 04 04 04 ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac 40 f1 1f 10 10 10 10 10 10 10 10 10 b0 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 02 +Detected FN jump! 34 -> 8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 512 bytes Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS @@ -4969,6 +5015,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 8, MCS-8): 07 00 02 00 60 20 fd 07 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac 80 f4 1f 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 b0 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 02 +Detected FN jump! 8 -> 30 PDCH(bts=0,trx=0,ts=4) Expiring FN=30 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 30) @@ -5036,6 +5083,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-6): 07 00 00 00 c5 7f 40 40 40 40 40 40 40 40 40 c0 ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca 0a +Detected FN jump! 30 -> 8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 512 bytes Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS @@ -5094,6 +5142,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 6, MCS-9): 07 80 01 02 00 05 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 80 f8 1f 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 b0 b2 b2 b2 02 +Detected FN jump! 8 -> 26 PDCH(bts=0,trx=0,ts=4) Expiring FN=26 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 26) @@ -5157,6 +5206,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-6): 07 00 00 12 40 80 c0 00 41 81 c1 01 42 82 c2 02 43 83 c3 03 44 84 c4 04 45 85 c5 05 46 86 c6 06 47 87 c7 07 48 88 c8 08 49 89 c9 09 4a 8a ca 0a 4b 8b cb 0b 4c 8c cc 0c 4d 8d cd 0d 4e 8e ce 0e 4f 8f cf 0f 50 90 d0 10 51 91 d1 11 52 12 +Detected FN jump! 2654167 -> 58 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to WAIT RELEASE @@ -5338,6 +5388,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 1 (BSN 1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-7): 07 00 00 02 c0 01 04 08 0c 10 14 18 1c 20 24 28 2c 30 34 38 3c 40 44 48 4c 50 54 58 5c 60 64 68 6c 70 74 78 7c 80 84 88 8c 90 94 98 9c a0 a4 a8 ac b0 b4 b8 bc c0 c4 c8 cc d0 d4 d8 dc 80 f5 8f 93 a3 b3 c3 d3 e3 f3 03 14 24 34 44 54 64 74 84 94 a4 b4 c4 d4 e4 f4 04 15 25 35 45 55 65 75 85 95 a5 b5 c5 d5 e5 f5 05 16 26 36 b6 b2 b2 b2 b2 b2 b2 b2 b2 b2 02 +Detected FN jump! 58 -> 63 PDCH(bts=0,trx=0,ts=4) Expiring FN=63 but previous FN=21 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=21): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=21, TS=4 (curr FN 63) @@ -5851,6 +5902,7 @@ Allocated a single block at SBFn=2654270 TRX=0 TS=7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=-1 USF=7 Found first unallocated TRX=0 TFI=0 +Detected FN jump! 2654167 -> 2654270 PDCH(bts=0,trx=0,ts=7) FN=2654270 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) FN=2654270 ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0xffffffff @@ -5887,6 +5939,7 @@ ------------------------- TX : Packet Uplink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) Scheduled UL Assignment polling on PACCH (FN=2654283, TS=7) PDCH(bts=0,trx=0,ts=7) FN=2654270 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) +Detected FN jump! 2654270 -> 2654283 PDCH(bts=0,trx=0,ts=7) FN=2654283 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) FN=2654283 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) RX: [PCU <- BTS] Packet Control Ack @@ -5894,6 +5947,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) [DOWNLINK] UPLINK ASSIGNED TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_WAIT_ACK to GPRS_RLCMAC_UL_ASS_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes state from ASSIGN to FLOW +Detected FN jump! 2654283 -> 2654275 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [5, 8], modifying uplink CS level: MCS-2 -> MCS-3 @@ -6010,6 +6064,7 @@ Allocated a single block at SBFn=2654270 TRX=0 TS=7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=-1 USF=7 Found first unallocated TRX=0 TFI=0 +Detected FN jump! 2654167 -> 2654270 PDCH(bts=0,trx=0,ts=7) FN=2654270 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) FN=2654270 ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0xffffffff @@ -6046,6 +6101,7 @@ ------------------------- TX : Packet Uplink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) Scheduled UL Assignment polling on PACCH (FN=2654283, TS=7) PDCH(bts=0,trx=0,ts=7) FN=2654270 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) +Detected FN jump! 2654270 -> 2654283 PDCH(bts=0,trx=0,ts=7) FN=2654283 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) FN=2654283 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) RX: [PCU <- BTS] Packet Control Ack @@ -6053,6 +6109,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) [DOWNLINK] UPLINK ASSIGNED TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_WAIT_ACK to GPRS_RLCMAC_UL_ASS_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes state from ASSIGN to FLOW +Detected FN jump! 2654283 -> 2654275 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=1, SI=0, TFI=0, CPS=5, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [5, 8], modifying uplink CS level: MCS-2 -> MCS-3 @@ -6330,6 +6387,7 @@ Allocated a single block at SBFn=2654270 TRX=0 TS=7 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=-1 USF=7 Found first unallocated TRX=0 TFI=0 +Detected FN jump! 2654167 -> 2654270 PDCH(bts=0,trx=0,ts=7) FN=2654270 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) FN=2654270 ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0xffffffff @@ -6366,6 +6424,7 @@ ------------------------- TX : Packet Uplink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) Scheduled UL Assignment polling on PACCH (FN=2654283, TS=7) PDCH(bts=0,trx=0,ts=7) FN=2654270 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) +Detected FN jump! 2654270 -> 2654283 PDCH(bts=0,trx=0,ts=7) FN=2654283 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) FN=2654283 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) RX: [PCU <- BTS] Packet Control Ack @@ -6373,6 +6432,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) [DOWNLINK] UPLINK ASSIGNED TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_WAIT_ACK to GPRS_RLCMAC_UL_ASS_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes state from ASSIGN to FLOW +Detected FN jump! 2654283 -> 2654275 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [5, 8], modifying uplink CS level: MCS-2 -> MCS-3 @@ -7729,6 +7789,7 @@ TBF(TFI=6 TLLI=0xffffffff DIR=UL STATE=FLOW) set ass. type CCCH [prev CCCH:0, PACCH:0] TBF(TFI=6 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654167 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=6 USF=6 +Detected FN jump! 2654167 -> 2654270 PDCH(bts=0,trx=0,ts=7) FN=2654270 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) FN=2654270 ------------------------- RX : Uplink Control Block ------------------------- Creating MS object, TLLI = 0xffffffff -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23314 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I29fb27981597edc69abb976049ba41aa840488cb Gerrit-Change-Number: 23314 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 16 10:02:56 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 10:02:56 +0000 Subject: Change in osmo-pcu[master]: cosmetic: tests/Makefile.am: Split content into several lines In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23354 ) Change subject: cosmetic: tests/Makefile.am: Split content into several lines ...................................................................... cosmetic: tests/Makefile.am: Split content into several lines Change-Id: I67361862b992d761b314d9565165ece7e380606d --- M tests/Makefile.am 1 file changed, 21 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved fixeria: Looks good to me, approved osmith: Looks good to me, approved diff --git a/tests/Makefile.am b/tests/Makefile.am index a7771b9..b377fdb 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -1,7 +1,22 @@ AM_CPPFLAGS = $(STD_DEFINES_AND_INCLUDES) $(LIBOSMOCORE_CFLAGS) $(LIBOSMOCTRL_CFLAGS) $(LIBOSMOGB_CFLAGS) $(LIBOSMOGSM_CFLAGS) -I$(top_srcdir)/src/ -I$(top_srcdir)/include/ AM_LDFLAGS = -lrt -no-install -check_PROGRAMS = rlcmac/RLCMACTest alloc/AllocTest alloc/MslotTest tbf/TbfTest types/TypesTest ms/MsTest llist/LListTest llc/LlcTest codel/codel_test edge/EdgeTest bitcomp/BitcompTest fn/FnTest app_info/AppInfoTest +check_PROGRAMS = \ + rlcmac/RLCMACTest \ + alloc/AllocTest \ + alloc/MslotTest \ + tbf/TbfTest \ + types/TypesTest \ + ms/MsTest \ + llist/LListTest \ + llc/LlcTest \ + codel/codel_test \ + edge/EdgeTest \ + bitcomp/BitcompTest \ + fn/FnTest \ + app_info/AppInfoTest \ + $(NULL) + noinst_PROGRAMS = emu/pcu_emu rlcmac_RLCMACTest_SOURCES = rlcmac/RLCMACTest.cpp @@ -147,7 +162,9 @@ } >'$(srcdir)/package.m4' EXTRA_DIST = \ - testsuite.at $(srcdir)/package.m4 $(TESTSUITE) \ + testsuite.at \ + $(srcdir)/package.m4 \ + $(TESTSUITE) \ rlcmac/RLCMACTest.ok rlcmac/RLCMACTest.err \ alloc/AllocTest.ok alloc/AllocTest.err \ tbf/TbfTest.err \ @@ -159,7 +176,8 @@ codel/codel_test.ok \ edge/EdgeTest.ok \ fn/FnTest.ok \ - app_info/AppInfoTest.ok app_info/AppInfoTest.err + app_info/AppInfoTest.ok app_info/AppInfoTest.err \ + $(NULL) DISTCLEANFILES = atconfig -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23354 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I67361862b992d761b314d9565165ece7e380606d Gerrit-Change-Number: 23354 Gerrit-PatchSet: 2 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 Tue Mar 16 10:02:57 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 10:02:57 +0000 Subject: Change in osmo-pcu[master]: tests: Introduce unit tests for PDCH UL Controller In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23355 ) Change subject: tests: Introduce unit tests for PDCH UL Controller ...................................................................... tests: Introduce unit tests for PDCH UL Controller Related: OS#5020 Change-Id: Ie1ff0ca3d7fc8a9824d6fe4dceb746e301082bda --- M tests/Makefile.am M tests/testsuite.at A tests/ulc/PdchUlcTest.cpp A tests/ulc/PdchUlcTest.err A tests/ulc/PdchUlcTest.ok 5 files changed, 212 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: 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/tests/Makefile.am b/tests/Makefile.am index b377fdb..40617bb 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -15,6 +15,7 @@ bitcomp/BitcompTest \ fn/FnTest \ app_info/AppInfoTest \ + ulc/PdchUlcTest \ $(NULL) noinst_PROGRAMS = emu/pcu_emu @@ -143,6 +144,15 @@ $(LIBOSMOCORE_LIBS) \ $(COMMON_LA) +ulc_PdchUlcTest_SOURCES = ulc/PdchUlcTest.cpp +ulc_PdchUlcTest_LDADD = \ + $(top_builddir)/src/libgprs.la \ + $(LIBOSMOGB_LIBS) \ + $(LIBOSMOGSM_LIBS) \ + $(LIBOSMOCTRL_LIBS) \ + $(LIBOSMOCORE_LIBS) \ + $(COMMON_LA) + # The `:;' works around a Bash 3.2 bug when the output is not writeable. $(srcdir)/package.m4: $(top_srcdir)/configure.ac :;{ \ @@ -177,6 +187,7 @@ edge/EdgeTest.ok \ fn/FnTest.ok \ app_info/AppInfoTest.ok app_info/AppInfoTest.err \ + ulc/PdchUlcTest.ok ulc/PdchUlcTest.err \ $(NULL) DISTCLEANFILES = atconfig diff --git a/tests/testsuite.at b/tests/testsuite.at index 8a319bd..f6dc62c 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -88,3 +88,10 @@ cat $abs_srcdir/app_info/AppInfoTest.err > experr AT_CHECK([$OSMO_QEMU $abs_top_builddir/tests/app_info/AppInfoTest], [0], [expout], [experr]) AT_CLEANUP + +AT_SETUP([ulc]) +AT_KEYWORDS([ulc]) +cat $abs_srcdir/ulc/PdchUlcTest.ok > expout +cat $abs_srcdir/ulc/PdchUlcTest.err > experr +AT_CHECK([$OSMO_QEMU $abs_top_builddir/tests/ulc/PdchUlcTest], [0], [expout], [experr]) +AT_CLEANUP diff --git a/tests/ulc/PdchUlcTest.cpp b/tests/ulc/PdchUlcTest.cpp new file mode 100644 index 0000000..7e2bbdd --- /dev/null +++ b/tests/ulc/PdchUlcTest.cpp @@ -0,0 +1,186 @@ +/* PDCH UL Controller test + * + * Copyright (C) 2021 by sysmocom - s.f.m.c. GmbH + * Author: Pau Espin Pedrol + * All Rights Reserved + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ + +#include +#include + +extern "C" { +#include +#include +#include +#include +} + +#include "bts.h" +#include "sba.h" +#include "pdch_ul_controller.h" + +/* globals used by the code */ +void *tall_pcu_ctx; + +static void test_reserve_multiple() +{ + printf("=== start: %s ===\n", __FUNCTION__); + const uint32_t fn = 20; + struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); + struct gprs_rlcmac_pdch *pdch = &bts->trx[0].pdch[0]; + struct gprs_rlcmac_tbf *tbf1 = (struct gprs_rlcmac_tbf*)0x1234; /*Dummy pointer */ + struct gprs_rlcmac_tbf *tbf2 = (struct gprs_rlcmac_tbf*)0x5678; /*Dummy pointer */ + struct gprs_rlcmac_sba *sba1, *sba2; + pdch->last_rts_fn = fn; /* This is used by sba_alloc to set + reserve FN */ + sba1 = sba_alloc(bts, pdch, 0); + pdch->last_rts_fn = fn_next_block(pdch->last_rts_fn); + sba2 = sba_alloc(bts, pdch, 0); + uint32_t tbf1_poll_fn1 = fn_next_block(sba2->fn); + uint32_t tbf2_poll_fn1 = fn_next_block(tbf1_poll_fn1); + uint32_t tbf1_poll_fn2 = fn_next_block(tbf2_poll_fn1); + int rc; + struct pdch_ulc_node *node; + + /* SBAs are reserved directly during allocation: */ + OSMO_ASSERT(pdch_ulc_fn_is_free(pdch->ulc, sba1->fn) == false); + OSMO_ASSERT(pdch_ulc_get_sba(pdch->ulc, sba1->fn) == sba1); + OSMO_ASSERT(pdch_ulc_fn_is_free(pdch->ulc, sba2->fn) == false); + OSMO_ASSERT(pdch_ulc_get_sba(pdch->ulc, sba2->fn) == sba2); + + rc = pdch_ulc_reserve_sba(pdch->ulc, sba1); + OSMO_ASSERT(rc == -EEXIST); + OSMO_ASSERT(pdch_ulc_fn_is_free(pdch->ulc, sba1->fn) == false); + node = pdch_ulc_get_node(pdch->ulc, sba1->fn); + OSMO_ASSERT(node->type == PDCH_ULC_NODE_SBA && node->sba.sba == sba1); + OSMO_ASSERT(pdch_ulc_fn_is_free(pdch->ulc, sba1->fn) == false); + + rc = pdch_ulc_reserve_sba(pdch->ulc, sba2); + OSMO_ASSERT(rc == -EEXIST); + OSMO_ASSERT(pdch_ulc_get_sba(pdch->ulc, sba1->fn) == sba1); + OSMO_ASSERT(pdch_ulc_get_sba(pdch->ulc, sba2->fn) == sba2); + node = pdch_ulc_get_node(pdch->ulc, sba2->fn); + OSMO_ASSERT(node->type == PDCH_ULC_NODE_SBA && node->sba.sba == sba2); + + rc = pdch_ulc_reserve_tbf_poll(pdch->ulc, sba1->fn, tbf1); + OSMO_ASSERT(rc == -EEXIST); + OSMO_ASSERT(pdch_ulc_get_tbf_poll(pdch->ulc, sba1->fn) == NULL); + rc = pdch_ulc_reserve_tbf_poll(pdch->ulc, sba2->fn, tbf1); + OSMO_ASSERT(rc == -EEXIST); + OSMO_ASSERT(pdch_ulc_get_tbf_poll(pdch->ulc, sba2->fn) == NULL); + + /* Now Reserve correctly TBF1 */ + OSMO_ASSERT(pdch_ulc_fn_is_free(pdch->ulc, tbf1_poll_fn1) == true); + rc = pdch_ulc_reserve_tbf_poll(pdch->ulc, tbf1_poll_fn1, tbf1); + OSMO_ASSERT(rc == 0); + OSMO_ASSERT(pdch_ulc_get_tbf_poll(pdch->ulc, tbf1_poll_fn1) == tbf1); + OSMO_ASSERT(pdch_ulc_fn_is_free(pdch->ulc, tbf1_poll_fn1) == false); + node = pdch_ulc_get_node(pdch->ulc, tbf1_poll_fn1); + OSMO_ASSERT(node->type == PDCH_ULC_NODE_TBF_POLL && node->tbf_poll.poll_tbf == tbf1); + OSMO_ASSERT(pdch_ulc_fn_is_free(pdch->ulc, tbf1_poll_fn1) == false); + + /* Now reserve correctly TBF2 */ + OSMO_ASSERT(pdch_ulc_fn_is_free(pdch->ulc, tbf2_poll_fn1) == true); + rc = pdch_ulc_reserve_tbf_poll(pdch->ulc, tbf2_poll_fn1, tbf2); + OSMO_ASSERT(rc == 0); + OSMO_ASSERT(pdch_ulc_get_tbf_poll(pdch->ulc, tbf2_poll_fn1) == tbf2); + OSMO_ASSERT(pdch_ulc_fn_is_free(pdch->ulc, tbf2_poll_fn1) == false); + node = pdch_ulc_get_node(pdch->ulc, tbf2_poll_fn1); + OSMO_ASSERT(node->type == PDCH_ULC_NODE_TBF_POLL && node->tbf_poll.poll_tbf == tbf2); + OSMO_ASSERT(pdch_ulc_fn_is_free(pdch->ulc, tbf2_poll_fn1) == false); + + /* Now Reserve TBF1 for POLL again on a later FN, which is totally expected: */ + OSMO_ASSERT(pdch_ulc_fn_is_free(pdch->ulc, tbf1_poll_fn2) == true); + rc = pdch_ulc_reserve_tbf_poll(pdch->ulc, tbf1_poll_fn2, tbf1); + OSMO_ASSERT(rc == 0); + OSMO_ASSERT(pdch_ulc_get_tbf_poll(pdch->ulc, tbf1_poll_fn2) == tbf1); + OSMO_ASSERT(pdch_ulc_fn_is_free(pdch->ulc, tbf1_poll_fn2) == false); + node = pdch_ulc_get_node(pdch->ulc, tbf1_poll_fn2); + OSMO_ASSERT(node->type == PDCH_ULC_NODE_TBF_POLL && node->tbf_poll.poll_tbf == tbf1); + OSMO_ASSERT(pdch_ulc_fn_is_free(pdch->ulc, tbf1_poll_fn2) == false); + + /* Now release them in different ways: */ + node = pdch_ulc_pop_node(pdch->ulc, sba2->fn); + OSMO_ASSERT(node->type == PDCH_ULC_NODE_SBA && node->sba.sba == sba2); + OSMO_ASSERT(pdch_ulc_get_sba(pdch->ulc, sba2->fn) == NULL); + OSMO_ASSERT(pdch_ulc_fn_is_free(pdch->ulc, sba2->fn) == true); + /* This will probably print a warning since in general SBAs are expected + * to be released from ULC during sba_free() time: */ + sba_free(sba2); + + pdch_ulc_expire_fn(pdch->ulc, sba1->fn); + + /* here the 2 tbf1 entries should be removed, so Ul Controller should + only have 1 entry for tbf2 after the call: */ + pdch_ulc_release_tbf(pdch->ulc, tbf1); + OSMO_ASSERT(pdch_ulc_get_tbf_poll(pdch->ulc, tbf1_poll_fn1) == NULL); + OSMO_ASSERT(pdch_ulc_get_tbf_poll(pdch->ulc, tbf1_poll_fn2) == NULL); + OSMO_ASSERT(pdch_ulc_get_tbf_poll(pdch->ulc, tbf2_poll_fn1) == tbf2); + + rc = pdch_ulc_release_fn(pdch->ulc, tbf1_poll_fn1); + OSMO_ASSERT(rc == -ENOKEY); + rc = pdch_ulc_release_fn(pdch->ulc, tbf1_poll_fn2); + OSMO_ASSERT(rc == -ENOKEY); + rc = pdch_ulc_release_fn(pdch->ulc, tbf2_poll_fn1); + OSMO_ASSERT(rc == 0); + + /* Make sure the store is empty now: */ + OSMO_ASSERT(!rb_first(&pdch->ulc->tree_root)); + + talloc_free(bts); + printf("=== end: %s ===\n", __FUNCTION__); +} + +int main(int argc, char **argv) +{ + tall_pcu_ctx = talloc_named_const(NULL, 1, "pdch_ulc test context"); + if (!tall_pcu_ctx) + abort(); + + msgb_talloc_ctx_init(tall_pcu_ctx, 0); + osmo_init_logging2(tall_pcu_ctx, &gprs_log_info); + log_set_use_color(osmo_stderr_target, 0); + log_set_print_filename2(osmo_stderr_target, LOG_FILENAME_NONE); + log_set_log_level(osmo_stderr_target, LOGL_DEBUG); + log_set_print_category_hex(osmo_stderr_target, 0); + log_set_print_category(osmo_stderr_target, 0); + log_parse_category_mask(osmo_stderr_target, "DPCU,1:DRLCMAC,1:DRLCMACUL,1"); + + the_pcu = gprs_pcu_alloc(tall_pcu_ctx); + + test_reserve_multiple(); + + talloc_free(the_pcu); + return EXIT_SUCCESS; +} + +/* + * stubs that should not be reached + */ +int16_t spoof_mnc = 0, spoof_mcc = 0; +bool spoof_mnc_3_digits = false; +extern "C" { + void l1if_pdch_req() { + abort(); + } void l1if_connect_pdch() { + abort(); + } + void l1if_close_pdch() { + abort(); + } + void l1if_open_pdch() { + abort(); + } +} diff --git a/tests/ulc/PdchUlcTest.err b/tests/ulc/PdchUlcTest.err new file mode 100644 index 0000000..29b4846 --- /dev/null +++ b/tests/ulc/PdchUlcTest.err @@ -0,0 +1,6 @@ +PDCH(bts=0,trx=0,ts=0) Trying to reserve already reserved FN 72 +PDCH(bts=0,trx=0,ts=0) Trying to reserve already reserved FN 78 +PDCH(bts=0,trx=0,ts=0) Trying to reserve already reserved FN 72 +PDCH(bts=0,trx=0,ts=0) Trying to reserve already reserved FN 78 +PDCH(bts=0,trx=0,ts=0) Trying to release unregistered SBA (FN=78, TA=0) +PDCH(bts=0,trx=0,ts=0) Timeout for registered SBA (FN=72, TA=0) diff --git a/tests/ulc/PdchUlcTest.ok b/tests/ulc/PdchUlcTest.ok new file mode 100644 index 0000000..a07636f --- /dev/null +++ b/tests/ulc/PdchUlcTest.ok @@ -0,0 +1,2 @@ +=== start: test_reserve_multiple === +=== end: test_reserve_multiple === -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23355 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie1ff0ca3d7fc8a9824d6fe4dceb746e301082bda Gerrit-Change-Number: 23355 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: fixeria Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 16 10:02:58 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 10:02:58 +0000 Subject: Change in osmo-pcu[master]: tests: ulc: Show current bug with FN wrap around In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23356 ) Change subject: tests: ulc: Show current bug with FN wrap around ...................................................................... tests: ulc: Show current bug with FN wrap around Issue will be fixed in next commit. Leaving ASSERTs disabled so that test passes in jenkins. Related: OS#5020 Change-Id: I657db6b300363f8f3a9e4cfaf7a7f49e361a0512 --- M tests/ulc/PdchUlcTest.cpp M tests/ulc/PdchUlcTest.err M tests/ulc/PdchUlcTest.ok 3 files changed, 330 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: 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/tests/ulc/PdchUlcTest.cpp b/tests/ulc/PdchUlcTest.cpp index 7e2bbdd..320a7bf 100644 --- a/tests/ulc/PdchUlcTest.cpp +++ b/tests/ulc/PdchUlcTest.cpp @@ -20,6 +20,9 @@ #include #include +#include +#include +#include extern "C" { #include @@ -28,6 +31,7 @@ #include } +#include "gprs_ms.h" #include "bts.h" #include "sba.h" #include "pdch_ul_controller.h" @@ -35,6 +39,16 @@ /* globals used by the code */ void *tall_pcu_ctx; +static void print_ulc_nodes(struct pdch_ulc *ulc) +{ + struct rb_node *node; + for (node = rb_first(&ulc->tree_root); node; node = rb_next(node)) { + struct pdch_ulc_node *it = container_of(node, struct pdch_ulc_node, node); + printf("FN=%" PRIu32 " type=%s\n", + it->fn, get_value_string(pdch_ul_node_names, it->type)); + } +} + static void test_reserve_multiple() { printf("=== start: %s ===\n", __FUNCTION__); @@ -143,6 +157,61 @@ printf("=== end: %s ===\n", __FUNCTION__); } +int _alloc_algorithm_dummy(struct gprs_rlcmac_bts *bts, struct gprs_rlcmac_tbf *tbf, + bool single, int8_t use_tbf) +{ + return 0; +} + + +static void test_fn_wrap_around() +{ + printf("=== start: %s ===\n", __FUNCTION__); + const uint32_t start_fn = GSM_MAX_FN - 40; + + the_pcu->alloc_algorithm = _alloc_algorithm_dummy; + + struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); + struct GprsMs *ms = ms_alloc(bts, 0x12345678); + struct gprs_rlcmac_tbf *tbf1 = tbf_alloc_dl_tbf(bts, ms, 0, true); + tbf1->trx = &bts->trx[0]; + struct gprs_rlcmac_pdch *pdch = &tbf1->trx->pdch[0]; + int rc; + uint32_t fn, last_fn; + + fn = start_fn; + while (fn < 40 || fn >= start_fn) { + printf("*** RESERVE FN=%" PRIu32 ":\n", fn); + rc = pdch_ulc_reserve_tbf_poll(pdch->ulc, fn, tbf1); + OSMO_ASSERT(rc == 0); + print_ulc_nodes(pdch->ulc); + fn = fn_next_block(fn); + } + last_fn = fn; + + /* Expiring fn_next_block(start_fn) should only expire first 2 entries here: */ + fn = fn_next_block(start_fn); + printf("*** EXPIRE FN=%" PRIu32 ":\n", fn); + pdch_ulc_expire_fn(pdch->ulc, fn); + print_ulc_nodes(pdch->ulc); + + /* We should still be able to release FN=0 here, since it came later: */ + printf("*** RELEASE fn=%" PRIu32 ":\n", 0); + rc = pdch_ulc_release_fn(pdch->ulc, 0); + print_ulc_nodes(pdch->ulc); + //OSMO_ASSERT(rc == 0); FIXME: DISABLED DUE TO BUG! + + /* Expiring last FN should expire all entries */ + printf("*** EXPIRE FN=%" PRIu32 ":\n", last_fn); + pdch_ulc_expire_fn(pdch->ulc, last_fn); + print_ulc_nodes(pdch->ulc); + /* Make sure the store is empty now: */ + //OSMO_ASSERT(!rb_first(&pdch->ulc->tree_root)); FIXME: DISABLED DUE TO BUG! + + talloc_free(bts); + printf("=== end: %s ===\n", __FUNCTION__); +} + int main(int argc, char **argv) { tall_pcu_ctx = talloc_named_const(NULL, 1, "pdch_ulc test context"); @@ -161,6 +230,7 @@ the_pcu = gprs_pcu_alloc(tall_pcu_ctx); test_reserve_multiple(); + test_fn_wrap_around(); talloc_free(the_pcu); return EXIT_SUCCESS; diff --git a/tests/ulc/PdchUlcTest.err b/tests/ulc/PdchUlcTest.err index 29b4846..88e4644 100644 --- a/tests/ulc/PdchUlcTest.err +++ b/tests/ulc/PdchUlcTest.err @@ -4,3 +4,28 @@ PDCH(bts=0,trx=0,ts=0) Trying to reserve already reserved FN 78 PDCH(bts=0,trx=0,ts=0) Trying to release unregistered SBA (FN=78, TA=0) PDCH(bts=0,trx=0,ts=0) Timeout for registered SBA (FN=72, TA=0) +Creating MS object, TLLI = 0x12345678 +MS(TLLI=0x12345678, IMSI=, TA=220, 0/0,) Attaching DL TBF: TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) +PDCH(bts=0,trx=0,ts=0) Expiring FN=2715613 but previous FN=0 is still reserved! +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=0): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) +PDCH(bts=0,trx=0,ts=0) Expiring FN=2715613 but previous FN=4 is still reserved! +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=4): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) +PDCH(bts=0,trx=0,ts=0) Expiring FN=2715613 but previous FN=8 is still reserved! +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=8): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) +PDCH(bts=0,trx=0,ts=0) Expiring FN=2715613 but previous FN=13 is still reserved! +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) +PDCH(bts=0,trx=0,ts=0) Expiring FN=2715613 but previous FN=17 is still reserved! +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) +PDCH(bts=0,trx=0,ts=0) Expiring FN=2715613 but previous FN=21 is still reserved! +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=21): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) +PDCH(bts=0,trx=0,ts=0) Expiring FN=2715613 but previous FN=26 is still reserved! +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=26): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) +PDCH(bts=0,trx=0,ts=0) Expiring FN=2715613 but previous FN=30 is still reserved! +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=30): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) +PDCH(bts=0,trx=0,ts=0) Expiring FN=2715613 but previous FN=34 is still reserved! +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=34): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=RELEASING) +PDCH(bts=0,trx=0,ts=0) Expiring FN=2715613 but previous FN=39 is still reserved! +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=39): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=RELEASING) +PDCH(bts=0,trx=0,ts=0) Expiring FN=2715613 but previous FN=2715608 is still reserved! +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715608): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=RELEASING) +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715613): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=RELEASING) diff --git a/tests/ulc/PdchUlcTest.ok b/tests/ulc/PdchUlcTest.ok index a07636f..7c17f01 100644 --- a/tests/ulc/PdchUlcTest.ok +++ b/tests/ulc/PdchUlcTest.ok @@ -1,2 +1,237 @@ === start: test_reserve_multiple === === end: test_reserve_multiple === +=== start: test_fn_wrap_around === +*** RESERVE FN=2715608: +FN=2715608 type=POLL +*** RESERVE FN=2715613: +FN=2715608 type=POLL +FN=2715613 type=POLL +*** RESERVE FN=2715617: +FN=2715608 type=POLL +FN=2715613 type=POLL +FN=2715617 type=POLL +*** RESERVE FN=2715622: +FN=2715608 type=POLL +FN=2715613 type=POLL +FN=2715617 type=POLL +FN=2715622 type=POLL +*** RESERVE FN=2715626: +FN=2715608 type=POLL +FN=2715613 type=POLL +FN=2715617 type=POLL +FN=2715622 type=POLL +FN=2715626 type=POLL +*** RESERVE FN=2715630: +FN=2715608 type=POLL +FN=2715613 type=POLL +FN=2715617 type=POLL +FN=2715622 type=POLL +FN=2715626 type=POLL +FN=2715630 type=POLL +*** RESERVE FN=2715635: +FN=2715608 type=POLL +FN=2715613 type=POLL +FN=2715617 type=POLL +FN=2715622 type=POLL +FN=2715626 type=POLL +FN=2715630 type=POLL +FN=2715635 type=POLL +*** RESERVE FN=2715639: +FN=2715608 type=POLL +FN=2715613 type=POLL +FN=2715617 type=POLL +FN=2715622 type=POLL +FN=2715626 type=POLL +FN=2715630 type=POLL +FN=2715635 type=POLL +FN=2715639 type=POLL +*** RESERVE FN=2715643: +FN=2715608 type=POLL +FN=2715613 type=POLL +FN=2715617 type=POLL +FN=2715622 type=POLL +FN=2715626 type=POLL +FN=2715630 type=POLL +FN=2715635 type=POLL +FN=2715639 type=POLL +FN=2715643 type=POLL +*** RESERVE FN=0: +FN=0 type=POLL +FN=2715608 type=POLL +FN=2715613 type=POLL +FN=2715617 type=POLL +FN=2715622 type=POLL +FN=2715626 type=POLL +FN=2715630 type=POLL +FN=2715635 type=POLL +FN=2715639 type=POLL +FN=2715643 type=POLL +*** RESERVE FN=4: +FN=0 type=POLL +FN=4 type=POLL +FN=2715608 type=POLL +FN=2715613 type=POLL +FN=2715617 type=POLL +FN=2715622 type=POLL +FN=2715626 type=POLL +FN=2715630 type=POLL +FN=2715635 type=POLL +FN=2715639 type=POLL +FN=2715643 type=POLL +*** RESERVE FN=8: +FN=0 type=POLL +FN=4 type=POLL +FN=8 type=POLL +FN=2715608 type=POLL +FN=2715613 type=POLL +FN=2715617 type=POLL +FN=2715622 type=POLL +FN=2715626 type=POLL +FN=2715630 type=POLL +FN=2715635 type=POLL +FN=2715639 type=POLL +FN=2715643 type=POLL +*** RESERVE FN=13: +FN=0 type=POLL +FN=4 type=POLL +FN=8 type=POLL +FN=13 type=POLL +FN=2715608 type=POLL +FN=2715613 type=POLL +FN=2715617 type=POLL +FN=2715622 type=POLL +FN=2715626 type=POLL +FN=2715630 type=POLL +FN=2715635 type=POLL +FN=2715639 type=POLL +FN=2715643 type=POLL +*** RESERVE FN=17: +FN=0 type=POLL +FN=4 type=POLL +FN=8 type=POLL +FN=13 type=POLL +FN=17 type=POLL +FN=2715608 type=POLL +FN=2715613 type=POLL +FN=2715617 type=POLL +FN=2715622 type=POLL +FN=2715626 type=POLL +FN=2715630 type=POLL +FN=2715635 type=POLL +FN=2715639 type=POLL +FN=2715643 type=POLL +*** RESERVE FN=21: +FN=0 type=POLL +FN=4 type=POLL +FN=8 type=POLL +FN=13 type=POLL +FN=17 type=POLL +FN=21 type=POLL +FN=2715608 type=POLL +FN=2715613 type=POLL +FN=2715617 type=POLL +FN=2715622 type=POLL +FN=2715626 type=POLL +FN=2715630 type=POLL +FN=2715635 type=POLL +FN=2715639 type=POLL +FN=2715643 type=POLL +*** RESERVE FN=26: +FN=0 type=POLL +FN=4 type=POLL +FN=8 type=POLL +FN=13 type=POLL +FN=17 type=POLL +FN=21 type=POLL +FN=26 type=POLL +FN=2715608 type=POLL +FN=2715613 type=POLL +FN=2715617 type=POLL +FN=2715622 type=POLL +FN=2715626 type=POLL +FN=2715630 type=POLL +FN=2715635 type=POLL +FN=2715639 type=POLL +FN=2715643 type=POLL +*** RESERVE FN=30: +FN=0 type=POLL +FN=4 type=POLL +FN=8 type=POLL +FN=13 type=POLL +FN=17 type=POLL +FN=21 type=POLL +FN=26 type=POLL +FN=30 type=POLL +FN=2715608 type=POLL +FN=2715613 type=POLL +FN=2715617 type=POLL +FN=2715622 type=POLL +FN=2715626 type=POLL +FN=2715630 type=POLL +FN=2715635 type=POLL +FN=2715639 type=POLL +FN=2715643 type=POLL +*** RESERVE FN=34: +FN=0 type=POLL +FN=4 type=POLL +FN=8 type=POLL +FN=13 type=POLL +FN=17 type=POLL +FN=21 type=POLL +FN=26 type=POLL +FN=30 type=POLL +FN=34 type=POLL +FN=2715608 type=POLL +FN=2715613 type=POLL +FN=2715617 type=POLL +FN=2715622 type=POLL +FN=2715626 type=POLL +FN=2715630 type=POLL +FN=2715635 type=POLL +FN=2715639 type=POLL +FN=2715643 type=POLL +*** RESERVE FN=39: +FN=0 type=POLL +FN=4 type=POLL +FN=8 type=POLL +FN=13 type=POLL +FN=17 type=POLL +FN=21 type=POLL +FN=26 type=POLL +FN=30 type=POLL +FN=34 type=POLL +FN=39 type=POLL +FN=2715608 type=POLL +FN=2715613 type=POLL +FN=2715617 type=POLL +FN=2715622 type=POLL +FN=2715626 type=POLL +FN=2715630 type=POLL +FN=2715635 type=POLL +FN=2715639 type=POLL +FN=2715643 type=POLL +*** EXPIRE FN=2715613: +FN=2715617 type=POLL +FN=2715622 type=POLL +FN=2715626 type=POLL +FN=2715630 type=POLL +FN=2715635 type=POLL +FN=2715639 type=POLL +FN=2715643 type=POLL +*** RELEASE fn=0: +FN=2715617 type=POLL +FN=2715622 type=POLL +FN=2715626 type=POLL +FN=2715630 type=POLL +FN=2715635 type=POLL +FN=2715639 type=POLL +FN=2715643 type=POLL +*** EXPIRE FN=43: +FN=2715617 type=POLL +FN=2715622 type=POLL +FN=2715626 type=POLL +FN=2715630 type=POLL +FN=2715635 type=POLL +FN=2715639 type=POLL +FN=2715643 type=POLL +=== end: test_fn_wrap_around === -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23356 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I657db6b300363f8f3a9e4cfaf7a7f49e361a0512 Gerrit-Change-Number: 23356 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 16 10:02:58 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 10:02:58 +0000 Subject: Change in osmo-pcu[master]: ulc: Fix FN store order upon wrap around In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23357 ) Change subject: ulc: Fix FN store order upon wrap around ...................................................................... ulc: Fix FN store order upon wrap around Related: OS#5020 Change-Id: I0a742f7fa1541b1837739207b9383772f981fb25 --- M src/pdch_ul_controller.c M tests/ulc/PdchUlcTest.cpp M tests/ulc/PdchUlcTest.err M tests/ulc/PdchUlcTest.ok 4 files changed, 99 insertions(+), 55 deletions(-) Approvals: Jenkins Builder: Verified laforge: 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_ul_controller.c b/src/pdch_ul_controller.c index 1fa91ae..173fd8f 100644 --- a/src/pdch_ul_controller.c +++ b/src/pdch_ul_controller.c @@ -37,6 +37,20 @@ { 0, NULL } }; +#define GSM_MAX_FN_THRESH (GSM_MAX_FN >> 1) +/* 0: equal, -1: fn1 BEFORE fn2, 1: fn1 AFTER fn2 */ +static inline int fn_cmp(uint32_t fn1, uint32_t fn2) +{ + if (fn1 == fn2) + return 0; + /* FN1 goes before FN2: */ + if ((fn1 < fn2 && (fn2 - fn1) < GSM_MAX_FN_THRESH) || + (fn1 > fn2 && (fn1 - fn2) > GSM_MAX_FN_THRESH)) + return -1; + /* FN1 goes after FN2: */ + return 1; +} + struct pdch_ulc *pdch_ulc_alloc(struct gprs_rlcmac_pdch *pdch, void *ctx) { struct pdch_ulc* ulc; @@ -53,11 +67,13 @@ { struct rb_node *node; struct pdch_ulc_node *it; + int res; for (node = rb_first(&ulc->tree_root); node; node = rb_next(node)) { it = container_of(node, struct pdch_ulc_node, node); - if (it->fn == fn) + res = fn_cmp(it->fn, fn); + if (res == 0) /* it->fn == fn */ return it; - if (it->fn > fn) + if (res > 0) /* it->fn AFTER fn */ break; } return NULL; @@ -123,13 +139,15 @@ while (*n) { struct pdch_ulc_node *it; + int res; it = container_of(*n, struct pdch_ulc_node, node); parent = *n; - if (item->fn < it->fn) { + res = fn_cmp(item->fn, it->fn); + if (res < 0) { /* item->fn "BEFORE" it->fn */ n = &((*n)->rb_left); - } else if (item->fn > it->fn) { + } else if (res > 0) { /* item->fn "AFTER" it->fn */ n = &((*n)->rb_right); } else { LOGPDCH(ulc->pdch, DRLCMAC, LOGL_ERROR, @@ -213,13 +231,15 @@ { struct gprs_rlcmac_sba *sba; struct pdch_ulc_node *item; + int res; struct rb_node *first; while((first = rb_first(&ulc->tree_root))) { item = container_of(first, struct pdch_ulc_node, node); - if (item->fn > fn) + res = fn_cmp(item->fn, fn); + if (res > 0) /* item->fn AFTER fn */ break; - if (item->fn < fn) { + if (res < 0) { /* item->fn BEFORE fn */ /* Sanity check: */ LOGPDCH(ulc->pdch, DRLCMAC, LOGL_ERROR, "Expiring FN=%" PRIu32 " but previous FN=%" PRIu32 " is still reserved!\n", diff --git a/tests/ulc/PdchUlcTest.cpp b/tests/ulc/PdchUlcTest.cpp index 320a7bf..0099101 100644 --- a/tests/ulc/PdchUlcTest.cpp +++ b/tests/ulc/PdchUlcTest.cpp @@ -199,14 +199,14 @@ printf("*** RELEASE fn=%" PRIu32 ":\n", 0); rc = pdch_ulc_release_fn(pdch->ulc, 0); print_ulc_nodes(pdch->ulc); - //OSMO_ASSERT(rc == 0); FIXME: DISABLED DUE TO BUG! + OSMO_ASSERT(rc == 0); /* Expiring last FN should expire all entries */ printf("*** EXPIRE FN=%" PRIu32 ":\n", last_fn); pdch_ulc_expire_fn(pdch->ulc, last_fn); print_ulc_nodes(pdch->ulc); /* Make sure the store is empty now: */ - //OSMO_ASSERT(!rb_first(&pdch->ulc->tree_root)); FIXME: DISABLED DUE TO BUG! + OSMO_ASSERT(!rb_first(&pdch->ulc->tree_root)); talloc_free(bts); printf("=== end: %s ===\n", __FUNCTION__); diff --git a/tests/ulc/PdchUlcTest.err b/tests/ulc/PdchUlcTest.err index 88e4644..34a090b 100644 --- a/tests/ulc/PdchUlcTest.err +++ b/tests/ulc/PdchUlcTest.err @@ -6,26 +6,38 @@ PDCH(bts=0,trx=0,ts=0) Timeout for registered SBA (FN=72, TA=0) Creating MS object, TLLI = 0x12345678 MS(TLLI=0x12345678, IMSI=, TA=220, 0/0,) Attaching DL TBF: TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) -PDCH(bts=0,trx=0,ts=0) Expiring FN=2715613 but previous FN=0 is still reserved! -PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=0): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) -PDCH(bts=0,trx=0,ts=0) Expiring FN=2715613 but previous FN=4 is still reserved! -PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=4): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) -PDCH(bts=0,trx=0,ts=0) Expiring FN=2715613 but previous FN=8 is still reserved! -PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=8): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) -PDCH(bts=0,trx=0,ts=0) Expiring FN=2715613 but previous FN=13 is still reserved! -PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) -PDCH(bts=0,trx=0,ts=0) Expiring FN=2715613 but previous FN=17 is still reserved! -PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) -PDCH(bts=0,trx=0,ts=0) Expiring FN=2715613 but previous FN=21 is still reserved! -PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=21): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) -PDCH(bts=0,trx=0,ts=0) Expiring FN=2715613 but previous FN=26 is still reserved! -PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=26): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) -PDCH(bts=0,trx=0,ts=0) Expiring FN=2715613 but previous FN=30 is still reserved! -PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=30): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) -PDCH(bts=0,trx=0,ts=0) Expiring FN=2715613 but previous FN=34 is still reserved! -PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=34): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=RELEASING) -PDCH(bts=0,trx=0,ts=0) Expiring FN=2715613 but previous FN=39 is still reserved! -PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=39): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=RELEASING) PDCH(bts=0,trx=0,ts=0) Expiring FN=2715613 but previous FN=2715608 is still reserved! -PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715608): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=RELEASING) -PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715613): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=RELEASING) +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715608): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715613): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) +PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=2715617 is still reserved! +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715617): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) +PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=2715622 is still reserved! +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715622): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) +PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=2715626 is still reserved! +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715626): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) +PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=2715630 is still reserved! +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715630): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) +PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=2715635 is still reserved! +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715635): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) +PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=2715639 is still reserved! +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715639): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=NULL) +PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=2715643 is still reserved! +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=2715643): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=RELEASING) +PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=4 is still reserved! +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=4): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=RELEASING) +PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=8 is still reserved! +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=8): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=RELEASING) +PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=13 is still reserved! +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=RELEASING) +PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=17 is still reserved! +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=RELEASING) +PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=21 is still reserved! +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=21): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=RELEASING) +PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=26 is still reserved! +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=26): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=RELEASING) +PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=30 is still reserved! +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=30): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=RELEASING) +PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=34 is still reserved! +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=34): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=RELEASING) +PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=39 is still reserved! +PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=39): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=RELEASING) diff --git a/tests/ulc/PdchUlcTest.ok b/tests/ulc/PdchUlcTest.ok index 7c17f01..f20fb30 100644 --- a/tests/ulc/PdchUlcTest.ok +++ b/tests/ulc/PdchUlcTest.ok @@ -56,7 +56,6 @@ FN=2715639 type=POLL FN=2715643 type=POLL *** RESERVE FN=0: -FN=0 type=POLL FN=2715608 type=POLL FN=2715613 type=POLL FN=2715617 type=POLL @@ -66,9 +65,20 @@ FN=2715635 type=POLL FN=2715639 type=POLL FN=2715643 type=POLL +FN=0 type=POLL *** RESERVE FN=4: +FN=2715608 type=POLL +FN=2715613 type=POLL +FN=2715617 type=POLL +FN=2715622 type=POLL +FN=2715626 type=POLL +FN=2715630 type=POLL +FN=2715635 type=POLL +FN=2715639 type=POLL +FN=2715643 type=POLL FN=0 type=POLL FN=4 type=POLL +*** RESERVE FN=8: FN=2715608 type=POLL FN=2715613 type=POLL FN=2715617 type=POLL @@ -78,10 +88,10 @@ FN=2715635 type=POLL FN=2715639 type=POLL FN=2715643 type=POLL -*** RESERVE FN=8: FN=0 type=POLL FN=4 type=POLL FN=8 type=POLL +*** RESERVE FN=13: FN=2715608 type=POLL FN=2715613 type=POLL FN=2715617 type=POLL @@ -91,11 +101,11 @@ FN=2715635 type=POLL FN=2715639 type=POLL FN=2715643 type=POLL -*** RESERVE FN=13: FN=0 type=POLL FN=4 type=POLL FN=8 type=POLL FN=13 type=POLL +*** RESERVE FN=17: FN=2715608 type=POLL FN=2715613 type=POLL FN=2715617 type=POLL @@ -105,12 +115,12 @@ FN=2715635 type=POLL FN=2715639 type=POLL FN=2715643 type=POLL -*** RESERVE FN=17: FN=0 type=POLL FN=4 type=POLL FN=8 type=POLL FN=13 type=POLL FN=17 type=POLL +*** RESERVE FN=21: FN=2715608 type=POLL FN=2715613 type=POLL FN=2715617 type=POLL @@ -120,13 +130,13 @@ FN=2715635 type=POLL FN=2715639 type=POLL FN=2715643 type=POLL -*** RESERVE FN=21: FN=0 type=POLL FN=4 type=POLL FN=8 type=POLL FN=13 type=POLL FN=17 type=POLL FN=21 type=POLL +*** RESERVE FN=26: FN=2715608 type=POLL FN=2715613 type=POLL FN=2715617 type=POLL @@ -136,7 +146,6 @@ FN=2715635 type=POLL FN=2715639 type=POLL FN=2715643 type=POLL -*** RESERVE FN=26: FN=0 type=POLL FN=4 type=POLL FN=8 type=POLL @@ -144,6 +153,7 @@ FN=17 type=POLL FN=21 type=POLL FN=26 type=POLL +*** RESERVE FN=30: FN=2715608 type=POLL FN=2715613 type=POLL FN=2715617 type=POLL @@ -153,7 +163,6 @@ FN=2715635 type=POLL FN=2715639 type=POLL FN=2715643 type=POLL -*** RESERVE FN=30: FN=0 type=POLL FN=4 type=POLL FN=8 type=POLL @@ -162,6 +171,7 @@ FN=21 type=POLL FN=26 type=POLL FN=30 type=POLL +*** RESERVE FN=34: FN=2715608 type=POLL FN=2715613 type=POLL FN=2715617 type=POLL @@ -171,7 +181,6 @@ FN=2715635 type=POLL FN=2715639 type=POLL FN=2715643 type=POLL -*** RESERVE FN=34: FN=0 type=POLL FN=4 type=POLL FN=8 type=POLL @@ -181,6 +190,7 @@ FN=26 type=POLL FN=30 type=POLL FN=34 type=POLL +*** RESERVE FN=39: FN=2715608 type=POLL FN=2715613 type=POLL FN=2715617 type=POLL @@ -190,7 +200,6 @@ FN=2715635 type=POLL FN=2715639 type=POLL FN=2715643 type=POLL -*** RESERVE FN=39: FN=0 type=POLL FN=4 type=POLL FN=8 type=POLL @@ -201,15 +210,6 @@ FN=30 type=POLL FN=34 type=POLL FN=39 type=POLL -FN=2715608 type=POLL -FN=2715613 type=POLL -FN=2715617 type=POLL -FN=2715622 type=POLL -FN=2715626 type=POLL -FN=2715630 type=POLL -FN=2715635 type=POLL -FN=2715639 type=POLL -FN=2715643 type=POLL *** EXPIRE FN=2715613: FN=2715617 type=POLL FN=2715622 type=POLL @@ -218,6 +218,16 @@ FN=2715635 type=POLL FN=2715639 type=POLL FN=2715643 type=POLL +FN=0 type=POLL +FN=4 type=POLL +FN=8 type=POLL +FN=13 type=POLL +FN=17 type=POLL +FN=21 type=POLL +FN=26 type=POLL +FN=30 type=POLL +FN=34 type=POLL +FN=39 type=POLL *** RELEASE fn=0: FN=2715617 type=POLL FN=2715622 type=POLL @@ -226,12 +236,14 @@ FN=2715635 type=POLL FN=2715639 type=POLL FN=2715643 type=POLL +FN=4 type=POLL +FN=8 type=POLL +FN=13 type=POLL +FN=17 type=POLL +FN=21 type=POLL +FN=26 type=POLL +FN=30 type=POLL +FN=34 type=POLL +FN=39 type=POLL *** EXPIRE FN=43: -FN=2715617 type=POLL -FN=2715622 type=POLL -FN=2715626 type=POLL -FN=2715630 type=POLL -FN=2715635 type=POLL -FN=2715639 type=POLL -FN=2715643 type=POLL === end: test_fn_wrap_around === -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23357 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I0a742f7fa1541b1837739207b9383772f981fb25 Gerrit-Change-Number: 23357 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 16 10:04:26 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 10:04:26 +0000 Subject: Change in osmo-ci[master]: ansible: ogt: uhubctl has new cmdline syntax to specify ports In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23366 ) Change subject: ansible: ogt: uhubctl has new cmdline syntax to specify ports ...................................................................... Patch Set 1: For the record: https://github.com/mvp/uhubctl/commit/04320872f5d2d65fbadadb81d745329898ae6c9a -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23366 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ie57d85dc0a66e053247cd5bb92a4b2dea4eb4309 Gerrit-Change-Number: 23366 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 16 Mar 2021 10:04:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 16 10:04:41 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 10:04:41 +0000 Subject: Change in osmo-ci[master]: ansible: ogt: uhubctl has new cmdline syntax to specify ports In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23366 ) Change subject: ansible: ogt: uhubctl has new cmdline syntax to specify ports ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23366 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ie57d85dc0a66e053247cd5bb92a4b2dea4eb4309 Gerrit-Change-Number: 23366 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 16 Mar 2021 10:04: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 Mar 16 10:04:47 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 10:04:47 +0000 Subject: Change in osmo-ci[master]: jobs: Add OGT open5gs build jobs In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23369 ) Change subject: jobs: Add OGT open5gs build jobs ...................................................................... Patch Set 2: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23369 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ib7786d077017b24825d575b6801cb7c7f08ea832 Gerrit-Change-Number: 23369 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 16 Mar 2021 10:04: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 Mar 16 10:04:50 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 10:04:50 +0000 Subject: Change in osmo-ci[master]: jobs: Add OGT open5gs build jobs In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23369 ) Change subject: jobs: Add OGT open5gs build jobs ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23369 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ib7786d077017b24825d575b6801cb7c7f08ea832 Gerrit-Change-Number: 23369 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 16 Mar 2021 10:04:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 16 10:04:53 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 10:04:53 +0000 Subject: Change in osmo-ci[master]: ansible: osmocom_build_deps.yml: Install missing open5gs dep libnghtt... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23370 ) Change subject: ansible: osmocom_build_deps.yml: Install missing open5gs dep libnghttp2-dev ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23370 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I6b40acd7dd5bdc596b26227bba83e3f87a841d00 Gerrit-Change-Number: 23370 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 16 Mar 2021 10:04: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 Mar 16 10:04:55 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 10:04:55 +0000 Subject: Change in osmo-ci[master]: ansible: ogt: prod setup has 12 modems nowadays In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23365 ) Change subject: ansible: ogt: prod setup has 12 modems nowadays ...................................................................... ansible: ogt: prod setup has 12 modems nowadays Change-Id: I6e401b292b2587733396c4160c008b894fc066a5 --- M ansible/host_vars/osmo-gsm-tester-prod.yml 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: pespin: Verified laforge: Looks good to me, approved diff --git a/ansible/host_vars/osmo-gsm-tester-prod.yml b/ansible/host_vars/osmo-gsm-tester-prod.yml index a2a5a36..ba9ba7d 100644 --- a/ansible/host_vars/osmo-gsm-tester-prod.yml +++ b/ansible/host_vars/osmo-gsm-tester-prod.yml @@ -10,4 +10,4 @@ ip: 10.42.42.123 # how many modems are connected via a quadmodem? -gsm_modems: 8 +gsm_modems: 12 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23365 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I6e401b292b2587733396c4160c008b894fc066a5 Gerrit-Change-Number: 23365 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 Tue Mar 16 10:04:55 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 10:04:55 +0000 Subject: Change in osmo-ci[master]: ansible: ogt: uhubctl has new cmdline syntax to specify ports In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23366 ) Change subject: ansible: ogt: uhubctl has new cmdline syntax to specify ports ...................................................................... ansible: ogt: uhubctl has new cmdline syntax to specify ports Change-Id: Ie57d85dc0a66e053247cd5bb92a4b2dea4eb4309 --- M ansible/roles/gsm-tester/templates/quad_modem_power_cycle.sh 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: pespin: Looks good to me, approved; Verified laforge: Looks good to me, but someone else must approve diff --git a/ansible/roles/gsm-tester/templates/quad_modem_power_cycle.sh b/ansible/roles/gsm-tester/templates/quad_modem_power_cycle.sh index f461d81..b826976 100755 --- a/ansible/roles/gsm-tester/templates/quad_modem_power_cycle.sh +++ b/ansible/roles/gsm-tester/templates/quad_modem_power_cycle.sh @@ -3,12 +3,12 @@ locations="$(uhubctl -n 1d50:4002 | grep "Current status for hub" | awk '{print $5}')" for l in $locations; do - uhubctl -p 123456 -a 0 -n 1d50:4002 -l $l + uhubctl -p 1,2,3,4,5,6 -a 0 -n 1d50:4002 -l $l done # give a lot of time to discharge capacitors on the board sleep 20 for l in $locations; do - uhubctl -p 123456 -a 1 -n 1d50:4002 -l $l + uhubctl -p 1,2,3,4,5,6 -a 1 -n 1d50:4002 -l $l done attempts=30 while [ "x$(uhubctl | grep -e 05c6 -e 1199 -c)" != "x{{ gsm_modems }}" ]; do -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23366 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ie57d85dc0a66e053247cd5bb92a4b2dea4eb4309 Gerrit-Change-Number: 23366 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 Tue Mar 16 10:04:56 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 10:04:56 +0000 Subject: Change in osmo-ci[master]: jobs: Add OGT open5gs build jobs In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23369 ) Change subject: jobs: Add OGT open5gs build jobs ...................................................................... jobs: Add OGT open5gs build jobs Change-Id: Ib7786d077017b24825d575b6801cb7c7f08ea832 --- M jobs/osmo-gsm-tester-builder.yml M jobs/osmo-gsm-tester-runner.yml M jobs/osmo-gsm-tester-trigger.yml 3 files changed, 8 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, but someone else must approve pespin: Looks good to me, approved; Verified diff --git a/jobs/osmo-gsm-tester-builder.yml b/jobs/osmo-gsm-tester-builder.yml index a519f93..16f9419 100644 --- a/jobs/osmo-gsm-tester-builder.yml +++ b/jobs/osmo-gsm-tester-builder.yml @@ -29,6 +29,7 @@ triggered-by: master-osmo-bts - osmo-pcu-oc2g: triggered-by: master-osmo-pcu + - open5gs - srslte triggered-by: 'master-{repo}' @@ -101,6 +102,8 @@ - add_param_build_branch: name: OSMO_GSM_TESTER_BUILD_osmocom_bb - add_param_build_branch: + name: OSMO_GSM_TESTER_BUILD_open5gs + - add_param_build_branch: name: OSMO_GSM_TESTER_BUILD_srslte scm: - osmo-gsm-tester-repo diff --git a/jobs/osmo-gsm-tester-runner.yml b/jobs/osmo-gsm-tester-runner.yml index 25d8fd0..a505629 100644 --- a/jobs/osmo-gsm-tester-runner.yml +++ b/jobs/osmo-gsm-tester-runner.yml @@ -87,6 +87,8 @@ - copy_artifact: repo: osmo-gsm-tester_build-osmo-pcu-oc2g - copy_artifact: + repo: osmo-gsm-tester_build-open5gs + - copy_artifact: repo: osmo-gsm-tester_build-srslte - defaults: @@ -130,6 +132,7 @@ - osmo-gsm-tester_build-osmo-pcu-sysmo - osmo-gsm-tester_build-osmo-bts-oc2g - osmo-gsm-tester_build-osmo-pcu-oc2g + - osmo-gsm-tester_build-open5gs - osmo-gsm-tester_build-srslte builders: - copy_artifact_all diff --git a/jobs/osmo-gsm-tester-trigger.yml b/jobs/osmo-gsm-tester-trigger.yml index e37c1f1..07edcf4 100644 --- a/jobs/osmo-gsm-tester-trigger.yml +++ b/jobs/osmo-gsm-tester-trigger.yml @@ -28,5 +28,6 @@ osmo-gsm-tester_build-osmo-bts-sysmo, osmo-gsm-tester_build-osmo-pcu-sysmo, osmo-gsm-tester_build-osmo-bts-oc2g, - osmo-gsm-tester_build-osmo-pcu-oc2g + osmo-gsm-tester_build-osmo-pcu-oc2g, + osmo-gsm-tester_build-open5gs, osmo-gsm-tester_build-srslte -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23369 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ib7786d077017b24825d575b6801cb7c7f08ea832 Gerrit-Change-Number: 23369 Gerrit-PatchSet: 2 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 Tue Mar 16 10:04:56 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 10:04:56 +0000 Subject: Change in osmo-ci[master]: ansible: osmocom_build_deps.yml: Install missing open5gs dep libnghtt... In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23370 ) Change subject: ansible: osmocom_build_deps.yml: Install missing open5gs dep libnghttp2-dev ...................................................................... ansible: osmocom_build_deps.yml: Install missing open5gs dep libnghttp2-dev The official Build Guide lists it as a dependency, and meson fails without it. Change-Id: I6b40acd7dd5bdc596b26227bba83e3f87a841d00 --- M ansible/roles/osmocom-jenkins-slave/tasks/osmocom_build_deps.yml 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved pespin: 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 816218f..e2b5a98 100644 --- a/ansible/roles/osmocom-jenkins-slave/tasks/osmocom_build_deps.yml +++ b/ansible/roles/osmocom-jenkins-slave/tasks/osmocom_build_deps.yml @@ -160,6 +160,7 @@ - libmongoc-dev - libbson-dev - libyaml-dev + - libnghttp2-dev cache_valid_time: 3600 update_cache: yes when: ansible_distribution == 'Debian' and ansible_distribution_version|int >= 10 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23370 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I6b40acd7dd5bdc596b26227bba83e3f87a841d00 Gerrit-Change-Number: 23370 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 Tue Mar 16 10:05:16 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 10:05:16 +0000 Subject: Change in osmo-bts[master]: bts-trx: reorder first timerfd schedule to decrease first timeout skew In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/23368 ) Change subject: bts-trx: reorder first timerfd schedule to decrease first timeout skew ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/23368 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ie2ba35cd87f0bd4078ac3b4b5ec2eacad36c4258 Gerrit-Change-Number: 23368 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 16 Mar 2021 10:05: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 Mar 16 10:05:18 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 10:05:18 +0000 Subject: Change in osmo-bts[master]: bts-trx: reorder first timerfd schedule to decrease first timeout skew In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/23368 ) Change subject: bts-trx: reorder first timerfd schedule to decrease first timeout skew ...................................................................... bts-trx: reorder first timerfd schedule to decrease first timeout skew By reordering the instruction, we scheduler the timerfd prior to processing the FN on the upper layers. This means the first timerfd expiration even will happen more inline with the expected time, that is, CLOCK IND time + GSM_TDMA_FN_DURATION_nS. Let T(trx_sched_fn) be the time spent executing function trx_sched_fn(). With previous order, the timerfd would have been scheduled later, which in the end would mean expiration would happen at time CLOCK_IND + GSM_TDMA_FN_DURATION_nS + T(trx_sched_fn), hence ending up with an extra skew of T(trx_sched_fn) added by ourselves. This extra skew added may be important specially at startup time (when this code path is used), since usually the load in the system is high and skew is usually already higher, which means helping crossing unacceptable thresholds which may end up in osmo-bts-trx stopping with "No clock from osmo-trx" reason. Change-Id: Ie2ba35cd87f0bd4078ac3b4b5ec2eacad36c4258 --- M src/osmo-bts-trx/scheduler_trx.c 1 file changed, 3 insertions(+), 4 deletions(-) Approvals: fixeria: Looks good to me, but someone else must approve Hoernchen: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bts-trx/scheduler_trx.c b/src/osmo-bts-trx/scheduler_trx.c index 6e54d43..efd4954 100644 --- a/src/osmo-bts-trx/scheduler_trx.c +++ b/src/osmo-bts-trx/scheduler_trx.c @@ -369,15 +369,14 @@ static int trx_setup_clock(struct gsm_bts *bts, struct osmo_trx_clock_state *tcs, struct timespec *tv_now, const struct timespec *interval, uint32_t fn) { - tcs->last_fn_timer.fn = fn; - /* call trx cheduler function for new 'last' FN */ - trx_sched_fn(bts, tcs->last_fn_timer.fn); - /* schedule first FN clock timer */ osmo_timerfd_setup(&tcs->fn_timer_ofd, trx_fn_timer_cb, bts); osmo_timerfd_schedule(&tcs->fn_timer_ofd, NULL, interval); + tcs->last_fn_timer.fn = fn; tcs->last_fn_timer.tv = *tv_now; + /* call trx scheduler function for new 'last' FN */ + trx_sched_fn(bts, tcs->last_fn_timer.fn); return 0; } -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/23368 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ie2ba35cd87f0bd4078ac3b4b5ec2eacad36c4258 Gerrit-Change-Number: 23368 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 16 10:10:14 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 16 Mar 2021 10:10:14 +0000 Subject: Change in docker-playground[master]: ttcn3-fr-test: add missing TTCN3_PCAP_PATH for '-frnet' container References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/23371 ) Change subject: ttcn3-fr-test: add missing TTCN3_PCAP_PATH for '-frnet' container ...................................................................... ttcn3-fr-test: add missing TTCN3_PCAP_PATH for '-frnet' container Change-Id: Ide1b10f342f1f9d2b3bf432291218ed057f51de8 --- M ttcn3-fr-test/jenkins.sh 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/71/23371/1 diff --git a/ttcn3-fr-test/jenkins.sh b/ttcn3-fr-test/jenkins.sh index ee76984..1e383e5 100755 --- a/ttcn3-fr-test/jenkins.sh +++ b/ttcn3-fr-test/jenkins.sh @@ -27,6 +27,7 @@ --cap-add=NET_RAW --cap-add=SYS_RAWIO \ $(docker_network_params $SUBNET 10) \ --ulimit core=-1 \ + -e "TTCN3_PCAP_PATH=/data" \ -e "WAIT_FOR_NETDEV=hdlcnet8" \ -v $VOL_BASE_DIR/frnet:/data \ --name ${BUILD_TAG}-frnet -d \ -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23371 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ide1b10f342f1f9d2b3bf432291218ed057f51de8 Gerrit-Change-Number: 23371 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 Mar 16 10:26:43 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 16 Mar 2021 10:26:43 +0000 Subject: Change in docker-playground[master]: ttcn3-fr-test: add missing TTCN3_PCAP_PATH for '-frnet' container In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23371 ) Change subject: ttcn3-fr-test: add missing TTCN3_PCAP_PATH for '-frnet' container ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23371 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ide1b10f342f1f9d2b3bf432291218ed057f51de8 Gerrit-Change-Number: 23371 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: daniel Gerrit-Comment-Date: Tue, 16 Mar 2021 10:26: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 Mar 16 10:28:04 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 16 Mar 2021 10:28:04 +0000 Subject: Change in docker-playground[master]: ttcn3-fr-test: add missing TTCN3_PCAP_PATH for '-frnet' container In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23371 ) Change subject: ttcn3-fr-test: add missing TTCN3_PCAP_PATH for '-frnet' container ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23371 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ide1b10f342f1f9d2b3bf432291218ed057f51de8 Gerrit-Change-Number: 23371 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 16 Mar 2021 10:28: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 Mar 16 10:28:09 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 16 Mar 2021 10:28:09 +0000 Subject: Change in docker-playground[master]: ttcn3-fr-test: add missing TTCN3_PCAP_PATH for '-frnet' container In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23371 ) Change subject: ttcn3-fr-test: add missing TTCN3_PCAP_PATH for '-frnet' container ...................................................................... ttcn3-fr-test: add missing TTCN3_PCAP_PATH for '-frnet' container Change-Id: Ide1b10f342f1f9d2b3bf432291218ed057f51de8 --- M ttcn3-fr-test/jenkins.sh 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: daniel: Looks good to me, but someone else must approve laforge: Looks good to me, approved; Verified diff --git a/ttcn3-fr-test/jenkins.sh b/ttcn3-fr-test/jenkins.sh index ee76984..1e383e5 100755 --- a/ttcn3-fr-test/jenkins.sh +++ b/ttcn3-fr-test/jenkins.sh @@ -27,6 +27,7 @@ --cap-add=NET_RAW --cap-add=SYS_RAWIO \ $(docker_network_params $SUBNET 10) \ --ulimit core=-1 \ + -e "TTCN3_PCAP_PATH=/data" \ -e "WAIT_FOR_NETDEV=hdlcnet8" \ -v $VOL_BASE_DIR/frnet:/data \ --name ${BUILD_TAG}-frnet -d \ -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23371 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ide1b10f342f1f9d2b3bf432291218ed057f51de8 Gerrit-Change-Number: 23371 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 16 11:43:55 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 11:43:55 +0000 Subject: Change in osmo-gsm-tester[master]: contrib: Add build script for open5gs References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23372 ) Change subject: contrib: Add build script for open5gs ...................................................................... contrib: Add build script for open5gs Change-Id: I0ed43dadbfe08811dd72064ee7332d0872882dfd --- M contrib/jenkins-build-common.sh A contrib/jenkins-build-open5gs.sh 2 files changed, 19 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/72/23372/1 diff --git a/contrib/jenkins-build-common.sh b/contrib/jenkins-build-common.sh index 0dac3a4..75d1e4f 100644 --- a/contrib/jenkins-build-common.sh +++ b/contrib/jenkins-build-common.sh @@ -151,6 +151,13 @@ rm -rf build && mkdir build && cd build || exit 1 set +x; echo; echo; set -x cmake -DCMAKE_INSTALL_PREFIX=$prefix $configure_opts ../ + elif [ -f meson.build ]; then + rm -rf build && mkdir build && cd build || exit 1 + set +x; echo; echo; set -x + meson ../ --prefix=$prefix $configure_opts + ninja -j8 + ninja install + return else echo "Unknwown build system" && exit 1 fi diff --git a/contrib/jenkins-build-open5gs.sh b/contrib/jenkins-build-open5gs.sh new file mode 100755 index 0000000..ecee8ca --- /dev/null +++ b/contrib/jenkins-build-open5gs.sh @@ -0,0 +1,12 @@ +#!/bin/sh +set -e -x + +base="$PWD" +name="open5gs" +git_url="${git_url:-https://github.com/open5gs}" +project_name="${project_name:-open5gs}" +. "$(dirname "$0")/jenkins-build-common.sh" + +build_repo $project_name "main" $configure_opts + +create_bin_tgz "open5gs-mmed" -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23372 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I0ed43dadbfe08811dd72064ee7332d0872882dfd Gerrit-Change-Number: 23372 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 Mar 16 11:51:17 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 11:51:17 +0000 Subject: Change in osmo-gsm-tester[master]: contrib: Add build script for open5gs In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23372 ) Change subject: contrib: Add build script for open5gs ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23372 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I0ed43dadbfe08811dd72064ee7332d0872882dfd Gerrit-Change-Number: 23372 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Tue, 16 Mar 2021 11:51: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 Mar 16 11:51:19 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 11:51:19 +0000 Subject: Change in osmo-gsm-tester[master]: contrib: Add build script for open5gs In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23372 ) Change subject: contrib: Add build script for open5gs ...................................................................... contrib: Add build script for open5gs Change-Id: I0ed43dadbfe08811dd72064ee7332d0872882dfd --- M contrib/jenkins-build-common.sh A contrib/jenkins-build-open5gs.sh 2 files changed, 19 insertions(+), 0 deletions(-) Approvals: pespin: Looks good to me, approved; Verified diff --git a/contrib/jenkins-build-common.sh b/contrib/jenkins-build-common.sh index 0dac3a4..75d1e4f 100644 --- a/contrib/jenkins-build-common.sh +++ b/contrib/jenkins-build-common.sh @@ -151,6 +151,13 @@ rm -rf build && mkdir build && cd build || exit 1 set +x; echo; echo; set -x cmake -DCMAKE_INSTALL_PREFIX=$prefix $configure_opts ../ + elif [ -f meson.build ]; then + rm -rf build && mkdir build && cd build || exit 1 + set +x; echo; echo; set -x + meson ../ --prefix=$prefix $configure_opts + ninja -j8 + ninja install + return else echo "Unknwown build system" && exit 1 fi diff --git a/contrib/jenkins-build-open5gs.sh b/contrib/jenkins-build-open5gs.sh new file mode 100755 index 0000000..ecee8ca --- /dev/null +++ b/contrib/jenkins-build-open5gs.sh @@ -0,0 +1,12 @@ +#!/bin/sh +set -e -x + +base="$PWD" +name="open5gs" +git_url="${git_url:-https://github.com/open5gs}" +project_name="${project_name:-open5gs}" +. "$(dirname "$0")/jenkins-build-common.sh" + +build_repo $project_name "main" $configure_opts + +create_bin_tgz "open5gs-mmed" -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23372 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I0ed43dadbfe08811dd72064ee7332d0872882dfd Gerrit-Change-Number: 23372 Gerrit-PatchSet: 1 Gerrit-Owner: pespin 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 Mar 16 14:51:56 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 16 Mar 2021 14:51:56 +0000 Subject: Change in docker-playground[master]: ttcn3-fr-test: store execution logs for both containers References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/23373 ) Change subject: ttcn3-fr-test: store execution logs for both containers ...................................................................... ttcn3-fr-test: store execution logs for both containers Change-Id: I60e60bfdc9f6b8fde81189d35d0ca4e73e310cc7 --- M ttcn3-fr-test/jenkins.sh 1 file changed, 7 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/73/23373/1 diff --git a/ttcn3-fr-test/jenkins.sh b/ttcn3-fr-test/jenkins.sh index 1e383e5..bfe775f 100755 --- a/ttcn3-fr-test/jenkins.sh +++ b/ttcn3-fr-test/jenkins.sh @@ -23,7 +23,7 @@ mkdir $VOL_BASE_DIR/unix echo Starting container with FRNET -docker run --rm \ +docker run \ --cap-add=NET_RAW --cap-add=SYS_RAWIO \ $(docker_network_params $SUBNET 10) \ --ulimit core=-1 \ @@ -42,7 +42,7 @@ done echo Starting container with FR testsuite -docker run --rm \ +docker run \ --cap-add=NET_RAW --cap-add=SYS_RAWIO \ $(docker_network_params $SUBNET 103) \ --ulimit core=-1 \ @@ -63,3 +63,8 @@ # emulate running container in foreground, which is no longer possible as we # must shift the net-devices into the container _after_ it is started docker logs -f ${BUILD_TAG}-ttcn3-fr-test + +# store execution logs for both containers +docker logs --timestamps ${BUILD_TAG}-ttcn3-fr-test > $VOL_BASE_DIR/fr-tester/exec.log +docker logs --timestamps ${BUILD_TAG}-frnet > $VOL_BASE_DIR/frnet/exec.log +docker container rm ${BUILD_TAG}-frnet ${BUILD_TAG}-ttcn3-fr-test -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23373 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I60e60bfdc9f6b8fde81189d35d0ca4e73e310cc7 Gerrit-Change-Number: 23373 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 Mar 16 15:00:20 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 16 Mar 2021 15:00:20 +0000 Subject: Change in docker-playground[master]: ttcn3-fr-test: store execution logs for both containers In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23373 ) Change subject: ttcn3-fr-test: store execution logs for both containers ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23373 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I60e60bfdc9f6b8fde81189d35d0ca4e73e310cc7 Gerrit-Change-Number: 23373 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 16 Mar 2021 15:00: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 Mar 16 15:00:23 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 16 Mar 2021 15:00:23 +0000 Subject: Change in docker-playground[master]: ttcn3-fr-test: store execution logs for both containers In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23373 ) Change subject: ttcn3-fr-test: store execution logs for both containers ...................................................................... ttcn3-fr-test: store execution logs for both containers Change-Id: I60e60bfdc9f6b8fde81189d35d0ca4e73e310cc7 --- M ttcn3-fr-test/jenkins.sh 1 file changed, 7 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/ttcn3-fr-test/jenkins.sh b/ttcn3-fr-test/jenkins.sh index 1e383e5..bfe775f 100755 --- a/ttcn3-fr-test/jenkins.sh +++ b/ttcn3-fr-test/jenkins.sh @@ -23,7 +23,7 @@ mkdir $VOL_BASE_DIR/unix echo Starting container with FRNET -docker run --rm \ +docker run \ --cap-add=NET_RAW --cap-add=SYS_RAWIO \ $(docker_network_params $SUBNET 10) \ --ulimit core=-1 \ @@ -42,7 +42,7 @@ done echo Starting container with FR testsuite -docker run --rm \ +docker run \ --cap-add=NET_RAW --cap-add=SYS_RAWIO \ $(docker_network_params $SUBNET 103) \ --ulimit core=-1 \ @@ -63,3 +63,8 @@ # emulate running container in foreground, which is no longer possible as we # must shift the net-devices into the container _after_ it is started docker logs -f ${BUILD_TAG}-ttcn3-fr-test + +# store execution logs for both containers +docker logs --timestamps ${BUILD_TAG}-ttcn3-fr-test > $VOL_BASE_DIR/fr-tester/exec.log +docker logs --timestamps ${BUILD_TAG}-frnet > $VOL_BASE_DIR/frnet/exec.log +docker container rm ${BUILD_TAG}-frnet ${BUILD_TAG}-ttcn3-fr-test -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23373 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I60e60bfdc9f6b8fde81189d35d0ca4e73e310cc7 Gerrit-Change-Number: 23373 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 Tue Mar 16 15:06:13 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 16 Mar 2021 15:06:13 +0000 Subject: Change in docker-playground[master]: ttcn3-docker-prepare.sh: fix handling of multiple PROJECTs References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/23374 ) Change subject: ttcn3-docker-prepare.sh: fix handling of multiple PROJECTs ...................................................................... ttcn3-docker-prepare.sh: fix handling of multiple PROJECTs Change-Id: Ib921d7c5cb2c628f3eca8d5c886375f3288e1dd6 --- M debian-stretch-titan/ttcn3-docker-prepare.sh 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/74/23374/1 diff --git a/debian-stretch-titan/ttcn3-docker-prepare.sh b/debian-stretch-titan/ttcn3-docker-prepare.sh index a5cbc91..e4144e2 100755 --- a/debian-stretch-titan/ttcn3-docker-prepare.sh +++ b/debian-stretch-titan/ttcn3-docker-prepare.sh @@ -11,7 +11,7 @@ set -x OSMO_TTCN3_BRANCH=$1 -PROJECT=$2 +shift cd /osmo-ttcn3-hacks @@ -37,4 +37,4 @@ ln -sv "/osmo-ttcn3-hacks/$i" "/$i" done -make "$PROJECT" +make $@ -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23374 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ib921d7c5cb2c628f3eca8d5c886375f3288e1dd6 Gerrit-Change-Number: 23374 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 Mar 16 15:10:07 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 16 Mar 2021 15:10:07 +0000 Subject: Change in docker-playground[master]: ttcn3-docker-prepare.sh: fix handling of multiple PROJECTs In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23374 ) Change subject: ttcn3-docker-prepare.sh: fix handling of multiple PROJECTs ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23374 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ib921d7c5cb2c628f3eca8d5c886375f3288e1dd6 Gerrit-Change-Number: 23374 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Tue, 16 Mar 2021 15:10: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 Mar 16 15:10:09 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 16 Mar 2021 15:10:09 +0000 Subject: Change in docker-playground[master]: ttcn3-docker-prepare.sh: fix handling of multiple PROJECTs In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23374 ) Change subject: ttcn3-docker-prepare.sh: fix handling of multiple PROJECTs ...................................................................... ttcn3-docker-prepare.sh: fix handling of multiple PROJECTs Change-Id: Ib921d7c5cb2c628f3eca8d5c886375f3288e1dd6 --- M debian-stretch-titan/ttcn3-docker-prepare.sh 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/debian-stretch-titan/ttcn3-docker-prepare.sh b/debian-stretch-titan/ttcn3-docker-prepare.sh index a5cbc91..e4144e2 100755 --- a/debian-stretch-titan/ttcn3-docker-prepare.sh +++ b/debian-stretch-titan/ttcn3-docker-prepare.sh @@ -11,7 +11,7 @@ set -x OSMO_TTCN3_BRANCH=$1 -PROJECT=$2 +shift cd /osmo-ttcn3-hacks @@ -37,4 +37,4 @@ ln -sv "/osmo-ttcn3-hacks/$i" "/$i" done -make "$PROJECT" +make $@ -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23374 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ib921d7c5cb2c628f3eca8d5c886375f3288e1dd6 Gerrit-Change-Number: 23374 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 16 15:40:07 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 16 Mar 2021 15:40:07 +0000 Subject: Change in libosmocore[master]: gprs_ns2: add vty `nse <0-65535> restart sns` In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23184 ) Change subject: gprs_ns2: add vty `nse <0-65535> restart sns` ...................................................................... Patch Set 1: This command can be also used by operators. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23184 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Icb55d8449908d348ab10572eebcf971737fba00d Gerrit-Change-Number: 23184 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 16 Mar 2021 15:40:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 16 15:47:44 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 15:47:44 +0000 Subject: Change in docker-playground[master]: ogt: Drop old arfcn leftovers from resources.conf References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/23375 ) Change subject: ogt: Drop old arfcn leftovers from resources.conf ...................................................................... ogt: Drop old arfcn leftovers from resources.conf Those arfcn objects were never really used smartly and new versions of OGT don't support it. Change-Id: I0cbcd0f3df92393f03f29c81013e1f4b6b9aa830 --- M osmo-gsm-tester/resources.conf 1 file changed, 0 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/75/23375/1 diff --git a/osmo-gsm-tester/resources.conf b/osmo-gsm-tester/resources.conf index 22ff85e..d10cc1e 100644 --- a/osmo-gsm-tester/resources.conf +++ b/osmo-gsm-tester/resources.conf @@ -43,10 +43,6 @@ ssh_user: jenkins ssh_addr: 172.18.50.101 -arfcn: - - arfcn: 512 - band: GSM-1800 - 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' -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23375 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I0cbcd0f3df92393f03f29c81013e1f4b6b9aa830 Gerrit-Change-Number: 23375 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 Mar 16 15:52:57 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 15:52:57 +0000 Subject: Change in docker-playground[master]: ogt: Drop old arfcn leftovers from resources.conf In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23375 ) Change subject: ogt: Drop old arfcn leftovers from resources.conf ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23375 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I0cbcd0f3df92393f03f29c81013e1f4b6b9aa830 Gerrit-Change-Number: 23375 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 16 Mar 2021 15:52:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 16 15:52:59 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 15:52:59 +0000 Subject: Change in docker-playground[master]: ogt: Drop old arfcn leftovers from resources.conf In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23375 ) Change subject: ogt: Drop old arfcn leftovers from resources.conf ...................................................................... ogt: Drop old arfcn leftovers from resources.conf Those arfcn objects were never really used smartly and new versions of OGT don't support it. Change-Id: I0cbcd0f3df92393f03f29c81013e1f4b6b9aa830 --- M osmo-gsm-tester/resources.conf 1 file changed, 0 insertions(+), 4 deletions(-) Approvals: pespin: Looks good to me, approved; Verified diff --git a/osmo-gsm-tester/resources.conf b/osmo-gsm-tester/resources.conf index 22ff85e..d10cc1e 100644 --- a/osmo-gsm-tester/resources.conf +++ b/osmo-gsm-tester/resources.conf @@ -43,10 +43,6 @@ ssh_user: jenkins ssh_addr: 172.18.50.101 -arfcn: - - arfcn: 512 - band: GSM-1800 - 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' -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23375 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I0cbcd0f3df92393f03f29c81013e1f4b6b9aa830 Gerrit-Change-Number: 23375 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 Tue Mar 16 16:22:00 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 16 Mar 2021 16:22:00 +0000 Subject: Change in pysim[master]: filesystem: fix exception string (fid != name) References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/23376 ) Change subject: filesystem: fix exception string (fid != name) ...................................................................... filesystem: fix exception string (fid != name) It is better to use the term "fid" instead of "name" when a reserved FID is detected. Change-Id: I054f3b3a156f0164c62610cfde1aec2145c20925 Related: OS#4963 --- M pySim/filesystem.py 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/76/23376/1 diff --git a/pySim/filesystem.py b/pySim/filesystem.py index 504d66d..bbead96 100644 --- a/pySim/filesystem.py +++ b/pySim/filesystem.py @@ -144,7 +144,7 @@ if child.name in CardFile.RESERVED_NAMES: raise ValueError("File name %s is a reserved name" % (child.name)) if child.fid in CardFile.RESERVED_FIDS: - raise ValueError("File fid %s is a reserved name" % (child.fid)) + raise ValueError("File fid %s is a reserved fid" % (child.fid)) if child.fid in self.children: if ignore_existing: return -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23376 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I054f3b3a156f0164c62610cfde1aec2145c20925 Gerrit-Change-Number: 23376 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 16 16:22:01 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 16 Mar 2021 16:22:01 +0000 Subject: Change in pysim[master]: filesystem: add comment to inform about checks in add_file() References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/23377 ) Change subject: filesystem: add comment to inform about checks in add_file() ...................................................................... filesystem: add comment to inform about checks in add_file() The method add_file of class CardDF does some constraint checking to the basic file parameters (e.g. fid). Since one might also expect those checks in the superclass CardFile lets leave a comment to make the code better understandable. Change-Id: Iebae28909fe6aade3bd4024112a222819572d735 Related: OS#4963 --- M pySim/filesystem.py 1 file changed, 4 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/77/23377/1 diff --git a/pySim/filesystem.py b/pySim/filesystem.py index bbead96..fa1e02c 100644 --- a/pySim/filesystem.py +++ b/pySim/filesystem.py @@ -55,6 +55,10 @@ self.parent.add_file(self) self.shell_commands = [] + # Note: the basic properties (fid, name, ect.) are verified when + # the file is attached to a parent file. See method add_file() in + # class Card DF + def __str__(self): if self.name: return self.name -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23377 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Iebae28909fe6aade3bd4024112a222819572d735 Gerrit-Change-Number: 23377 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 16 16:22:01 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 16 Mar 2021 16:22:01 +0000 Subject: Change in pysim[master]: filesystem: be more strict in method add_file() References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/23378 ) Change subject: filesystem: be more strict in method add_file() ...................................................................... filesystem: be more strict in method add_file() The file identifier of a file is strictly defined as a two digit hexadecimal number. Do not allow adding child files that violate this constraint. Since the human readable name also plays a major role in identifying the type of the file (ADF, EF or DF) ensure that when adding files it is ensured that the file actually has a name and that the name starts with "DF.", "EF." or "ADF.". Change-Id: I096907285b742e611d221b03ba067ea2522e7e52 Related: OS#4963 --- M pySim/filesystem.py 1 file changed, 7 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/78/23378/1 diff --git a/pySim/filesystem.py b/pySim/filesystem.py index fa1e02c..1957dbf 100644 --- a/pySim/filesystem.py +++ b/pySim/filesystem.py @@ -31,7 +31,7 @@ from cmd2 import CommandSet, with_default_category, with_argparser import argparse -from pySim.utils import sw_match, h2b, b2h +from pySim.utils import sw_match, h2b, b2h, is_hex from pySim.exceptions import * class CardFile(object): @@ -145,6 +145,12 @@ """Add a child (DF/EF) to this DF""" if not isinstance(child, CardFile): raise TypeError("Expected a File instance") + if not is_hex(child.fid, minlen = 4, maxlen = 8): + raise ValueError("File name %s is not a valid fid" % (child.fid)) + if child.name is None: + raise ValueError("File fid %s has no human readable name" % (child.fid)) + if child.name[0:3] != "DF." and child.name[0:3] != "EF." and child.name[0:4] != "ADF.": + raise ValueError("File name %s does not start with \"DF.\", \"EF.\" or \"ADF.\"" % (child.name)) if child.name in CardFile.RESERVED_NAMES: raise ValueError("File name %s is a reserved name" % (child.name)) if child.fid in CardFile.RESERVED_FIDS: -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23378 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I096907285b742e611d221b03ba067ea2522e7e52 Gerrit-Change-Number: 23378 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 16 16:22:45 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 16 Mar 2021 16:22:45 +0000 Subject: Change in docker-playground[master]: fr: kill the frnet container before trying to 'rm' it References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/23379 ) Change subject: fr: kill the frnet container before trying to 'rm' it ...................................................................... fr: kill the frnet container before trying to 'rm' it + docker container rm jenkins-ttcn3-fr-test-109-frnet jenkins-ttcn3-fr-test-109-ttcn3-fr-test jenkins-ttcn3-fr-test-109-ttcn3-fr-test Error response from daemon: You cannot remove a running container 4f5ec7f412b2d37d00b2738b2bcddffada36efebfe7ce32ed196543ee436154e. Stop the container before attempting removal or force remove Change-Id: I66ed0d073bdd6962f78da54232d6bc58adc09e2c --- M ttcn3-fr-test/jenkins.sh 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/79/23379/1 diff --git a/ttcn3-fr-test/jenkins.sh b/ttcn3-fr-test/jenkins.sh index bfe775f..c878000 100755 --- a/ttcn3-fr-test/jenkins.sh +++ b/ttcn3-fr-test/jenkins.sh @@ -63,6 +63,8 @@ # emulate running container in foreground, which is no longer possible as we # must shift the net-devices into the container _after_ it is started docker logs -f ${BUILD_TAG}-ttcn3-fr-test +# kill the frnet container to avoid "You cannot remove a running container " below in 'rm' +docker kill ${BUILD_TAG}-frnet # store execution logs for both containers docker logs --timestamps ${BUILD_TAG}-ttcn3-fr-test > $VOL_BASE_DIR/fr-tester/exec.log -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23379 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I66ed0d073bdd6962f78da54232d6bc58adc09e2c Gerrit-Change-Number: 23379 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 Mar 16 16:23:46 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 16 Mar 2021 16:23:46 +0000 Subject: Change in docker-playground[master]: fr: kill the frnet container before trying to 'rm' it In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23379 ) Change subject: fr: kill the frnet container before trying to 'rm' it ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23379 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I66ed0d073bdd6962f78da54232d6bc58adc09e2c Gerrit-Change-Number: 23379 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-CC: osmith Gerrit-Comment-Date: Tue, 16 Mar 2021 16:23: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 Mar 16 16:23:51 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 16 Mar 2021 16:23:51 +0000 Subject: Change in docker-playground[master]: fr: kill the frnet container before trying to 'rm' it In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23379 ) Change subject: fr: kill the frnet container before trying to 'rm' it ...................................................................... fr: kill the frnet container before trying to 'rm' it + docker container rm jenkins-ttcn3-fr-test-109-frnet jenkins-ttcn3-fr-test-109-ttcn3-fr-test jenkins-ttcn3-fr-test-109-ttcn3-fr-test Error response from daemon: You cannot remove a running container 4f5ec7f412b2d37d00b2738b2bcddffada36efebfe7ce32ed196543ee436154e. Stop the container before attempting removal or force remove Change-Id: I66ed0d073bdd6962f78da54232d6bc58adc09e2c --- M ttcn3-fr-test/jenkins.sh 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/ttcn3-fr-test/jenkins.sh b/ttcn3-fr-test/jenkins.sh index bfe775f..c878000 100755 --- a/ttcn3-fr-test/jenkins.sh +++ b/ttcn3-fr-test/jenkins.sh @@ -63,6 +63,8 @@ # emulate running container in foreground, which is no longer possible as we # must shift the net-devices into the container _after_ it is started docker logs -f ${BUILD_TAG}-ttcn3-fr-test +# kill the frnet container to avoid "You cannot remove a running container " below in 'rm' +docker kill ${BUILD_TAG}-frnet # store execution logs for both containers docker logs --timestamps ${BUILD_TAG}-ttcn3-fr-test > $VOL_BASE_DIR/fr-tester/exec.log -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23379 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I66ed0d073bdd6962f78da54232d6bc58adc09e2c Gerrit-Change-Number: 23379 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-CC: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 16 16:37:21 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 16:37:21 +0000 Subject: Change in osmo-gsm-tester[master]: sysmo/defaults.conf: Fix attribute name References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23380 ) Change subject: sysmo/defaults.conf: Fix attribute name ...................................................................... sysmo/defaults.conf: Fix attribute name According to schema, the name is cipher_list. Same goes for "integrity". Fixes: a81801558e7bb6ef0f0a32ab078d302c91e940a8 Change-Id: Ib7b48ce207b96ea5f5b59db08320563be40edba1 --- M sysmocom/defaults.conf 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/80/23380/1 diff --git a/sysmocom/defaults.conf b/sysmocom/defaults.conf index d66e030..a14b707 100644 --- a/sysmocom/defaults.conf +++ b/sysmocom/defaults.conf @@ -144,11 +144,11 @@ root_seq_idx: 205 scell_list: [] ncell_list: [] - cipher_4g: + cipher_list: - eea0 - eea2 - eea1 - integrity_4g: + integrity_list: - eia2 - eia1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23380 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ib7b48ce207b96ea5f5b59db08320563be40edba1 Gerrit-Change-Number: 23380 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 Mar 16 16:46:51 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 16:46:51 +0000 Subject: Change in docker-playground[master]: Add debian-buster-jenkins docker setup References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/23381 ) Change subject: Add debian-buster-jenkins docker setup ...................................................................... Add debian-buster-jenkins docker setup It will be used by osmo-gsm-tester docker image right now, and at some point in the future jenkins nodes will also migrate to it. Change-Id: Ibfdec6007357a90212dea7d39300f04ce8ffdf65 --- A debian-buster-jenkins/Dockerfile A debian-buster-jenkins/Makefile 2 files changed, 187 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/81/23381/1 diff --git a/debian-buster-jenkins/Dockerfile b/debian-buster-jenkins/Dockerfile new file mode 100644 index 0000000..baa076a --- /dev/null +++ b/debian-buster-jenkins/Dockerfile @@ -0,0 +1,186 @@ +# Image used to run contrib/jenkins.sh scripts of most Osmocom projects. +# See master-builds.yml, gerrit-verifications.yml in osmo-ci.git. + +ARG DEBIAN_VERSION=buster +ARG REGISTRY=docker.io +FROM ${REGISTRY}/debian:${DEBIAN_VERSION} +# Arguments used after FROM must be specified again +ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" + +# Make "$DEBIAN_VERSION" available after FROM +# https://docs.docker.com/engine/reference/builder/#understand-how-arg-and-from-interact +ARG DEBIAN_VERSION + +# Install apt dependencies (keep in alphabetic order) +RUN \ + dpkg --add-architecture i386 && \ + DEBIAN_FRONTEND=noninteractive apt-get update && \ + DEBIAN_FRONTEND=noninteractive apt-get upgrade -y && \ + DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ + asciidoc \ + asciidoc-dblatex \ + autoconf \ + autoconf-archive \ + automake \ + bc \ + bison \ + bzip2 \ + cmake \ + coccinelle \ + cppcheck \ + dahdi-source \ + dblatex \ + dbus \ + debhelper \ + devscripts \ + dh-autoreconf \ + dh-systemd \ + docbook5-xml \ + doxygen \ + flex \ + g++ \ + gawk \ + gcc \ + gcc-arm-none-eabi \ + git \ + git-buildpackage \ + graphviz \ + htop \ + inkscape \ + lcov \ + libaio-dev \ + libasound2-dev \ + libboost-all-dev \ + libc-ares-dev \ + libcsv-dev \ + libdbd-sqlite3 \ + libdbi-dev \ + libffi-dev \ + libfftw3-dev \ + libgmp-dev \ + 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 \ + libpcsclite-dev \ + libreadline-dev \ + libsctp-dev \ + libsigsegv-dev \ + libsnmp-dev \ + libsofia-sip-ua-glib-dev \ + libsqlite3-dev \ + libssl-dev \ + libtalloc-dev \ + libtool \ + libusb-1.0-0-dev \ + libusb-dev \ + libxml2-utils \ + libzmq3-dev \ + locales \ + lua-socket \ + make \ + mscgen \ + ofono \ + openssh-client \ + osc \ + patchelf \ + pkg-config \ + python3 \ + python3-gi \ + python3-mako \ + python3-nwdiag \ + python3-pip \ + python3-pyflakes \ + python3-setuptools \ + python3-usb \ + python3-yaml \ + python2.7 \ + python-pip \ + python-setuptools \ + python-yaml \ + rsync \ + sdcc \ + sqlite3 \ + source-highlight \ + stow \ + sudo \ + systemd \ + tcpdump \ + texinfo \ + unzip \ + wget \ + xsltproc + +# Install pip dependencies (keep in alphabetic order) +RUN pip3 install \ + git+https://github.com/podshumok/python-smpplib.git \ + git+https://github.com/eriwen/lcov-to-cobertura-xml.git \ + pydbus \ + pysispm + +# match the outside user +RUN useradd --uid=1000 build +#RUN echo "build ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/build + +RUN mkdir /build +RUN chown build:build /build + +# Install osmo-python-tests for python2 (when building old tags again new releases) +ARG OSMO_PYTHON2_TESTS_COMMIT=fb4b813d4df62b7b2445bdced961eb1847267eed +ADD http://git.osmocom.org/python/osmo-python-tests/patch/?id=$OSMO_PYTHON2_TESTS_COMMIT /tmp/osmo-python-tests2-commit +RUN git clone https://git.osmocom.org/python/osmo-python-tests osmo-python-tests2 && \ + cd osmo-python-tests2 && \ + git checkout $OSMO_PYTHON2_TESTS_COMMIT && \ + python2 setup.py clean build install + +# Install osmo-python-tests for python3 +ADD http://git.osmocom.org/python/osmo-python-tests/patch /tmp/osmo-python-tests3-commit +RUN git clone https://git.osmocom.org/python/osmo-python-tests osmo-python-tests3 && \ + cd osmo-python-tests3 && \ + python3 setup.py clean build install + +# Install osmo-ci.git/scripts to /usr/local/bin +ADD http://git.osmocom.org/osmo-ci/patch /tmp/osmo-ci-commit +RUN git clone https://git.osmocom.org/osmo-ci osmo-ci && \ + cp -v $(find osmo-ci/scripts \ + -maxdepth 1 \ + -type f ) \ + /usr/local/bin + +# Install osmo-gsm-manuals to /opt/osmo-gsm-manuals +ADD http://git.osmocom.org/osmo-gsm-manuals/patch /tmp/osmo-gsm-manuals-commit +RUN git -C /opt clone https://git.osmocom.org/osmo-gsm-manuals + +# Set a UTF-8 locale +RUN sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && \ + dpkg-reconfigure --frontend=noninteractive locales && \ + update-locale LANG=en_US.UTF-8 +ENV LANG en_US.UTF-8 + +# Install packages from Osmocom OBS repositories: +# * osmo-remsim: libulfius +# * osmo-trx: liblimesuite-dev, libuhd-dev +ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/Debian_10/" +COPY .common/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 \ + liblimesuite-dev \ + libuhd-dev \ + libulfius-dev && \ + apt-get clean + +# osmo-python-tests' contrib/jenkins.sh writes to /usr/local as user +RUN chown -R build:build /usr/local diff --git a/debian-buster-jenkins/Makefile b/debian-buster-jenkins/Makefile new file mode 100644 index 0000000..8d0e10b --- /dev/null +++ b/debian-buster-jenkins/Makefile @@ -0,0 +1 @@ +include ../make/Makefile -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23381 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ibfdec6007357a90212dea7d39300f04ce8ffdf65 Gerrit-Change-Number: 23381 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 Mar 16 16:46:59 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Tue, 16 Mar 2021 16:46:59 +0000 Subject: Change in osmo-gsm-tester[master]: iperf3_bidir: add extra test for bi-directional iperf test References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23382 ) Change subject: iperf3_bidir: add extra test for bi-directional iperf test ...................................................................... iperf3_bidir: add extra test for bi-directional iperf test Change-Id: Ibb62f53dbb15bc4788c92ebb2dee70e31dd851de --- A sysmocom/suites/4g/iperf3_bidir.py 1 file changed, 45 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/82/23382/1 diff --git a/sysmocom/suites/4g/iperf3_bidir.py b/sysmocom/suites/4g/iperf3_bidir.py new file mode 100755 index 0000000..bb1d73a --- /dev/null +++ b/sysmocom/suites/4g/iperf3_bidir.py @@ -0,0 +1,45 @@ +#!/usr/bin/env python3 +from osmo_gsm_tester.testenv import * + +epc = tenv.epc() +enb = tenv.enb() +ue = tenv.modem() +iperf3srv = tenv.iperf3srv({'addr': epc.tun_addr()}) +iperf3srv.set_run_node(epc.run_node()) +iperf3cli = iperf3srv.create_client() +iperf3cli.set_run_node(ue.run_node()) + +epc.subscriber_add(ue) +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) + +max_rate_ratio = 0.8 +max_rate_dl = enb.ue_max_rate(downlink=True, num_carriers=ue.num_carriers) +max_rate_ul = enb.ue_max_rate(downlink=False, num_carriers=ue.num_carriers) + +iperf3srv.start() +proc = iperf3cli.prepare_test_proc(iperf3cli.DIR_BI, ue.netns(), bitrate=max_rate_dl) + +print('waiting for UE to attach...') +wait(ue.is_registered) +print('UE is attached') + +print("Running iperf3 client to %s through %s" % (str(iperf3cli), ue.netns())) +proc.launch_sync() +iperf3srv.stop() + +iperf3cli.print_results() +iperf3srv.print_results(iperf3cli.proto() == iperf3cli.PROTO_UDP) + +# 80% of the maximum rate for half of the test duration +half_duration = int(round(iperf3cli.time_sec() / 2)) +res_str = ue.verify_metric((max_rate_dl + max_rate_ul) * max_rate_ratio, operation='max_rolling_avg', metric='dl_brate+ul_brate', criterion='gt', window=half_duration) +print(res_str) +test.set_report_stdout(res_str) \ No newline at end of file -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23382 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ibb62f53dbb15bc4788c92ebb2dee70e31dd851de Gerrit-Change-Number: 23382 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 Mar 16 16:47:00 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Tue, 16 Mar 2021 16:47:00 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: add force_ul_amplitude config References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23383 ) Change subject: ms_srs: add force_ul_amplitude config ...................................................................... ms_srs: add force_ul_amplitude config this allows to overwrite the PHY export option phy.force_ul_amplitude Change-Id: I255f027433944c1739c89757609f0dcc3b8aa7cb --- M src/osmo_gsm_tester/obj/ms_srs.py M src/osmo_gsm_tester/templates/srsue.conf.tmpl 2 files changed, 5 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/83/23383/1 diff --git a/src/osmo_gsm_tester/obj/ms_srs.py b/src/osmo_gsm_tester/obj/ms_srs.py index 745a18e..9390470 100644 --- a/src/osmo_gsm_tester/obj/ms_srs.py +++ b/src/osmo_gsm_tester/obj/ms_srs.py @@ -43,7 +43,8 @@ 'rx_gain': schema.INT, 'freq_offset': schema.INT, 'dl_freq': schema.STR, - 'ul_freq': schema.STR + 'ul_freq': schema.STR, + 'force_ul_amplitude': schema.STR } for key, val in RunNode.schema().items(): resource_schema['run_node.%s' % key] = val diff --git a/src/osmo_gsm_tester/templates/srsue.conf.tmpl b/src/osmo_gsm_tester/templates/srsue.conf.tmpl index 784cf03..135fa06 100644 --- a/src/osmo_gsm_tester/templates/srsue.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsue.conf.tmpl @@ -363,7 +363,9 @@ #pregenerate_signals = false #pdsch_csi_enabled = true #pdsch_8bit_decoder = false -#force_ul_amplitude = 0 +% if float(ue.force_ul_amplitude) > 0: +force_ul_amplitude = ${ue.force_ul_amplitude} +% endif ##################################################################### # Simulation configuration options -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23383 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I255f027433944c1739c89757609f0dcc3b8aa7cb Gerrit-Change-Number: 23383 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 Mar 16 16:47:00 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Tue, 16 Mar 2021 16:47:00 +0000 Subject: Change in osmo-gsm-tester[master]: enb.py: increase ZMQ trx timeout to 8s References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23384 ) Change subject: enb.py: increase ZMQ trx timeout to 8s ...................................................................... enb.py: increase ZMQ trx timeout to 8s increase value further to avoid failed tests due to load on system Change-Id: I77b7864e7ef60faf0262dc24325915d73dd2d5a3 --- M src/osmo_gsm_tester/obj/enb.py 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/84/23384/1 diff --git a/src/osmo_gsm_tester/obj/enb.py b/src/osmo_gsm_tester/obj/enb.py index 99d43f8..80f7b6e 100644 --- a/src/osmo_gsm_tester/obj/enb.py +++ b/src/osmo_gsm_tester/obj/enb.py @@ -266,7 +266,7 @@ else: ul_rem_addr = self.ue.addr() - rf_dev_args = 'fail_on_disconnect=true,log_trx_timeout=true,trx_timeout_ms=4000' + rf_dev_args = 'fail_on_disconnect=true,log_trx_timeout=true,trx_timeout_ms=8000' idx = 0 cell_list = cfg_values['enb']['cell_list'] # Define all 8 possible RF ports (2x CA with 2x2 MIMO) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23384 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I77b7864e7ef60faf0262dc24325915d73dd2d5a3 Gerrit-Change-Number: 23384 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 Mar 16 16:47:01 2021 From: gerrit-no-reply at lists.osmocom.org (srs_andre) Date: Tue, 16 Mar 2021 16:47:01 +0000 Subject: Change in osmo-gsm-tester[master]: srslte_common: fix condition to check if KPI have already extracted References: Message-ID: srs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23385 ) Change subject: srslte_common: fix condition to check if KPI have already extracted ...................................................................... srslte_common: fix condition to check if KPI have already extracted Change-Id: I6fdcbfadfdcfe131096d0345d2c21c87f8f7b1b6 --- M src/osmo_gsm_tester/obj/srslte_common.py 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/85/23385/1 diff --git a/src/osmo_gsm_tester/obj/srslte_common.py b/src/osmo_gsm_tester/obj/srslte_common.py index cbc360f..aa41cd2 100644 --- a/src/osmo_gsm_tester/obj/srslte_common.py +++ b/src/osmo_gsm_tester/obj/srslte_common.py @@ -65,7 +65,7 @@ ''' Use the srsLTE KPI analyzer module (part of srsLTE.git) if available to collect KPIs ''' # Make sure this only runs once - if self.csv_kpi is not None or self.log_kpi is not None or self.stdout_kpi is not None: + if self.csv_kpi is not None and self.log_kpi is not None and self.stdout_kpi is not None: return # Start with empty KPIs -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23385 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I6fdcbfadfdcfe131096d0345d2c21c87f8f7b1b6 Gerrit-Change-Number: 23385 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 Mar 16 16:48:35 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 16:48:35 +0000 Subject: Change in docker-playground[master]: Add debian-buster-jenkins docker setup In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23381 ) Change subject: Add debian-buster-jenkins docker setup ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23381 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ibfdec6007357a90212dea7d39300f04ce8ffdf65 Gerrit-Change-Number: 23381 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 16 Mar 2021 16:48: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 Mar 16 17:01:25 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 17:01:25 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: add config scheme to select NAS log level In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23338 ) Change subject: ms_srs: add config scheme to select NAS log level ...................................................................... Patch Set 2: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23338 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Iab2bce65e8af81f6d344849c97952e6441cb2846 Gerrit-Change-Number: 23338 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 16 Mar 2021 17:01: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 Mar 16 17:01:29 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 17:01:29 +0000 Subject: Change in osmo-gsm-tester[master]: {enb, ms}-label.conf: raneme and add modifier to select eNB/MS based o... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23334 ) Change subject: {enb,ms}-label.conf: raneme and add modifier to select eNB/MS based on label ...................................................................... Patch Set 2: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23334 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I26ea160b65b9dd5ef3e5ca1100d4541a0bbcbb27 Gerrit-Change-Number: 23334 Gerrit-PatchSet: 2 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 16 Mar 2021 17:01: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 Mar 16 17:05:15 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 17:05:15 +0000 Subject: Change in osmo-gsm-tester[master]: enb,epc,ms: refactor KPI API In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/22600 ) Change subject: enb,epc,ms: refactor KPI API ...................................................................... Patch Set 8: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/22600 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I4bacc6b8a0cb92a581edfb947100b57022265265 Gerrit-Change-Number: 22600 Gerrit-PatchSet: 8 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 16 Mar 2021 17:05: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 Mar 16 17:05:18 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 17:05:18 +0000 Subject: Change in osmo-gsm-tester[master]: enb.py: increase zmq trx timeout to 4000ms In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23333 ) Change subject: enb.py: increase zmq trx timeout to 4000ms ...................................................................... Patch Set 3: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23333 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ib32a07559bd5a4b0165f6d3431c5ac57cc050f44 Gerrit-Change-Number: 23333 Gerrit-PatchSet: 3 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 16 Mar 2021 17:05: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 Mar 16 17:05:22 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 17:05:22 +0000 Subject: Change in osmo-gsm-tester[master]: {enb, ms}-label.conf: raneme and add modifier to select eNB/MS based o... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23334 ) Change subject: {enb,ms}-label.conf: raneme and add modifier to select eNB/MS based on label ...................................................................... Patch Set 3: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23334 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I26ea160b65b9dd5ef3e5ca1100d4541a0bbcbb27 Gerrit-Change-Number: 23334 Gerrit-PatchSet: 3 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 16 Mar 2021 17:05:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 16 17:05:25 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 17:05:25 +0000 Subject: Change in osmo-gsm-tester[master]: srsenb_drb.conf.tmpl: set PDCP discard timer to 150ms for QCI9 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23335 ) Change subject: srsenb_drb.conf.tmpl: set PDCP discard timer to 150ms for QCI9 ...................................................................... Patch Set 3: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23335 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ib6ad0ff57b95a1f220f87c1ede0f6eacc5fb21ff Gerrit-Change-Number: 23335 Gerrit-PatchSet: 3 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 16 Mar 2021 17:05:25 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 16 17:05:28 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 17:05:28 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoft_drb.cfg.tmpl: add additional QCI10 with infinit PDCP discar... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23336 ) Change subject: amarisoft_drb.cfg.tmpl: add additional QCI10 with infinit PDCP discard timer ...................................................................... Patch Set 3: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23336 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I60cc1390480142bd5bb516934c9f30b6122496d5 Gerrit-Change-Number: 23336 Gerrit-PatchSet: 3 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 16 Mar 2021 17:05:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 16 17:05:30 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 17:05:30 +0000 Subject: Change in osmo-gsm-tester[master]: srsenb_drb.conf.tmpl: add QCI10 with infinit PDCP discard timer In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23337 ) Change subject: srsenb_drb.conf.tmpl: add QCI10 with infinit PDCP discard timer ...................................................................... Patch Set 3: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23337 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I64a74d09cc1a55ba21a7be7b5cc203e56bba3b10 Gerrit-Change-Number: 23337 Gerrit-PatchSet: 3 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 16 Mar 2021 17:05: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 Mar 16 17:05:32 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 17:05:32 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: add config scheme to select NAS log level In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23338 ) Change subject: ms_srs: add config scheme to select NAS log level ...................................................................... Patch Set 3: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23338 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Iab2bce65e8af81f6d344849c97952e6441cb2846 Gerrit-Change-Number: 23338 Gerrit-PatchSet: 3 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 16 Mar 2021 17:05:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 16 17:05:34 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 17:05:34 +0000 Subject: Change in osmo-gsm-tester[master]: srsue.conf.tmpl: Adjust ue.config template for new pcap path In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23339 ) Change subject: srsue.conf.tmpl: Adjust ue.config template for new pcap path ...................................................................... Patch Set 3: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23339 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I4af6abaa3973652a12f571d88bca59cd443704f3 Gerrit-Change-Number: 23339 Gerrit-PatchSet: 3 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 16 Mar 2021 17: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 Tue Mar 16 17:05:37 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 17:05:37 +0000 Subject: Change in osmo-gsm-tester[master]: srsenb_sib.conf.tmpl: reduce the default size of the PUCCH In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23340 ) Change subject: srsenb_sib.conf.tmpl: reduce the default size of the PUCCH ...................................................................... Patch Set 3: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23340 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I45ae7c33f9d1df20df37c0fe6c3d73aa85ae1b31 Gerrit-Change-Number: 23340 Gerrit-PatchSet: 3 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 16 Mar 2021 17:05: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 Mar 16 17:05:39 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 17:05:39 +0000 Subject: Change in osmo-gsm-tester[master]: jenkins-build-amarisoft: copy ltesim_server binary into epc trial tgz In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23341 ) Change subject: jenkins-build-amarisoft: copy ltesim_server binary into epc trial tgz ...................................................................... Patch Set 3: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23341 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I21ac57d1c1547c1cf4d2394c8593f58ff2c78697 Gerrit-Change-Number: 23341 Gerrit-PatchSet: 3 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 16 Mar 2021 17:05:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 16 17:05:52 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 17:05:52 +0000 Subject: Change in osmo-gsm-tester[master]: enb,epc,ms: refactor KPI API In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/22600 ) Change subject: enb,epc,ms: refactor KPI API ...................................................................... enb,epc,ms: refactor KPI API we previously mixed component specific and component agnostic APIs (stdout vs. log file for example) for setting and retrieving KPI. This patch propose to use a single abstract get_kpis() method for all components that can be enriched with component-specific stuff as desired. In the case of srsLTE blocks, the main implementation will remain in srslte_common() and is shared among srsENB/srsUE/srsEPC. The KPI analyzer in srslte_common() extract and also manages all three KPI sources (log, csv and stdout) independently. In addition to the get_kpis() method that always returns a flat dictionary, it also exposes get_kpi_tree() that return a dict of KPI dicts that will be used for the Junit.xml generation. Change-Id: I4bacc6b8a0cb92a581edfb947100b57022265265 --- 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/obj/epc.py M src/osmo_gsm_tester/obj/epc_amarisoft.py M src/osmo_gsm_tester/obj/epc_srs.py M src/osmo_gsm_tester/obj/ms_srs.py M src/osmo_gsm_tester/obj/srslte_common.py 8 files changed, 56 insertions(+), 45 deletions(-) Approvals: pespin: Looks good to me, approved; Verified diff --git a/src/osmo_gsm_tester/obj/enb.py b/src/osmo_gsm_tester/obj/enb.py index 32ead69..15a0033 100644 --- a/src/osmo_gsm_tester/obj/enb.py +++ b/src/osmo_gsm_tester/obj/enb.py @@ -356,4 +356,8 @@ def get_counter(self, counter_name): pass -# vim: expandtab tabstop=4 shiftwidth=4 + @abstractmethod + def get_kpis(self): + pass + +# vim: expandtab tabstop=4 shiftwidth=4 \ No newline at end of file diff --git a/src/osmo_gsm_tester/obj/enb_amarisoft.py b/src/osmo_gsm_tester/obj/enb_amarisoft.py index e97bb90..01aed18 100644 --- a/src/osmo_gsm_tester/obj/enb_amarisoft.py +++ b/src/osmo_gsm_tester/obj/enb_amarisoft.py @@ -260,6 +260,9 @@ return self.process.get_counter_stdout('PRACH:') raise log.Error('counter %s not implemented!' % counter_name) + def get_kpis(self): + return {} + 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: diff --git a/src/osmo_gsm_tester/obj/enb_srs.py b/src/osmo_gsm_tester/obj/enb_srs.py index aee3f61..83df5ed 100644 --- a/src/osmo_gsm_tester/obj/enb_srs.py +++ b/src/osmo_gsm_tester/obj/enb_srs.py @@ -101,7 +101,7 @@ self.log(repr(e)) # Collect KPIs for each TC - self.testenv.test().set_kpis(self.get_kpis()) + self.testenv.test().set_kpis(self.get_kpi_tree()) # Clean up for parent class: super().cleanup() @@ -267,6 +267,9 @@ return self.process.get_counter_stdout('RACH:') raise log.Error('counter %s not implemented!' % counter_name) + def get_kpis(self): + return srslte_common.get_kpis(self) + 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: diff --git a/src/osmo_gsm_tester/obj/epc.py b/src/osmo_gsm_tester/obj/epc.py index 6f056fc..aaa96b7 100644 --- a/src/osmo_gsm_tester/obj/epc.py +++ b/src/osmo_gsm_tester/obj/epc.py @@ -116,4 +116,8 @@ def run_node(self): return self._run_node + @abstractmethod + def get_kpis(self): + pass + # vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/obj/epc_amarisoft.py b/src/osmo_gsm_tester/obj/epc_amarisoft.py index 1291891..4c3bf07 100644 --- a/src/osmo_gsm_tester/obj/epc_amarisoft.py +++ b/src/osmo_gsm_tester/obj/epc_amarisoft.py @@ -199,4 +199,7 @@ # TODO: set proper addr return '192.168.4.1' + def get_kpis(self): + return {} + # vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/obj/epc_srs.py b/src/osmo_gsm_tester/obj/epc_srs.py index 6a7a20e..6a0a7bb 100644 --- a/src/osmo_gsm_tester/obj/epc_srs.py +++ b/src/osmo_gsm_tester/obj/epc_srs.py @@ -219,4 +219,7 @@ def tun_addr(self): return '172.16.0.1' + def get_kpis(self): + return srslte_common.get_kpis(self) + # vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/obj/ms_srs.py b/src/osmo_gsm_tester/obj/ms_srs.py index 2f19f3f..aaeeca5 100644 --- a/src/osmo_gsm_tester/obj/ms_srs.py +++ b/src/osmo_gsm_tester/obj/ms_srs.py @@ -126,7 +126,7 @@ self.log(repr(e)) # Collect KPIs for each TC - self.testenv.test().set_kpis(self.get_kpis()) + self.testenv.test().set_kpis(self.get_kpi_tree()) def features(self): return self._conf.get('features', []) diff --git a/src/osmo_gsm_tester/obj/srslte_common.py b/src/osmo_gsm_tester/obj/srslte_common.py index 21001b7..cbc360f 100644 --- a/src/osmo_gsm_tester/obj/srslte_common.py +++ b/src/osmo_gsm_tester/obj/srslte_common.py @@ -27,7 +27,9 @@ self.process = None self.metrics_file = None self.stop_sleep_time = 6 # We require at most 5s to stop - self.kpis = None + self.log_kpi = None + self.stdout_kpi = None + self.csv_kpi = None def sleep_after_stop(self): # Only sleep once @@ -42,61 +44,50 @@ self.sleep_after_stop() def get_kpis(self): - ''' Return all KPI ''' - if self.kpis is None: - self.extract_kpis() - return self.kpis + ''' Merge all KPI and return as flat dict ''' + self.extract_kpis() + kpi_flat = {} + kpi_flat.update(self.log_kpi) + kpi_flat.update(self.stdout_kpi) + kpi_flat.update(self.csv_kpi) + return kpi_flat - def get_log_kpis(self): - ''' Return KPIs extracted from log ''' - if self.kpis is None: - self.extract_kpis() - - # Use log KPIs if they exist for this node - if "log_" + self.name() in self.kpis: - log_kpi = self.kpis["log_" + self.name()] - else: - log_kpi = {} - - # Make sure we have the errors and warnings counter in the dict - if 'total_errors' not in log_kpi: - log_kpi['total_errors'] = 0 - if 'total_warnings' not in log_kpi: - log_kpi['total_warnings'] = 0 - return log_kpi + def get_kpi_tree(self): + ''' Return all KPI as dict of dict in which the source (e.g. stdout_srsue1) is the key of the first dict ''' + self.extract_kpis() + kpi_tree = {} + kpi_tree["log_" + self.name()] = self.log_kpi + kpi_tree["csv_" + self.name()] = self.csv_kpi + kpi_tree["stdout_" + self.name()] = self.stdout_kpi + return kpi_tree def extract_kpis(self): ''' Use the srsLTE KPI analyzer module (part of srsLTE.git) if available to collect KPIs ''' + # Make sure this only runs once + if self.csv_kpi is not None or self.log_kpi is not None or self.stdout_kpi is not None: + return + + # Start with empty KPIs + self.log_kpi = {} + self.stdout_kpi = {} + self.csv_kpi = {} + # Stop application, copy back logs and process them if self.running(): self.stop() self.cleanup() - - self.kpis = {} try: # Please make sure the srsLTE scripts folder is included in your PYTHONPATH env variable from kpi_analyzer import kpi_analyzer analyzer = kpi_analyzer(self.name()) if self.log_file is not None: - self.kpis["log_" + self.name()] = analyzer.get_kpi_from_logfile(self.log_file) + self.log_kpi = analyzer.get_kpi_from_logfile(self.log_file) if self.process.get_output_file('stdout') is not None: - self.kpis["stdout_" + self.name()] = analyzer.get_kpi_from_stdout(self.process.get_output_file('stdout')) + self.stdout_kpi = analyzer.get_kpi_from_stdout(self.process.get_output_file('stdout')) if self.metrics_file is not None: - self.kpis["csv_" + self.name()] = analyzer.get_kpi_from_csv(self.metrics_file) + self.csv_kpi = analyzer.get_kpi_from_csv(self.metrics_file) + # PHY errors for either UE or eNB components from parsed KPI vector as extra entry in dict + self.log_kpi["num_phy_errors"] = analyzer.get_num_phy_errors(self.log_kpi) except ImportError: - self.log("Can't load KPI analyzer module.") - self.kpis = {} - - return self.kpis - - def get_num_phy_errors(self, kpi): - """ Use KPI analyzer to calculate the number PHY errors for either UE or eNB components from parsed KPI vector """ - try: - # Same as above, make sure the srsLTE scripts folder is included in your PYTHONPATH env variable - from kpi_analyzer import kpi_analyzer - analyzer = kpi_analyzer(self.name()) - return analyzer.get_num_phy_errors(kpi) - except ImportError: - self.log("Can't load KPI analyzer module.") - return 0 + self.log("Can't load KPI analyzer module.") \ No newline at end of file -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/22600 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I4bacc6b8a0cb92a581edfb947100b57022265265 Gerrit-Change-Number: 22600 Gerrit-PatchSet: 8 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 16 17:05:53 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 17:05:53 +0000 Subject: Change in osmo-gsm-tester[master]: enb.py: increase zmq trx timeout to 4000ms In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23333 ) Change subject: enb.py: increase zmq trx timeout to 4000ms ...................................................................... enb.py: increase zmq trx timeout to 4000ms with many parallel jobs running on one machine we should relax the timeout a bit to avoid false positives. Change-Id: Ib32a07559bd5a4b0165f6d3431c5ac57cc050f44 --- M src/osmo_gsm_tester/obj/enb.py 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: pespin: Looks good to me, approved; Verified diff --git a/src/osmo_gsm_tester/obj/enb.py b/src/osmo_gsm_tester/obj/enb.py index 15a0033..99d43f8 100644 --- a/src/osmo_gsm_tester/obj/enb.py +++ b/src/osmo_gsm_tester/obj/enb.py @@ -266,7 +266,7 @@ else: ul_rem_addr = self.ue.addr() - rf_dev_args = 'fail_on_disconnect=true' + rf_dev_args = 'fail_on_disconnect=true,log_trx_timeout=true,trx_timeout_ms=4000' idx = 0 cell_list = cfg_values['enb']['cell_list'] # Define all 8 possible RF ports (2x CA with 2x2 MIMO) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23333 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ib32a07559bd5a4b0165f6d3431c5ac57cc050f44 Gerrit-Change-Number: 23333 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 Tue Mar 16 17:05:54 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 17:05:54 +0000 Subject: Change in osmo-gsm-tester[master]: {enb, ms}-label.conf: raneme and add modifier to select eNB/MS based o... In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23334 ) Change subject: {enb,ms}-label.conf: raneme and add modifier to select eNB/MS based on label ...................................................................... {enb,ms}-label.conf: raneme and add modifier to select eNB/MS based on label Change-Id: I26ea160b65b9dd5ef3e5ca1100d4541a0bbcbb27 --- A sysmocom/scenarios/enb-label at .conf R sysmocom/scenarios/ms-label at .conf 2 files changed, 3 insertions(+), 0 deletions(-) Approvals: pespin: Looks good to me, approved; Verified diff --git a/sysmocom/scenarios/enb-label at .conf b/sysmocom/scenarios/enb-label at .conf new file mode 100644 index 0000000..8470c57 --- /dev/null +++ b/sysmocom/scenarios/enb-label at .conf @@ -0,0 +1,3 @@ +resources: + enb: + - label: ${param1} \ No newline at end of file diff --git a/sysmocom/scenarios/ms-label.conf b/sysmocom/scenarios/ms-label at .conf similarity index 100% rename from sysmocom/scenarios/ms-label.conf rename to sysmocom/scenarios/ms-label at .conf -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23334 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I26ea160b65b9dd5ef3e5ca1100d4541a0bbcbb27 Gerrit-Change-Number: 23334 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 Tue Mar 16 17:05:54 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 17:05:54 +0000 Subject: Change in osmo-gsm-tester[master]: srsenb_drb.conf.tmpl: set PDCP discard timer to 150ms for QCI9 In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23335 ) Change subject: srsenb_drb.conf.tmpl: set PDCP discard timer to 150ms for QCI9 ...................................................................... srsenb_drb.conf.tmpl: set PDCP discard timer to 150ms for QCI9 srsENB now supports PDCP discard so we set it to a sane value. Also enable status reporting for UL. Change-Id: Ib6ad0ff57b95a1f220f87c1ede0f6eacc5fb21ff --- M src/osmo_gsm_tester/templates/srsenb_drb.conf.tmpl 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: pespin: Looks good to me, approved; Verified diff --git a/src/osmo_gsm_tester/templates/srsenb_drb.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb_drb.conf.tmpl index b10ef31..a171a5e 100644 --- a/src/osmo_gsm_tester/templates/srsenb_drb.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsenb_drb.conf.tmpl @@ -72,8 +72,8 @@ { qci=9; pdcp_config = { - discard_timer = -1; - status_report_required = false; + discard_timer = 150; + status_report_required = true; } rlc_config = { ul_am = { -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23335 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ib6ad0ff57b95a1f220f87c1ede0f6eacc5fb21ff Gerrit-Change-Number: 23335 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 Tue Mar 16 17:05:54 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 17:05:54 +0000 Subject: Change in osmo-gsm-tester[master]: amarisoft_drb.cfg.tmpl: add additional QCI10 with infinit PDCP discar... In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23336 ) Change subject: amarisoft_drb.cfg.tmpl: add additional QCI10 with infinit PDCP discard timer ...................................................................... amarisoft_drb.cfg.tmpl: add additional QCI10 with infinit PDCP discard timer also set QCI9 to 150ms to match default srsENB config Change-Id: I60cc1390480142bd5bb516934c9f30b6122496d5 --- M src/osmo_gsm_tester/templates/amarisoft_drb.cfg.tmpl 1 file changed, 28 insertions(+), 1 deletion(-) Approvals: pespin: Looks good to me, approved; Verified diff --git a/src/osmo_gsm_tester/templates/amarisoft_drb.cfg.tmpl b/src/osmo_gsm_tester/templates/amarisoft_drb.cfg.tmpl index d244c8e..455e344 100644 --- a/src/osmo_gsm_tester/templates/amarisoft_drb.cfg.tmpl +++ b/src/osmo_gsm_tester/templates/amarisoft_drb.cfg.tmpl @@ -278,7 +278,34 @@ }, }, { - qci: 9, /* AM - best effort (Internet traffic) */ + qci: 9, /* AM - best effort (Internet traffic) with 150ms PDCP discard */ + pdcp_config: { + discardTimer: 150, /* in ms, 0 means infinity */ + statusReportRequired: true, + }, + rlc_config: { + ul_am: { + t_PollRetransmit: 80, /* in ms */ + pollPDU: 64, + pollByte: 125, /* in kBytes, 0 means infinity */ + maxRetxThreshold: 32, + }, + dl_am: { + t_Reordering: 45, /* in ms, should be > to max_harq_tx * HARQ latency */ + t_StatusProhibit: 60, /* in ms */ + }, + }, + logical_channel_config: { + priority: 15, + prioritisedBitRate: -1, /* in kb/s, -1 means infinity */ + bucketSizeDuration: 100, /* in ms */ + logicalChannelGroup: 3, + logicalChannelSR_Mask: false, + logicalChannelSR_Prohibit: false, + }, + }, + { + qci: 10, /* Same like QCI9 but with infinity PDCP discard */ pdcp_config: { discardTimer: 0, /* in ms, 0 means infinity */ statusReportRequired: true, -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23336 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I60cc1390480142bd5bb516934c9f30b6122496d5 Gerrit-Change-Number: 23336 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 Tue Mar 16 17:05:55 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 17:05:55 +0000 Subject: Change in osmo-gsm-tester[master]: srsenb_drb.conf.tmpl: add QCI10 with infinit PDCP discard timer In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23337 ) Change subject: srsenb_drb.conf.tmpl: add QCI10 with infinit PDCP discard timer ...................................................................... srsenb_drb.conf.tmpl: add QCI10 with infinit PDCP discard timer copy of QCI9 params but with infinit PDCP discard to avoid SDU drops at PDCP Change-Id: I64a74d09cc1a55ba21a7be7b5cc203e56bba3b10 --- M src/osmo_gsm_tester/templates/srsenb_drb.conf.tmpl 1 file changed, 26 insertions(+), 0 deletions(-) Approvals: pespin: Looks good to me, approved; Verified diff --git a/src/osmo_gsm_tester/templates/srsenb_drb.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb_drb.conf.tmpl index a171a5e..b1c69b7 100644 --- a/src/osmo_gsm_tester/templates/srsenb_drb.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsenb_drb.conf.tmpl @@ -93,6 +93,32 @@ bucket_size_duration = 100; log_chan_group = 3; }; +}, +// QCI 10 is a modified QCI 9 with PDCP discard timer set to infinity to avoid SDU drops at PDCP +{ + qci=10; + pdcp_config = { + discard_timer = -1; + status_report_required = true; + } + rlc_config = { + ul_am = { + t_poll_retx = 120; + poll_pdu = 64; + poll_byte = 750; + max_retx_thresh = 16; + }; + dl_am = { + t_reordering = 50; + t_status_prohibit = 50; + }; + }; + logical_channel_config = { + priority = 11; + prioritized_bit_rate = -1; + bucket_size_duration = 100; + log_chan_group = 3; + }; } ); -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23337 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I64a74d09cc1a55ba21a7be7b5cc203e56bba3b10 Gerrit-Change-Number: 23337 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 Tue Mar 16 17:05:55 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 17:05:55 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: add config scheme to select NAS log level In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23338 ) Change subject: ms_srs: add config scheme to select NAS log level ...................................................................... ms_srs: add config scheme to select NAS log level we've provided only all_log_level so far but sometimes it's needed to select the level per layer. This patch adds the ability to do so for the NAS layer in the UE. Change-Id: Iab2bce65e8af81f6d344849c97952e6441cb2846 --- M src/osmo_gsm_tester/obj/ms_srs.py M src/osmo_gsm_tester/templates/srsue.conf.tmpl M sysmocom/defaults.conf 3 files changed, 3 insertions(+), 0 deletions(-) Approvals: pespin: Looks good to me, approved; Verified diff --git a/src/osmo_gsm_tester/obj/ms_srs.py b/src/osmo_gsm_tester/obj/ms_srs.py index aaeeca5..df83c2a 100644 --- a/src/osmo_gsm_tester/obj/ms_srs.py +++ b/src/osmo_gsm_tester/obj/ms_srs.py @@ -50,6 +50,7 @@ config_schema = { 'enable_pcap': schema.BOOL_STR, 'log_all_level': schema.STR, + 'log_nas_level': schema.STR } schema.register_config_schema('modem', config_schema) diff --git a/src/osmo_gsm_tester/templates/srsue.conf.tmpl b/src/osmo_gsm_tester/templates/srsue.conf.tmpl index 0939823..272ae48 100644 --- a/src/osmo_gsm_tester/templates/srsue.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsue.conf.tmpl @@ -109,6 +109,7 @@ all_hex_limit = 32 filename = ${ue.log_filename} file_max_size = -1 +nas_level = ${ue.log_nas_level} ##################################################################### # USIM configuration diff --git a/sysmocom/defaults.conf b/sysmocom/defaults.conf index d66e030..7939d3e 100644 --- a/sysmocom/defaults.conf +++ b/sysmocom/defaults.conf @@ -181,6 +181,7 @@ rx_gain: 40 freq_offset: 0 log_all_level: warning + log_nas_level: warning amarisoftue: tx_gain: 89 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23338 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Iab2bce65e8af81f6d344849c97952e6441cb2846 Gerrit-Change-Number: 23338 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 Tue Mar 16 17:05:55 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 17:05:55 +0000 Subject: Change in osmo-gsm-tester[master]: srsue.conf.tmpl: Adjust ue.config template for new pcap path In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23339 ) Change subject: srsue.conf.tmpl: Adjust ue.config template for new pcap path ...................................................................... srsue.conf.tmpl: Adjust ue.config template for new pcap path Change-Id: I4af6abaa3973652a12f571d88bca59cd443704f3 --- M src/osmo_gsm_tester/templates/srsue.conf.tmpl 1 file changed, 4 insertions(+), 4 deletions(-) Approvals: pespin: Looks good to me, approved; Verified diff --git a/src/osmo_gsm_tester/templates/srsue.conf.tmpl b/src/osmo_gsm_tester/templates/srsue.conf.tmpl index 272ae48..a922dc8 100644 --- a/src/osmo_gsm_tester/templates/srsue.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsue.conf.tmpl @@ -78,10 +78,10 @@ # nas_filename: File path to use for NAS packet captures ##################################################################### [pcap] -enable = ${'true' if ue.enable_pcap else 'false'} -filename = ${ue.pcap_filename} -nas_enable = false -nas_filename = /tmp/nas.pcap +enable = ${'mac' if ue.enable_pcap else 'none'} +mac_filename = ${ue.pcap_filename} +mac_nr_filename = /tmp/ue_mac_nr.pcap +nas_filename = /tmp/ue_nas.pcap ##################################################################### # Log configuration -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23339 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I4af6abaa3973652a12f571d88bca59cd443704f3 Gerrit-Change-Number: 23339 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 Tue Mar 16 17:05:56 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 17:05:56 +0000 Subject: Change in osmo-gsm-tester[master]: srsenb_sib.conf.tmpl: reduce the default size of the PUCCH In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23340 ) Change subject: srsenb_sib.conf.tmpl: reduce the default size of the PUCCH ...................................................................... srsenb_sib.conf.tmpl: reduce the default size of the PUCCH optimized PUCCH config Change-Id: I45ae7c33f9d1df20df37c0fe6c3d73aa85ae1b31 --- M src/osmo_gsm_tester/templates/srsenb_sib.conf.tmpl 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: pespin: Looks good to me, approved; Verified diff --git a/src/osmo_gsm_tester/templates/srsenb_sib.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb_sib.conf.tmpl index c738480..7451131 100644 --- a/src/osmo_gsm_tester/templates/srsenb_sib.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsenb_sib.conf.tmpl @@ -77,8 +77,8 @@ }; pucch_cnfg = { - delta_pucch_shift = 2; - n_rb_cqi = 2; + delta_pucch_shift = 1; + n_rb_cqi = 1; n_cs_an = 0; n1_pucch_an = 12; }; -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23340 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I45ae7c33f9d1df20df37c0fe6c3d73aa85ae1b31 Gerrit-Change-Number: 23340 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 Tue Mar 16 17:05:56 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 17:05:56 +0000 Subject: Change in osmo-gsm-tester[master]: jenkins-build-amarisoft: copy ltesim_server binary into epc trial tgz In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23341 ) Change subject: jenkins-build-amarisoft: copy ltesim_server binary into epc trial tgz ...................................................................... jenkins-build-amarisoft: copy ltesim_server binary into epc trial tgz the ltesim_server is part of the UE package but needs to be executed on the EPC run node. Therefore its handy to have the binary in the epc trial tgz. Change-Id: I21ac57d1c1547c1cf4d2394c8593f58ff2c78697 --- M contrib/jenkins-build-amarisoft.sh 1 file changed, 4 insertions(+), 0 deletions(-) Approvals: pespin: Looks good to me, approved; Verified diff --git a/contrib/jenkins-build-amarisoft.sh b/contrib/jenkins-build-amarisoft.sh index 43755ea..1ed7d7d 100755 --- a/contrib/jenkins-build-amarisoft.sh +++ b/contrib/jenkins-build-amarisoft.sh @@ -78,6 +78,10 @@ # 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/ +# Copy ltesim_server from UE package if available +if [ "x${HAVE_AMARISOFT_LTEUE}" = "x1" ]; then + cp inst-amarisoftue/ltesim_server inst-amarisoftepc/ +fi this="amarisoftepc.build-${BUILD_NUMBER-$(date +%Y-%m-%d_%H_%M_%S)}" tar="${this}.tgz" tar -czf "$tar" -C inst-amarisoftepc/ . -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23341 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I21ac57d1c1547c1cf4d2394c8593f58ff2c78697 Gerrit-Change-Number: 23341 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 Tue Mar 16 17:08:57 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 17:08:57 +0000 Subject: Change in osmo-gsm-tester[master]: osmo-gsm-tester_androidue_conn_chk.sh: improve error handling In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23343 ) Change subject: osmo-gsm-tester_androidue_conn_chk.sh: improve error handling ...................................................................... Patch Set 5: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23343 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I6190a840dbc86838457da96d188afc17f83ab15f Gerrit-Change-Number: 23343 Gerrit-PatchSet: 5 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 16 Mar 2021 17:08:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 16 17:09:00 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 17:09:00 +0000 Subject: Change in osmo-gsm-tester[master]: ms_android: set num_carriers to 1 by default In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23344 ) Change subject: ms_android: set num_carriers to 1 by default ...................................................................... Patch Set 5: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23344 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I297d24bb578a7db0eb7629be4f2cc0d54624467d Gerrit-Change-Number: 23344 Gerrit-PatchSet: 5 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 16 Mar 2021 17:09:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 16 17:09:03 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 17:09:03 +0000 Subject: Change in osmo-gsm-tester[master]: epc-label@.conf: add scenario to select runnode based on label In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23345 ) Change subject: epc-label at .conf: add scenario to select runnode based on label ...................................................................... Patch Set 5: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23345 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I710c67ad5a11bd33071acd779e19835ae49ce4a3 Gerrit-Change-Number: 23345 Gerrit-PatchSet: 5 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 16 Mar 2021 17:09: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 Mar 16 17:09:08 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 17:09:08 +0000 Subject: Change in osmo-gsm-tester[master]: osmo-gsm-tester_androidue_conn_chk.sh: improve error handling In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23343 ) Change subject: osmo-gsm-tester_androidue_conn_chk.sh: improve error handling ...................................................................... osmo-gsm-tester_androidue_conn_chk.sh: improve error handling fix check of $serial and check passed arguments. exit when adb isn't installed on host Change-Id: I6190a840dbc86838457da96d188afc17f83ab15f --- M utils/bin/osmo-gsm-tester_androidue_conn_chk.sh 1 file changed, 26 insertions(+), 3 deletions(-) Approvals: pespin: Looks good to me, approved; Verified diff --git a/utils/bin/osmo-gsm-tester_androidue_conn_chk.sh b/utils/bin/osmo-gsm-tester_androidue_conn_chk.sh index d8ff049..2bdb9de 100644 --- a/utils/bin/osmo-gsm-tester_androidue_conn_chk.sh +++ b/utils/bin/osmo-gsm-tester_androidue_conn_chk.sh @@ -1,11 +1,34 @@ #!/bin/bash -# This script reads the network type of an Android phone via ADB +# This script reads the network type of an Android phone via ADB/SSH +# If the first argument (serial) is 0, SSH is used to remotely connect to the phone # usage: osmo-gsm-tester_androidue_conn_chk.sh $serial $remote_ip $remote_port +#set -x + +# check if all parameters have been passed +if ([ ! $3 ]) +then + echo "Please call script with osmo-gsm-tester_androidue_conn_chk.sh $serial $remote_ip $remote_port" + echo "E.g. ./osmo-gsm-tester_androidue_conn_chk.sh df2df 10.12.1.106 130 10" + exit +fi + serial=$1 remote_ip=$2 remote_port=$3 + +echo "Waiting for Android UE to become available .." + +# Check adb is available, if needed +if [ "$serial" != "0" ]; then + if ! [ -x "$(command -v adb)" ]; then + echo 'Error: adb is not installed.' >&2 + exit 1 + fi + echo "Using SSH to access device" +fi + while true; do - if [ "${serial}" == "0" ]; then + if [ "$serial" == "0" ]; then # run_type == ssh ssh -p "${remote_port}" root@"${remote_ip}" getprop "gsm.network.type" else @@ -13,4 +36,4 @@ adb -s "${serial}" shell getprop "gsm.network.type" fi sleep 1 -done +done \ No newline at end of file -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23343 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I6190a840dbc86838457da96d188afc17f83ab15f Gerrit-Change-Number: 23343 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 Tue Mar 16 17:09:08 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 17:09:08 +0000 Subject: Change in osmo-gsm-tester[master]: ms_android: set num_carriers to 1 by default In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23344 ) Change subject: ms_android: set num_carriers to 1 by default ...................................................................... ms_android: set num_carriers to 1 by default throughput tests require the UE object to have the num_carriers member. For Android UEs, set it to 1 by default. Change-Id: I297d24bb578a7db0eb7629be4f2cc0d54624467d --- M src/osmo_gsm_tester/obj/ms_android.py 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: pespin: Looks good to me, approved; Verified diff --git a/src/osmo_gsm_tester/obj/ms_android.py b/src/osmo_gsm_tester/obj/ms_android.py index 9fddff3..0f4a05d 100644 --- a/src/osmo_gsm_tester/obj/ms_android.py +++ b/src/osmo_gsm_tester/obj/ms_android.py @@ -79,6 +79,7 @@ self.remote_metrics_file = None self.metrics_file = None self.brate_mon = None + self.num_carriers = 1 def configure(self): values = dict(ue=config.get_defaults('androidue')) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23344 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I297d24bb578a7db0eb7629be4f2cc0d54624467d Gerrit-Change-Number: 23344 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 Tue Mar 16 17:09:08 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 17:09:08 +0000 Subject: Change in osmo-gsm-tester[master]: epc-label@.conf: add scenario to select runnode based on label In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23345 ) Change subject: epc-label at .conf: add scenario to select runnode based on label ...................................................................... epc-label at .conf: add scenario to select runnode based on label this allows to select the resource/machine the EPC runs on based on the label Change-Id: I710c67ad5a11bd33071acd779e19835ae49ce4a3 --- A sysmocom/scenarios/epc-label at .conf 1 file changed, 3 insertions(+), 0 deletions(-) Approvals: pespin: Looks good to me, approved; Verified diff --git a/sysmocom/scenarios/epc-label at .conf b/sysmocom/scenarios/epc-label at .conf new file mode 100644 index 0000000..bf0d710 --- /dev/null +++ b/sysmocom/scenarios/epc-label at .conf @@ -0,0 +1,3 @@ +resources: + run_node: + - label: ${param1} \ No newline at end of file -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23345 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I710c67ad5a11bd33071acd779e19835ae49ce4a3 Gerrit-Change-Number: 23345 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 Tue Mar 16 17:10:31 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 17:10:31 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: add force_ul_amplitude config 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/+/23383 ) Change subject: ms_srs: add force_ul_amplitude config ...................................................................... ms_srs: add force_ul_amplitude config this allows to overwrite the PHY export option phy.force_ul_amplitude Change-Id: I255f027433944c1739c89757609f0dcc3b8aa7cb --- M src/osmo_gsm_tester/obj/ms_srs.py M src/osmo_gsm_tester/templates/srsue.conf.tmpl 2 files changed, 4 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/83/23383/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23383 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I255f027433944c1739c89757609f0dcc3b8aa7cb Gerrit-Change-Number: 23383 Gerrit-PatchSet: 4 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 16 17:10:45 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 17:10:45 +0000 Subject: Change in osmo-gsm-tester[master]: run_node: add label to RunNode class In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23347 ) Change subject: run_node: add label to RunNode class ...................................................................... Patch Set 6: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23347 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ib6a977007f56d6ff9ff029aaf049a75fb5d5e1dd Gerrit-Change-Number: 23347 Gerrit-PatchSet: 6 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 16 Mar 2021 17:10:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 16 17:10:49 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 17:10:49 +0000 Subject: Change in osmo-gsm-tester[master]: mod-enb-ncells@.conf: add scenario file to select number of cells In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23348 ) Change subject: mod-enb-ncells at .conf: add scenario file to select number of cells ...................................................................... Patch Set 6: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23348 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ib599de56b0b51a125555895014d78d3d649c01a0 Gerrit-Change-Number: 23348 Gerrit-PatchSet: 6 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 16 Mar 2021 17:10: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 Mar 16 17:10:51 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 17:10:51 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: turn tx/rx_gain into INT and make them optional In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23349 ) Change subject: ms_srs: turn tx/rx_gain into INT and make them optional ...................................................................... Patch Set 6: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23349 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I473ff3ae679784178574d2f76b612dbf77180490 Gerrit-Change-Number: 23349 Gerrit-PatchSet: 6 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 16 Mar 2021 17:10: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 Mar 16 17:10:55 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 17:10:55 +0000 Subject: Change in osmo-gsm-tester[master]: AndroidUE: Fix connection timeout In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23350 ) Change subject: AndroidUE: Fix connection timeout ...................................................................... Patch Set 6: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23350 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Iaacf348e2e018da5b67ada33079018c1859d3b63 Gerrit-Change-Number: 23350 Gerrit-PatchSet: 6 Gerrit-Owner: ninjab3s Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Reviewer: srs_andre Gerrit-Comment-Date: Tue, 16 Mar 2021 17:10:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 16 17:11:08 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 17:11:08 +0000 Subject: Change in osmo-gsm-tester[master]: run_node: add label to RunNode class In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23347 ) Change subject: run_node: add label to RunNode class ...................................................................... run_node: add label to RunNode class this allows specifying a label on each run node that can be used to filter/select specific nodes. Change-Id: Ib6a977007f56d6ff9ff029aaf049a75fb5d5e1dd --- M src/osmo_gsm_tester/obj/run_node.py 1 file changed, 8 insertions(+), 3 deletions(-) Approvals: pespin: Looks good to me, approved; Verified diff --git a/src/osmo_gsm_tester/obj/run_node.py b/src/osmo_gsm_tester/obj/run_node.py index 72879a7..676c262 100644 --- a/src/osmo_gsm_tester/obj/run_node.py +++ b/src/osmo_gsm_tester/obj/run_node.py @@ -30,13 +30,14 @@ T_LOCAL = 'local' T_REM_SSH = 'ssh' - def __init__(self, type=None, run_addr=None, ssh_user=None, ssh_addr=None, run_label=None, ssh_port=None, adb_serial_id=None): + def __init__(self, type=None, run_addr=None, ssh_user=None, ssh_addr=None, run_label=None, label=None, ssh_port=None, adb_serial_id=None): super().__init__(log.C_RUN, 'runnode') self._type = type self._run_addr = run_addr self._ssh_user = ssh_user self._ssh_addr = ssh_addr self._run_label = run_label + self._label = label self._ssh_port = ssh_port self._adb_serial_id = adb_serial_id if not self._type: @@ -57,8 +58,8 @@ def from_conf(cls, conf): return cls(conf.get('run_type', None), conf.get('run_addr', None), conf.get('ssh_user', None), conf.get('ssh_addr', None), - conf.get('run_label', None), conf.get('ssh_port', None), - conf.get('adb_serial_id', None)) + conf.get('run_label', None), conf.get('label', None), + conf.get('ssh_port', None), conf.get('adb_serial_id', None)) @classmethod def schema(cls): @@ -68,6 +69,7 @@ 'ssh_user': schema.STR, 'ssh_addr': schema.IPV4, 'run_label': schema.STR, + 'label': schema.STR, 'ssh_port': schema.STR, 'adb_serial_id': schema.STR, } @@ -94,6 +96,9 @@ def run_label(self): return self._run_label + def label(self): + return self._label + def ssh_port(self): return self._ssh_port -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23347 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ib6a977007f56d6ff9ff029aaf049a75fb5d5e1dd Gerrit-Change-Number: 23347 Gerrit-PatchSet: 6 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 16 17:11:09 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 17:11:09 +0000 Subject: Change in osmo-gsm-tester[master]: mod-enb-ncells@.conf: add scenario file to select number of cells In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23348 ) Change subject: mod-enb-ncells at .conf: add scenario file to select number of cells ...................................................................... mod-enb-ncells at .conf: add scenario file to select number of cells Change-Id: Ib599de56b0b51a125555895014d78d3d649c01a0 --- A sysmocom/scenarios/mod-enb-ncells at .conf 1 file changed, 3 insertions(+), 0 deletions(-) Approvals: pespin: Looks good to me, approved; Verified diff --git a/sysmocom/scenarios/mod-enb-ncells at .conf b/sysmocom/scenarios/mod-enb-ncells at .conf new file mode 100644 index 0000000..b57b94a --- /dev/null +++ b/sysmocom/scenarios/mod-enb-ncells at .conf @@ -0,0 +1,3 @@ +modifiers: + enb: + - num_cells: ${param1} -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23348 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ib599de56b0b51a125555895014d78d3d649c01a0 Gerrit-Change-Number: 23348 Gerrit-PatchSet: 6 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 16 17:11:09 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 17:11:09 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: turn tx/rx_gain into INT and make them optional In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23349 ) Change subject: ms_srs: turn tx/rx_gain into INT and make them optional ...................................................................... ms_srs: turn tx/rx_gain into INT and make them optional when they are greater than 0 they are written as config paramter. if they are -1 they are disbaled and automatic gain calibration is used. Change-Id: I473ff3ae679784178574d2f76b612dbf77180490 --- M src/osmo_gsm_tester/obj/ms_srs.py M src/osmo_gsm_tester/templates/srsue.conf.tmpl 2 files changed, 6 insertions(+), 2 deletions(-) Approvals: pespin: Looks good to me, approved; Verified diff --git a/src/osmo_gsm_tester/obj/ms_srs.py b/src/osmo_gsm_tester/obj/ms_srs.py index df83c2a..f564519 100644 --- a/src/osmo_gsm_tester/obj/ms_srs.py +++ b/src/osmo_gsm_tester/obj/ms_srs.py @@ -39,8 +39,8 @@ 'additional_args[]': schema.STR, 'airplane_t_on_ms': schema.INT, 'airplane_t_off_ms': schema.INT, - 'tx_gain': schema.UINT, - 'rx_gain': schema.UINT, + 'tx_gain': schema.INT, + 'rx_gain': schema.INT, 'freq_offset': schema.INT, } for key, val in RunNode.schema().items(): diff --git a/src/osmo_gsm_tester/templates/srsue.conf.tmpl b/src/osmo_gsm_tester/templates/srsue.conf.tmpl index a922dc8..0250f2b 100644 --- a/src/osmo_gsm_tester/templates/srsue.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsue.conf.tmpl @@ -39,8 +39,12 @@ dl_earfcn = 2850 % endif freq_offset = ${ue.freq_offset} +% if int(ue.tx_gain) > 0: tx_gain = ${ue.tx_gain} +% endif +% if int(ue.rx_gain) > 0: rx_gain = ${ue.rx_gain} +% endif #nof_radios = 1 nof_antennas = ${ue.num_antennas} -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23349 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I473ff3ae679784178574d2f76b612dbf77180490 Gerrit-Change-Number: 23349 Gerrit-PatchSet: 6 Gerrit-Owner: srs_andre Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 16 17:11:09 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 17:11:09 +0000 Subject: Change in osmo-gsm-tester[master]: AndroidUE: Fix connection timeout In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23350 ) Change subject: AndroidUE: Fix connection timeout ...................................................................... AndroidUE: Fix connection timeout Change-Id: Iaacf348e2e018da5b67ada33079018c1859d3b63 --- M src/osmo_gsm_tester/obj/ms_android.py 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: pespin: Looks good to me, approved; Verified diff --git a/src/osmo_gsm_tester/obj/ms_android.py b/src/osmo_gsm_tester/obj/ms_android.py index 0f4a05d..276938b 100644 --- a/src/osmo_gsm_tester/obj/ms_android.py +++ b/src/osmo_gsm_tester/obj/ms_android.py @@ -207,7 +207,7 @@ MainLoop.sleep(2) timer -= 2 - if timer == 0: + if timer <= 0: raise log.Error('Connection timer of Android UE %s expired' % self._run_node.adb_serial_id()) self.brate_mon = BitRateMonitor(self.testenv, self.run_dir, self._run_node, self.rem_host, self.data_interface) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23350 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Iaacf348e2e018da5b67ada33079018c1859d3b63 Gerrit-Change-Number: 23350 Gerrit-PatchSet: 6 Gerrit-Owner: ninjab3s 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 Mar 16 17:11:34 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 17:11:34 +0000 Subject: Change in osmo-gsm-tester[master]: iperf3_bidir: add extra test for bi-directional iperf test In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23382 ) Change subject: iperf3_bidir: add extra test for bi-directional iperf test ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23382 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ibb62f53dbb15bc4788c92ebb2dee70e31dd851de Gerrit-Change-Number: 23382 Gerrit-PatchSet: 4 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 16 Mar 2021 17:11: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 Mar 16 17:11:51 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 17:11:51 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: add force_ul_amplitude config In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23383 ) Change subject: ms_srs: add force_ul_amplitude config ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23383 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I255f027433944c1739c89757609f0dcc3b8aa7cb Gerrit-Change-Number: 23383 Gerrit-PatchSet: 4 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 16 Mar 2021 17:11: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 Mar 16 17:12:01 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 17:12:01 +0000 Subject: Change in osmo-gsm-tester[master]: enb.py: increase ZMQ trx timeout to 8s In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23384 ) Change subject: enb.py: increase ZMQ trx timeout to 8s ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23384 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I77b7864e7ef60faf0262dc24325915d73dd2d5a3 Gerrit-Change-Number: 23384 Gerrit-PatchSet: 4 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 16 Mar 2021 17:12: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 Mar 16 17:12:15 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 17:12:15 +0000 Subject: Change in osmo-gsm-tester[master]: srslte_common: fix condition to check if KPI have already extracted In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23385 ) Change subject: srslte_common: fix condition to check if KPI have already extracted ...................................................................... Patch Set 4: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23385 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I6fdcbfadfdcfe131096d0345d2c21c87f8f7b1b6 Gerrit-Change-Number: 23385 Gerrit-PatchSet: 4 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 16 Mar 2021 17:12: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 Mar 16 17:12:17 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 17:12:17 +0000 Subject: Change in osmo-gsm-tester[master]: iperf3_bidir: add extra test for bi-directional iperf test In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23382 ) Change subject: iperf3_bidir: add extra test for bi-directional iperf test ...................................................................... Patch Set 4: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23382 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ibb62f53dbb15bc4788c92ebb2dee70e31dd851de Gerrit-Change-Number: 23382 Gerrit-PatchSet: 4 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 16 Mar 2021 17:12: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 Mar 16 17:12:19 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 17:12:19 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: add force_ul_amplitude config In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23383 ) Change subject: ms_srs: add force_ul_amplitude config ...................................................................... Patch Set 4: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23383 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I255f027433944c1739c89757609f0dcc3b8aa7cb Gerrit-Change-Number: 23383 Gerrit-PatchSet: 4 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 16 Mar 2021 17:12:19 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 16 17:12:21 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 17:12:21 +0000 Subject: Change in osmo-gsm-tester[master]: enb.py: increase ZMQ trx timeout to 8s In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23384 ) Change subject: enb.py: increase ZMQ trx timeout to 8s ...................................................................... Patch Set 4: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23384 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I77b7864e7ef60faf0262dc24325915d73dd2d5a3 Gerrit-Change-Number: 23384 Gerrit-PatchSet: 4 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 16 Mar 2021 17:12: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 Mar 16 17:12:26 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 17:12:26 +0000 Subject: Change in osmo-gsm-tester[master]: iperf3_bidir: add extra test for bi-directional iperf test In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23382 ) Change subject: iperf3_bidir: add extra test for bi-directional iperf test ...................................................................... iperf3_bidir: add extra test for bi-directional iperf test Change-Id: Ibb62f53dbb15bc4788c92ebb2dee70e31dd851de --- A sysmocom/suites/4g/iperf3_bidir.py 1 file changed, 45 insertions(+), 0 deletions(-) Approvals: pespin: Looks good to me, approved; Verified diff --git a/sysmocom/suites/4g/iperf3_bidir.py b/sysmocom/suites/4g/iperf3_bidir.py new file mode 100755 index 0000000..bb1d73a --- /dev/null +++ b/sysmocom/suites/4g/iperf3_bidir.py @@ -0,0 +1,45 @@ +#!/usr/bin/env python3 +from osmo_gsm_tester.testenv import * + +epc = tenv.epc() +enb = tenv.enb() +ue = tenv.modem() +iperf3srv = tenv.iperf3srv({'addr': epc.tun_addr()}) +iperf3srv.set_run_node(epc.run_node()) +iperf3cli = iperf3srv.create_client() +iperf3cli.set_run_node(ue.run_node()) + +epc.subscriber_add(ue) +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) + +max_rate_ratio = 0.8 +max_rate_dl = enb.ue_max_rate(downlink=True, num_carriers=ue.num_carriers) +max_rate_ul = enb.ue_max_rate(downlink=False, num_carriers=ue.num_carriers) + +iperf3srv.start() +proc = iperf3cli.prepare_test_proc(iperf3cli.DIR_BI, ue.netns(), bitrate=max_rate_dl) + +print('waiting for UE to attach...') +wait(ue.is_registered) +print('UE is attached') + +print("Running iperf3 client to %s through %s" % (str(iperf3cli), ue.netns())) +proc.launch_sync() +iperf3srv.stop() + +iperf3cli.print_results() +iperf3srv.print_results(iperf3cli.proto() == iperf3cli.PROTO_UDP) + +# 80% of the maximum rate for half of the test duration +half_duration = int(round(iperf3cli.time_sec() / 2)) +res_str = ue.verify_metric((max_rate_dl + max_rate_ul) * max_rate_ratio, operation='max_rolling_avg', metric='dl_brate+ul_brate', criterion='gt', window=half_duration) +print(res_str) +test.set_report_stdout(res_str) \ No newline at end of file -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23382 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ibb62f53dbb15bc4788c92ebb2dee70e31dd851de Gerrit-Change-Number: 23382 Gerrit-PatchSet: 4 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 16 17:12:26 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 17:12:26 +0000 Subject: Change in osmo-gsm-tester[master]: ms_srs: add force_ul_amplitude config In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23383 ) Change subject: ms_srs: add force_ul_amplitude config ...................................................................... ms_srs: add force_ul_amplitude config this allows to overwrite the PHY export option phy.force_ul_amplitude Change-Id: I255f027433944c1739c89757609f0dcc3b8aa7cb --- M src/osmo_gsm_tester/obj/ms_srs.py M src/osmo_gsm_tester/templates/srsue.conf.tmpl 2 files changed, 4 insertions(+), 1 deletion(-) Approvals: pespin: Looks good to me, approved; Verified diff --git a/src/osmo_gsm_tester/obj/ms_srs.py b/src/osmo_gsm_tester/obj/ms_srs.py index f564519..767f887 100644 --- a/src/osmo_gsm_tester/obj/ms_srs.py +++ b/src/osmo_gsm_tester/obj/ms_srs.py @@ -42,6 +42,7 @@ 'tx_gain': schema.INT, 'rx_gain': schema.INT, 'freq_offset': schema.INT, + 'force_ul_amplitude': schema.STR, } for key, val in RunNode.schema().items(): resource_schema['run_node.%s' % key] = val diff --git a/src/osmo_gsm_tester/templates/srsue.conf.tmpl b/src/osmo_gsm_tester/templates/srsue.conf.tmpl index 0250f2b..a953459 100644 --- a/src/osmo_gsm_tester/templates/srsue.conf.tmpl +++ b/src/osmo_gsm_tester/templates/srsue.conf.tmpl @@ -357,7 +357,9 @@ #pregenerate_signals = false #pdsch_csi_enabled = true #pdsch_8bit_decoder = false -#force_ul_amplitude = 0 +% if float(ue.force_ul_amplitude) > 0: +force_ul_amplitude = ${ue.force_ul_amplitude} +% endif ##################################################################### # Simulation configuration options -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23383 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I255f027433944c1739c89757609f0dcc3b8aa7cb Gerrit-Change-Number: 23383 Gerrit-PatchSet: 4 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 16 17:12:26 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 17:12:26 +0000 Subject: Change in osmo-gsm-tester[master]: enb.py: increase ZMQ trx timeout to 8s In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23384 ) Change subject: enb.py: increase ZMQ trx timeout to 8s ...................................................................... enb.py: increase ZMQ trx timeout to 8s increase value further to avoid failed tests due to load on system Change-Id: I77b7864e7ef60faf0262dc24325915d73dd2d5a3 --- M src/osmo_gsm_tester/obj/enb.py 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: pespin: Looks good to me, approved; Verified diff --git a/src/osmo_gsm_tester/obj/enb.py b/src/osmo_gsm_tester/obj/enb.py index 99d43f8..80f7b6e 100644 --- a/src/osmo_gsm_tester/obj/enb.py +++ b/src/osmo_gsm_tester/obj/enb.py @@ -266,7 +266,7 @@ else: ul_rem_addr = self.ue.addr() - rf_dev_args = 'fail_on_disconnect=true,log_trx_timeout=true,trx_timeout_ms=4000' + rf_dev_args = 'fail_on_disconnect=true,log_trx_timeout=true,trx_timeout_ms=8000' idx = 0 cell_list = cfg_values['enb']['cell_list'] # Define all 8 possible RF ports (2x CA with 2x2 MIMO) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23384 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I77b7864e7ef60faf0262dc24325915d73dd2d5a3 Gerrit-Change-Number: 23384 Gerrit-PatchSet: 4 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 16 17:12:27 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 17:12:27 +0000 Subject: Change in osmo-gsm-tester[master]: srslte_common: fix condition to check if KPI have already extracted In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23385 ) Change subject: srslte_common: fix condition to check if KPI have already extracted ...................................................................... srslte_common: fix condition to check if KPI have already extracted Change-Id: I6fdcbfadfdcfe131096d0345d2c21c87f8f7b1b6 --- M src/osmo_gsm_tester/obj/srslte_common.py 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: pespin: Looks good to me, approved; Verified diff --git a/src/osmo_gsm_tester/obj/srslte_common.py b/src/osmo_gsm_tester/obj/srslte_common.py index cbc360f..aa41cd2 100644 --- a/src/osmo_gsm_tester/obj/srslte_common.py +++ b/src/osmo_gsm_tester/obj/srslte_common.py @@ -65,7 +65,7 @@ ''' Use the srsLTE KPI analyzer module (part of srsLTE.git) if available to collect KPIs ''' # Make sure this only runs once - if self.csv_kpi is not None or self.log_kpi is not None or self.stdout_kpi is not None: + if self.csv_kpi is not None and self.log_kpi is not None and self.stdout_kpi is not None: return # Start with empty KPIs -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23385 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I6fdcbfadfdcfe131096d0345d2c21c87f8f7b1b6 Gerrit-Change-Number: 23385 Gerrit-PatchSet: 4 Gerrit-Owner: srs_andre Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 16 17:18:44 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 17:18:44 +0000 Subject: Change in osmo-gsm-tester[master]: sysmo/defaults.conf: Fix attribute name In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23380 ) Change subject: sysmo/defaults.conf: Fix attribute name ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23380 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ib7b48ce207b96ea5f5b59db08320563be40edba1 Gerrit-Change-Number: 23380 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 16 Mar 2021 17:18: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 Mar 16 17:18:48 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 17:18:48 +0000 Subject: Change in osmo-gsm-tester[master]: sysmo/defaults.conf: Fix attribute name In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23380 ) Change subject: sysmo/defaults.conf: Fix attribute name ...................................................................... sysmo/defaults.conf: Fix attribute name According to schema, the name is cipher_list. Same goes for "integrity". Fixes: a81801558e7bb6ef0f0a32ab078d302c91e940a8 Change-Id: Ib7b48ce207b96ea5f5b59db08320563be40edba1 --- M sysmocom/defaults.conf 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/sysmocom/defaults.conf b/sysmocom/defaults.conf index 7939d3e..d491548 100644 --- a/sysmocom/defaults.conf +++ b/sysmocom/defaults.conf @@ -144,11 +144,11 @@ root_seq_idx: 205 scell_list: [] ncell_list: [] - cipher_4g: + cipher_list: - eea0 - eea2 - eea1 - integrity_4g: + integrity_list: - eia2 - eia1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23380 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Ib7b48ce207b96ea5f5b59db08320563be40edba1 Gerrit-Change-Number: 23380 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 Mar 16 17:33:01 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 16 Mar 2021 17:33:01 +0000 Subject: Change in pysim[master]: filesystem: allow dumping multiple records of a file In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23206 ) Change subject: filesystem: allow dumping multiple records of a file ...................................................................... Patch Set 5: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/pysim/+/23206/1/pySim/filesystem.py File pySim/filesystem.py: https://gerrit.osmocom.org/c/pysim/+/23206/1/pySim/filesystem.py at 381 PS1, Line 381: records > I'd call this something like --count --record-count --record-quantity --record-qty --num-of-records [?] comment was not addressed -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23206 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id62db2cba4e3dfb6a7b3e6be8b892c16d11a8e3e Gerrit-Change-Number: 23206 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 16 Mar 2021 17:33:01 +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 Tue Mar 16 17:33:26 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 16 Mar 2021 17:33:26 +0000 Subject: Change in pysim[master]: pySim-shell: add "dir" command. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23207 ) Change subject: pySim-shell: add "dir" command. ...................................................................... Patch Set 5: no feedback to my comment? -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23207 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ic06a60e0a0ec54d9bb26e151453ceb49d69e3df7 Gerrit-Change-Number: 23207 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Tue, 16 Mar 2021 17:33:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 16 17:33:55 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 16 Mar 2021 17:33:55 +0000 Subject: Change in pysim[master]: pySim-shell: add functionality to walk through the fs recursively In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23208 ) Change subject: pySim-shell: add functionality to walk through the fs recursively ...................................................................... Patch Set 4: Code-Review-1 prvious comment still not addressed -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23208 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: If93d24dfb80c83eda39303c936910fa1fa7f48f8 Gerrit-Change-Number: 23208 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 16 Mar 2021 17:33:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 16 17:36:47 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 16 Mar 2021 17:36:47 +0000 Subject: Change in pysim[master]: pySim-shell: add filesystem exporter In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23210 ) Change subject: pySim-shell: add filesystem exporter ...................................................................... Patch Set 4: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/pysim/+/23210/4/pySim-shell.py File pySim-shell.py: https://gerrit.osmocom.org/c/pysim/+/23210/4/pySim-shell.py at 178 PS4, Line 178: self._c should we really just ignore erros in reading files? I think we need to check _why_ reading/selecting fails. If the file doesn't exist, fine, let's ignore it and simply write "# file not found: %s". But what if selecting failed due to insufficient privileges? or the card actually reports an error while reading (for whatever reason)? I think in those situations we should actually throw the exception, or alteernativel first save all other files and then raise an exception at the end. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23210 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I82f3ce92cd91a5ed3c4884d62f6b22e9589c8a49 Gerrit-Change-Number: 23210 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: dexter Gerrit-Comment-Date: Tue, 16 Mar 2021 17:36: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 Tue Mar 16 17:37:04 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 17:37:04 +0000 Subject: Change in osmo-gsm-tester[master]: sysmocom/default.conf: Add missing default value for force_ul_amplitude References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23386 ) Change subject: sysmocom/default.conf: Add missing default value for force_ul_amplitude ...................................................................... sysmocom/default.conf: Add missing default value for force_ul_amplitude Change-Id: I04218dca21f27e32d7c85a74a3e9bbf63b499357 --- M sysmocom/defaults.conf 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/86/23386/1 diff --git a/sysmocom/defaults.conf b/sysmocom/defaults.conf index d491548..69d9ed9 100644 --- a/sysmocom/defaults.conf +++ b/sysmocom/defaults.conf @@ -182,6 +182,7 @@ freq_offset: 0 log_all_level: warning log_nas_level: warning + force_ul_amplitude: 0 amarisoftue: tx_gain: 89 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23386 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I04218dca21f27e32d7c85a74a3e9bbf63b499357 Gerrit-Change-Number: 23386 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 Mar 16 17:37:05 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 17:37:05 +0000 Subject: Change in osmo-gsm-tester[master]: contrib: open5gs: Install more binaries to have an EPC References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23387 ) Change subject: contrib: open5gs: Install more binaries to have an EPC ...................................................................... contrib: open5gs: Install more binaries to have an EPC Change-Id: I1ff143b4f876e28ad9a1bc6a4a4cad5dacef8e18 --- M contrib/jenkins-build-open5gs.sh 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/87/23387/1 diff --git a/contrib/jenkins-build-open5gs.sh b/contrib/jenkins-build-open5gs.sh index ecee8ca..7c743e6 100755 --- a/contrib/jenkins-build-open5gs.sh +++ b/contrib/jenkins-build-open5gs.sh @@ -9,4 +9,4 @@ build_repo $project_name "main" $configure_opts -create_bin_tgz "open5gs-mmed" +create_bin_tgz "open5gs-hssd open5gs-pcrfd open5gs-upfd open5gs-sgwud open5gs-smfd open5gs-sgwcd open5gs-mmed" -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23387 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I1ff143b4f876e28ad9a1bc6a4a4cad5dacef8e18 Gerrit-Change-Number: 23387 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 Mar 16 17:37:07 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 16 Mar 2021 17:37:07 +0000 Subject: Change in pysim[master]: ts_102_221: fix fixup_fcp_proprietary_tlv_map() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23211 ) Change subject: ts_102_221: fix fixup_fcp_proprietary_tlv_map() ...................................................................... Patch Set 4: Code-Review-1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23211 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ib06041361851f05dd990576fff47048dc1aa6290 Gerrit-Change-Number: 23211 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 16 Mar 2021 17:37: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 Mar 16 17:37:22 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 16 Mar 2021 17:37:22 +0000 Subject: Change in pysim[master]: filesystem: fix exception string (fid != name) In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23376 ) Change subject: filesystem: fix exception string (fid != name) ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23376 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I054f3b3a156f0164c62610cfde1aec2145c20925 Gerrit-Change-Number: 23376 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 16 Mar 2021 17:37: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 Mar 16 17:37:40 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 16 Mar 2021 17:37:40 +0000 Subject: Change in pysim[master]: filesystem: add comment to inform about checks in add_file() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23377 ) Change subject: filesystem: add comment to inform about checks in add_file() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23377 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Iebae28909fe6aade3bd4024112a222819572d735 Gerrit-Change-Number: 23377 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 16 Mar 2021 17:37: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 Mar 16 17:39:55 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 16 Mar 2021 17:39:55 +0000 Subject: Change in pysim[master]: filesystem: be more strict in method add_file() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23378 ) Change subject: filesystem: be more strict in method add_file() ...................................................................... Patch Set 1: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/pysim/+/23378/1/pySim/filesystem.py File pySim/filesystem.py: https://gerrit.osmocom.org/c/pysim/+/23378/1/pySim/filesystem.py at 152 PS1, Line 152: if child.name[0:3] != "DF." and child.name[0:3] != "EF." and child.name[0:4] != "ADF.": I wouldn't enforce this name prefix. I think it's more a convention than "law". I also thin it is legitimate for files not to have a human-readable name. Let's say we encounter some card model with some proprietary files of which we don't know the name. The check for the FID looks reasonable to me. However, as the FID is 16bits, I'm not sure why we accept any length != 4 hex nibbles? -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23378 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I096907285b742e611d221b03ba067ea2522e7e52 Gerrit-Change-Number: 23378 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 16 Mar 2021 17:39:55 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 16 18:26:20 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 18:26:20 +0000 Subject: Change in osmo-gsm-tester[master]: sysmocom/default.conf: Add missing default value for force_ul_amplitude In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23386 ) Change subject: sysmocom/default.conf: Add missing default value for force_ul_amplitude ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23386 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I04218dca21f27e32d7c85a74a3e9bbf63b499357 Gerrit-Change-Number: 23386 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 16 Mar 2021 18:26: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 Mar 16 18:26:22 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 18:26:22 +0000 Subject: Change in osmo-gsm-tester[master]: sysmocom/default.conf: Add missing default value for force_ul_amplitude In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23386 ) Change subject: sysmocom/default.conf: Add missing default value for force_ul_amplitude ...................................................................... sysmocom/default.conf: Add missing default value for force_ul_amplitude Change-Id: I04218dca21f27e32d7c85a74a3e9bbf63b499357 --- M sysmocom/defaults.conf 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/sysmocom/defaults.conf b/sysmocom/defaults.conf index d491548..69d9ed9 100644 --- a/sysmocom/defaults.conf +++ b/sysmocom/defaults.conf @@ -182,6 +182,7 @@ freq_offset: 0 log_all_level: warning log_nas_level: warning + force_ul_amplitude: 0 amarisoftue: tx_gain: 89 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23386 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I04218dca21f27e32d7c85a74a3e9bbf63b499357 Gerrit-Change-Number: 23386 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 Mar 16 18:26:25 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 18:26:25 +0000 Subject: Change in osmo-gsm-tester[master]: contrib: open5gs: Install more binaries to have an EPC In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23387 ) Change subject: contrib: open5gs: Install more binaries to have an EPC ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23387 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I1ff143b4f876e28ad9a1bc6a4a4cad5dacef8e18 Gerrit-Change-Number: 23387 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 16 Mar 2021 18:26: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 Mar 16 18:26:27 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 16 Mar 2021 18:26:27 +0000 Subject: Change in osmo-gsm-tester[master]: contrib: open5gs: Install more binaries to have an EPC In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23387 ) Change subject: contrib: open5gs: Install more binaries to have an EPC ...................................................................... contrib: open5gs: Install more binaries to have an EPC Change-Id: I1ff143b4f876e28ad9a1bc6a4a4cad5dacef8e18 --- M contrib/jenkins-build-open5gs.sh 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/contrib/jenkins-build-open5gs.sh b/contrib/jenkins-build-open5gs.sh index ecee8ca..7c743e6 100755 --- a/contrib/jenkins-build-open5gs.sh +++ b/contrib/jenkins-build-open5gs.sh @@ -9,4 +9,4 @@ build_repo $project_name "main" $configure_opts -create_bin_tgz "open5gs-mmed" +create_bin_tgz "open5gs-hssd open5gs-pcrfd open5gs-upfd open5gs-sgwud open5gs-smfd open5gs-sgwcd open5gs-mmed" -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23387 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: I1ff143b4f876e28ad9a1bc6a4a4cad5dacef8e18 Gerrit-Change-Number: 23387 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 admin at opensuse.org Wed Mar 17 01:43:43 2021 From: admin at opensuse.org (OBS Notification) Date: Wed, 17 Mar 2021 01:43:43 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <60515edabc887_17552b16e448e600335895@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_20.04/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_20.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 187s] [COMPILING apps/dfu/main.c] [ 187s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 187s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 187s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 187s] Memory region Used Size Region Size %age Used [ 187s] rom: 16600 B 16 KB 101.32% [ 187s] ram: 11688 B 48 KB 23.78/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 187s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 187s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 187s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 187s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 187s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 187s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 216 bytes [ 187s] collect2: error: ld returned 1 exit status [ 187s] % [ 187s] make[2]: *** [Makefile:230: flash] Error 1 [ 187s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 187s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 187s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 187s] dh_auto_build: error: make -j1 returned exit code 2 [ 187s] make: *** [debian/rules:16: build] Error 25 [ 187s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 187s] ### VM INTERACTION START ### [ 191s] [ 177.539089] sysrq: Power Off [ 191s] [ 177.552182] reboot: Power down [ 191s] ### VM INTERACTION END ### [ 191s] [ 191s] sheep88 failed "build simtrace2_0.7.0.76.62ad.dsc" at Wed Mar 17 01:43:34 UTC 2021. [ 191s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Mar 17 01:44:34 2021 From: admin at opensuse.org (OBS Notification) Date: Wed, 17 Mar 2021 01:44:34 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.10/x86_64 In-Reply-To: References: Message-ID: <60515f14f15c0_17552b16e448e6003359ec@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_20.10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_20.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 173s] [COMPILING libboard/qmod/source/board_qmod.c] [ 173s] [COMPILING libboard/qmod/source/card_pres.c] [ 173s] [COMPILING libboard/qmod/source/i2c.c] [ 174s] [COMPILING libboard/qmod/source/wwan_led.c] [ 174s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 174s] [COMPILING apps/dfu/main.c] [ 174s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 174s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 174s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 175s] Memory region Used Size Region Size %age Used [ 175s] rom: 16592 B 16 KB 101.27% [ 175s] ram: 11680 B 48 KB 23.76/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 175s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 208 bytes [ 175s] collect2: error: ld returned 1 exit status [ 175s] % [ 175s] make[2]: *** [Makefile:230: flash] Error 1 [ 175s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 175s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 175s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 175s] dh_auto_build: error: make -j1 returned exit code 2 [ 175s] make: *** [debian/rules:16: build] Error 25 [ 175s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 175s] ### VM INTERACTION START ### [ 178s] [ 161.766117] sysrq: Power Off [ 178s] [ 161.771476] reboot: Power down [ 178s] ### VM INTERACTION END ### [ 178s] [ 178s] hci-cnode2-m1 failed "build simtrace2_0.7.0.76.62ad.dsc" at Wed Mar 17 01:44:19 UTC 2021. [ 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 Wed Mar 17 14:34:03 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 17 Mar 2021 14:34:03 +0000 Subject: Change in pysim[master]: filesystem: allow dumping multiple records of a file In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23206 ) Change subject: filesystem: allow dumping multiple records of a file ...................................................................... Patch Set 5: (1 comment) https://gerrit.osmocom.org/c/pysim/+/23206/5/pySim/filesystem.py File pySim/filesystem.py: https://gerrit.osmocom.org/c/pysim/+/23206/5/pySim/filesystem.py at 389 PS5, Line 389: Why 3 spaces? (I would expect Python to complain about inconsistent spacing, usually it does) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23206 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id62db2cba4e3dfb6a7b3e6be8b892c16d11a8e3e Gerrit-Change-Number: 23206 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Wed, 17 Mar 2021 14:34:03 +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 Mar 17 15:00:03 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 17 Mar 2021 15:00:03 +0000 Subject: Change in osmo-pcu[master]: sysmo: fix wrong FN jumps in rx RA.ind References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23388 ) Change subject: sysmo: fix wrong FN jumps in rx RA.ind ...................................................................... sysmo: fix wrong FN jumps in rx RA.ind There's no need for setting the FN in RA.ind since we anyway already receive a DATA.ind beforehand. Furthermore, the applied delay of 5 in the call is not really used at all. Change-Id: I437f4f95d054aea96bec3b9343e495451020ff3c --- M src/bts.cpp M src/bts.h M src/osmo-bts-sysmo/sysmo_l1_if.c M src/pcu_l1_if.cpp M src/pcu_l1_if.h M tests/tbf/TbfTest.cpp 6 files changed, 4 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/88/23388/1 diff --git a/src/bts.cpp b/src/bts.cpp index c1cee17..dc4159c 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -305,7 +305,7 @@ return (fn + GSM_MAX_FN * 3 / 2 - to) % GSM_MAX_FN - GSM_MAX_FN/2; } -void bts_set_current_block_frame_number(struct gprs_rlcmac_bts *bts, int fn, unsigned max_delay) +void bts_set_current_block_frame_number(struct gprs_rlcmac_bts *bts, int fn) { int delay = 0; const int late_block_delay_thresh = 13; diff --git a/src/bts.h b/src/bts.h index 9336c89..ab8a973 100644 --- a/src/bts.h +++ b/src/bts.h @@ -276,7 +276,7 @@ void bts_snd_dl_ass(struct gprs_rlcmac_bts *bts, struct gprs_rlcmac_tbf *tbf, bool poll, uint16_t pgroup); void bts_set_current_frame_number(struct gprs_rlcmac_bts *bts, uint32_t frame_number); -void bts_set_current_block_frame_number(struct gprs_rlcmac_bts *bts, int frame_number, unsigned max_delay); +void bts_set_current_block_frame_number(struct gprs_rlcmac_bts *bts, int frame_number); static inline uint32_t bts_current_frame_number(const struct gprs_rlcmac_bts *bts) { return bts->cur_fn; diff --git a/src/osmo-bts-sysmo/sysmo_l1_if.c b/src/osmo-bts-sysmo/sysmo_l1_if.c index eb869e1..29656d7 100644 --- a/src/osmo-bts-sysmo/sysmo_l1_if.c +++ b/src/osmo-bts-sysmo/sysmo_l1_if.c @@ -240,8 +240,6 @@ struct gprs_rlcmac_bts *bts; bts = llist_first_entry_or_null(&the_pcu->bts_list, struct gprs_rlcmac_bts, list); - pcu_rx_ra_time(bts, ra_ind->u16Arfcn, ra_ind->u32Fn, ra_ind->u8Tn); - if (ra_ind->measParam.fLinkQuality < MIN_QUAL_RACH) return 0; diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index f28c46f..0ccf642 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -273,13 +273,7 @@ void pcu_rx_block_time(struct gprs_rlcmac_bts *bts, uint16_t arfcn, uint32_t fn, uint8_t ts_no) { - bts_set_current_block_frame_number(bts, fn, 0); -} - -void pcu_rx_ra_time(struct gprs_rlcmac_bts *bts, uint16_t arfcn, uint32_t fn, uint8_t ts_no) -{ - /* access bursts may arrive some bursts earlier */ - bts_set_current_block_frame_number(bts, fn, 5); + bts_set_current_block_frame_number(bts, fn); } int pcu_rx_data_ind_pdtch(struct gprs_rlcmac_bts *bts, struct gprs_rlcmac_pdch *pdch, uint8_t *data, diff --git a/src/pcu_l1_if.h b/src/pcu_l1_if.h index aff23f5..246444c 100644 --- a/src/pcu_l1_if.h +++ b/src/pcu_l1_if.h @@ -177,7 +177,6 @@ uint8_t len, uint32_t fn, struct pcu_l1_meas *meas); void pcu_rx_block_time(struct gprs_rlcmac_bts *bts, uint16_t arfcn, uint32_t fn, uint8_t ts_no); -void pcu_rx_ra_time(struct gprs_rlcmac_bts *bts, uint16_t arfcn, uint32_t fn, uint8_t ts_no); uint16_t imsi2paging_group(const char* imsi); #ifdef __cplusplus } diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp index 2986132..46667b4 100644 --- a/tests/tbf/TbfTest.cpp +++ b/tests/tbf/TbfTest.cpp @@ -627,7 +627,7 @@ static void send_ul_mac_block_buf(struct gprs_rlcmac_bts *bts, struct gprs_rlcmac_pdch *pdch, unsigned fn, uint8_t *buf, int num_bytes) { - bts_set_current_block_frame_number(bts, fn, 0); + bts_set_current_block_frame_number(bts, fn); pdch->rcv_block(buf, num_bytes, fn, &meas); pdch_ulc_expire_fn(pdch->ulc, fn); } -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23388 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I437f4f95d054aea96bec3b9343e495451020ff3c Gerrit-Change-Number: 23388 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 Mar 17 15:32:27 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 17 Mar 2021 15:32:27 +0000 Subject: Change in libosmocore[master]: tests/stats: enable logging in test output References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/23389 ) Change subject: tests/stats: enable logging in test output ...................................................................... tests/stats: enable logging in test output Move test output from stdout to stderr and enable logging to stderr. This is in preparation for the next patch, which will add a new log message when osmo_stat_item_get_next() skips a value. Related: SYS#4877 Change-Id: Ie0eaec2f93ac6859397a6bfca45039fdcc27cb9e --- M tests/stats/stats_test.c A tests/stats/stats_test.err M tests/stats/stats_test.ok M tests/testsuite.at 4 files changed, 177 insertions(+), 163 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/89/23389/1 diff --git a/tests/stats/stats_test.c b/tests/stats/stats_test.c index 05caf98..707f606 100644 --- a/tests/stats/stats_test.c +++ b/tests/stats/stats_test.c @@ -22,6 +22,7 @@ * */ +#include #include #include #include @@ -271,7 +272,7 @@ { const char *group_name = ctrg ? ctrg->desc->group_name_prefix : ""; - printf(" %s: counter p=%s g=%s i=%u n=%s v=%lld d=%lld\n", + fprintf(stderr, " %s: counter p=%s g=%s i=%u n=%s v=%lld d=%lld\n", srep->name, srep->name_prefix ? srep->name_prefix : "", group_name, ctrg ? ctrg->idx : 0, @@ -285,7 +286,7 @@ const struct osmo_stat_item_group *statg, const struct osmo_stat_item_desc *desc, int64_t value) { - printf(" %s: item p=%s g=%s i=%u n=%s v=%"PRId64" u=%s\n", + fprintf(stderr, " %s: item p=%s g=%s i=%u n=%s v=%"PRId64" u=%s\n", srep->name, srep->name_prefix ? srep->name_prefix : "", statg->desc->group_name_prefix, statg->idx, @@ -297,13 +298,13 @@ static int stats_reporter_test_open(struct osmo_stats_reporter *srep) { - printf(" %s: open\n", srep->name); + fprintf(stderr, " %s: open\n", srep->name); return 0; } static int stats_reporter_test_close(struct osmo_stats_reporter *srep) { - printf(" %s: close\n", srep->name); + fprintf(stderr, " %s: close\n", srep->name); return 0; } @@ -332,7 +333,7 @@ int rc; - printf("Start test: %s\n", __func__); + fprintf(stderr, "Start test: %s\n", __func__); /* Allocate counters and items */ statg1 = osmo_stat_item_group_alloc(stats_ctx, &statg_desc, 1); @@ -374,12 +375,12 @@ rc = osmo_stats_reporter_set_max_class(srep2, OSMO_STATS_CLASS_SUBSCRIBER); OSMO_ASSERT(rc >= 0); - printf("report (initial):\n"); + fprintf(stderr, "report (initial):\n"); send_count = 0; osmo_stats_report(); OSMO_ASSERT(send_count == 20); - printf("report (srep1 global):\n"); + fprintf(stderr, "report (srep1 global):\n"); /* force single flush */ osmo_stats_reporter_set_max_class(srep1, OSMO_STATS_CLASS_GLOBAL); srep1->force_single_flush = 1; @@ -388,7 +389,7 @@ osmo_stats_report(); OSMO_ASSERT(send_count == 10); - printf("report (srep1 peer):\n"); + fprintf(stderr, "report (srep1 peer):\n"); /* force single flush */ osmo_stats_reporter_set_max_class(srep1, OSMO_STATS_CLASS_PEER); srep1->force_single_flush = 1; @@ -397,7 +398,7 @@ osmo_stats_report(); OSMO_ASSERT(send_count == 14); - printf("report (srep1 subscriber):\n"); + fprintf(stderr, "report (srep1 subscriber):\n"); /* force single flush */ osmo_stats_reporter_set_max_class(srep1, OSMO_STATS_CLASS_SUBSCRIBER); srep1->force_single_flush = 1; @@ -406,7 +407,7 @@ osmo_stats_report(); OSMO_ASSERT(send_count == 20); - printf("report (srep2 disabled):\n"); + fprintf(stderr, "report (srep2 disabled):\n"); /* force single flush */ srep1->force_single_flush = 1; srep2->force_single_flush = 1; @@ -416,45 +417,45 @@ osmo_stats_report(); OSMO_ASSERT(send_count == 10); - printf("report (srep2 enabled, no flush forced):\n"); + fprintf(stderr, "report (srep2 enabled, no flush forced):\n"); rc = osmo_stats_reporter_enable(srep2); OSMO_ASSERT(rc >= 0); send_count = 0; osmo_stats_report(); OSMO_ASSERT(send_count == 10); - printf("report (should be empty):\n"); + fprintf(stderr, "report (should be empty):\n"); send_count = 0; osmo_stats_report(); OSMO_ASSERT(send_count == 0); - printf("report (group 1, counter 1 update):\n"); + fprintf(stderr, "report (group 1, counter 1 update):\n"); rate_ctr_inc(&ctrg1->ctr[TEST_A_CTR]); send_count = 0; osmo_stats_report(); OSMO_ASSERT(send_count == 2); - printf("report (group 1, item 1 update):\n"); + fprintf(stderr, "report (group 1, item 1 update):\n"); osmo_stat_item_set(statg1->items[TEST_A_ITEM], 10); send_count = 0; osmo_stats_report(); OSMO_ASSERT(send_count == 2); - printf("report (group 1, item 1 update twice):\n"); + fprintf(stderr, "report (group 1, item 1 update twice):\n"); osmo_stat_item_set(statg1->items[TEST_A_ITEM], 10); osmo_stat_item_set(statg1->items[TEST_A_ITEM], 10); send_count = 0; osmo_stats_report(); OSMO_ASSERT(send_count == 2); - printf("report (group 1, item 1 update twice, check max):\n"); + fprintf(stderr, "report (group 1, item 1 update twice, check max):\n"); osmo_stat_item_set(statg1->items[TEST_A_ITEM], 20); osmo_stat_item_set(statg1->items[TEST_A_ITEM], 10); send_count = 0; osmo_stats_report(); OSMO_ASSERT(send_count == 2); - printf("report (remove statg1, ctrg1):\n"); + fprintf(stderr, "report (remove statg1, ctrg1):\n"); /* force single flush */ srep1->force_single_flush = 1; srep2->force_single_flush = 1; @@ -464,7 +465,7 @@ osmo_stats_report(); OSMO_ASSERT(send_count == 12); - printf("report (remove srep1):\n"); + fprintf(stderr, "report (remove srep1):\n"); /* force single flush */ srep1->force_single_flush = 1; srep2->force_single_flush = 1; @@ -473,7 +474,7 @@ osmo_stats_report(); OSMO_ASSERT(send_count == 6); - printf("report (remove statg2):\n"); + fprintf(stderr, "report (remove statg2):\n"); /* force single flush */ srep2->force_single_flush = 1; osmo_stat_item_group_free(statg2); @@ -481,7 +482,7 @@ osmo_stats_report(); OSMO_ASSERT(send_count == 4); - printf("report (remove srep2):\n"); + fprintf(stderr, "report (remove srep2):\n"); /* force single flush */ srep2->force_single_flush = 1; osmo_stats_reporter_free(srep2); @@ -489,7 +490,7 @@ osmo_stats_report(); OSMO_ASSERT(send_count == 0); - printf("report (remove ctrg2, should be empty):\n"); + fprintf(stderr, "report (remove ctrg2, should be empty):\n"); rate_ctr_group_free(ctrg2); send_count = 0; osmo_stats_report(); @@ -501,17 +502,24 @@ OSMO_ASSERT(talloc_total_blocks(stats_ctx) == 1); talloc_free(stats_ctx); - printf("End test: %s\n", __func__); + fprintf(stderr, "End test: %s\n", __func__); } int main(int argc, char **argv) { - static const struct log_info log_info = {}; - log_init(&log_info, NULL); + void *ctx = talloc_named_const(NULL, 0, "main"); + osmo_init_logging2(ctx, NULL); + + log_set_print_filename2(osmo_stderr_target, LOG_FILENAME_NONE); + log_set_print_level(osmo_stderr_target, 1); + log_set_print_category(osmo_stderr_target, 1); + log_set_print_category_hex(osmo_stderr_target, 0); + log_set_use_color(osmo_stderr_target, 0); osmo_stat_item_init(NULL); stat_test(); test_reporting(); + talloc_free(ctx); return 0; } diff --git a/tests/stats/stats_test.err b/tests/stats/stats_test.err new file mode 100644 index 0000000..3accf54 --- /dev/null +++ b/tests/stats/stats_test.err @@ -0,0 +1,143 @@ +Start test: test_reporting +DLGLOBAL ERROR counter group 'ctr-test:one' already exists for index 2, instead using index 3. This is a software bug that needs fixing. +DLGLOBAL ERROR 'ctr-test.one_dot' is not a valid counter group identifier +DLGLOBAL NOTICE counter group name mangled: 'ctr-test.one_dot' -> 'ctr-test:one_dot' +DLGLOBAL NOTICE counter group name mangled: 'ctr.a' -> 'ctr:a' +DLGLOBAL NOTICE counter group name mangled: 'ctr.b' -> 'ctr:b' + test1: open + test2: open +report (initial): + test2: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 + test1: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 + test2: counter p= g=ctr-test:one_dot i=3 n=ctr:b v=0 d=0 + test1: counter p= g=ctr-test:one_dot i=3 n=ctr:b v=0 d=0 + test2: counter p= g=ctr-test:one i=2 n=ctr:a v=0 d=0 + test1: counter p= g=ctr-test:one i=2 n=ctr:a v=0 d=0 + test2: counter p= g=ctr-test:one i=2 n=ctr:b v=0 d=0 + test1: counter p= g=ctr-test:one i=2 n=ctr:b v=0 d=0 + test2: counter p= g=ctr-test:one i=1 n=ctr:a v=0 d=0 + test1: counter p= g=ctr-test:one i=1 n=ctr:a v=0 d=0 + test2: counter p= g=ctr-test:one i=1 n=ctr:b v=0 d=0 + test1: counter p= g=ctr-test:one i=1 n=ctr:b v=0 d=0 + test2: item p= g=test.one i=2 n=item.a v=-1 u=ma + test1: item p= g=test.one i=2 n=item.a v=-1 u=ma + test2: item p= g=test.one i=2 n=item.b v=-1 u=kb + test1: item p= g=test.one i=2 n=item.b v=-1 u=kb + test2: item p= g=test.one i=1 n=item.a v=-1 u=ma + test1: item p= g=test.one i=1 n=item.a v=-1 u=ma + test2: item p= g=test.one i=1 n=item.b v=-1 u=kb + test1: item p= g=test.one i=1 n=item.b v=-1 u=kb +report (srep1 global): + test2: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 + test2: counter p= g=ctr-test:one_dot i=3 n=ctr:b v=0 d=0 + test2: counter p= g=ctr-test:one i=2 n=ctr:a v=0 d=0 + test2: counter p= g=ctr-test:one i=2 n=ctr:b v=0 d=0 + test2: counter p= g=ctr-test:one i=1 n=ctr:a v=0 d=0 + test2: counter p= g=ctr-test:one i=1 n=ctr:b v=0 d=0 + test2: item p= g=test.one i=2 n=item.a v=-1 u=ma + test2: item p= g=test.one i=2 n=item.b v=-1 u=kb + test2: item p= g=test.one i=1 n=item.a v=-1 u=ma + test2: item p= g=test.one i=1 n=item.b v=-1 u=kb +report (srep1 peer): + test2: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 + test2: counter p= g=ctr-test:one_dot i=3 n=ctr:b v=0 d=0 + test2: counter p= g=ctr-test:one i=2 n=ctr:a v=0 d=0 + test2: counter p= g=ctr-test:one i=2 n=ctr:b v=0 d=0 + test2: counter p= g=ctr-test:one i=1 n=ctr:a v=0 d=0 + test2: counter p= g=ctr-test:one i=1 n=ctr:b v=0 d=0 + test2: item p= g=test.one i=2 n=item.a v=-1 u=ma + test1: item p= g=test.one i=2 n=item.a v=-1 u=ma + test2: item p= g=test.one i=2 n=item.b v=-1 u=kb + test1: item p= g=test.one i=2 n=item.b v=-1 u=kb + test2: item p= g=test.one i=1 n=item.a v=-1 u=ma + test1: item p= g=test.one i=1 n=item.a v=-1 u=ma + test2: item p= g=test.one i=1 n=item.b v=-1 u=kb + test1: item p= g=test.one i=1 n=item.b v=-1 u=kb +report (srep1 subscriber): + test2: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 + test1: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 + test2: counter p= g=ctr-test:one_dot i=3 n=ctr:b v=0 d=0 + test1: counter p= g=ctr-test:one_dot i=3 n=ctr:b v=0 d=0 + test2: counter p= g=ctr-test:one i=2 n=ctr:a v=0 d=0 + test1: counter p= g=ctr-test:one i=2 n=ctr:a v=0 d=0 + test2: counter p= g=ctr-test:one i=2 n=ctr:b v=0 d=0 + test1: counter p= g=ctr-test:one i=2 n=ctr:b v=0 d=0 + test2: counter p= g=ctr-test:one i=1 n=ctr:a v=0 d=0 + test1: counter p= g=ctr-test:one i=1 n=ctr:a v=0 d=0 + test2: counter p= g=ctr-test:one i=1 n=ctr:b v=0 d=0 + test1: counter p= g=ctr-test:one i=1 n=ctr:b v=0 d=0 + test2: item p= g=test.one i=2 n=item.a v=-1 u=ma + test1: item p= g=test.one i=2 n=item.a v=-1 u=ma + test2: item p= g=test.one i=2 n=item.b v=-1 u=kb + test1: item p= g=test.one i=2 n=item.b v=-1 u=kb + test2: item p= g=test.one i=1 n=item.a v=-1 u=ma + test1: item p= g=test.one i=1 n=item.a v=-1 u=ma + test2: item p= g=test.one i=1 n=item.b v=-1 u=kb + test1: item p= g=test.one i=1 n=item.b v=-1 u=kb +report (srep2 disabled): + test2: close + test1: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 + test1: counter p= g=ctr-test:one_dot i=3 n=ctr:b v=0 d=0 + test1: counter p= g=ctr-test:one i=2 n=ctr:a v=0 d=0 + test1: counter p= g=ctr-test:one i=2 n=ctr:b v=0 d=0 + test1: counter p= g=ctr-test:one i=1 n=ctr:a v=0 d=0 + test1: counter p= g=ctr-test:one i=1 n=ctr:b v=0 d=0 + test1: item p= g=test.one i=2 n=item.a v=-1 u=ma + test1: item p= g=test.one i=2 n=item.b v=-1 u=kb + test1: item p= g=test.one i=1 n=item.a v=-1 u=ma + test1: item p= g=test.one i=1 n=item.b v=-1 u=kb +report (srep2 enabled, no flush forced): + test2: open + test2: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 + test2: counter p= g=ctr-test:one_dot i=3 n=ctr:b v=0 d=0 + test2: counter p= g=ctr-test:one i=2 n=ctr:a v=0 d=0 + test2: counter p= g=ctr-test:one i=2 n=ctr:b v=0 d=0 + test2: counter p= g=ctr-test:one i=1 n=ctr:a v=0 d=0 + test2: counter p= g=ctr-test:one i=1 n=ctr:b v=0 d=0 + test2: item p= g=test.one i=2 n=item.a v=-1 u=ma + test2: item p= g=test.one i=2 n=item.b v=-1 u=kb + test2: item p= g=test.one i=1 n=item.a v=-1 u=ma + test2: item p= g=test.one i=1 n=item.b v=-1 u=kb +report (should be empty): +report (group 1, counter 1 update): + test2: counter p= g=ctr-test:one i=1 n=ctr:a v=1 d=1 + test1: counter p= g=ctr-test:one i=1 n=ctr:a v=1 d=1 +report (group 1, item 1 update): + test2: item p= g=test.one i=1 n=item.a v=10 u=ma + test1: item p= g=test.one i=1 n=item.a v=10 u=ma +report (group 1, item 1 update twice): + test2: item p= g=test.one i=1 n=item.a v=10 u=ma + test1: item p= g=test.one i=1 n=item.a v=10 u=ma +report (group 1, item 1 update twice, check max): + test2: item p= g=test.one i=1 n=item.a v=20 u=ma + test1: item p= g=test.one i=1 n=item.a v=20 u=ma +report (remove statg1, ctrg1): + test2: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 + test1: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 + test2: counter p= g=ctr-test:one_dot i=3 n=ctr:b v=0 d=0 + test1: counter p= g=ctr-test:one_dot i=3 n=ctr:b v=0 d=0 + test2: counter p= g=ctr-test:one i=2 n=ctr:a v=0 d=0 + test1: counter p= g=ctr-test:one i=2 n=ctr:a v=0 d=0 + test2: counter p= g=ctr-test:one i=2 n=ctr:b v=0 d=0 + test1: counter p= g=ctr-test:one i=2 n=ctr:b v=0 d=0 + test2: item p= g=test.one i=2 n=item.a v=-1 u=ma + test1: item p= g=test.one i=2 n=item.a v=-1 u=ma + test2: item p= g=test.one i=2 n=item.b v=-1 u=kb + test1: item p= g=test.one i=2 n=item.b v=-1 u=kb +report (remove srep1): + test1: close + test2: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 + test2: counter p= g=ctr-test:one_dot i=3 n=ctr:b v=0 d=0 + test2: counter p= g=ctr-test:one i=2 n=ctr:a v=0 d=0 + test2: counter p= g=ctr-test:one i=2 n=ctr:b v=0 d=0 + test2: item p= g=test.one i=2 n=item.a v=-1 u=ma + test2: item p= g=test.one i=2 n=item.b v=-1 u=kb +report (remove statg2): + test2: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 + test2: counter p= g=ctr-test:one_dot i=3 n=ctr:b v=0 d=0 + test2: counter p= g=ctr-test:one i=2 n=ctr:a v=0 d=0 + test2: counter p= g=ctr-test:one i=2 n=ctr:b v=0 d=0 +report (remove srep2): + test2: close +report (remove ctrg2, should be empty): +End test: test_reporting diff --git a/tests/stats/stats_test.ok b/tests/stats/stats_test.ok index 26d9e38..e69de29 100644 --- a/tests/stats/stats_test.ok +++ b/tests/stats/stats_test.ok @@ -1,138 +0,0 @@ -Start test: test_reporting - test1: open - test2: open -report (initial): - test2: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 - test1: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 - test2: counter p= g=ctr-test:one_dot i=3 n=ctr:b v=0 d=0 - test1: counter p= g=ctr-test:one_dot i=3 n=ctr:b v=0 d=0 - test2: counter p= g=ctr-test:one i=2 n=ctr:a v=0 d=0 - test1: counter p= g=ctr-test:one i=2 n=ctr:a v=0 d=0 - test2: counter p= g=ctr-test:one i=2 n=ctr:b v=0 d=0 - test1: counter p= g=ctr-test:one i=2 n=ctr:b v=0 d=0 - test2: counter p= g=ctr-test:one i=1 n=ctr:a v=0 d=0 - test1: counter p= g=ctr-test:one i=1 n=ctr:a v=0 d=0 - test2: counter p= g=ctr-test:one i=1 n=ctr:b v=0 d=0 - test1: counter p= g=ctr-test:one i=1 n=ctr:b v=0 d=0 - test2: item p= g=test.one i=2 n=item.a v=-1 u=ma - test1: item p= g=test.one i=2 n=item.a v=-1 u=ma - test2: item p= g=test.one i=2 n=item.b v=-1 u=kb - test1: item p= g=test.one i=2 n=item.b v=-1 u=kb - test2: item p= g=test.one i=1 n=item.a v=-1 u=ma - test1: item p= g=test.one i=1 n=item.a v=-1 u=ma - test2: item p= g=test.one i=1 n=item.b v=-1 u=kb - test1: item p= g=test.one i=1 n=item.b v=-1 u=kb -report (srep1 global): - test2: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 - test2: counter p= g=ctr-test:one_dot i=3 n=ctr:b v=0 d=0 - test2: counter p= g=ctr-test:one i=2 n=ctr:a v=0 d=0 - test2: counter p= g=ctr-test:one i=2 n=ctr:b v=0 d=0 - test2: counter p= g=ctr-test:one i=1 n=ctr:a v=0 d=0 - test2: counter p= g=ctr-test:one i=1 n=ctr:b v=0 d=0 - test2: item p= g=test.one i=2 n=item.a v=-1 u=ma - test2: item p= g=test.one i=2 n=item.b v=-1 u=kb - test2: item p= g=test.one i=1 n=item.a v=-1 u=ma - test2: item p= g=test.one i=1 n=item.b v=-1 u=kb -report (srep1 peer): - test2: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 - test2: counter p= g=ctr-test:one_dot i=3 n=ctr:b v=0 d=0 - test2: counter p= g=ctr-test:one i=2 n=ctr:a v=0 d=0 - test2: counter p= g=ctr-test:one i=2 n=ctr:b v=0 d=0 - test2: counter p= g=ctr-test:one i=1 n=ctr:a v=0 d=0 - test2: counter p= g=ctr-test:one i=1 n=ctr:b v=0 d=0 - test2: item p= g=test.one i=2 n=item.a v=-1 u=ma - test1: item p= g=test.one i=2 n=item.a v=-1 u=ma - test2: item p= g=test.one i=2 n=item.b v=-1 u=kb - test1: item p= g=test.one i=2 n=item.b v=-1 u=kb - test2: item p= g=test.one i=1 n=item.a v=-1 u=ma - test1: item p= g=test.one i=1 n=item.a v=-1 u=ma - test2: item p= g=test.one i=1 n=item.b v=-1 u=kb - test1: item p= g=test.one i=1 n=item.b v=-1 u=kb -report (srep1 subscriber): - test2: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 - test1: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 - test2: counter p= g=ctr-test:one_dot i=3 n=ctr:b v=0 d=0 - test1: counter p= g=ctr-test:one_dot i=3 n=ctr:b v=0 d=0 - test2: counter p= g=ctr-test:one i=2 n=ctr:a v=0 d=0 - test1: counter p= g=ctr-test:one i=2 n=ctr:a v=0 d=0 - test2: counter p= g=ctr-test:one i=2 n=ctr:b v=0 d=0 - test1: counter p= g=ctr-test:one i=2 n=ctr:b v=0 d=0 - test2: counter p= g=ctr-test:one i=1 n=ctr:a v=0 d=0 - test1: counter p= g=ctr-test:one i=1 n=ctr:a v=0 d=0 - test2: counter p= g=ctr-test:one i=1 n=ctr:b v=0 d=0 - test1: counter p= g=ctr-test:one i=1 n=ctr:b v=0 d=0 - test2: item p= g=test.one i=2 n=item.a v=-1 u=ma - test1: item p= g=test.one i=2 n=item.a v=-1 u=ma - test2: item p= g=test.one i=2 n=item.b v=-1 u=kb - test1: item p= g=test.one i=2 n=item.b v=-1 u=kb - test2: item p= g=test.one i=1 n=item.a v=-1 u=ma - test1: item p= g=test.one i=1 n=item.a v=-1 u=ma - test2: item p= g=test.one i=1 n=item.b v=-1 u=kb - test1: item p= g=test.one i=1 n=item.b v=-1 u=kb -report (srep2 disabled): - test2: close - test1: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 - test1: counter p= g=ctr-test:one_dot i=3 n=ctr:b v=0 d=0 - test1: counter p= g=ctr-test:one i=2 n=ctr:a v=0 d=0 - test1: counter p= g=ctr-test:one i=2 n=ctr:b v=0 d=0 - test1: counter p= g=ctr-test:one i=1 n=ctr:a v=0 d=0 - test1: counter p= g=ctr-test:one i=1 n=ctr:b v=0 d=0 - test1: item p= g=test.one i=2 n=item.a v=-1 u=ma - test1: item p= g=test.one i=2 n=item.b v=-1 u=kb - test1: item p= g=test.one i=1 n=item.a v=-1 u=ma - test1: item p= g=test.one i=1 n=item.b v=-1 u=kb -report (srep2 enabled, no flush forced): - test2: open - test2: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 - test2: counter p= g=ctr-test:one_dot i=3 n=ctr:b v=0 d=0 - test2: counter p= g=ctr-test:one i=2 n=ctr:a v=0 d=0 - test2: counter p= g=ctr-test:one i=2 n=ctr:b v=0 d=0 - test2: counter p= g=ctr-test:one i=1 n=ctr:a v=0 d=0 - test2: counter p= g=ctr-test:one i=1 n=ctr:b v=0 d=0 - test2: item p= g=test.one i=2 n=item.a v=-1 u=ma - test2: item p= g=test.one i=2 n=item.b v=-1 u=kb - test2: item p= g=test.one i=1 n=item.a v=-1 u=ma - test2: item p= g=test.one i=1 n=item.b v=-1 u=kb -report (should be empty): -report (group 1, counter 1 update): - test2: counter p= g=ctr-test:one i=1 n=ctr:a v=1 d=1 - test1: counter p= g=ctr-test:one i=1 n=ctr:a v=1 d=1 -report (group 1, item 1 update): - test2: item p= g=test.one i=1 n=item.a v=10 u=ma - test1: item p= g=test.one i=1 n=item.a v=10 u=ma -report (group 1, item 1 update twice): - test2: item p= g=test.one i=1 n=item.a v=10 u=ma - test1: item p= g=test.one i=1 n=item.a v=10 u=ma -report (group 1, item 1 update twice, check max): - test2: item p= g=test.one i=1 n=item.a v=20 u=ma - test1: item p= g=test.one i=1 n=item.a v=20 u=ma -report (remove statg1, ctrg1): - test2: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 - test1: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 - test2: counter p= g=ctr-test:one_dot i=3 n=ctr:b v=0 d=0 - test1: counter p= g=ctr-test:one_dot i=3 n=ctr:b v=0 d=0 - test2: counter p= g=ctr-test:one i=2 n=ctr:a v=0 d=0 - test1: counter p= g=ctr-test:one i=2 n=ctr:a v=0 d=0 - test2: counter p= g=ctr-test:one i=2 n=ctr:b v=0 d=0 - test1: counter p= g=ctr-test:one i=2 n=ctr:b v=0 d=0 - test2: item p= g=test.one i=2 n=item.a v=-1 u=ma - test1: item p= g=test.one i=2 n=item.a v=-1 u=ma - test2: item p= g=test.one i=2 n=item.b v=-1 u=kb - test1: item p= g=test.one i=2 n=item.b v=-1 u=kb -report (remove srep1): - test1: close - test2: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 - test2: counter p= g=ctr-test:one_dot i=3 n=ctr:b v=0 d=0 - test2: counter p= g=ctr-test:one i=2 n=ctr:a v=0 d=0 - test2: counter p= g=ctr-test:one i=2 n=ctr:b v=0 d=0 - test2: item p= g=test.one i=2 n=item.a v=-1 u=ma - test2: item p= g=test.one i=2 n=item.b v=-1 u=kb -report (remove statg2): - test2: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 - test2: counter p= g=ctr-test:one_dot i=3 n=ctr:b v=0 d=0 - test2: counter p= g=ctr-test:one i=2 n=ctr:a v=0 d=0 - test2: counter p= g=ctr-test:one i=2 n=ctr:b v=0 d=0 -report (remove srep2): - test2: close -report (remove ctrg2, should be empty): -End test: test_reporting diff --git a/tests/testsuite.at b/tests/testsuite.at index d2a10dd..cb84229 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -249,7 +249,8 @@ AT_SETUP([stats]) AT_KEYWORDS([stats]) cat $abs_srcdir/stats/stats_test.ok > expout -AT_CHECK([$abs_top_builddir/tests/stats/stats_test], [0], [expout], [ignore]) +cat $abs_srcdir/stats/stats_test.err > experr +AT_CHECK([$abs_top_builddir/tests/stats/stats_test], [0], [expout], [experr]) AT_CLEANUP AT_SETUP([write_queue]) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23389 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie0eaec2f93ac6859397a6bfca45039fdcc27cb9e Gerrit-Change-Number: 23389 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 Mar 17 15:32:27 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 17 Mar 2021 15:32:27 +0000 Subject: Change in libosmocore[master]: stats: log error when missing stats values References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/23390 ) Change subject: stats: log error when missing stats values ...................................................................... stats: log error when missing stats values Let the user know when the stats were not consumed fast enough for the given FIFO length. Related: SYS#4877 Change-Id: If0e8ab55103007693101538fb6ea310075217774 --- M src/stat_item.c M tests/stats/stats_test.c M tests/stats/stats_test.err 3 files changed, 156 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/90/23390/1 diff --git a/src/stat_item.c b/src/stat_item.c index ba36464..78e57a6 100644 --- a/src/stat_item.c +++ b/src/stat_item.c @@ -60,6 +60,7 @@ #include #include #include +#include /*! global list of stat_item groups */ static LLIST_HEAD(osmo_stat_item_groups); @@ -242,6 +243,10 @@ idx_delta = item_value->id + 1 - *next_idx; + if (idx_delta > 1) { + LOGP(DLSTATS, LOGL_ERROR, "%s: %i stats values skipped\n", item->desc->name, idx_delta - 1); + } + *next_idx = item_value->id + 1; return idx_delta; diff --git a/tests/stats/stats_test.c b/tests/stats/stats_test.c index 707f606..b81ad6b 100644 --- a/tests/stats/stats_test.c +++ b/tests/stats/stats_test.c @@ -120,6 +120,7 @@ value = osmo_stat_item_get_last(statg->items[TEST_A_ITEM]); OSMO_ASSERT(value == -1); + fprintf(stderr, "osmo_stat_item_get_next rc == 0\n"); rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &rd_a, &value); OSMO_ASSERT(rc == 0); @@ -128,13 +129,16 @@ value = osmo_stat_item_get_last(statg->items[TEST_A_ITEM]); OSMO_ASSERT(value == 1); + fprintf(stderr, "osmo_stat_item_get_next rc > 0\n"); rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &rd_a, &value); OSMO_ASSERT(rc > 0); OSMO_ASSERT(value == 1); + fprintf(stderr, "osmo_stat_item_get_next rc == 0\n"); rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &rd_a, &value); OSMO_ASSERT(rc == 0); + fprintf(stderr, "osmo_stat_item_get_next rc > 0\n"); for (i = 2; i <= 32; i++) { osmo_stat_item_set(statg->items[TEST_A_ITEM], i); osmo_stat_item_set(statg->items[TEST_B_ITEM], 1000 + i); @@ -220,17 +224,20 @@ rc = osmo_stat_item_discard(statg->items[TEST_A_ITEM], &rd_a); OSMO_ASSERT(rc > 0); + fprintf(stderr, "osmo_stat_item_get_next rc == 0\n"); rc = osmo_stat_item_discard(statg->items[TEST_A_ITEM], &rd_a); OSMO_ASSERT(rc == 0); rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &rd_a, &value); OSMO_ASSERT(rc == 0); + fprintf(stderr, "osmo_stat_item_get_next rc > 0\n"); osmo_stat_item_set(statg->items[TEST_A_ITEM], 98); rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &rd_a, &value); OSMO_ASSERT(rc > 0); OSMO_ASSERT(value == 98); + fprintf(stderr, "osmo_stat_item_get_next rc == 0\n"); rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &rd_a, &value); OSMO_ASSERT(rc == 0); diff --git a/tests/stats/stats_test.err b/tests/stats/stats_test.err index 3accf54..d059ffd 100644 --- a/tests/stats/stats_test.err +++ b/tests/stats/stats_test.err @@ -1,3 +1,147 @@ +osmo_stat_item_get_next rc == 0 +osmo_stat_item_get_next rc > 0 +DLSTATS ERROR item.a: 1 stats values skipped +osmo_stat_item_get_next rc == 0 +osmo_stat_item_get_next rc > 0 +DLSTATS ERROR item.b: 3 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 4 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 57 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 51 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +osmo_stat_item_get_next rc == 0 +osmo_stat_item_get_next rc > 0 +osmo_stat_item_get_next rc == 0 Start test: test_reporting DLGLOBAL ERROR counter group 'ctr-test:one' already exists for index 2, instead using index 3. This is a software bug that needs fixing. DLGLOBAL ERROR 'ctr-test.one_dot' is not a valid counter group identifier -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23390 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If0e8ab55103007693101538fb6ea310075217774 Gerrit-Change-Number: 23390 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 Mar 17 15:32:52 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 17 Mar 2021 15:32:52 +0000 Subject: Change in osmo-bsc[master]: stats: T3122 related: num_values 16 -> 60 References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23391 ) Change subject: stats: T3122 related: num_values 16 -> 60 ...................................................................... stats: T3122 related: num_values 16 -> 60 Increase the number of values saved in the FIFO from 16 to 60, so there is more time to read them out. Related: SYS#4877 Change-Id: Ic5fd7c0fa030004fd88fee74f0028fb93c9f2d10 --- M src/osmo-bsc/bts.c 1 file changed, 20 insertions(+), 20 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/91/23391/1 diff --git a/src/osmo-bsc/bts.c b/src/osmo-bsc/bts.c index 1d0979d..950af5f 100644 --- a/src/osmo-bsc/bts.c +++ b/src/osmo-bsc/bts.c @@ -1132,83 +1132,83 @@ [BTS_STAT_CHAN_LOAD_AVERAGE] = \ { "chanloadavg", "Channel load average", - "%", 16, 0 }, + "%", 60, 0 }, [BTS_STAT_CHAN_CCCH_SDCCH4_USED] = \ { "chan_ccch_sdcch4:used", "Number of CCCH+SDCCH4 channels used", - "", 16, 0 }, + "", 60, 0 }, [BTS_STAT_CHAN_CCCH_SDCCH4_TOTAL] = \ { "chan_ccch_sdcch4:total", "Number of CCCH+SDCCH4 channels total", - "", 16, 0 }, + "", 60, 0 }, [BTS_STAT_CHAN_TCH_F_USED] = \ { "chan_tch_f:used", "Number of TCH/F channels used", - "", 16, 0 }, + "", 60, 0 }, [BTS_STAT_CHAN_TCH_F_TOTAL] = \ { "chan_tch_f:total", "Number of TCH/F channels total", - "", 16, 0 }, + "", 60, 0 }, [BTS_STAT_CHAN_TCH_H_USED] = \ { "chan_tch_h:used", "Number of TCH/H channels used", - "", 16, 0 }, + "", 60, 0 }, [BTS_STAT_CHAN_TCH_H_TOTAL] = \ { "chan_tch_h:total", "Number of TCH/H channels total", - "", 16, 0 }, + "", 60, 0 }, [BTS_STAT_CHAN_SDCCH8_USED] = \ { "chan_sdcch8:used", "Number of SDCCH8 channels used", - "", 16, 0 }, + "", 60, 0 }, [BTS_STAT_CHAN_SDCCH8_TOTAL] = \ { "chan_sdcch8:total", "Number of SDCCH8 channels total", - "", 16, 0 }, + "", 60, 0 }, [BTS_STAT_CHAN_TCH_F_PDCH_USED] = \ { "chan_tch_f_pdch:used", "Number of TCH/F_PDCH channels used", - "", 16, 0 }, + "", 60, 0 }, [BTS_STAT_CHAN_TCH_F_PDCH_TOTAL] = \ { "chan_tch_f_pdch:total", "Number of TCH/F_PDCH channels total", - "", 16, 0 }, + "", 60, 0 }, [BTS_STAT_CHAN_CCCH_SDCCH4_CBCH_USED] = \ { "chan_ccch_sdcch4_cbch:used", "Number of CCCH+SDCCH4+CBCH channels used", - "", 16, 0 }, + "", 60, 0 }, [BTS_STAT_CHAN_CCCH_SDCCH4_CBCH_TOTAL] = \ { "chan_ccch_sdcch4_cbch:total", "Number of CCCH+SDCCH4+CBCH channels total", - "", 16, 0 }, + "", 60, 0 }, [BTS_STAT_CHAN_SDCCH8_CBCH_USED] = \ { "chan_sdcch8_cbch:used", "Number of SDCCH8+CBCH channels used", - "", 16, 0 }, + "", 60, 0 }, [BTS_STAT_CHAN_SDCCH8_CBCH_TOTAL] = \ { "chan_sdcch8_cbch:total", "Number of SDCCH8+CBCH channels total", - "", 16, 0 }, + "", 60, 0 }, [BTS_STAT_CHAN_TCH_F_TCH_H_PDCH_USED] = \ { "chan_tch_f_tch_h_pdch:used", "Number of TCH/F_TCH/H_PDCH channels used", - "", 16, 0 }, + "", 60, 0 }, [BTS_STAT_CHAN_TCH_F_TCH_H_PDCH_TOTAL] = \ { "chan_tch_f_tch_h_pdch:total", "Number of TCH/F_TCH/H_PDCH channels total", - "", 16, 0 }, + "", 60, 0 }, [BTS_STAT_T3122] = \ { "T3122", "T3122 IMMEDIATE ASSIGNMENT REJECT wait indicator", - "s", 16, GSM_T3122_DEFAULT }, + "s", 60, GSM_T3122_DEFAULT }, [BTS_STAT_RACH_BUSY] = \ { "rach_busy", "RACH slots with signal above threshold", - "%", 16, 0 }, + "%", 60, 0 }, [BTS_STAT_RACH_ACCESS] = \ { "rach_access", "RACH slots with access bursts in them", - "%", 16, 0 }, + "%", 60, 0 }, [BTS_STAT_OML_CONNECTED] = \ { "oml_connected", "Number of OML links connected", -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23391 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic5fd7c0fa030004fd88fee74f0028fb93c9f2d10 Gerrit-Change-Number: 23391 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 Mar 17 15:40:09 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 17 Mar 2021 15:40:09 +0000 Subject: Change in libosmocore[master]: tests/stats: enable logging in test output 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/+/23389 to look at the new patch set (#2). Change subject: tests/stats: enable logging in test output ...................................................................... tests/stats: enable logging in test output Move test output from stdout to stderr and enable logging to stderr. This is in preparation for the next patch, which will add a new log message when osmo_stat_item_get_next() skips a value. Related: SYS#4877 Change-Id: Ie0eaec2f93ac6859397a6bfca45039fdcc27cb9e --- M tests/Makefile.am M tests/stats/stats_test.c A tests/stats/stats_test.err M tests/stats/stats_test.ok M tests/testsuite.at 5 files changed, 179 insertions(+), 164 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/89/23389/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23389 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie0eaec2f93ac6859397a6bfca45039fdcc27cb9e Gerrit-Change-Number: 23389 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 17 16:30:25 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 17 Mar 2021 16:30:25 +0000 Subject: Change in libosmocore[master]: stats: log error when missing stats values In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23390 ) Change subject: stats: log error when missing stats values ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/23390/2/src/stat_item.c File src/stat_item.c: https://gerrit.osmocom.org/c/libosmocore/+/23390/2/src/stat_item.c at 247 PS2, Line 247: LOGP(DLSTATS, LOGL_ERROR, "%s: %i stats values skipped\n", item->desc->name, idx_delta - 1); %d -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23390 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If0e8ab55103007693101538fb6ea310075217774 Gerrit-Change-Number: 23390 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 17 Mar 2021 16:30: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 Wed Mar 17 16:30:51 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 17 Mar 2021 16:30:51 +0000 Subject: Change in osmo-bsc[master]: stats: T3122 related: num_values 16 -> 60 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23391 ) Change subject: stats: T3122 related: num_values 16 -> 60 ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23391 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic5fd7c0fa030004fd88fee74f0028fb93c9f2d10 Gerrit-Change-Number: 23391 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 17 Mar 2021 16:30: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 Mar 17 16:31:48 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 17 Mar 2021 16:31:48 +0000 Subject: Change in libosmocore[master]: tests/stats: enable logging in test output In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23389 ) Change subject: tests/stats: enable logging in test output ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23389 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie0eaec2f93ac6859397a6bfca45039fdcc27cb9e Gerrit-Change-Number: 23389 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 17 Mar 2021 16:31: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 Mar 17 16:53:03 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 17 Mar 2021 16:53:03 +0000 Subject: Change in libosmocore[master]: stats: log error when missing stats values 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/+/23390 to look at the new patch set (#3). Change subject: stats: log error when missing stats values ...................................................................... stats: log error when missing stats values Let the user know when the stats were not consumed fast enough for the given FIFO length. Related: SYS#4877 Change-Id: If0e8ab55103007693101538fb6ea310075217774 --- M src/stat_item.c M tests/stats/stats_test.c M tests/stats/stats_test.err 3 files changed, 156 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/90/23390/3 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23390 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If0e8ab55103007693101538fb6ea310075217774 Gerrit-Change-Number: 23390 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 17 17:46:12 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 17 Mar 2021 17:46:12 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Makefile: SUBDIRS: add ns References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23392 ) Change subject: Makefile: SUBDIRS: add ns ...................................................................... Makefile: SUBDIRS: add ns Make the list git-friendly while at it. Related: SYS#5396 Change-Id: I36adc972ea724308bbe5423f1bacf280cef901b0 --- M Makefile 1 file changed, 27 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/92/23392/1 diff --git a/Makefile b/Makefile index 319cb87..81540ba 100644 --- a/Makefile +++ b/Makefile @@ -13,8 +13,33 @@ # See the License for the specific language governing permissions and # limitations under the License. -SUBDIRS=bsc bsc-nat bts cbc ccid fr fr-net gbproxy ggsn_tests hlr mgw mme msc pcu pgw remsim \ - sccp selftest sgsn simtrace sip stp sysinfo smlc +SUBDIRS= \ + bsc \ + bsc-nat \ + bts \ + cbc \ + ccid \ + fr \ + fr-net \ + gbproxy \ + ggsn_tests \ + hlr \ + mgw \ + mme \ + msc \ + ns \ + pcu \ + pgw \ + remsim \ + sccp \ + selftest \ + sgsn \ + simtrace \ + sip \ + smlc \ + stp \ + sysinfo \ + $(NULL) NPROC=$(shell nproc 2>/dev/null) ifeq ($(NPROC),) -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23392 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I36adc972ea724308bbe5423f1bacf280cef901b0 Gerrit-Change-Number: 23392 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 Mar 17 17:48:50 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 17 Mar 2021 17:48:50 +0000 Subject: Change in osmo-bsc[master]: stats: T3122 related: num_values 16 -> 60 In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23391 ) Change subject: stats: T3122 related: num_values 16 -> 60 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23391 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic5fd7c0fa030004fd88fee74f0028fb93c9f2d10 Gerrit-Change-Number: 23391 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 17 Mar 2021 17:48: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 Mar 17 17:50:53 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 17 Mar 2021 17:50:53 +0000 Subject: Change in libosmocore[master]: tests/stats: enable logging in test output In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23389 ) Change subject: tests/stats: enable logging in test output ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23389 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie0eaec2f93ac6859397a6bfca45039fdcc27cb9e Gerrit-Change-Number: 23389 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 17 Mar 2021 17:50:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 17 17:53:55 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 17 Mar 2021 17:53:55 +0000 Subject: Change in libosmocore[master]: stats: log error when missing stats values In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23390 ) Change subject: stats: log error when missing stats values ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23390 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If0e8ab55103007693101538fb6ea310075217774 Gerrit-Change-Number: 23390 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 17 Mar 2021 17:53:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 17 17:56:24 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 17 Mar 2021 17:56:24 +0000 Subject: Change in osmo-bsc[master]: stats: T3122 related: num_values 16 -> 60 In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23391 ) Change subject: stats: T3122 related: num_values 16 -> 60 ...................................................................... stats: T3122 related: num_values 16 -> 60 Increase the number of values saved in the FIFO from 16 to 60, so there is more time to read them out. Related: SYS#4877 Change-Id: Ic5fd7c0fa030004fd88fee74f0028fb93c9f2d10 --- M src/osmo-bsc/bts.c 1 file changed, 20 insertions(+), 20 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve daniel: Looks good to me, approved diff --git a/src/osmo-bsc/bts.c b/src/osmo-bsc/bts.c index 1d0979d..950af5f 100644 --- a/src/osmo-bsc/bts.c +++ b/src/osmo-bsc/bts.c @@ -1132,83 +1132,83 @@ [BTS_STAT_CHAN_LOAD_AVERAGE] = \ { "chanloadavg", "Channel load average", - "%", 16, 0 }, + "%", 60, 0 }, [BTS_STAT_CHAN_CCCH_SDCCH4_USED] = \ { "chan_ccch_sdcch4:used", "Number of CCCH+SDCCH4 channels used", - "", 16, 0 }, + "", 60, 0 }, [BTS_STAT_CHAN_CCCH_SDCCH4_TOTAL] = \ { "chan_ccch_sdcch4:total", "Number of CCCH+SDCCH4 channels total", - "", 16, 0 }, + "", 60, 0 }, [BTS_STAT_CHAN_TCH_F_USED] = \ { "chan_tch_f:used", "Number of TCH/F channels used", - "", 16, 0 }, + "", 60, 0 }, [BTS_STAT_CHAN_TCH_F_TOTAL] = \ { "chan_tch_f:total", "Number of TCH/F channels total", - "", 16, 0 }, + "", 60, 0 }, [BTS_STAT_CHAN_TCH_H_USED] = \ { "chan_tch_h:used", "Number of TCH/H channels used", - "", 16, 0 }, + "", 60, 0 }, [BTS_STAT_CHAN_TCH_H_TOTAL] = \ { "chan_tch_h:total", "Number of TCH/H channels total", - "", 16, 0 }, + "", 60, 0 }, [BTS_STAT_CHAN_SDCCH8_USED] = \ { "chan_sdcch8:used", "Number of SDCCH8 channels used", - "", 16, 0 }, + "", 60, 0 }, [BTS_STAT_CHAN_SDCCH8_TOTAL] = \ { "chan_sdcch8:total", "Number of SDCCH8 channels total", - "", 16, 0 }, + "", 60, 0 }, [BTS_STAT_CHAN_TCH_F_PDCH_USED] = \ { "chan_tch_f_pdch:used", "Number of TCH/F_PDCH channels used", - "", 16, 0 }, + "", 60, 0 }, [BTS_STAT_CHAN_TCH_F_PDCH_TOTAL] = \ { "chan_tch_f_pdch:total", "Number of TCH/F_PDCH channels total", - "", 16, 0 }, + "", 60, 0 }, [BTS_STAT_CHAN_CCCH_SDCCH4_CBCH_USED] = \ { "chan_ccch_sdcch4_cbch:used", "Number of CCCH+SDCCH4+CBCH channels used", - "", 16, 0 }, + "", 60, 0 }, [BTS_STAT_CHAN_CCCH_SDCCH4_CBCH_TOTAL] = \ { "chan_ccch_sdcch4_cbch:total", "Number of CCCH+SDCCH4+CBCH channels total", - "", 16, 0 }, + "", 60, 0 }, [BTS_STAT_CHAN_SDCCH8_CBCH_USED] = \ { "chan_sdcch8_cbch:used", "Number of SDCCH8+CBCH channels used", - "", 16, 0 }, + "", 60, 0 }, [BTS_STAT_CHAN_SDCCH8_CBCH_TOTAL] = \ { "chan_sdcch8_cbch:total", "Number of SDCCH8+CBCH channels total", - "", 16, 0 }, + "", 60, 0 }, [BTS_STAT_CHAN_TCH_F_TCH_H_PDCH_USED] = \ { "chan_tch_f_tch_h_pdch:used", "Number of TCH/F_TCH/H_PDCH channels used", - "", 16, 0 }, + "", 60, 0 }, [BTS_STAT_CHAN_TCH_F_TCH_H_PDCH_TOTAL] = \ { "chan_tch_f_tch_h_pdch:total", "Number of TCH/F_TCH/H_PDCH channels total", - "", 16, 0 }, + "", 60, 0 }, [BTS_STAT_T3122] = \ { "T3122", "T3122 IMMEDIATE ASSIGNMENT REJECT wait indicator", - "s", 16, GSM_T3122_DEFAULT }, + "s", 60, GSM_T3122_DEFAULT }, [BTS_STAT_RACH_BUSY] = \ { "rach_busy", "RACH slots with signal above threshold", - "%", 16, 0 }, + "%", 60, 0 }, [BTS_STAT_RACH_ACCESS] = \ { "rach_access", "RACH slots with access bursts in them", - "%", 16, 0 }, + "%", 60, 0 }, [BTS_STAT_OML_CONNECTED] = \ { "oml_connected", "Number of OML links connected", -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23391 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: Ic5fd7c0fa030004fd88fee74f0028fb93c9f2d10 Gerrit-Change-Number: 23391 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 17 17:58:56 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 17 Mar 2021 17:58:56 +0000 Subject: Change in libosmocore[master]: stats: log error when missing stats values In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23390 ) Change subject: stats: log error when missing stats values ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23390 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If0e8ab55103007693101538fb6ea310075217774 Gerrit-Change-Number: 23390 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 17 Mar 2021 17:58: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 Mar 17 18:00:43 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 17 Mar 2021 18:00:43 +0000 Subject: Change in libosmocore[master]: tests/stats: enable logging in test output In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23389 ) Change subject: tests/stats: enable logging in test output ...................................................................... tests/stats: enable logging in test output Move test output from stdout to stderr and enable logging to stderr. This is in preparation for the next patch, which will add a new log message when osmo_stat_item_get_next() skips a value. Related: SYS#4877 Change-Id: Ie0eaec2f93ac6859397a6bfca45039fdcc27cb9e --- M tests/Makefile.am M tests/stats/stats_test.c A tests/stats/stats_test.err M tests/stats/stats_test.ok M tests/testsuite.at 5 files changed, 179 insertions(+), 164 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve daniel: Looks good to me, approved diff --git a/tests/Makefile.am b/tests/Makefile.am index 158bc69..0f587ce 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -368,7 +368,8 @@ vty/ok_tabs.cfg \ vty/ok_deprecated_logging.cfg \ comp128/comp128_test.ok bits/bitfield_test.ok \ - utils/utils_test.ok utils/utils_test.err stats/stats_test.ok \ + utils/utils_test.ok utils/utils_test.err \ + stats/stats_test.ok stats/stats_test.err \ bitvec/bitvec_test.ok msgb/msgb_test.ok bits/bitcomp_test.ok \ sim/sim_test.ok tlv/tlv_test.ok abis/abis_test.ok \ gsup/gsup_test.ok gsup/gsup_test.err \ diff --git a/tests/stats/stats_test.c b/tests/stats/stats_test.c index 05caf98..707f606 100644 --- a/tests/stats/stats_test.c +++ b/tests/stats/stats_test.c @@ -22,6 +22,7 @@ * */ +#include #include #include #include @@ -271,7 +272,7 @@ { const char *group_name = ctrg ? ctrg->desc->group_name_prefix : ""; - printf(" %s: counter p=%s g=%s i=%u n=%s v=%lld d=%lld\n", + fprintf(stderr, " %s: counter p=%s g=%s i=%u n=%s v=%lld d=%lld\n", srep->name, srep->name_prefix ? srep->name_prefix : "", group_name, ctrg ? ctrg->idx : 0, @@ -285,7 +286,7 @@ const struct osmo_stat_item_group *statg, const struct osmo_stat_item_desc *desc, int64_t value) { - printf(" %s: item p=%s g=%s i=%u n=%s v=%"PRId64" u=%s\n", + fprintf(stderr, " %s: item p=%s g=%s i=%u n=%s v=%"PRId64" u=%s\n", srep->name, srep->name_prefix ? srep->name_prefix : "", statg->desc->group_name_prefix, statg->idx, @@ -297,13 +298,13 @@ static int stats_reporter_test_open(struct osmo_stats_reporter *srep) { - printf(" %s: open\n", srep->name); + fprintf(stderr, " %s: open\n", srep->name); return 0; } static int stats_reporter_test_close(struct osmo_stats_reporter *srep) { - printf(" %s: close\n", srep->name); + fprintf(stderr, " %s: close\n", srep->name); return 0; } @@ -332,7 +333,7 @@ int rc; - printf("Start test: %s\n", __func__); + fprintf(stderr, "Start test: %s\n", __func__); /* Allocate counters and items */ statg1 = osmo_stat_item_group_alloc(stats_ctx, &statg_desc, 1); @@ -374,12 +375,12 @@ rc = osmo_stats_reporter_set_max_class(srep2, OSMO_STATS_CLASS_SUBSCRIBER); OSMO_ASSERT(rc >= 0); - printf("report (initial):\n"); + fprintf(stderr, "report (initial):\n"); send_count = 0; osmo_stats_report(); OSMO_ASSERT(send_count == 20); - printf("report (srep1 global):\n"); + fprintf(stderr, "report (srep1 global):\n"); /* force single flush */ osmo_stats_reporter_set_max_class(srep1, OSMO_STATS_CLASS_GLOBAL); srep1->force_single_flush = 1; @@ -388,7 +389,7 @@ osmo_stats_report(); OSMO_ASSERT(send_count == 10); - printf("report (srep1 peer):\n"); + fprintf(stderr, "report (srep1 peer):\n"); /* force single flush */ osmo_stats_reporter_set_max_class(srep1, OSMO_STATS_CLASS_PEER); srep1->force_single_flush = 1; @@ -397,7 +398,7 @@ osmo_stats_report(); OSMO_ASSERT(send_count == 14); - printf("report (srep1 subscriber):\n"); + fprintf(stderr, "report (srep1 subscriber):\n"); /* force single flush */ osmo_stats_reporter_set_max_class(srep1, OSMO_STATS_CLASS_SUBSCRIBER); srep1->force_single_flush = 1; @@ -406,7 +407,7 @@ osmo_stats_report(); OSMO_ASSERT(send_count == 20); - printf("report (srep2 disabled):\n"); + fprintf(stderr, "report (srep2 disabled):\n"); /* force single flush */ srep1->force_single_flush = 1; srep2->force_single_flush = 1; @@ -416,45 +417,45 @@ osmo_stats_report(); OSMO_ASSERT(send_count == 10); - printf("report (srep2 enabled, no flush forced):\n"); + fprintf(stderr, "report (srep2 enabled, no flush forced):\n"); rc = osmo_stats_reporter_enable(srep2); OSMO_ASSERT(rc >= 0); send_count = 0; osmo_stats_report(); OSMO_ASSERT(send_count == 10); - printf("report (should be empty):\n"); + fprintf(stderr, "report (should be empty):\n"); send_count = 0; osmo_stats_report(); OSMO_ASSERT(send_count == 0); - printf("report (group 1, counter 1 update):\n"); + fprintf(stderr, "report (group 1, counter 1 update):\n"); rate_ctr_inc(&ctrg1->ctr[TEST_A_CTR]); send_count = 0; osmo_stats_report(); OSMO_ASSERT(send_count == 2); - printf("report (group 1, item 1 update):\n"); + fprintf(stderr, "report (group 1, item 1 update):\n"); osmo_stat_item_set(statg1->items[TEST_A_ITEM], 10); send_count = 0; osmo_stats_report(); OSMO_ASSERT(send_count == 2); - printf("report (group 1, item 1 update twice):\n"); + fprintf(stderr, "report (group 1, item 1 update twice):\n"); osmo_stat_item_set(statg1->items[TEST_A_ITEM], 10); osmo_stat_item_set(statg1->items[TEST_A_ITEM], 10); send_count = 0; osmo_stats_report(); OSMO_ASSERT(send_count == 2); - printf("report (group 1, item 1 update twice, check max):\n"); + fprintf(stderr, "report (group 1, item 1 update twice, check max):\n"); osmo_stat_item_set(statg1->items[TEST_A_ITEM], 20); osmo_stat_item_set(statg1->items[TEST_A_ITEM], 10); send_count = 0; osmo_stats_report(); OSMO_ASSERT(send_count == 2); - printf("report (remove statg1, ctrg1):\n"); + fprintf(stderr, "report (remove statg1, ctrg1):\n"); /* force single flush */ srep1->force_single_flush = 1; srep2->force_single_flush = 1; @@ -464,7 +465,7 @@ osmo_stats_report(); OSMO_ASSERT(send_count == 12); - printf("report (remove srep1):\n"); + fprintf(stderr, "report (remove srep1):\n"); /* force single flush */ srep1->force_single_flush = 1; srep2->force_single_flush = 1; @@ -473,7 +474,7 @@ osmo_stats_report(); OSMO_ASSERT(send_count == 6); - printf("report (remove statg2):\n"); + fprintf(stderr, "report (remove statg2):\n"); /* force single flush */ srep2->force_single_flush = 1; osmo_stat_item_group_free(statg2); @@ -481,7 +482,7 @@ osmo_stats_report(); OSMO_ASSERT(send_count == 4); - printf("report (remove srep2):\n"); + fprintf(stderr, "report (remove srep2):\n"); /* force single flush */ srep2->force_single_flush = 1; osmo_stats_reporter_free(srep2); @@ -489,7 +490,7 @@ osmo_stats_report(); OSMO_ASSERT(send_count == 0); - printf("report (remove ctrg2, should be empty):\n"); + fprintf(stderr, "report (remove ctrg2, should be empty):\n"); rate_ctr_group_free(ctrg2); send_count = 0; osmo_stats_report(); @@ -501,17 +502,24 @@ OSMO_ASSERT(talloc_total_blocks(stats_ctx) == 1); talloc_free(stats_ctx); - printf("End test: %s\n", __func__); + fprintf(stderr, "End test: %s\n", __func__); } int main(int argc, char **argv) { - static const struct log_info log_info = {}; - log_init(&log_info, NULL); + void *ctx = talloc_named_const(NULL, 0, "main"); + osmo_init_logging2(ctx, NULL); + + log_set_print_filename2(osmo_stderr_target, LOG_FILENAME_NONE); + log_set_print_level(osmo_stderr_target, 1); + log_set_print_category(osmo_stderr_target, 1); + log_set_print_category_hex(osmo_stderr_target, 0); + log_set_use_color(osmo_stderr_target, 0); osmo_stat_item_init(NULL); stat_test(); test_reporting(); + talloc_free(ctx); return 0; } diff --git a/tests/stats/stats_test.err b/tests/stats/stats_test.err new file mode 100644 index 0000000..3accf54 --- /dev/null +++ b/tests/stats/stats_test.err @@ -0,0 +1,143 @@ +Start test: test_reporting +DLGLOBAL ERROR counter group 'ctr-test:one' already exists for index 2, instead using index 3. This is a software bug that needs fixing. +DLGLOBAL ERROR 'ctr-test.one_dot' is not a valid counter group identifier +DLGLOBAL NOTICE counter group name mangled: 'ctr-test.one_dot' -> 'ctr-test:one_dot' +DLGLOBAL NOTICE counter group name mangled: 'ctr.a' -> 'ctr:a' +DLGLOBAL NOTICE counter group name mangled: 'ctr.b' -> 'ctr:b' + test1: open + test2: open +report (initial): + test2: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 + test1: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 + test2: counter p= g=ctr-test:one_dot i=3 n=ctr:b v=0 d=0 + test1: counter p= g=ctr-test:one_dot i=3 n=ctr:b v=0 d=0 + test2: counter p= g=ctr-test:one i=2 n=ctr:a v=0 d=0 + test1: counter p= g=ctr-test:one i=2 n=ctr:a v=0 d=0 + test2: counter p= g=ctr-test:one i=2 n=ctr:b v=0 d=0 + test1: counter p= g=ctr-test:one i=2 n=ctr:b v=0 d=0 + test2: counter p= g=ctr-test:one i=1 n=ctr:a v=0 d=0 + test1: counter p= g=ctr-test:one i=1 n=ctr:a v=0 d=0 + test2: counter p= g=ctr-test:one i=1 n=ctr:b v=0 d=0 + test1: counter p= g=ctr-test:one i=1 n=ctr:b v=0 d=0 + test2: item p= g=test.one i=2 n=item.a v=-1 u=ma + test1: item p= g=test.one i=2 n=item.a v=-1 u=ma + test2: item p= g=test.one i=2 n=item.b v=-1 u=kb + test1: item p= g=test.one i=2 n=item.b v=-1 u=kb + test2: item p= g=test.one i=1 n=item.a v=-1 u=ma + test1: item p= g=test.one i=1 n=item.a v=-1 u=ma + test2: item p= g=test.one i=1 n=item.b v=-1 u=kb + test1: item p= g=test.one i=1 n=item.b v=-1 u=kb +report (srep1 global): + test2: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 + test2: counter p= g=ctr-test:one_dot i=3 n=ctr:b v=0 d=0 + test2: counter p= g=ctr-test:one i=2 n=ctr:a v=0 d=0 + test2: counter p= g=ctr-test:one i=2 n=ctr:b v=0 d=0 + test2: counter p= g=ctr-test:one i=1 n=ctr:a v=0 d=0 + test2: counter p= g=ctr-test:one i=1 n=ctr:b v=0 d=0 + test2: item p= g=test.one i=2 n=item.a v=-1 u=ma + test2: item p= g=test.one i=2 n=item.b v=-1 u=kb + test2: item p= g=test.one i=1 n=item.a v=-1 u=ma + test2: item p= g=test.one i=1 n=item.b v=-1 u=kb +report (srep1 peer): + test2: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 + test2: counter p= g=ctr-test:one_dot i=3 n=ctr:b v=0 d=0 + test2: counter p= g=ctr-test:one i=2 n=ctr:a v=0 d=0 + test2: counter p= g=ctr-test:one i=2 n=ctr:b v=0 d=0 + test2: counter p= g=ctr-test:one i=1 n=ctr:a v=0 d=0 + test2: counter p= g=ctr-test:one i=1 n=ctr:b v=0 d=0 + test2: item p= g=test.one i=2 n=item.a v=-1 u=ma + test1: item p= g=test.one i=2 n=item.a v=-1 u=ma + test2: item p= g=test.one i=2 n=item.b v=-1 u=kb + test1: item p= g=test.one i=2 n=item.b v=-1 u=kb + test2: item p= g=test.one i=1 n=item.a v=-1 u=ma + test1: item p= g=test.one i=1 n=item.a v=-1 u=ma + test2: item p= g=test.one i=1 n=item.b v=-1 u=kb + test1: item p= g=test.one i=1 n=item.b v=-1 u=kb +report (srep1 subscriber): + test2: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 + test1: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 + test2: counter p= g=ctr-test:one_dot i=3 n=ctr:b v=0 d=0 + test1: counter p= g=ctr-test:one_dot i=3 n=ctr:b v=0 d=0 + test2: counter p= g=ctr-test:one i=2 n=ctr:a v=0 d=0 + test1: counter p= g=ctr-test:one i=2 n=ctr:a v=0 d=0 + test2: counter p= g=ctr-test:one i=2 n=ctr:b v=0 d=0 + test1: counter p= g=ctr-test:one i=2 n=ctr:b v=0 d=0 + test2: counter p= g=ctr-test:one i=1 n=ctr:a v=0 d=0 + test1: counter p= g=ctr-test:one i=1 n=ctr:a v=0 d=0 + test2: counter p= g=ctr-test:one i=1 n=ctr:b v=0 d=0 + test1: counter p= g=ctr-test:one i=1 n=ctr:b v=0 d=0 + test2: item p= g=test.one i=2 n=item.a v=-1 u=ma + test1: item p= g=test.one i=2 n=item.a v=-1 u=ma + test2: item p= g=test.one i=2 n=item.b v=-1 u=kb + test1: item p= g=test.one i=2 n=item.b v=-1 u=kb + test2: item p= g=test.one i=1 n=item.a v=-1 u=ma + test1: item p= g=test.one i=1 n=item.a v=-1 u=ma + test2: item p= g=test.one i=1 n=item.b v=-1 u=kb + test1: item p= g=test.one i=1 n=item.b v=-1 u=kb +report (srep2 disabled): + test2: close + test1: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 + test1: counter p= g=ctr-test:one_dot i=3 n=ctr:b v=0 d=0 + test1: counter p= g=ctr-test:one i=2 n=ctr:a v=0 d=0 + test1: counter p= g=ctr-test:one i=2 n=ctr:b v=0 d=0 + test1: counter p= g=ctr-test:one i=1 n=ctr:a v=0 d=0 + test1: counter p= g=ctr-test:one i=1 n=ctr:b v=0 d=0 + test1: item p= g=test.one i=2 n=item.a v=-1 u=ma + test1: item p= g=test.one i=2 n=item.b v=-1 u=kb + test1: item p= g=test.one i=1 n=item.a v=-1 u=ma + test1: item p= g=test.one i=1 n=item.b v=-1 u=kb +report (srep2 enabled, no flush forced): + test2: open + test2: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 + test2: counter p= g=ctr-test:one_dot i=3 n=ctr:b v=0 d=0 + test2: counter p= g=ctr-test:one i=2 n=ctr:a v=0 d=0 + test2: counter p= g=ctr-test:one i=2 n=ctr:b v=0 d=0 + test2: counter p= g=ctr-test:one i=1 n=ctr:a v=0 d=0 + test2: counter p= g=ctr-test:one i=1 n=ctr:b v=0 d=0 + test2: item p= g=test.one i=2 n=item.a v=-1 u=ma + test2: item p= g=test.one i=2 n=item.b v=-1 u=kb + test2: item p= g=test.one i=1 n=item.a v=-1 u=ma + test2: item p= g=test.one i=1 n=item.b v=-1 u=kb +report (should be empty): +report (group 1, counter 1 update): + test2: counter p= g=ctr-test:one i=1 n=ctr:a v=1 d=1 + test1: counter p= g=ctr-test:one i=1 n=ctr:a v=1 d=1 +report (group 1, item 1 update): + test2: item p= g=test.one i=1 n=item.a v=10 u=ma + test1: item p= g=test.one i=1 n=item.a v=10 u=ma +report (group 1, item 1 update twice): + test2: item p= g=test.one i=1 n=item.a v=10 u=ma + test1: item p= g=test.one i=1 n=item.a v=10 u=ma +report (group 1, item 1 update twice, check max): + test2: item p= g=test.one i=1 n=item.a v=20 u=ma + test1: item p= g=test.one i=1 n=item.a v=20 u=ma +report (remove statg1, ctrg1): + test2: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 + test1: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 + test2: counter p= g=ctr-test:one_dot i=3 n=ctr:b v=0 d=0 + test1: counter p= g=ctr-test:one_dot i=3 n=ctr:b v=0 d=0 + test2: counter p= g=ctr-test:one i=2 n=ctr:a v=0 d=0 + test1: counter p= g=ctr-test:one i=2 n=ctr:a v=0 d=0 + test2: counter p= g=ctr-test:one i=2 n=ctr:b v=0 d=0 + test1: counter p= g=ctr-test:one i=2 n=ctr:b v=0 d=0 + test2: item p= g=test.one i=2 n=item.a v=-1 u=ma + test1: item p= g=test.one i=2 n=item.a v=-1 u=ma + test2: item p= g=test.one i=2 n=item.b v=-1 u=kb + test1: item p= g=test.one i=2 n=item.b v=-1 u=kb +report (remove srep1): + test1: close + test2: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 + test2: counter p= g=ctr-test:one_dot i=3 n=ctr:b v=0 d=0 + test2: counter p= g=ctr-test:one i=2 n=ctr:a v=0 d=0 + test2: counter p= g=ctr-test:one i=2 n=ctr:b v=0 d=0 + test2: item p= g=test.one i=2 n=item.a v=-1 u=ma + test2: item p= g=test.one i=2 n=item.b v=-1 u=kb +report (remove statg2): + test2: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 + test2: counter p= g=ctr-test:one_dot i=3 n=ctr:b v=0 d=0 + test2: counter p= g=ctr-test:one i=2 n=ctr:a v=0 d=0 + test2: counter p= g=ctr-test:one i=2 n=ctr:b v=0 d=0 +report (remove srep2): + test2: close +report (remove ctrg2, should be empty): +End test: test_reporting diff --git a/tests/stats/stats_test.ok b/tests/stats/stats_test.ok index 26d9e38..e69de29 100644 --- a/tests/stats/stats_test.ok +++ b/tests/stats/stats_test.ok @@ -1,138 +0,0 @@ -Start test: test_reporting - test1: open - test2: open -report (initial): - test2: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 - test1: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 - test2: counter p= g=ctr-test:one_dot i=3 n=ctr:b v=0 d=0 - test1: counter p= g=ctr-test:one_dot i=3 n=ctr:b v=0 d=0 - test2: counter p= g=ctr-test:one i=2 n=ctr:a v=0 d=0 - test1: counter p= g=ctr-test:one i=2 n=ctr:a v=0 d=0 - test2: counter p= g=ctr-test:one i=2 n=ctr:b v=0 d=0 - test1: counter p= g=ctr-test:one i=2 n=ctr:b v=0 d=0 - test2: counter p= g=ctr-test:one i=1 n=ctr:a v=0 d=0 - test1: counter p= g=ctr-test:one i=1 n=ctr:a v=0 d=0 - test2: counter p= g=ctr-test:one i=1 n=ctr:b v=0 d=0 - test1: counter p= g=ctr-test:one i=1 n=ctr:b v=0 d=0 - test2: item p= g=test.one i=2 n=item.a v=-1 u=ma - test1: item p= g=test.one i=2 n=item.a v=-1 u=ma - test2: item p= g=test.one i=2 n=item.b v=-1 u=kb - test1: item p= g=test.one i=2 n=item.b v=-1 u=kb - test2: item p= g=test.one i=1 n=item.a v=-1 u=ma - test1: item p= g=test.one i=1 n=item.a v=-1 u=ma - test2: item p= g=test.one i=1 n=item.b v=-1 u=kb - test1: item p= g=test.one i=1 n=item.b v=-1 u=kb -report (srep1 global): - test2: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 - test2: counter p= g=ctr-test:one_dot i=3 n=ctr:b v=0 d=0 - test2: counter p= g=ctr-test:one i=2 n=ctr:a v=0 d=0 - test2: counter p= g=ctr-test:one i=2 n=ctr:b v=0 d=0 - test2: counter p= g=ctr-test:one i=1 n=ctr:a v=0 d=0 - test2: counter p= g=ctr-test:one i=1 n=ctr:b v=0 d=0 - test2: item p= g=test.one i=2 n=item.a v=-1 u=ma - test2: item p= g=test.one i=2 n=item.b v=-1 u=kb - test2: item p= g=test.one i=1 n=item.a v=-1 u=ma - test2: item p= g=test.one i=1 n=item.b v=-1 u=kb -report (srep1 peer): - test2: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 - test2: counter p= g=ctr-test:one_dot i=3 n=ctr:b v=0 d=0 - test2: counter p= g=ctr-test:one i=2 n=ctr:a v=0 d=0 - test2: counter p= g=ctr-test:one i=2 n=ctr:b v=0 d=0 - test2: counter p= g=ctr-test:one i=1 n=ctr:a v=0 d=0 - test2: counter p= g=ctr-test:one i=1 n=ctr:b v=0 d=0 - test2: item p= g=test.one i=2 n=item.a v=-1 u=ma - test1: item p= g=test.one i=2 n=item.a v=-1 u=ma - test2: item p= g=test.one i=2 n=item.b v=-1 u=kb - test1: item p= g=test.one i=2 n=item.b v=-1 u=kb - test2: item p= g=test.one i=1 n=item.a v=-1 u=ma - test1: item p= g=test.one i=1 n=item.a v=-1 u=ma - test2: item p= g=test.one i=1 n=item.b v=-1 u=kb - test1: item p= g=test.one i=1 n=item.b v=-1 u=kb -report (srep1 subscriber): - test2: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 - test1: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 - test2: counter p= g=ctr-test:one_dot i=3 n=ctr:b v=0 d=0 - test1: counter p= g=ctr-test:one_dot i=3 n=ctr:b v=0 d=0 - test2: counter p= g=ctr-test:one i=2 n=ctr:a v=0 d=0 - test1: counter p= g=ctr-test:one i=2 n=ctr:a v=0 d=0 - test2: counter p= g=ctr-test:one i=2 n=ctr:b v=0 d=0 - test1: counter p= g=ctr-test:one i=2 n=ctr:b v=0 d=0 - test2: counter p= g=ctr-test:one i=1 n=ctr:a v=0 d=0 - test1: counter p= g=ctr-test:one i=1 n=ctr:a v=0 d=0 - test2: counter p= g=ctr-test:one i=1 n=ctr:b v=0 d=0 - test1: counter p= g=ctr-test:one i=1 n=ctr:b v=0 d=0 - test2: item p= g=test.one i=2 n=item.a v=-1 u=ma - test1: item p= g=test.one i=2 n=item.a v=-1 u=ma - test2: item p= g=test.one i=2 n=item.b v=-1 u=kb - test1: item p= g=test.one i=2 n=item.b v=-1 u=kb - test2: item p= g=test.one i=1 n=item.a v=-1 u=ma - test1: item p= g=test.one i=1 n=item.a v=-1 u=ma - test2: item p= g=test.one i=1 n=item.b v=-1 u=kb - test1: item p= g=test.one i=1 n=item.b v=-1 u=kb -report (srep2 disabled): - test2: close - test1: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 - test1: counter p= g=ctr-test:one_dot i=3 n=ctr:b v=0 d=0 - test1: counter p= g=ctr-test:one i=2 n=ctr:a v=0 d=0 - test1: counter p= g=ctr-test:one i=2 n=ctr:b v=0 d=0 - test1: counter p= g=ctr-test:one i=1 n=ctr:a v=0 d=0 - test1: counter p= g=ctr-test:one i=1 n=ctr:b v=0 d=0 - test1: item p= g=test.one i=2 n=item.a v=-1 u=ma - test1: item p= g=test.one i=2 n=item.b v=-1 u=kb - test1: item p= g=test.one i=1 n=item.a v=-1 u=ma - test1: item p= g=test.one i=1 n=item.b v=-1 u=kb -report (srep2 enabled, no flush forced): - test2: open - test2: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 - test2: counter p= g=ctr-test:one_dot i=3 n=ctr:b v=0 d=0 - test2: counter p= g=ctr-test:one i=2 n=ctr:a v=0 d=0 - test2: counter p= g=ctr-test:one i=2 n=ctr:b v=0 d=0 - test2: counter p= g=ctr-test:one i=1 n=ctr:a v=0 d=0 - test2: counter p= g=ctr-test:one i=1 n=ctr:b v=0 d=0 - test2: item p= g=test.one i=2 n=item.a v=-1 u=ma - test2: item p= g=test.one i=2 n=item.b v=-1 u=kb - test2: item p= g=test.one i=1 n=item.a v=-1 u=ma - test2: item p= g=test.one i=1 n=item.b v=-1 u=kb -report (should be empty): -report (group 1, counter 1 update): - test2: counter p= g=ctr-test:one i=1 n=ctr:a v=1 d=1 - test1: counter p= g=ctr-test:one i=1 n=ctr:a v=1 d=1 -report (group 1, item 1 update): - test2: item p= g=test.one i=1 n=item.a v=10 u=ma - test1: item p= g=test.one i=1 n=item.a v=10 u=ma -report (group 1, item 1 update twice): - test2: item p= g=test.one i=1 n=item.a v=10 u=ma - test1: item p= g=test.one i=1 n=item.a v=10 u=ma -report (group 1, item 1 update twice, check max): - test2: item p= g=test.one i=1 n=item.a v=20 u=ma - test1: item p= g=test.one i=1 n=item.a v=20 u=ma -report (remove statg1, ctrg1): - test2: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 - test1: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 - test2: counter p= g=ctr-test:one_dot i=3 n=ctr:b v=0 d=0 - test1: counter p= g=ctr-test:one_dot i=3 n=ctr:b v=0 d=0 - test2: counter p= g=ctr-test:one i=2 n=ctr:a v=0 d=0 - test1: counter p= g=ctr-test:one i=2 n=ctr:a v=0 d=0 - test2: counter p= g=ctr-test:one i=2 n=ctr:b v=0 d=0 - test1: counter p= g=ctr-test:one i=2 n=ctr:b v=0 d=0 - test2: item p= g=test.one i=2 n=item.a v=-1 u=ma - test1: item p= g=test.one i=2 n=item.a v=-1 u=ma - test2: item p= g=test.one i=2 n=item.b v=-1 u=kb - test1: item p= g=test.one i=2 n=item.b v=-1 u=kb -report (remove srep1): - test1: close - test2: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 - test2: counter p= g=ctr-test:one_dot i=3 n=ctr:b v=0 d=0 - test2: counter p= g=ctr-test:one i=2 n=ctr:a v=0 d=0 - test2: counter p= g=ctr-test:one i=2 n=ctr:b v=0 d=0 - test2: item p= g=test.one i=2 n=item.a v=-1 u=ma - test2: item p= g=test.one i=2 n=item.b v=-1 u=kb -report (remove statg2): - test2: counter p= g=ctr-test:one_dot i=3 n=ctr:a v=0 d=0 - test2: counter p= g=ctr-test:one_dot i=3 n=ctr:b v=0 d=0 - test2: counter p= g=ctr-test:one i=2 n=ctr:a v=0 d=0 - test2: counter p= g=ctr-test:one i=2 n=ctr:b v=0 d=0 -report (remove srep2): - test2: close -report (remove ctrg2, should be empty): -End test: test_reporting diff --git a/tests/testsuite.at b/tests/testsuite.at index d2a10dd..cb84229 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -249,7 +249,8 @@ AT_SETUP([stats]) AT_KEYWORDS([stats]) cat $abs_srcdir/stats/stats_test.ok > expout -AT_CHECK([$abs_top_builddir/tests/stats/stats_test], [0], [expout], [ignore]) +cat $abs_srcdir/stats/stats_test.err > experr +AT_CHECK([$abs_top_builddir/tests/stats/stats_test], [0], [expout], [experr]) AT_CLEANUP AT_SETUP([write_queue]) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23389 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie0eaec2f93ac6859397a6bfca45039fdcc27cb9e Gerrit-Change-Number: 23389 Gerrit-PatchSet: 2 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 17 18:00:44 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Wed, 17 Mar 2021 18:00:44 +0000 Subject: Change in libosmocore[master]: stats: log error when missing stats values In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23390 ) Change subject: stats: log error when missing stats values ...................................................................... stats: log error when missing stats values Let the user know when the stats were not consumed fast enough for the given FIFO length. Related: SYS#4877 Change-Id: If0e8ab55103007693101538fb6ea310075217774 --- M src/stat_item.c M tests/stats/stats_test.c M tests/stats/stats_test.err 3 files changed, 156 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified daniel: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/src/stat_item.c b/src/stat_item.c index ba36464..a44b3ad 100644 --- a/src/stat_item.c +++ b/src/stat_item.c @@ -60,6 +60,7 @@ #include #include #include +#include /*! global list of stat_item groups */ static LLIST_HEAD(osmo_stat_item_groups); @@ -242,6 +243,10 @@ idx_delta = item_value->id + 1 - *next_idx; + if (idx_delta > 1) { + LOGP(DLSTATS, LOGL_ERROR, "%s: %d stats values skipped\n", item->desc->name, idx_delta - 1); + } + *next_idx = item_value->id + 1; return idx_delta; diff --git a/tests/stats/stats_test.c b/tests/stats/stats_test.c index 707f606..b81ad6b 100644 --- a/tests/stats/stats_test.c +++ b/tests/stats/stats_test.c @@ -120,6 +120,7 @@ value = osmo_stat_item_get_last(statg->items[TEST_A_ITEM]); OSMO_ASSERT(value == -1); + fprintf(stderr, "osmo_stat_item_get_next rc == 0\n"); rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &rd_a, &value); OSMO_ASSERT(rc == 0); @@ -128,13 +129,16 @@ value = osmo_stat_item_get_last(statg->items[TEST_A_ITEM]); OSMO_ASSERT(value == 1); + fprintf(stderr, "osmo_stat_item_get_next rc > 0\n"); rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &rd_a, &value); OSMO_ASSERT(rc > 0); OSMO_ASSERT(value == 1); + fprintf(stderr, "osmo_stat_item_get_next rc == 0\n"); rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &rd_a, &value); OSMO_ASSERT(rc == 0); + fprintf(stderr, "osmo_stat_item_get_next rc > 0\n"); for (i = 2; i <= 32; i++) { osmo_stat_item_set(statg->items[TEST_A_ITEM], i); osmo_stat_item_set(statg->items[TEST_B_ITEM], 1000 + i); @@ -220,17 +224,20 @@ rc = osmo_stat_item_discard(statg->items[TEST_A_ITEM], &rd_a); OSMO_ASSERT(rc > 0); + fprintf(stderr, "osmo_stat_item_get_next rc == 0\n"); rc = osmo_stat_item_discard(statg->items[TEST_A_ITEM], &rd_a); OSMO_ASSERT(rc == 0); rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &rd_a, &value); OSMO_ASSERT(rc == 0); + fprintf(stderr, "osmo_stat_item_get_next rc > 0\n"); osmo_stat_item_set(statg->items[TEST_A_ITEM], 98); rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &rd_a, &value); OSMO_ASSERT(rc > 0); OSMO_ASSERT(value == 98); + fprintf(stderr, "osmo_stat_item_get_next rc == 0\n"); rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &rd_a, &value); OSMO_ASSERT(rc == 0); diff --git a/tests/stats/stats_test.err b/tests/stats/stats_test.err index 3accf54..d059ffd 100644 --- a/tests/stats/stats_test.err +++ b/tests/stats/stats_test.err @@ -1,3 +1,147 @@ +osmo_stat_item_get_next rc == 0 +osmo_stat_item_get_next rc > 0 +DLSTATS ERROR item.a: 1 stats values skipped +osmo_stat_item_get_next rc == 0 +osmo_stat_item_get_next rc > 0 +DLSTATS ERROR item.b: 3 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 4 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.a: 57 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.a: 1 stats values skipped +DLSTATS ERROR item.b: 51 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +DLSTATS ERROR item.b: 1 stats values skipped +osmo_stat_item_get_next rc == 0 +osmo_stat_item_get_next rc > 0 +osmo_stat_item_get_next rc == 0 Start test: test_reporting DLGLOBAL ERROR counter group 'ctr-test:one' already exists for index 2, instead using index 3. This is a software bug that needs fixing. DLGLOBAL ERROR 'ctr-test.one_dot' is not a valid counter group identifier -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23390 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If0e8ab55103007693101538fb6ea310075217774 Gerrit-Change-Number: 23390 Gerrit-PatchSet: 3 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 17 19:15:16 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 17 Mar 2021 19:15:16 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Makefile: SUBDIRS: add ns In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23392 ) Change subject: Makefile: SUBDIRS: add ns ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23392 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I36adc972ea724308bbe5423f1bacf280cef901b0 Gerrit-Change-Number: 23392 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 17 Mar 2021 19: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 Wed Mar 17 22:59:28 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 17 Mar 2021 22:59:28 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Makefile: SUBDIRS: add ns In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23392 ) Change subject: Makefile: SUBDIRS: add ns ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23392 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I36adc972ea724308bbe5423f1bacf280cef901b0 Gerrit-Change-Number: 23392 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 17 Mar 2021 22:59:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 18 00:41:35 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Thu, 18 Mar 2021 00:41:35 +0000 Subject: Change in osmo-gsm-manuals[master]: common/chapters: extend gb/ns2 chapters References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/23393 ) Change subject: common/chapters: extend gb/ns2 chapters ...................................................................... common/chapters: extend gb/ns2 chapters Merge gb-variants.adoc into gb-ns2.adoc Add a general overview of the internal structure which is also used by the vty. Move the configuration into a seperate adoc to allow the PCU manual to skip the part which doesn't apply for it. Copy the timer configuration into gb.adoc to allow document newer timers. All users of the NS2 code will use the timer sub-chapter. Change-Id: I902b850528cbc04bd469590babd84cccf64300e8 --- A common/chapters/gb-ns2-configuration-timer.adoc A common/chapters/gb-ns2-configuration.adoc A common/chapters/gb-ns2.adoc D common/chapters/gb-variants.adoc 4 files changed, 446 insertions(+), 179 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-manuals refs/changes/93/23393/1 diff --git a/common/chapters/gb-ns2-configuration-timer.adoc b/common/chapters/gb-ns2-configuration-timer.adoc new file mode 100644 index 0000000..ab8585f --- /dev/null +++ b/common/chapters/gb-ns2-configuration-timer.adoc @@ -0,0 +1,36 @@ +==== Gb/NS Timer configuration + +The NS protocol features a number of configurable timers. + +.List of configurable NS timers +|=== +|tns-block|(un)blocking timer timeout (secs) +|tns-block-retries|(un)blocking timer; number of retries +|tns-reset|reset timer timeout (secs) +|tns-reset-retries|reset timer; number of retries +|tns-test|test timer timeout (secs) +|tns-alive|alive timer timeout (secs) +|tns-alive-retries|alive timer; number of retries +|tsns-prov|SNS provision timeout (secs) used by all SNS auto configuration procedures. +|tsns-size-retries|SNS Size procedure; number of retries +|tsns-config-retries|SNS Config procedure; number of retries +|=== + +All timer can be configured by vty configuration + +.Example of timeouts +---- +ns + timer tns-block 3 + timer tns-block-retries 3 + timer tns-reset 3 + timer tns-reset-retries 3 + timer tns-test 30 + timer tns-alive 3 + timer tns-alive-retries 10 + timer tsns-prov 10 + timer tsns-size-retries 3 + timer tsns-config-retries 3 +---- + +// FIXME: ladder diagrams for every timer diff --git a/common/chapters/gb-ns2-configuration.adoc b/common/chapters/gb-ns2-configuration.adoc new file mode 100644 index 0000000..51ad0ec --- /dev/null +++ b/common/chapters/gb-ns2-configuration.adoc @@ -0,0 +1,172 @@ +=== Gb/NS configuration + +This section describes the configuration that libosmogb exposes via the +VTY and is valid for OsmoSGSN and OsmoGbProxy. + +==== Gb over Frame Relay over E1/T1 + +The Gb over Frame Relay over E1/T1 requires: + +* a hdlc interface +* a frame relay role (fr or frnet) +* the DLCI + +.Example: Gb over Frame Relay configuration #1 +---- +ns + bind fr sidea1 <1> + fr hdlcnet1 frnet <2> + nse 2001 <3> + nsvci fr sidea1 dlci 16 nsvci 11 +---- +<1> a Gb-over-FR bind with the name sidea1 +<2> connect the hdlcnet1 device with the role frnet to sidea1 +<3> one NSE (2001) with a single NS-VCI 11 on sidea1 with DLCI 16 + +.Example: Gb over Frame Relay configuration #2 +---- +ns + bind fr sidea1 <1> + fr hdlcnet1 frnet <2> + bind fr sidea2 + fr hdlcnet2 frnet + bind fr sidea3 + fr hdlcnet3 frnet + bind fr sidea4 + fr hdlcnet4 frnet + bind fr sideb1 + fr hdlcnet5 frnet + bind fr sideb2 + fr hdlcnet6 frnet + bind fr sidec1 + fr hdlcnet7 frnet + bind fr sidec2 + fr hdlcnet8 frnet + nse 2001 <3> + nsvci fr sidea1 dlci 16 nsvci 11 + nsvci fr sidea2 dlci 17 nsvci 12 + nsvci fr sidea3 dlci 18 nsvci 13 + nsvci fr sidea4 dlci 19 nsvci 14 + nse 2002 <4> + nsvci fr sideb5 dlci 20 nsvci 15 + nsvci fr sideb6 dlci 21 nsvci 16 + nse 2003 <5> + nsvc fr sidec7 dlci 22 nsvci 17 + nsvc fr sidec8 dlci 23 nsvci 18 +---- +<1> a Gb-over-FR bind with the name sidea1 +<2> connect the hdlcnet1 device with the role frnet to sidea1 +<3> one NSE (2001) with four NS-VCI (11..14) on sidea1..4 with their respective DLCI +<4> another NSE (2002) with two NS-VCI (15..16) on sideb1..2 with their respective DLCI +<5> another NSE (2003) with two NS-VCI (17..18) on sidec1..2 with their respective DLCI + + +==== Gb over IP "ip.access style" + +The Gb over IP "ip.access style" can be used with a dynamic configuration or with a +static configuration + +The static configuration requires to configure all endpoints on the BSS and SGSN. +In difference the dynamic configuration allows the SGSN to have only a reduced configuration. + +===== Gb over IP "ip.access style" dynamic configuration + +.Example: Gb over IP/UDP ip.access style dynamic configuration (SGSN) +---- +ns + bind udp ran1 <1> + listen 10.100.1.1 23000 <2> + accept-ipaccess <3> +---- +<1> create a IP/UDP bind with name ran1 +<2> bind to 10.100.1.1:23000 +<3> accept unknown BSS of ip.access style + +.Example: Gb over IP/UDP "ip.access style" dynamic configuration (GbProxy as BSS) +---- +ns + bind udp ran1 <1> + listen 10.100.0.1 23000 <2> + nse 1001 <3> + nsvc ipa ran1 10.100.1.1 23000 nsvci 1001 +---- +<1> create a IP/UDP bind with name ran1 +<2> bind to 10.100.1.1:23000 +<3> accept unknown BSS of ip.access style + +NOTE: The OsmoPCU supports ip.access style Gb/NS but doesn't support this vty configuration because +it's receiving the configuration from the BTS/BSC. + +===== Gb over IP "ip.access style" static configuration + +.Example: Gb over IP/UDP "ip.access style" dynamic configuration (SGSN) +---- +ns + bind udp ran1 <1> + listen 10.100.0.1 23000 <2> +---- +<1> create a IP/UDP bind with name ran1 +<2> bind to 10.100.0.1:23000 + +.Example: Gb over IP/UDP "ip.access style" dynamic configuration (GbProxy as BSS) +---- +ns + bind udp ran1 <1> + listen 10.100.0.1 23000 <2> + nse 1001 <3> + nsvc ipa ran1 10.100.1.1 23000 nsvci 1001 +---- +<1> create a IP/UDP bind with name ran1 +<2> bind to 10.100.0.1:23000 +<3> NSE 1001 with nsvc 1001 as ip.access style + +NOTE: The OsmoPCU supports "ip.access style" Gb/NS but doesn't support this vty configuration because +it's receiving the configuration from the BTS/BSC. + + +==== Gb over IP 3GPP static configuration + +A static IP/UDP configuration without SNS as specified by 3GPP 48.016. + +.Example: Gb over IP/UDP static configuration BSS/SGSN +---- +ns + bind udp ran1 <1> + listen 10.100.0.1 23000 <2> + nse 1001 <3> + nsvc udp ran1 10.100.1.1 23000 signalling-weight 2 data-weight 2 + nsvc udp ran1 10.100.1.2 23000 <4> +---- +<1> create a IP/UDP bind with name ran1 +<2> bind to 10.100.0.1 +<3> NSE 1001 with 2 NSVC +<4> short configuration with default signalling and data weight of 1 + +==== Gb over IP 3GPP auto configuration BSS + +IP/UDP auto-configuration with initial endpoints to do an SGSN. +The auto-configuration will use the first bind to connect to the +first endpoint. If this fails Osmocom will iterate over all endpoints and binds to find +a working combination. + +.Example: Gb over IP/UDP auto-configuration as BSS +---- +ns + bind udp ran1 <1> + listen 10.100.0.1 23000 <2> + bind udp ran2 + listen 10.100.0.2 23000 + bind udp ran3 + listen 10.100.0.3 23000 + nse 1001 <3> + ip-sns-bind ran1 <4> + ip-sns-bind ran2 + ip-sns-endpoint 10.100.1.1 <5> + ip-sns-endpoint 10.100.1.2 +---- +<1> create a IP/UDP bind with name ran1 +<2> bind to 10.100.0.1 +<3> NSE 1001 with 2 initial SNS endpoints +<4> add ran1 to the list of available endpoints +<5> add 10.100.1.1 as initial endpoint + diff --git a/common/chapters/gb-ns2.adoc b/common/chapters/gb-ns2.adoc new file mode 100644 index 0000000..a89f8cf --- /dev/null +++ b/common/chapters/gb-ns2.adoc @@ -0,0 +1,238 @@ +== Gb/NS Network Service + +'libosmogb' is part of the libosmocore.git repository and implements the +Gb interface protocol stack consisting of the NS and BSSGP layers. It +is used in a variety of Osmocom project, including OsmoSGSN, OsmoPCU, +OsmoGbProxy. + +NOTE: <<3gpp-ts-48-016>> specify Network Service + +[[gb_variants]] +=== Gb interface variants + +There are a multiple variants of the Gb interface. This +section tries to provide an overview into what those variants are, how +they differ from each other. + +The two peers involved in any Gb interface must always be in agreement +about the specific Gb interface variant before they are able to +connect. + +The following variants are supported by Osmocom: + +* Gb-over-Frame-Relay over E1/T1 +* Gb-over-IP "ip.access style" +* Gb-over IP 3GPP static configuration +* Gb-over-IP 3GPP auto-configuration + +[[gb-fr]] +==== Gb over Frame Relay over E1/T1 + +Historically, this is the first Gb interface that was specified as part +of GSM Release 97 when GPRS was first introduced. + +Like all other terrestrial GSM interfaces, it uses circuit-switched +technology from the PDH/ISDN family of systems: E1 or T1 lines as per +ITU-T G.703 / G.704. + +GSM TS 08.16 and later <<3gpp-ts-48-016>> specify that Frame Relay (FR) +shall be used as transport layer between the E1/T1 bit-stream and the +NS-level Gb messages. + +Two peer entities such as a GPRS BSS and a SGSN are interconnected by a +NS-VCG (Virtual Connection Group) consisting of any number of NS-VCs +(Virtual Connections). + +Each NS-VC in turn operates over a Frame Relay Permanent Virtual Circuit +(PVC), identified by its DLCI (Data Link Connection Identifier). + +The protocol stacking is BSSGP/NS/FR/E1. + + +===== FR Driver Support + +The Osmocom NS/FR support currently requires the individual Frame Relay +Links to be exposed as Linux kernel HDLC net-devices. The Osmocom NS +implementation has to be instructed which `hdlcX` network devices it +shall use for each NS-VC, and which DLCIs to use on them. + +The Linux kernel Frame Relay LMI support (which only implements the user +role anyway) is not used. Instead, the ITU-T Q.933 LMI is implemented +as part of the Osmocom NS code in libosmogb. Osmocom NS code is configuring +the hdlcX device to match the correct mode (fr) and lmi (none). +This is equivalent to the user-space command `sethdlc hdlcX fr lmi none`. + The net-devices will be also brought _up_ by the Osmocom NS code equivalent to + `ip link set hdlcX up` command. + +As the Osmocom Gb implementation uses AF_PACKET sockets on those +`hdlcX` network interfaces, the respective program must be running with +`CAP_NET_RAW` capability. + +[[gb-gre-fr]] +==== Gb over Frame Relay encapsulated in GRE/IP + +This is a variant of the Gb-over-FR specified above. However, an +external router (e.g. certain ancient Cisco routers) is used to take the +Frame Relay frames from the physical E1/T1 TDM circuit and wrap them +into the GRE encapsulation as per IETF RFC 2784. + +NOTE: GRE/IP has been removed from Osmocom NS code. + +[[gb-ip-access]] +==== Gb over IP "ip.access style" + +This is a non-standard variant of Gb which is not found in the GSM/3GPP +specifications. + +It uses an UDP/IP based transport layer, while not yet implementing the +IP-SNS that is normally required by a true 3GPP Gb over IP interface +described further below. Hence, this variant resembles an intermediate +state where a Gb interface originally designed for Frame Relay is used +over IP without any of the IP-specific procedures specified by 3GPP. + +The major difference to 3GPP Gb over IP specified below are: + +* No support for the IP-SNS and its SNS-SIZE, SNS-ADD, SNS-DELETE, + SNS-WEIGHT procedures +* Use of the NS-RESET, NS-BLOCK and NS-UNBLOCK procedures which are + normally forbidden over an IP network. + +The protocol stacking is BSSGP/NS/UDP/IP. + +[[gb-ip-sns]] +==== Gb over IP 3GPP static and auto-configuration + +This is the only official, 3GPP-standardized way of speaking a Gb +interface over IP based transport. + +It features the IP Sub-Network Service (IP-SNS) which allows either +static configuration or dynamic configuration. +The static configuration requires to specify the NSE and related NS-VC +configuration via vty similiar to Gb-over-FR. + +===== Gb over IP 3GPP auto-configuration + +The auto-configuration allow to dynamically exchange information about +IP endpoints (IP+port tuples) between the Gb interface peers. +This means that normally only one initial IP endpoint needs to be configured. +All additional IP endpoints and their relative weight for load distribution are then negotiated via the +IP-SNS auto-configuration procedure. + +The major differences of this true IP based Gb compared to any of the +above are: + +* No use of the NS-RESET, NS-BLOCK or NS-UNBLOCK procedures +* Ability to use some NS-VCs only for signaling (data_weight=0) or only + for user plane traffic (signaling_weight=0). This helps with SGSNs + that have an internal control/user plane separation architecture. + +Once the IP endpoints of the peers are known to each other, A full mesh +of NS-VCs between all BSS endpoints and all SGSN endpoints is +established. + +<> below illustrates a deployment with two IP +endpoints on both the BSS (PCU) and the SGSN, as well as the resulting +four NS-VCs established between them. + +[[fig-gb-sns-nsvcs]] +.IP sub-network relationship between NS-VCs and NS-VLs (from 3GPP TS 48.016) +image::./common/images/gb-ip-nsvc.pdf[] + +The sequence of messages in an IP-SNS enabled Gb interface bring-up can +be seen in <>. Here we have a PCU/BSS with a +single IP endpoint and a SGSN with two IP endpoints, which results in +only two NS-VC being established. + +Furthermore, for each of the cells in the BSS/PCU, we can see the +BVC-RESET procedure for its corresponding PTP BVC. + +[[fig-ip-sns-sequence]] +.Initialization of Gb interface using IP-SNS procedures +[mscgen] +---- +include::gb-ip-sns.msc[] +---- + +==== PCU Configuration + +// FIXME: remove the PCU configuration from here +// FIXME: Full example configuration + +.Example: osmo-pcu configuration for use with IP-SNS +---- +pcu + gb-dialect ip-sns +---- + +NOTE: The initial IP endpoint for osmo-pcu is not configured in the PCU +itself, but in the BSC, who downloads the Gb interface configuration to +the BTS during BTS OML start-up, which in turn passes it to the PCU over +the unix domain socket between BTS and PCU + +=== General structure + +The general structure of the configuration is split into 3 parts + +* binds (NS-VL) +* nse (NS-E) +* timeouts + +==== bind (NS-VL) + +A bind represent a NS-VL. A bind has a specific type (IP/UDP or FR) +and a unique name. + +==== NS-E + +A NSE node represent a NS Entity. A NSE is either persistant or dynamic. +A persistant NSE is configured by vty. A dynamic NSE is created on-demand +without any vty node. The SGSN/GbProxy creates dynamic NSE when a BSS connects +to the SGSN (see accept-ipaccess). +The PCU creates a dynamic NSE when it receives the configuration from BTS/BSC. + +==== NS-VC + +A NS-VC is always bound to a NSE and the bind (NS-VL). The NSVC can be either +persitant or dynamic. + + +=== vty commands + +# describe the ns2 vty with examples + +FIXME: show ns == show ns entities + show ns binds + +NSEI 01234: UDP, DEAD + NSVCI 01234: RESET PERSIST data_weight=1 sig_weight=1 udp)[127.0.0.1]:23000<1234>[127.0.0.1]:22000 +UDP bind: 127.0.0.1:23000 DSCP: 0 + IP-SNS signalling weight: 1 data weight: 1 + 1 NS-VC: + NSVCI 01234: udp)[127.0.0.1]:23000<1234>[127.0.0.1]:22000 + +FIXME: show ns entities + +FIXME: show ns binds +OsmoNSdummy# show ns binds +UDP bind: 127.0.0.1:23000 DSCP: 0 + IP-SNS signalling weight: 1 data weight: 1 + 1 NS-VC: + NSVCI 01234: udp)[127.0.0.1]:23000<1234>[127.0.0.1]:22000 + + +FIXME: nsvc 1234 block +FIXME: nsvc 1234 unblock +FIXME: nsvc 1234 reset +FIXME: nse 101 sns reset +FIXME: nse 104 drop + +==== Blocking / Unblocking / Resetting NS Virtual Connections + +The user can manually perform operations on individual NSVCs: + +* blocking a NSVC +* unblocking a NSVC +* resetting a NSVC + +The VTY command used for this is the `nsvc (nsei|nsvci) <0-65535> +(block|unblock|reset)` command available from the ENABLE node. + diff --git a/common/chapters/gb-variants.adoc b/common/chapters/gb-variants.adoc deleted file mode 100644 index dc978f6..0000000 --- a/common/chapters/gb-variants.adoc +++ /dev/null @@ -1,179 +0,0 @@ -[[gb_variants]] -== Gb interface variants - -There are a couple of variants of the Gb interface out there. This -section tries to provide an overview into what those variants are, how -they differ from each other and how to configure Osmocom software -accordingly. - -The two peers involved in any Gb interface must always be in agreement -about the specific Gb interface variant before they are able to -connect. - -=== Gb over Frame Relay over E1/T1 - -Historically, this is the first Gb interface that was specified as part -of GSM Release 97 when GPRS was first introduced. - -Like all other terrestrial GSM interfaces, it uses circuit-switched -technology from the PDH/ISDN family of systems: E1 or T1 lines as per -ITU-T G.703 / G.704. - -GSM TS 08.16 and later <<3gpp-ts-48-016>> specify that Frame Relay (FR) -shall be used as transport layer between the E1/T1 bit-stream and the -NS-level Gb messages. - -Two peer entities such as a GPRS BSS and a SGSN are interconnected by a -NS-VCG (Virtual Connection Group) consisting of any number of NS-VCs -(Virtual Connections). - -Each NS-VC in turn operates over a Frame Relay Permanent Virtual Circuit -(PVC), identified by its DLCI (Data Link Connection Identifier). - -The protocol stacking is BSSGP/NS/FR/E1. - -.Example: Gb over Frame Relay configuration ----- -ns - nse 2001 nsvci 11 frnet hdlcnet1 dlci 16 <1> - nse 2001 nsvci 12 frnet hdlcnet2 dlci 17 - nse 2001 nsvci 13 frnet hdlcnet3 dlci 18 - nse 2001 nsvci 14 frnet hdlcnet4 dlci 19 - nse 2002 nsvci 15 frnet hdlcnet5 dlci 20 <2> - nse 2002 nsvci 16 frnet hdlcnet6 dlci 21 - nse 2003 nsvci 17 frnet hdlcnet7 dlci 22 <3> - nse 2003 nsvci 18 frnet hdlcnet8 dlci 23 ----- -<1> one NSE (2001) with four NS-VCI (11..14) on hdlcnet1..4 with their respective DLCI -<2> another NSE (2002) with two NS-VCI (15..16) on hdlcnet5..6 with their respective DLCI -<3> another NSE (2003) with two NS-VCI (17..18) on hdlcnet7..8 with their respective DLCI - -==== FR Driver Support - -The Osmocom NS/FR support currently requires the individual Frame Relay -Links to be exposed as Linux kernel HDLC net-devices. The Osmocom NS -implementation has to be instructed which `hdlcX` network devices it -shall use for each NS-VC, and which DLCIs to use on them. - -The Linux kernel Frame Relay LMI support (which only implements the user -role anyway) is not used. Instead, the ITU-T Q.933 LMI is implemented -as part of the Osmocom NS code in libosmogb. You must hence use -`sethdlc hdlcX fr lmi none` to configure the HDLC net-devices for use -with Osmocom. The net-devices must also be _up_, e.g. using the -`ip link set hdlcX up` command in some system start-up script. - -As the Osmocom Gb implementation uses AF_PACKET sockets on those -`hdlcX` network interfaces, the respective program must be running with -`CAP_NET_RAW` capability. - -=== Gb over Frame Relay encapsulated in GRE/IP - -This is a variant of the Gb-over-FR specified above. However, an -external router (e.g. certain ancient Cisco routers) is used to take the -Frame Relay frames from the physical E1/T1 TDM circuit and wrap them -into the GRE encapsulation as per IETF RFC 2784. - -Those GRE/IP messages from the external Cisco router are then passed to -the Osmocom Gb stack (e.g. to `osmo-gbproxy`). - -The protocol stacking is BSSGP/NS/FR/GRE/IP. - -FIXME: Example configuration - ----- -ns - encapsulation framerelay-gre enabled 1 - encapsulation framerelay-gre local-ip 127.0.0.1 ----- - - -=== Gb over IP "ip.access style" - -This is a non-standard variant of Gb which is not found in the GSM/3GPP -specifications. - -It uses an UDP/IP based transport layer, while not yet implementing the -IP-SNS that is normally required by a true 3GPP Gb over IP interface -described further below. Hence, this variant resembles an intermediate -state where a Gb interface originally designed for Frame Relay is used -over IP without any of the IP-specific procedures specified by 3GPP. - -The major difference to 3GPP Gb over IP specified below are: - -* No support for the IP-SNS and its SNS-SIZE, SNS-ADD, SNS-DELETE, - SNS-WEIGHT procedures -* Use of the NS-RESET, NS-BLOCK and NS-UNBLOCK procedures which are - normally forbidden over an IP network. - -The protocol stacking is BSSGP/NS/UDP/IP. - -FIXME: Full example configuration - ----- -ns - encapsulation udp local-ip 127.0.0.1 - encapsulation udp local-port 23000 ----- - -[[gb-ip-sns]] -=== 3GPP Gb over IP with IP-SNS - -This is the only official, 3GPP-standardized way of speaking a Gb -interface over IP based transport. - -It features the IP Sub-Network Service (IP-SNS) in order to dynamically -exchange information about IP endpoints (IP+port tuples) between the Gb -interface peers. This means that normally only one basic / first IP -endpoint needs to be configured. All additional IP endpoints and their -relative weight for load distribution are then negotiated via the -IP-SNS. - -The major differences of this true IP based Gb compared to any of the -above are: - -* No use of the NS-RESET, NS-BLOCK or NS-UNBLOCK procedures -* Ability to use some NS-VCs only for signaling (data_weight=0) or only - for user plane traffic (signaling_weight=0). This helps with SGSNs - that have an internal control/user plane separation architecture. - -Once the IP endpoints of the peers are known to each other, A full mesh -of NS-VCs between all PCU-side endpoints and all SGSN endpoints is -established. - -<> below illustrates a deployment with two IP -endpoints on both the BSS (PCU) and the SGSN, as well as the resulting -four NS-VCs established between them. - -[[fig-gb-sns-nsvcs]] -.IP sub-network relationship between NS-VCs and NS-VLs (from 3GPP TS 48.016) -image::./common/images/gb-ip-nsvc.pdf[] - -The sequence of messages in an IP-SNS enabled Gb interface bring-up can -be seen in <>. Here we have a PCU/BSS with a -single IP endpoint and a SGSN with two IP endpoints, which results in -only two NS-VC being established. - -Furthermore, for each of the cells in the BSS/PCU, we can see the -BVC-RESET procedure for its corresponding PTP BVC. - -[[fig-ip-sns-sequence]] -.Initialization of Gb interface using IP-SNS procedures -[mscgen] ----- -include::gb-ip-sns.msc[] ----- - -==== PCU Configuration - -FIXME: Full example configuration - -.Example: osmo-pcu configuration for use with IP-SNS ----- -pcu - gb-dialect ip-sns ----- - -NOTE: The initial IP endpoint for osmo-pcu is not configured in the PCU -itself, but in the BSC, who downloads the Gb interface configuration to -the BTS during BTS OML start-up, which in turn passes it to the PCU over -the unix domain socket between BTS and PCU -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/23393 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: I902b850528cbc04bd469590babd84cccf64300e8 Gerrit-Change-Number: 23393 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 18 00:42:57 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Thu, 18 Mar 2021 00:42:57 +0000 Subject: Change in osmo-gsm-manuals[master]: common/chapters: extend gb/ns2 chapters In-Reply-To: References: Message-ID: lynxis lazus has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/23393 ) Change subject: common/chapters: extend gb/ns2 chapters ...................................................................... common/chapters: extend gb/ns2 chapters Merge gb-variants.adoc into gb-ns2.adoc Add a general overview of the internal structure which is also used by the vty. Move the configuration into a seperate adoc to allow the PCU manual to skip the part which doesn't apply for it. Copy the timer configuration into gb.adoc to allow document newer timers. All users of the NS2 code will use the timer sub-chapter. Related: OS#5077 Change-Id: I902b850528cbc04bd469590babd84cccf64300e8 --- A common/chapters/gb-ns2-configuration-timer.adoc A common/chapters/gb-ns2-configuration.adoc A common/chapters/gb-ns2.adoc D common/chapters/gb-variants.adoc 4 files changed, 446 insertions(+), 179 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-manuals refs/changes/93/23393/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/23393 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: I902b850528cbc04bd469590babd84cccf64300e8 Gerrit-Change-Number: 23393 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-CC: Jenkins Builder Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 18 01:37:04 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 18 Mar 2021 01:37:04 +0000 Subject: Change in osmo-ttcn3-hacks[master]: {bsc, bts}/osmo-bsc.cfg: remove deprecated parameters References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23394 ) Change subject: {bsc,bts}/osmo-bsc.cfg: remove deprecated parameters ...................................................................... {bsc,bts}/osmo-bsc.cfg: remove deprecated parameters Change-Id: I39fe349a9c1011c8ba3160d4f5f3744d30e9fe24 --- M bsc/osmo-bsc.cfg M bts/osmo-bsc.cfg 2 files changed, 0 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/94/23394/1 diff --git a/bsc/osmo-bsc.cfg b/bsc/osmo-bsc.cfg index 8a65e3c..6401474 100644 --- a/bsc/osmo-bsc.cfg +++ b/bsc/osmo-bsc.cfg @@ -382,10 +382,6 @@ timeslot 7 phys_chan_config PDCH msc 0 - no bsc-welcome-text - no bsc-msc-lost-text - no bsc-grace-text - type normal allow-emergency allow amr-config 12_2k forbidden amr-config 10_2k forbidden @@ -421,7 +417,6 @@ bsc mid-call-timeout 0 - no missing-msc-text ctrl bind 127.0.0.1 cbc diff --git a/bts/osmo-bsc.cfg b/bts/osmo-bsc.cfg index 1b8c8e6..1c8da8d 100644 --- a/bts/osmo-bsc.cfg +++ b/bts/osmo-bsc.cfg @@ -232,9 +232,6 @@ phys_chan_config SDCCH8 hopping enabled 0 msc 0 - no bsc-welcome-text - no bsc-msc-lost-text - no bsc-grace-text codec-list fr1 fr2 fr3 allow-emergency allow amr-config 12_2k forbidden @@ -247,4 +244,3 @@ amr-config 4_75k forbidden bsc mid-call-timeout 0 - no missing-msc-text -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23394 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I39fe349a9c1011c8ba3160d4f5f3744d30e9fe24 Gerrit-Change-Number: 23394 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 Mar 18 01:37:05 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 18 Mar 2021 01:37:05 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts/osmo-bts.cfg: remove deprecated 'uplink-power-target' References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23395 ) Change subject: bts/osmo-bts.cfg: remove deprecated 'uplink-power-target' ...................................................................... bts/osmo-bts.cfg: remove deprecated 'uplink-power-target' Change-Id: Ida5b1357d199e222b9ebd64e833ca21e6506a36c --- M bts/osmo-bts.cfg 1 file changed, 0 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/95/23395/1 diff --git a/bts/osmo-bts.cfg b/bts/osmo-bts.cfg index b7282da..a92273f 100644 --- a/bts/osmo-bts.cfg +++ b/bts/osmo-bts.cfg @@ -51,7 +51,6 @@ rtp jitter-buffer 100 paging queue-size 200 paging lifetime 0 - uplink-power-target -75 gsmtap-sapi rach gsmtap-sapi agch gsmtap-sapi bcch -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23395 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ida5b1357d199e222b9ebd64e833ca21e6506a36c Gerrit-Change-Number: 23395 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 Mar 18 01:37:07 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 18 Mar 2021 01:37:07 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts/osmo-bts.cfg: use 'gsmtap-sapi enable-all' References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23396 ) Change subject: bts/osmo-bts.cfg: use 'gsmtap-sapi enable-all' ...................................................................... bts/osmo-bts.cfg: use 'gsmtap-sapi enable-all' Keep PDTCH/PTCCH disabled, it will blow up PCAPs otherwise. Change-Id: Id1b523faf0d0ab6df00e46a40917c703b26d0e96 --- M bts/osmo-bts.cfg 1 file changed, 3 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/96/23396/1 diff --git a/bts/osmo-bts.cfg b/bts/osmo-bts.cfg index a92273f..0db4305 100644 --- a/bts/osmo-bts.cfg +++ b/bts/osmo-bts.cfg @@ -51,14 +51,9 @@ rtp jitter-buffer 100 paging queue-size 200 paging lifetime 0 - gsmtap-sapi rach - gsmtap-sapi agch - gsmtap-sapi bcch - gsmtap-sapi pch - gsmtap-sapi sdcch - gsmtap-sapi sacch - gsmtap-sapi tch/f - gsmtap-sapi tch/h + gsmtap-sapi enable-all + no gsmtap-sapi pdtch + no gsmtap-sapi ptcch min-qual-rach 50 min-qual-norm -5 !settsc -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23396 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id1b523faf0d0ab6df00e46a40917c703b26d0e96 Gerrit-Change-Number: 23396 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 Mar 18 01:37:07 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 18 Mar 2021 01:37:07 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts/osmo-bts.cfg: enable GSMTAP Um frame logging References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23397 ) Change subject: bts/osmo-bts.cfg: enable GSMTAP Um frame logging ...................................................................... bts/osmo-bts.cfg: enable GSMTAP Um frame logging Change-Id: Icc5ffed6cda47c15ac703ef336ef502d2047cc2c --- M bts/osmo-bts.cfg 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/97/23397/1 diff --git a/bts/osmo-bts.cfg b/bts/osmo-bts.cfg index 0db4305..1c83db7 100644 --- a/bts/osmo-bts.cfg +++ b/bts/osmo-bts.cfg @@ -51,6 +51,7 @@ rtp jitter-buffer 100 paging queue-size 200 paging lifetime 0 + gsmtap-remote-host 127.0.0.1 gsmtap-sapi enable-all no gsmtap-sapi pdtch no gsmtap-sapi ptcch -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23397 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Icc5ffed6cda47c15ac703ef336ef502d2047cc2c Gerrit-Change-Number: 23397 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 Mar 18 01:39:31 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 18 Mar 2021 01:39:31 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test: use 'gsmtap-remote-host' parameter In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23300 ) Change subject: ttcn3-bts-test: use 'gsmtap-remote-host' parameter ...................................................................... Patch Set 2: Verified+1 Code-Review+2 (1 comment) https://gerrit.osmocom.org/c/docker-playground/+/23300/1/ttcn3-bts-test/osmo-bts.cfg File ttcn3-bts-test/osmo-bts.cfg: https://gerrit.osmocom.org/c/docker-playground/+/23300/1/ttcn3-bts-test/osmo-bts.cfg at a53 PS1, Line 53: paging lifetime 0 > are we also updating the configs in osmo-ttcn3-hacks. [?] Please see: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23397 and other changes in this patch set. -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23300 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ib01069a55a27e79c67b76abe39763c1b645075e5 Gerrit-Change-Number: 23300 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 18 Mar 2021 01:39:31 +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 Thu Mar 18 01:39:46 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 18 Mar 2021 01:39:46 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test: use 'gsmtap-sapi enable-all' parameter In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23301 ) Change subject: ttcn3-bts-test: use 'gsmtap-sapi enable-all' parameter ...................................................................... Patch Set 2: This change is ready for review. -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23301 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I551a6da7858342279db3c5e8ebff250a7922a291 Gerrit-Change-Number: 23301 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 18 Mar 2021 01:39: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 Thu Mar 18 01:40:05 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 18 Mar 2021 01:40:05 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test: use 'gsmtap-sapi enable-all' parameter In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23301 ) Change subject: ttcn3-bts-test: use 'gsmtap-sapi enable-all' parameter ...................................................................... Patch Set 2: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23301 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I551a6da7858342279db3c5e8ebff250a7922a291 Gerrit-Change-Number: 23301 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 18 Mar 2021 01:40:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 18 01:40:11 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 18 Mar 2021 01:40:11 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test: OML tests ivolve no GSMTAP Um logging In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23302 ) Change subject: ttcn3-bts-test: OML tests ivolve no GSMTAP Um logging ...................................................................... Patch Set 2: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23302 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I50891130eaf7957efbf71839564a5dd9d58a1e3f Gerrit-Change-Number: 23302 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 18 Mar 2021 01:40: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 Thu Mar 18 01:40:18 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 18 Mar 2021 01:40:18 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test: use 'gsmtap-remote-host' parameter In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23300 ) Change subject: ttcn3-bts-test: use 'gsmtap-remote-host' parameter ...................................................................... ttcn3-bts-test: use 'gsmtap-remote-host' parameter Command line argument '-i' has been deprecated. Change-Id: Ib01069a55a27e79c67b76abe39763c1b645075e5 Related: I17676a21c4e0c9cbc88f2c5c53a39c6c6c473ca1 --- M ttcn3-bts-test/jenkins.sh M ttcn3-bts-test/osmo-bts.cfg 2 files changed, 2 insertions(+), 1 deletion(-) Approvals: fixeria: Looks good to me, approved; Verified pespin: Looks good to me, but someone else must approve laforge: Looks good to me, but someone else must approve diff --git a/ttcn3-bts-test/jenkins.sh b/ttcn3-bts-test/jenkins.sh index 5fab160..67c6d07 100755 --- a/ttcn3-bts-test/jenkins.sh +++ b/ttcn3-bts-test/jenkins.sh @@ -51,7 +51,7 @@ --name ${BUILD_TAG}-bts -d \ $DOCKER_ARGS \ $REPO_USER/osmo-bts-$IMAGE_SUFFIX \ - /bin/sh -c "/usr/local/bin/respawn.sh osmo-bts-$variant -c /data/osmo-bts.cfg -i 172.18.9.10 >>/data/osmo-bts.log 2>&1" + /bin/sh -c "/usr/local/bin/respawn.sh osmo-bts-$variant -c /data/osmo-bts.cfg >>/data/osmo-bts.log 2>&1" } start_fake_trx() { diff --git a/ttcn3-bts-test/osmo-bts.cfg b/ttcn3-bts-test/osmo-bts.cfg index 3bc5fae..18b3201 100644 --- a/ttcn3-bts-test/osmo-bts.cfg +++ b/ttcn3-bts-test/osmo-bts.cfg @@ -51,6 +51,7 @@ rtp jitter-buffer 100 paging queue-size 200 paging lifetime 0 + gsmtap-remote-host 172.18.9.10 gsmtap-sapi rach gsmtap-sapi agch gsmtap-sapi bcch -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23300 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ib01069a55a27e79c67b76abe39763c1b645075e5 Gerrit-Change-Number: 23300 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 Thu Mar 18 01:40:20 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 18 Mar 2021 01:40:20 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test: use 'gsmtap-sapi enable-all' parameter In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23301 ) Change subject: ttcn3-bts-test: use 'gsmtap-sapi enable-all' parameter ...................................................................... ttcn3-bts-test: use 'gsmtap-sapi enable-all' parameter Keep PDTCH/PTCCH disabled, it will blow up PCAPs otherwise. Change-Id: I551a6da7858342279db3c5e8ebff250a7922a291 --- M ttcn3-bts-test/osmo-bts.cfg 1 file changed, 3 insertions(+), 8 deletions(-) Approvals: fixeria: Looks good to me, approved; Verified diff --git a/ttcn3-bts-test/osmo-bts.cfg b/ttcn3-bts-test/osmo-bts.cfg index 18b3201..9933a76 100644 --- a/ttcn3-bts-test/osmo-bts.cfg +++ b/ttcn3-bts-test/osmo-bts.cfg @@ -52,14 +52,9 @@ paging queue-size 200 paging lifetime 0 gsmtap-remote-host 172.18.9.10 - gsmtap-sapi rach - gsmtap-sapi agch - gsmtap-sapi bcch - gsmtap-sapi pch - gsmtap-sapi sdcch - gsmtap-sapi sacch - gsmtap-sapi tch/h - gsmtap-sapi tch/f + gsmtap-sapi enable-all + no gsmtap-sapi pdtch + no gsmtap-sapi ptcch min-qual-rach 50 min-qual-norm -5 !settsc -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23301 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I551a6da7858342279db3c5e8ebff250a7922a291 Gerrit-Change-Number: 23301 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 18 01:40:21 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 18 Mar 2021 01:40:21 +0000 Subject: Change in docker-playground[master]: ttcn3-bts-test: OML tests ivolve no GSMTAP Um logging In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23302 ) Change subject: ttcn3-bts-test: OML tests ivolve no GSMTAP Um logging ...................................................................... ttcn3-bts-test: OML tests ivolve no GSMTAP Um logging Change-Id: I50891130eaf7957efbf71839564a5dd9d58a1e3f --- M ttcn3-bts-test/oml/osmo-bts.cfg 1 file changed, 0 insertions(+), 6 deletions(-) Approvals: fixeria: Verified laforge: Looks good to me, approved diff --git a/ttcn3-bts-test/oml/osmo-bts.cfg b/ttcn3-bts-test/oml/osmo-bts.cfg index 6458725..52a2ace 100644 --- a/ttcn3-bts-test/oml/osmo-bts.cfg +++ b/ttcn3-bts-test/oml/osmo-bts.cfg @@ -46,12 +46,6 @@ rtp jitter-buffer 100 paging queue-size 200 paging lifetime 0 - 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 !settsc -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23302 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I50891130eaf7957efbf71839564a5dd9d58a1e3f Gerrit-Change-Number: 23302 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Thu Mar 18 01:42:32 2021 From: admin at opensuse.org (OBS Notification) Date: Thu, 18 Mar 2021 01:42:32 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.10/x86_64 In-Reply-To: References: Message-ID: <6052b02553736_62342b176e5c45f826241d@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_20.10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_20.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 172s] [COMPILING libboard/qmod/source/board_qmod.c] [ 172s] [COMPILING libboard/qmod/source/card_pres.c] [ 172s] [COMPILING libboard/qmod/source/i2c.c] [ 172s] [COMPILING libboard/qmod/source/wwan_led.c] [ 172s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 173s] [COMPILING apps/dfu/main.c] [ 173s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 173s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 173s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 173s] Memory region Used Size Region Size %age Used [ 173s] rom: 16592 B 16 KB 101.27% [ 173s] ram: 11680 B 48 KB 23.76/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 173s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 208 bytes [ 173s] collect2: error: ld returned 1 exit status [ 173s] % [ 173s] make[2]: *** [Makefile:230: flash] Error 1 [ 173s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 173s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 173s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 173s] dh_auto_build: error: make -j1 returned exit code 2 [ 173s] make: *** [debian/rules:16: build] Error 25 [ 173s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 173s] ### VM INTERACTION START ### [ 176s] [ 163.204053] sysrq: Power Off [ 176s] [ 163.213387] reboot: Power down [ 177s] ### VM INTERACTION END ### [ 177s] [ 177s] lamb11 failed "build simtrace2_0.7.0.76.62ad.dsc" at Thu Mar 18 01:42:26 UTC 2021. [ 177s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Mar 18 01:52:35 2021 From: admin at opensuse.org (OBS Notification) Date: Thu, 18 Mar 2021 01:52:35 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <6052b27ae4057_62342b176e5c45f8264343@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_20.04/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_20.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 473s] [COMPILING apps/dfu/main.c] [ 473s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 473s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 473s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 474s] Memory region Used Size Region Size %age Used [ 474s] rom: 16600 B 16 KB 101.32% [ 474s] ram: 11688 B 48 KB 23.78/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 474s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 474s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 474s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 474s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 474s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 474s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 216 bytes [ 474s] collect2: error: ld returned 1 exit status [ 474s] % [ 474s] make[2]: *** [Makefile:230: flash] Error 1 [ 474s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 474s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 474s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 474s] dh_auto_build: error: make -j1 returned exit code 2 [ 474s] make: *** [debian/rules:16: build] Error 25 [ 474s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 474s] ### VM INTERACTION START ### [ 477s] [ 431.946872] sysrq: Power Off [ 477s] [ 432.006164] reboot: Power down [ 478s] ### VM INTERACTION END ### [ 478s] [ 478s] lamb60 failed "build simtrace2_0.7.0.76.62ad.dsc" at Thu Mar 18 01:52:22 UTC 2021. [ 478s] -- 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 Mar 18 07:45:58 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 18 Mar 2021 07:45:58 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: fix: do not call trx_if_close() two times References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/23398 ) Change subject: osmo-bts-trx: fix: do not call trx_if_close() two times ...................................................................... osmo-bts-trx: fix: do not call trx_if_close() two times It's called by trx_phy_inst_open() if trx_if_open() fails. Change-Id: Ic672f865ab513043a58979471a254a59d44daa6d --- M src/osmo-bts-trx/trx_if.c 1 file changed, 2 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/98/23398/1 diff --git a/src/osmo-bts-trx/trx_if.c b/src/osmo-bts-trx/trx_if.c index 05167ca..c6701cb 100644 --- a/src/osmo-bts-trx/trx_if.c +++ b/src/osmo-bts-trx/trx_if.c @@ -1225,20 +1225,16 @@ plink->u.osmotrx.remote_ip, compute_port(pinst, 1, 0), trx_ctrl_read_cb); if (rc < 0) - goto err; + return rc; rc = trx_udp_open(l1h, &l1h->trx_ofd_data, plink->u.osmotrx.local_ip, compute_port(pinst, 0, 1), plink->u.osmotrx.remote_ip, compute_port(pinst, 1, 1), trx_data_read_cb); if (rc < 0) - goto err; + return rc; return 0; - -err: - trx_if_close(l1h); - return rc; } /*! close the control + burst data sockets for one phy_instance */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/23398 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ic672f865ab513043a58979471a254a59d44daa6d Gerrit-Change-Number: 23398 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 Mar 18 07:46:00 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 18 Mar 2021 07:46:00 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: fix segfault on trx_phy_inst_open() failure References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/23399 ) Change subject: osmo-bts-trx: fix segfault on trx_phy_inst_open() failure ...................................................................... osmo-bts-trx: fix segfault on trx_phy_inst_open() failure If for whatever reason it fails to initialize the TRXD or TRXC interface, trx_phy_inst_open() would return an error. This would cause bts_model_phy_link_open() to call trx_if_close() on each of the PHY links, including those that were never opened. This leads to a segfault in trx_if_close(). Make sure that in trx_if_init() we properly init 'struct trx_l1h', so it's safe to call trx_if_close() at any time and in any state. Change-Id: I1f128813528f505fede04799e84456f6271058d0 --- M src/osmo-bts-trx/trx_if.c 1 file changed, 6 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/99/23399/1 diff --git a/src/osmo-bts-trx/trx_if.c b/src/osmo-bts-trx/trx_if.c index c6701cb..2e97319 100644 --- a/src/osmo-bts-trx/trx_if.c +++ b/src/osmo-bts-trx/trx_if.c @@ -193,6 +193,12 @@ { l1h->trx_ctrl_timer.cb = trx_ctrl_timer_cb; l1h->trx_ctrl_timer.data = l1h; + + /* initialize ctrl queue */ + INIT_LLIST_HEAD(&l1h->trx_ctrl_list); + + l1h->trx_ofd_ctrl.fd = -1; + l1h->trx_ofd_data.fd = -1; } /*! Send a new TRX control command. @@ -1215,9 +1221,6 @@ LOGPPHI(l1h->phy_inst, DTRX, LOGL_NOTICE, "Open transceiver\n"); - /* initialize ctrl queue */ - INIT_LLIST_HEAD(&l1h->trx_ctrl_list); - /* open sockets */ rc = trx_udp_open(l1h, &l1h->trx_ofd_ctrl, plink->u.osmotrx.local_ip, -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/23399 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1f128813528f505fede04799e84456f6271058d0 Gerrit-Change-Number: 23399 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 Mar 18 08:12:24 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 18 Mar 2021 08:12:24 +0000 Subject: Change in osmo-pcu[master]: sysmo: fix wrong FN jumps in rx RA.ind In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23388 ) Change subject: sysmo: fix wrong FN jumps in rx RA.ind ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23388 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I437f4f95d054aea96bec3b9343e495451020ff3c Gerrit-Change-Number: 23388 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Thu, 18 Mar 2021 08:12:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 18 09:25:54 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 18 Mar 2021 09:25:54 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Makefile: SUBDIRS: add ns In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23392 ) Change subject: Makefile: SUBDIRS: add ns ...................................................................... Makefile: SUBDIRS: add ns Make the list git-friendly while at it. Related: SYS#5396 Change-Id: I36adc972ea724308bbe5423f1bacf280cef901b0 --- M Makefile 1 file changed, 27 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve fixeria: Looks good to me, approved diff --git a/Makefile b/Makefile index 319cb87..81540ba 100644 --- a/Makefile +++ b/Makefile @@ -13,8 +13,33 @@ # See the License for the specific language governing permissions and # limitations under the License. -SUBDIRS=bsc bsc-nat bts cbc ccid fr fr-net gbproxy ggsn_tests hlr mgw mme msc pcu pgw remsim \ - sccp selftest sgsn simtrace sip stp sysinfo smlc +SUBDIRS= \ + bsc \ + bsc-nat \ + bts \ + cbc \ + ccid \ + fr \ + fr-net \ + gbproxy \ + ggsn_tests \ + hlr \ + mgw \ + mme \ + msc \ + ns \ + pcu \ + pgw \ + remsim \ + sccp \ + selftest \ + sgsn \ + simtrace \ + sip \ + smlc \ + stp \ + sysinfo \ + $(NULL) NPROC=$(shell nproc 2>/dev/null) ifeq ($(NPROC),) -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23392 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I36adc972ea724308bbe5423f1bacf280cef901b0 Gerrit-Change-Number: 23392 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 18 10:48:20 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 18 Mar 2021 10:48:20 +0000 Subject: Change in osmo-ttcn3-hacks[master]: {bsc, bts}/osmo-bsc.cfg: remove deprecated parameters In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23394 ) Change subject: {bsc,bts}/osmo-bsc.cfg: remove deprecated parameters ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23394 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I39fe349a9c1011c8ba3160d4f5f3744d30e9fe24 Gerrit-Change-Number: 23394 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 18 Mar 2021 10:48:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 18 10:48:45 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 18 Mar 2021 10:48:45 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts/osmo-bts.cfg: remove deprecated 'uplink-power-target' In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23395 ) Change subject: bts/osmo-bts.cfg: remove deprecated 'uplink-power-target' ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23395 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ida5b1357d199e222b9ebd64e833ca21e6506a36c Gerrit-Change-Number: 23395 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 18 Mar 2021 10:48: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 Mar 18 10:49:00 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 18 Mar 2021 10:49:00 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts/osmo-bts.cfg: enable GSMTAP Um frame logging In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23397 ) Change subject: bts/osmo-bts.cfg: enable GSMTAP Um frame logging ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23397 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Icc5ffed6cda47c15ac703ef336ef502d2047cc2c Gerrit-Change-Number: 23397 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 18 Mar 2021 10:49: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 Mar 18 10:53:20 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 18 Mar 2021 10:53:20 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts/osmo-bts.cfg: enable GSMTAP Um frame logging In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23397 ) Change subject: bts/osmo-bts.cfg: enable GSMTAP Um frame logging ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23397/1/bts/osmo-bts.cfg File bts/osmo-bts.cfg: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23397/1/bts/osmo-bts.cfg at 57 PS1, Line 57: no gsmtap-sapi ptcch we are missing "no gsmtap-sapi pacch" here btw. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23397 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Icc5ffed6cda47c15ac703ef336ef502d2047cc2c Gerrit-Change-Number: 23397 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 18 Mar 2021 10:53: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 Thu Mar 18 10:54:42 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 18 Mar 2021 10:54:42 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts/osmo-bts.cfg: use 'gsmtap-sapi enable-all' In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23396 ) Change subject: bts/osmo-bts.cfg: use 'gsmtap-sapi enable-all' ...................................................................... Patch Set 1: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23396/1/bts/osmo-bts.cfg File bts/osmo-bts.cfg: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23396/1/bts/osmo-bts.cfg at 56 PS1, Line 56: no gsmtap-sapi ptcch "no gsmtap-sapi pacch" missing. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23396 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id1b523faf0d0ab6df00e46a40917c703b26d0e96 Gerrit-Change-Number: 23396 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 18 Mar 2021 10:54:42 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 18 10:56:26 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 18 Mar 2021 10:56:26 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: fix: do not call trx_if_close() two times In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/23398 ) Change subject: osmo-bts-trx: fix: do not call trx_if_close() two times ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/23398 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ic672f865ab513043a58979471a254a59d44daa6d Gerrit-Change-Number: 23398 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 18 Mar 2021 10:56:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 18 10:57:45 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 18 Mar 2021 10:57:45 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: fix segfault on trx_phy_inst_open() failure In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/23399 ) Change subject: osmo-bts-trx: fix segfault on trx_phy_inst_open() failure ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/23399/1/src/osmo-bts-trx/trx_if.c File src/osmo-bts-trx/trx_if.c: https://gerrit.osmocom.org/c/osmo-bts/+/23399/1/src/osmo-bts-trx/trx_if.c at 200 PS1, Line 200: l1h->trx_ofd_ctrl.fd = -1; what about if reopen happens (after some close?) Is that possible? In that case, are we resetting this to -1 again? -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/23399 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1f128813528f505fede04799e84456f6271058d0 Gerrit-Change-Number: 23399 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 18 Mar 2021 10:57:45 +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 Mar 18 12:39:59 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 18 Mar 2021 12:39:59 +0000 Subject: Change in osmo-pcu[master]: direct_phy: Fix condition dropping rx DATA.ind payload in in References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23400 ) Change subject: direct_phy: Fix condition dropping rx DATA.ind payload in in ...................................................................... direct_phy: Fix condition dropping rx DATA.ind payload in in Fixes: 81c549d5be1f5e161d6231d3f2e5fb4aa3b0557c Change-Id: Iad8e50b856009439d78c596c5b54dc3e9836e1d4 --- M src/osmo-bts-litecell15/lc15_l1_if.c M src/osmo-bts-oc2g/oc2g_l1_if.c M src/osmo-bts-sysmo/sysmo_l1_if.c 3 files changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/00/23400/1 diff --git a/src/osmo-bts-litecell15/lc15_l1_if.c b/src/osmo-bts-litecell15/lc15_l1_if.c index 99c82a1..13e0fc9 100644 --- a/src/osmo-bts-litecell15/lc15_l1_if.c +++ b/src/osmo-bts-litecell15/lc15_l1_if.c @@ -217,7 +217,7 @@ case GsmL1_Sapi_Pacch: /* PDTCH / PACCH frame handling */ if (data_ind->msgUnitParam.u8Size != 0 && - data_ind->msgUnitParam.u8Buffer[0] != GsmL1_PdtchPlType_Full) { + data_ind->msgUnitParam.u8Buffer[0] == GsmL1_PdtchPlType_Full) { data = data_ind->msgUnitParam.u8Buffer + 1; data_len = data_ind->msgUnitParam.u8Size - 1; if (data_len == 0) diff --git a/src/osmo-bts-oc2g/oc2g_l1_if.c b/src/osmo-bts-oc2g/oc2g_l1_if.c index 101bd56..a41e7af 100644 --- a/src/osmo-bts-oc2g/oc2g_l1_if.c +++ b/src/osmo-bts-oc2g/oc2g_l1_if.c @@ -222,7 +222,7 @@ case GsmL1_Sapi_Pacch: /* PDTCH / PACCH frame handling */ if (data_ind->msgUnitParam.u8Size != 0 && - data_ind->msgUnitParam.u8Buffer[0] != GsmL1_PdtchPlType_Full) { + data_ind->msgUnitParam.u8Buffer[0] == GsmL1_PdtchPlType_Full) { data = data_ind->msgUnitParam.u8Buffer + 1; data_len = data_ind->msgUnitParam.u8Size - 1; if (data_len == 0) diff --git a/src/osmo-bts-sysmo/sysmo_l1_if.c b/src/osmo-bts-sysmo/sysmo_l1_if.c index 29656d7..225f732 100644 --- a/src/osmo-bts-sysmo/sysmo_l1_if.c +++ b/src/osmo-bts-sysmo/sysmo_l1_if.c @@ -201,7 +201,7 @@ case GsmL1_Sapi_Pacch: /* PDTCH / PACCH frame handling */ if (data_ind->msgUnitParam.u8Size != 0 && - data_ind->msgUnitParam.u8Buffer[0] != GsmL1_PdtchPlType_Full) { + data_ind->msgUnitParam.u8Buffer[0] == GsmL1_PdtchPlType_Full) { data = data_ind->msgUnitParam.u8Buffer + 1; data_len = data_ind->msgUnitParam.u8Size - 1; if (data_len == 0) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23400 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iad8e50b856009439d78c596c5b54dc3e9836e1d4 Gerrit-Change-Number: 23400 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 Mar 18 13:03:43 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 18 Mar 2021 13:03:43 +0000 Subject: Change in osmo-pcu[master]: direct_phy: Fix condition dropping rx DATA.ind payload in in In-Reply-To: References: Message-ID: Hello Jenkins Builder, fixeria, lynxis lazus, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/23400 to look at the new patch set (#2). Change subject: direct_phy: Fix condition dropping rx DATA.ind payload in in ...................................................................... direct_phy: Fix condition dropping rx DATA.ind payload in in Related: OS#5020 Fixes: 81c549d5be1f5e161d6231d3f2e5fb4aa3b0557c Change-Id: Iad8e50b856009439d78c596c5b54dc3e9836e1d4 --- M src/osmo-bts-litecell15/lc15_l1_if.c M src/osmo-bts-oc2g/oc2g_l1_if.c M src/osmo-bts-sysmo/sysmo_l1_if.c 3 files changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/00/23400/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23400 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iad8e50b856009439d78c596c5b54dc3e9836e1d4 Gerrit-Change-Number: 23400 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: lynxis lazus Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 18 13:28:26 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 18 Mar 2021 13:28:26 +0000 Subject: Change in libosmocore[master]: tlv: Fix length returned by t{l16, 16l}v_put References: Message-ID: daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/23401 ) Change subject: tlv: Fix length returned by t{l16,16l}v_put ...................................................................... tlv: Fix length returned by t{l16,16l}v_put Every other function returns a pointer to the first byte after the tlv that was just written. tl16v seems to be a copy and paste error from tlv16 above and t16lv seems to count the 16-bit tag twice. The new tests verify that the return value of *_put(buf, tag, len, val) points to buf + *_GROSS_LEN(len). Change-Id: I268a7e11fb5dce67ce1bd7974ab86c4d2bd002f7 --- M include/osmocom/gsm/tlv.h M tests/tlv/tlv_test.c 2 files changed, 34 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/01/23401/1 diff --git a/include/osmocom/gsm/tlv.h b/include/osmocom/gsm/tlv.h index dc61de1..7e6dfb5 100644 --- a/include/osmocom/gsm/tlv.h +++ b/include/osmocom/gsm/tlv.h @@ -148,7 +148,7 @@ *buf++ = len >> 8; *buf++ = len & 0xff; memcpy(buf, val, len); - return buf + len*2; + return buf + len; } /*! put (append) a TL16 field. */ @@ -168,7 +168,7 @@ *buf++ = tag & 0xff; *buf++ = len; memcpy(buf, val, len); - return buf + len + 2; + return buf + len; } /*! put (append) a TvLV field */ diff --git a/tests/tlv/tlv_test.c b/tests/tlv/tlv_test.c index 3b4f441..fdd15ab 100644 --- a/tests/tlv/tlv_test.c +++ b/tests/tlv/tlv_test.c @@ -423,6 +423,37 @@ OSMO_ASSERT(TLVP_VAL(&dec, 0x23) == NULL); } +static void test_tlv_lens() +{ + uint16_t buf_len; + uint8_t buf[512]; + uint8_t val[512] = { 0 }; + uint16_t x; + + + for (x = 0; x < 16; x++) { + buf_len = lv_put(buf, x, val) - buf; + OSMO_ASSERT(buf_len == LV_GROSS_LEN(x)); + buf_len = tlv_put(buf, 0x23, x, val) - buf; + OSMO_ASSERT(buf_len == TLV_GROSS_LEN(x)); + buf_len = tlv16_put(buf, 0x23, x, (uint16_t *) val) - buf; + OSMO_ASSERT(buf_len == TLV16_GROSS_LEN(x)); + buf_len = tl16v_put(buf, 0x23, x, val) - buf; + OSMO_ASSERT(buf_len == TL16V_GROSS_LEN(x)); + buf_len = t16lv_put(buf, 0x2342, x, val) - buf; + OSMO_ASSERT(buf_len == T16LV_GROSS_LEN(x)); + buf_len = tvlv_put(buf, 0x23, x, val) - buf; + OSMO_ASSERT(buf_len == TVLV_GROSS_LEN(x)); + } + + for (x = 250; x < 300; x++) { + buf_len = tl16v_put(buf, 0x23, x, val) - buf; + OSMO_ASSERT(buf_len == TL16V_GROSS_LEN(x)); + buf_len = tvlv_put(buf, 0x23, x, val) - buf; + OSMO_ASSERT(buf_len == TVLV_GROSS_LEN(x)); + } +} + int main(int argc, char **argv) { //osmo_init_logging2(ctx, &info); @@ -431,6 +462,7 @@ test_tlv_repeated_ie(); test_tlv_encoder(); test_tlv_parser_bounds(); + test_tlv_lens(); printf("Done.\n"); return EXIT_SUCCESS; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23401 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I268a7e11fb5dce67ce1bd7974ab86c4d2bd002f7 Gerrit-Change-Number: 23401 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 Mar 18 13:31:46 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 18 Mar 2021 13:31:46 +0000 Subject: Change in libosmocore[master]: tlv: Fix length returned by t{l16, 16l}v_put In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23401 ) Change subject: tlv: Fix length returned by t{l16,16l}v_put ...................................................................... Patch Set 1: Code-Review+1 Did you check existing callers of these APIs to make sure are behaving as expecting before/after the change? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23401 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I268a7e11fb5dce67ce1bd7974ab86c4d2bd002f7 Gerrit-Change-Number: 23401 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: pespin Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Thu, 18 Mar 2021 13:31: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 Mar 18 13:38:53 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 18 Mar 2021 13:38:53 +0000 Subject: Change in osmo-trx[master]: Initial XTRX support In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/15685 ) Change subject: Initial XTRX support ...................................................................... Patch Set 3: years later and nobody seems to be able to invest some time to ever get this merged. It's really sad to see :/ -- To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/15685 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-trx Gerrit-Branch: master Gerrit-Change-Id: I1067dfef53aa2669cc7c189cccae10074c674390 Gerrit-Change-Number: 15685 Gerrit-PatchSet: 3 Gerrit-Owner: rauf.gyulaliev at fairwaves.co Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: ipse Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 18 Mar 2021 13:38: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 Mar 18 13:44:23 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 18 Mar 2021 13:44:23 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts/osmo-bts.cfg: enable GSMTAP Um frame logging In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23397 ) Change subject: bts/osmo-bts.cfg: enable GSMTAP Um frame logging ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23397/1/bts/osmo-bts.cfg File bts/osmo-bts.cfg: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23397/1/bts/osmo-bts.cfg at 57 PS1, Line 57: no gsmtap-sapi ptcch > we are missing "no gsmtap-sapi pacch" here btw. AFAIK, the BTS does not distinguish PACCH from PDTCH (traffic). I would rather deprecate and make this SAPI no-op. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23397 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Icc5ffed6cda47c15ac703ef336ef502d2047cc2c Gerrit-Change-Number: 23397 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 18 Mar 2021 13:44:23 +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 Mar 18 13:45:15 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 18 Mar 2021 13:45:15 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts/osmo-bts.cfg: use 'gsmtap-sapi enable-all' In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23396 ) Change subject: bts/osmo-bts.cfg: use 'gsmtap-sapi enable-all' ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23396/1/bts/osmo-bts.cfg File bts/osmo-bts.cfg: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23396/1/bts/osmo-bts.cfg at 56 PS1, Line 56: no gsmtap-sapi ptcch > "no gsmtap-sapi pacch" missing. AFAIK, the BTS does not distinguish PACCH from PDTCH (traffic). I would rather deprecate and make this SAPI no-op. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23396 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id1b523faf0d0ab6df00e46a40917c703b26d0e96 Gerrit-Change-Number: 23396 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 18 Mar 2021 13:45: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 Mar 18 13:46:26 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 18 Mar 2021 13:46:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts/osmo-bts.cfg: enable GSMTAP Um frame logging In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23397 ) Change subject: bts/osmo-bts.cfg: enable GSMTAP Um frame logging ...................................................................... Patch Set 1: fine with me. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23397 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Icc5ffed6cda47c15ac703ef336ef502d2047cc2c Gerrit-Change-Number: 23397 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 18 Mar 2021 13:46:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 18 13:46:40 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 18 Mar 2021 13:46:40 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts/osmo-bts.cfg: use 'gsmtap-sapi enable-all' In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23396 ) Change subject: bts/osmo-bts.cfg: use 'gsmtap-sapi enable-all' ...................................................................... Patch Set 1: Code-Review+1 fine -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23396 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id1b523faf0d0ab6df00e46a40917c703b26d0e96 Gerrit-Change-Number: 23396 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 18 Mar 2021 13:46:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 18 13:47:23 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 18 Mar 2021 13:47:23 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: fix segfault on trx_phy_inst_open() failure In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/23399 ) Change subject: osmo-bts-trx: fix segfault on trx_phy_inst_open() failure ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-bts/+/23399/1/src/osmo-bts-trx/trx_if.c File src/osmo-bts-trx/trx_if.c: https://gerrit.osmocom.org/c/osmo-bts/+/23399/1/src/osmo-bts-trx/trx_if.c at 200 PS1, Line 200: l1h->trx_ofd_ctrl.fd = -1; > what about if reopen happens (after some close?) Is that possible? In that case, are we resetting th [?] Do we call trx_if_init() when we reopen? And what do you mean by reopen? -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/23399 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1f128813528f505fede04799e84456f6271058d0 Gerrit-Change-Number: 23399 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 18 Mar 2021 13:47:23 +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 Mar 18 13:49:33 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 18 Mar 2021 13:49:33 +0000 Subject: Change in osmo-pcu[master]: direct_phy: Fix condition dropping rx DATA.ind payload in in In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23400 ) Change subject: direct_phy: Fix condition dropping rx DATA.ind payload in in ...................................................................... Patch Set 2: Code-Review+1 It's not clear from the commit message why the current code is incorrect, but I guess you know what you're doing. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23400 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iad8e50b856009439d78c596c5b54dc3e9836e1d4 Gerrit-Change-Number: 23400 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Thu, 18 Mar 2021 13:49: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 Mar 18 13:53:53 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 18 Mar 2021 13:53:53 +0000 Subject: Change in libosmocore[master]: tlv: Fix length returned by t{l16, 16l}v_put In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23401 ) Change subject: tlv: Fix length returned by t{l16,16l}v_put ...................................................................... Patch Set 1: > Patch Set 1: Code-Review+1 > > Did you check existing callers of these APIs to make sure are behaving as expecting before/after the change? I checked in libosmocore and just rechecked other osmo-* projects and the return values are universally ignored (both of tlv_put and msgb_tlv_put). Tbh I don't see how the current return values could have ever been usable for any case (except where they evaluate to the correct pointer e.g. with t16lv_put and len 0). Programs usually call a variant of msgb_tlv_put which uses the *_TLV_GROSS_LEN macros to advance the buffer (with msgb_put), so that calculation was and still is correct. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23401 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I268a7e11fb5dce67ce1bd7974ab86c4d2bd002f7 Gerrit-Change-Number: 23401 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 18 Mar 2021 13:53: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 Mar 18 13:55:44 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 18 Mar 2021 13:55:44 +0000 Subject: Change in osmo-pcu[master]: direct_phy: Fix condition dropping rx DATA.ind payload in in In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23400 ) Change subject: direct_phy: Fix condition dropping rx DATA.ind payload in in ...................................................................... Patch Set 2: Simply when I reworked the commit (see "Fixes:") I inverted the meaning of the comparison, that's why :) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23400 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iad8e50b856009439d78c596c5b54dc3e9836e1d4 Gerrit-Change-Number: 23400 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Thu, 18 Mar 2021 13:55:44 +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 Mar 18 13:59:27 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 18 Mar 2021 13:59:27 +0000 Subject: Change in osmo-pcu[master]: direct_phy: Fix condition dropping rx DATA.ind payload in in In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23400 ) Change subject: direct_phy: Fix condition dropping rx DATA.ind payload in in ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23400 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iad8e50b856009439d78c596c5b54dc3e9836e1d4 Gerrit-Change-Number: 23400 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Thu, 18 Mar 2021 13:59: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 Mar 18 14:06:22 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Thu, 18 Mar 2021 14:06:22 +0000 Subject: Change in docker-playground[master]: Add debian-buster-jenkins docker setup In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23381 ) Change subject: Add debian-buster-jenkins docker setup ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23381 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ibfdec6007357a90212dea7d39300f04ce8ffdf65 Gerrit-Change-Number: 23381 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 18 Mar 2021 14:06:22 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 18 16:28:33 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 18 Mar 2021 16:28:33 +0000 Subject: Change in pysim[master]: pySim-shell: add "dir" command. In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23207 ) Change subject: pySim-shell: add "dir" command. ...................................................................... Patch Set 5: > Patch Set 1: > > Curious that you chouse "dir" over "ls". > > As you just extended the get_selectables() with a comprehensive set of flags, it makes sense to also expose this to the user. I would argue that "ls" or "dir" should always show all options by default (making it identical to tab completion) but there's either a separate command, or ls/dir itself, that allows fine-grained controls like "ls --fids" or "ls --apps". I have extended the dir command so that we have a bit more control over what is displayed. I also found that the flag model needed some improvement. I do not think that it is a good idea to display all selectable options. The problem I see/have is that the full listing with all its synonyms is overwhelming/distracting. I have added an --all parameter that displays everything like the tab completion would. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23207 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ic06a60e0a0ec54d9bb26e151453ceb49d69e3df7 Gerrit-Change-Number: 23207 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-CC: dexter Gerrit-Comment-Date: Thu, 18 Mar 2021 16:28:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 18 22:02:36 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 18 Mar 2021 22:02:36 +0000 Subject: Change in pysim[master]: filesystem: allow dumping multiple records of a file In-Reply-To: References: Message-ID: dexter has uploaded a new patch set (#6) to the change originally created by laforge. ( https://gerrit.osmocom.org/c/pysim/+/23206 ) Change subject: filesystem: allow dumping multiple records of a file ...................................................................... filesystem: allow dumping multiple records of a file At the moment we can only request pySim-shell to dump a specific record of a file. However, it may be useful to dump multiple records of a record oriented file at once. Change-Id: Id62db2cba4e3dfb6a7b3e6be8b892c16d11a8e3e Related: OS#4963 --- M pySim/filesystem.py 1 file changed, 10 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/06/23206/6 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23206 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id62db2cba4e3dfb6a7b3e6be8b892c16d11a8e3e Gerrit-Change-Number: 23206 Gerrit-PatchSet: 6 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 18 22:02:36 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 18 Mar 2021 22:02:36 +0000 Subject: Change in pysim[master]: pySim-shell: add "dir" command. In-Reply-To: References: Message-ID: dexter has uploaded a new patch set (#6) to the change originally created by laforge. ( https://gerrit.osmocom.org/c/pysim/+/23207 ) Change subject: pySim-shell: add "dir" command. ...................................................................... pySim-shell: add "dir" command. pysim-shell does not have a convinient way to list the files available in one directory. Tab completion currently is the only way to obtain a list of the available files. Lets add a dir command to print a file list. Change-Id: Ic06a60e0a0ec54d9bb26e151453ceb49d69e3df7 Related: OS#4963 --- M pySim-shell.py M pySim/utils.py 2 files changed, 52 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/07/23207/6 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23207 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ic06a60e0a0ec54d9bb26e151453ceb49d69e3df7 Gerrit-Change-Number: 23207 Gerrit-PatchSet: 6 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-CC: dexter Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 18 22:02:36 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 18 Mar 2021 22:02:36 +0000 Subject: Change in pysim[master]: pySim-shell: add functionality to walk through the fs recursively In-Reply-To: References: Message-ID: dexter has uploaded a new patch set (#5) to the change originally created by laforge. ( https://gerrit.osmocom.org/c/pysim/+/23208 ) Change subject: pySim-shell: add functionality to walk through the fs recursively ...................................................................... pySim-shell: add functionality to walk through the fs recursively We might add functionality that may require to walk through the entire filesystem tree to perform an action to all files at once. Lets add a generic walker that gets a function pointer that can carray out a file specific action then. Also add another command that just displays the whole filesystem tree. Change-Id: If93d24dfb80c83eda39303c936910fa1fa7f48f8 Related: OS#4963 --- M pySim-shell.py 1 file changed, 25 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/08/23208/5 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23208 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: If93d24dfb80c83eda39303c936910fa1fa7f48f8 Gerrit-Change-Number: 23208 Gerrit-PatchSet: 5 Gerrit-Owner: laforge 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 Mar 18 22:02:36 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 18 Mar 2021 22:02:36 +0000 Subject: Change in pysim[master]: pySim-shell: add filesystem exporter In-Reply-To: References: Message-ID: dexter has uploaded a new patch set (#5) to the change originally created by laforge. ( https://gerrit.osmocom.org/c/pysim/+/23210 ) Change subject: pySim-shell: add filesystem exporter ...................................................................... pySim-shell: add filesystem exporter add a new command "export" that can either export indidividual files or a whole directory tree. The command will generate a script that contains update_binary and update_record commands along with the file contents. This script can later be used to restore multiple files at once. Change-Id: I82f3ce92cd91a5ed3c4884d62f6b22e9589c8a49 Related: OS#4963 --- M pySim-shell.py 1 file changed, 58 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/10/23210/5 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23210 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I82f3ce92cd91a5ed3c4884d62f6b22e9589c8a49 Gerrit-Change-Number: 23210 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: dexter Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 18 22:02:41 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 18 Mar 2021 22:02:41 +0000 Subject: Change in pysim[master]: filesystem: fix flag model used with get_selectable_names() References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/23402 ) Change subject: filesystem: fix flag model used with get_selectable_names() ...................................................................... filesystem: fix flag model used with get_selectable_names() The flags NAMES, FIDS and APPS do not properly distinguish between applications and normal files. With APPS it is only possible to exclude or include the selectable applications in a list with NAMES or FIDS, but it is not possible to get only the application names or identifiers. - remove the APPS flag - rename NAMES to FNAMES and make it only normal file related - add ANAMES and relate it only to application (ADF) names - add AIDS and relate it only to application identifiers Change-Id: Id07e0dcbab10cd78c1b78d37319b7b0e5e83b64d Related: OS#4963 --- M pySim/filesystem.py 1 file changed, 6 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/02/23402/1 diff --git a/pySim/filesystem.py b/pySim/filesystem.py index 664c722..ad020af 100644 --- a/pySim/filesystem.py +++ b/pySim/filesystem.py @@ -93,7 +93,7 @@ sels.update({alias: self}) if self.fid and (flags == [] or 'FIDS' in flags): sels.update({self.fid: self}) - if self.name and (flags == [] or 'NAMES' in flags): + if self.name and (flags == [] or 'FNAMES' in flags): sels.update({self.name: self}) return sels @@ -111,8 +111,7 @@ mf = self.get_mf() if mf: sels.update(mf._get_self_selectables(flags = flags)) - if flags == [] or 'APPS' in flags: - sels.update(mf.get_app_selectables(flags)) + sels.update(mf.get_app_selectables(flags = flags)) return sels def get_selectable_names(self, flags = []): @@ -169,7 +168,7 @@ sels = super().get_selectables(flags) if flags == [] or 'FIDS' in flags: sels.update({x.fid: x for x in self.children.values() if x.fid}) - if flags == [] or 'NAMES' in flags: + if flags == [] or 'FNAMES' in flags: sels.update({x.name: x for x in self.children.values() if x.name}) return sels @@ -226,16 +225,15 @@ def get_selectables(self, flags = []): """Get list of completions (DF/EF/ADF names) from current DF""" sels = super().get_selectables(flags) - if flags == [] or 'APPS' in flags: - sels.update(self.get_app_selectables(flags)) + sels.update(self.get_app_selectables(flags)) return sels def get_app_selectables(self, flags = []): """Get applications by AID + name""" sels = {} - if flags == [] or 'FIDS' in flags: + if flags == [] or 'AIDS' in flags: sels.update({x.aid: x for x in self.applications.values()}) - if flags == [] or 'NAMES' in flags: + if flags == [] or 'ANAMES' in flags: sels.update({x.name: x for x in self.applications.values() if x.name}) return sels -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23402 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id07e0dcbab10cd78c1b78d37319b7b0e5e83b64d Gerrit-Change-Number: 23402 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 Mar 18 22:02:42 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 18 Mar 2021 22:02:42 +0000 Subject: Change in pysim[master]: pySim-shell: add basic filesystem check References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/23403 ) Change subject: pySim-shell: add basic filesystem check ...................................................................... pySim-shell: add basic filesystem check Add a tool (similar to tree) that walks through the FS and selects each file. If the file can not be selected, report an error. Change-Id: I9248e2fc067f822d9c4ccc4e48d378eea9ce3354 Related: OS#4963 --- M pySim-shell.py 1 file changed, 22 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/03/23403/1 diff --git a/pySim-shell.py b/pySim-shell.py index 8a0446e..80428c2 100755 --- a/pySim-shell.py +++ b/pySim-shell.py @@ -225,6 +225,28 @@ if context['ERR']: raise RuntimeError("unable to export %i file(s)" % context['ERR']) + def check(self, filename, context): + context['COUNT'] += 1 + path_list = self._cmd.rs.selected_file.fully_qualified_path(True) + output_str = "checking: %s" % ('/'.join(path_list)) + "/" + filename + output_str += " " * 45 + output_str = output_str[0:45] + try: + fcp_dec = self._cmd.rs.select(filename, self._cmd) + fcp_dec = self._cmd.rs.select("..", self._cmd) + output_str += " ok" + except Exception as e: + output_str += " error: " + str(e) + context['ERR'] += 1 + self._cmd.poutput(output_str) + + def do_check(self, opts): + """Check all files in the file system for availability""" + context = {'ERR':0, 'COUNT':0} + self.walk(0, self.check, context) + self._cmd.poutput("total files visited: %u" % context['COUNT']) + self._cmd.poutput("bad files: %u" % context['ERR']) + @with_default_category('USIM Commands') class UsimCommands(CommandSet): -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23403 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I9248e2fc067f822d9c4ccc4e48d378eea9ce3354 Gerrit-Change-Number: 23403 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 Mar 18 22:03:01 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 18 Mar 2021 22:03:01 +0000 Subject: Change in pysim[master]: filesystem: allow dumping multiple records of a file In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23206 ) Change subject: filesystem: allow dumping multiple records of a file ...................................................................... Patch Set 6: (1 comment) https://gerrit.osmocom.org/c/pysim/+/23206/1/pySim/filesystem.py File pySim/filesystem.py: https://gerrit.osmocom.org/c/pysim/+/23206/1/pySim/filesystem.py at 381 PS1, Line 381: records > comment was not addressed Done -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23206 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id62db2cba4e3dfb6a7b3e6be8b892c16d11a8e3e Gerrit-Change-Number: 23206 Gerrit-PatchSet: 6 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: dexter Gerrit-CC: fixeria Gerrit-Comment-Date: Thu, 18 Mar 2021 22:03: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 Thu Mar 18 22:03:40 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 18 Mar 2021 22:03:40 +0000 Subject: Change in pysim[master]: pySim-shell: add functionality to walk through the fs recursively In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23208 ) Change subject: pySim-shell: add functionality to walk through the fs recursively ...................................................................... Patch Set 5: (1 comment) https://gerrit.osmocom.org/c/pysim/+/23208/1/pySim-shell.py File pySim-shell.py: https://gerrit.osmocom.org/c/pysim/+/23208/1/pySim-shell.py at 140 PS1, Line 140: if f[0:2] == "DF" or f[0:3] == 'ADF': > I don't think this is safe. [?] Done -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23208 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: If93d24dfb80c83eda39303c936910fa1fa7f48f8 Gerrit-Change-Number: 23208 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: dexter Gerrit-Comment-Date: Thu, 18 Mar 2021 22:03:40 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 18 22:03:51 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 18 Mar 2021 22:03:51 +0000 Subject: Change in pysim[master]: pySim-shell: add filesystem exporter In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23210 ) Change subject: pySim-shell: add filesystem exporter ...................................................................... Patch Set 5: (1 comment) https://gerrit.osmocom.org/c/pysim/+/23210/4/pySim-shell.py File pySim-shell.py: https://gerrit.osmocom.org/c/pysim/+/23210/4/pySim-shell.py at 178 PS4, Line 178: self._c > should we really just ignore erros in reading files? I think we need to check _why_ reading/selectin [?] The errors are ignored, but the exception string is printed, so the user can inspect the script afterwards to see which files are problematic and also gets the reason from the execption string. The idea is to read as much data as possible. This is what I get when a file is not found: 6a82: Wrong parameters - File not found This is what I get when I try to read from a file that requires ADM permissions: Failed to read (offset 0) Also I am now collecting the exception strings along with the filenames to print a summary at the end, so the errors can not hide anymore somewhere in the script comments. If there were errors I now also raise an exception that tells the user that some files could not be exported so he can check the logs if required. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23210 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I82f3ce92cd91a5ed3c4884d62f6b22e9589c8a49 Gerrit-Change-Number: 23210 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: dexter Gerrit-Comment-Date: Thu, 18 Mar 2021 22:03:51 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Fri Mar 19 02:49:17 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 19 Mar 2021 02:49:17 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <6054114ecc8bb_2f772b10d2aa65f0256762@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_20.04/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_20.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 263s] [COMPILING apps/dfu/main.c] [ 263s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 263s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 263s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 263s] Memory region Used Size Region Size %age Used [ 263s] rom: 16600 B 16 KB 101.32% [ 263s] ram: 11688 B 48 KB 23.78/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 263s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 263s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 263s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 263s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 263s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 263s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 216 bytes [ 263s] collect2: error: ld returned 1 exit status [ 263s] % [ 263s] make[2]: *** [Makefile:230: flash] Error 1 [ 263s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 263s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 263s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 263s] dh_auto_build: error: make -j1 returned exit code 2 [ 263s] make: *** [debian/rules:16: build] Error 25 [ 263s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 264s] ### VM INTERACTION START ### [ 267s] [ 227.926690] sysrq: Power Off [ 267s] [ 227.932464] reboot: Power down [ 267s] ### VM INTERACTION END ### [ 267s] [ 267s] lamb26 failed "build simtrace2_0.7.0.76.62ad.dsc" at Fri Mar 19 02:49:07 UTC 2021. [ 267s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 19 03:27:05 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 19 Mar 2021 03:27:05 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.10/x86_64 In-Reply-To: References: Message-ID: <60541a179a181_2f772b10d2aa65f0267548@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_20.10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_20.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 118s] [COMPILING libboard/qmod/source/board_qmod.c] [ 118s] [COMPILING libboard/qmod/source/card_pres.c] [ 118s] [COMPILING libboard/qmod/source/i2c.c] [ 118s] [COMPILING libboard/qmod/source/wwan_led.c] [ 118s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 118s] [COMPILING apps/dfu/main.c] [ 119s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 119s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 119s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 119s] Memory region Used Size Region Size %age Used [ 119s] rom: 16592 B 16 KB 101.27% [ 119s] ram: 11680 B 48 KB 23.76/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 119s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 208 bytes [ 119s] collect2: error: ld returned 1 exit status [ 119s] % [ 119s] make[2]: *** [Makefile:230: flash] Error 1 [ 119s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 119s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 119s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 119s] dh_auto_build: error: make -j1 returned exit code 2 [ 119s] make: *** [debian/rules:16: build] Error 25 [ 119s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 119s] ### VM INTERACTION START ### [ 122s] [ 111.388124] sysrq: Power Off [ 122s] [ 111.390682] reboot: Power down [ 122s] ### VM INTERACTION END ### [ 122s] [ 122s] hci-cnode1-m0 failed "build simtrace2_0.7.0.76.62ad.dsc" at Fri Mar 19 03:27:02 UTC 2021. [ 122s] -- 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 Mar 19 07:10:07 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 19 Mar 2021 07:10:07 +0000 Subject: Change in pysim[master]: filesystem: allow dumping multiple records of a file In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23206 ) Change subject: filesystem: allow dumping multiple records of a file ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23206 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id62db2cba4e3dfb6a7b3e6be8b892c16d11a8e3e Gerrit-Change-Number: 23206 Gerrit-PatchSet: 6 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: dexter Gerrit-CC: fixeria Gerrit-Comment-Date: Fri, 19 Mar 2021 07:10:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 19 07:11:02 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 19 Mar 2021 07:11:02 +0000 Subject: Change in pysim[master]: filesystem: fix flag model used with get_selectable_names() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23402 ) Change subject: filesystem: fix flag model used with get_selectable_names() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23402 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id07e0dcbab10cd78c1b78d37319b7b0e5e83b64d Gerrit-Change-Number: 23402 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 19 Mar 2021 07:11:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 19 07:11:58 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 19 Mar 2021 07:11:58 +0000 Subject: Change in pysim[master]: pySim-shell: add "dir" command. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23207 ) Change subject: pySim-shell: add "dir" command. ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23207 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ic06a60e0a0ec54d9bb26e151453ceb49d69e3df7 Gerrit-Change-Number: 23207 Gerrit-PatchSet: 6 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: dexter Gerrit-Comment-Date: Fri, 19 Mar 2021 07:11: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 Mar 19 07:12:04 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 19 Mar 2021 07:12:04 +0000 Subject: Change in pysim[master]: filesystem: allow dumping multiple records of a file In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/23206 ) Change subject: filesystem: allow dumping multiple records of a file ...................................................................... filesystem: allow dumping multiple records of a file At the moment we can only request pySim-shell to dump a specific record of a file. However, it may be useful to dump multiple records of a record oriented file at once. Change-Id: Id62db2cba4e3dfb6a7b3e6be8b892c16d11a8e3e Related: OS#4963 --- M pySim/filesystem.py 1 file changed, 10 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim/filesystem.py b/pySim/filesystem.py index 73401d6..664c722 100644 --- a/pySim/filesystem.py +++ b/pySim/filesystem.py @@ -378,11 +378,18 @@ read_rec_parser = argparse.ArgumentParser() read_rec_parser.add_argument('record_nr', type=int, help='Number of record to be read') + read_rec_parser.add_argument('--count', type=int, default=1, help='Number of records to be read, beginning at record_nr') @cmd2.with_argparser(read_rec_parser) def do_read_record(self, opts): - """Read a record from a record-oriented EF""" - (data, sw) = self._cmd.rs.read_record(opts.record_nr) - self._cmd.poutput(data) + """Read one or multiple records from a record-oriented EF""" + for r in range(opts.count): + recnr = opts.record_nr + r + (data, sw) = self._cmd.rs.read_record(recnr) + if (len(data) > 0): + recstr = str(data) + else: + recstr = "(empty)" + self._cmd.poutput("%03d %s" % (recnr, recstr)) read_rec_dec_parser = argparse.ArgumentParser() read_rec_dec_parser.add_argument('record_nr', type=int, help='Number of record to be read') -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23206 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id62db2cba4e3dfb6a7b3e6be8b892c16d11a8e3e Gerrit-Change-Number: 23206 Gerrit-PatchSet: 6 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: dexter Gerrit-CC: fixeria Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 19 07:12:06 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 19 Mar 2021 07:12:06 +0000 Subject: Change in pysim[master]: filesystem: fix flag model used with get_selectable_names() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/23402 ) Change subject: filesystem: fix flag model used with get_selectable_names() ...................................................................... filesystem: fix flag model used with get_selectable_names() The flags NAMES, FIDS and APPS do not properly distinguish between applications and normal files. With APPS it is only possible to exclude or include the selectable applications in a list with NAMES or FIDS, but it is not possible to get only the application names or identifiers. - remove the APPS flag - rename NAMES to FNAMES and make it only normal file related - add ANAMES and relate it only to application (ADF) names - add AIDS and relate it only to application identifiers Change-Id: Id07e0dcbab10cd78c1b78d37319b7b0e5e83b64d Related: OS#4963 --- M pySim/filesystem.py 1 file changed, 6 insertions(+), 8 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim/filesystem.py b/pySim/filesystem.py index 664c722..ad020af 100644 --- a/pySim/filesystem.py +++ b/pySim/filesystem.py @@ -93,7 +93,7 @@ sels.update({alias: self}) if self.fid and (flags == [] or 'FIDS' in flags): sels.update({self.fid: self}) - if self.name and (flags == [] or 'NAMES' in flags): + if self.name and (flags == [] or 'FNAMES' in flags): sels.update({self.name: self}) return sels @@ -111,8 +111,7 @@ mf = self.get_mf() if mf: sels.update(mf._get_self_selectables(flags = flags)) - if flags == [] or 'APPS' in flags: - sels.update(mf.get_app_selectables(flags)) + sels.update(mf.get_app_selectables(flags = flags)) return sels def get_selectable_names(self, flags = []): @@ -169,7 +168,7 @@ sels = super().get_selectables(flags) if flags == [] or 'FIDS' in flags: sels.update({x.fid: x for x in self.children.values() if x.fid}) - if flags == [] or 'NAMES' in flags: + if flags == [] or 'FNAMES' in flags: sels.update({x.name: x for x in self.children.values() if x.name}) return sels @@ -226,16 +225,15 @@ def get_selectables(self, flags = []): """Get list of completions (DF/EF/ADF names) from current DF""" sels = super().get_selectables(flags) - if flags == [] or 'APPS' in flags: - sels.update(self.get_app_selectables(flags)) + sels.update(self.get_app_selectables(flags)) return sels def get_app_selectables(self, flags = []): """Get applications by AID + name""" sels = {} - if flags == [] or 'FIDS' in flags: + if flags == [] or 'AIDS' in flags: sels.update({x.aid: x for x in self.applications.values()}) - if flags == [] or 'NAMES' in flags: + if flags == [] or 'ANAMES' in flags: sels.update({x.name: x for x in self.applications.values() if x.name}) return sels -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23402 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Id07e0dcbab10cd78c1b78d37319b7b0e5e83b64d Gerrit-Change-Number: 23402 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 Fri Mar 19 07:12:07 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 19 Mar 2021 07:12:07 +0000 Subject: Change in pysim[master]: pySim-shell: add "dir" command. In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/23207 ) Change subject: pySim-shell: add "dir" command. ...................................................................... pySim-shell: add "dir" command. pysim-shell does not have a convinient way to list the files available in one directory. Tab completion currently is the only way to obtain a list of the available files. Lets add a dir command to print a file list. Change-Id: Ic06a60e0a0ec54d9bb26e151453ceb49d69e3df7 Related: OS#4963 --- M pySim-shell.py M pySim/utils.py 2 files changed, 52 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim-shell.py b/pySim-shell.py index ce9630a..407204f 100755 --- a/pySim-shell.py +++ b/pySim-shell.py @@ -38,7 +38,7 @@ from pySim.commands import SimCardCommands from pySim.cards import card_detect, Card from pySim.utils import h2b, swap_nibbles, rpad, h2s -from pySim.utils import dec_st, init_reader, sanitize_pin_adm +from pySim.utils import dec_st, init_reader, sanitize_pin_adm, tabulate_str_list from pySim.card_handler import card_handler from pySim.filesystem import CardMF, RuntimeState @@ -112,6 +112,35 @@ (data, sw) = self._cmd.card._scc.verify_chv(opts.chv_nr, opts.code) self._cmd.poutput(data) + dir_parser = argparse.ArgumentParser() + dir_parser.add_argument('--fids', help='Show file identifiers', action='store_true') + dir_parser.add_argument('--names', help='Show file names', action='store_true') + dir_parser.add_argument('--apps', help='Show applications', action='store_true') + dir_parser.add_argument('--all', help='Show all selectable identifiers and names', action='store_true') + + @cmd2.with_argparser(dir_parser) + def do_dir(self, opts): + """Show a listing of files available in currently selected DF or MF""" + if opts.all: + flags = [] + elif opts.fids or opts.names or opts.apps: + flags = ['PARENT', 'SELF'] + if opts.fids: + flags += ['FIDS', 'AIDS'] + if opts.names: + flags += ['FNAMES', 'ANAMES'] + if opts.apps: + flags += ['ANAMES', 'AIDS'] + else: + flags = ['PARENT', 'SELF', 'FNAMES', 'ANAMES'] + selectables = list(self._cmd.rs.selected_file.get_selectable_names(flags = flags)) + directory_str = tabulate_str_list(selectables, width = 79, hspace = 2, lspace = 1, align_left = True) + path_list = self._cmd.rs.selected_file.fully_qualified_path(True) + self._cmd.poutput('/'.join(path_list)) + path_list = self._cmd.rs.selected_file.fully_qualified_path(False) + self._cmd.poutput('/'.join(path_list)) + self._cmd.poutput(directory_str) + self._cmd.poutput("%d files" % len(selectables)) diff --git a/pySim/utils.py b/pySim/utils.py index f452e1d..e1fb4c7 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -794,3 +794,25 @@ else: sw_masked = sw_masked + sw_lower[i] return sw_masked == pattern + +def tabulate_str_list(str_list, width = 79, hspace = 2, lspace = 1, align_left = True): + """Pretty print a list of strings into a tabulated form""" + if str_list == None: + return "" + if len(str_list) <= 0: + return "" + longest_str = max(str_list, key=len) + cellwith = len(longest_str) + hspace + cols = width // cellwith + rows = (len(str_list) - 1) // cols + 1 + table = [] + for i in iter(range(rows)): + str_list_row = str_list[i::rows] + if (align_left): + format_str_cell = '%%-%ds' + else: + format_str_cell = '%%%ds' + format_str_row = (format_str_cell % cellwith) * len(str_list_row) + format_str_row = (" " * lspace) + format_str_row + table.append(format_str_row % tuple(str_list_row)) + return '\n'.join(table) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23207 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ic06a60e0a0ec54d9bb26e151453ceb49d69e3df7 Gerrit-Change-Number: 23207 Gerrit-PatchSet: 6 Gerrit-Owner: laforge 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 Fri Mar 19 07:12:50 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 19 Mar 2021 07:12:50 +0000 Subject: Change in pysim[master]: pySim-shell: add functionality to walk through the fs recursively In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23208 ) Change subject: pySim-shell: add functionality to walk through the fs recursively ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23208 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: If93d24dfb80c83eda39303c936910fa1fa7f48f8 Gerrit-Change-Number: 23208 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: dexter Gerrit-Comment-Date: Fri, 19 Mar 2021 07:12:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 19 07:13:44 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 19 Mar 2021 07:13:44 +0000 Subject: Change in pysim[master]: pySim-shell: add filesystem exporter In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23210 ) Change subject: pySim-shell: add filesystem exporter ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23210 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I82f3ce92cd91a5ed3c4884d62f6b22e9589c8a49 Gerrit-Change-Number: 23210 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: dexter Gerrit-Comment-Date: Fri, 19 Mar 2021 07:13: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 Fri Mar 19 07:13:49 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 19 Mar 2021 07:13:49 +0000 Subject: Change in pysim[master]: pySim-shell: add functionality to walk through the fs recursively In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/23208 ) Change subject: pySim-shell: add functionality to walk through the fs recursively ...................................................................... pySim-shell: add functionality to walk through the fs recursively We might add functionality that may require to walk through the entire filesystem tree to perform an action to all files at once. Lets add a generic walker that gets a function pointer that can carray out a file specific action then. Also add another command that just displays the whole filesystem tree. Change-Id: If93d24dfb80c83eda39303c936910fa1fa7f48f8 Related: OS#4963 --- M pySim-shell.py 1 file changed, 25 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim-shell.py b/pySim-shell.py index 407204f..481bfc8 100755 --- a/pySim-shell.py +++ b/pySim-shell.py @@ -41,7 +41,7 @@ from pySim.utils import dec_st, init_reader, sanitize_pin_adm, tabulate_str_list from pySim.card_handler import card_handler -from pySim.filesystem import CardMF, RuntimeState +from pySim.filesystem import CardMF, RuntimeState, CardDF, CardADF from pySim.ts_51_011 import CardProfileSIM, DF_TELECOM, DF_GSM from pySim.ts_102_221 import CardProfileUICC from pySim.ts_31_102 import ADF_USIM @@ -142,6 +142,30 @@ self._cmd.poutput(directory_str) self._cmd.poutput("%d files" % len(selectables)) + def walk(self, indent = 0, action = None, context = None): + """Recursively walk through the file system, starting at the currently selected DF""" + files = self._cmd.rs.selected_file.get_selectables(flags = ['FNAMES', 'ANAMES']) + for f in files: + if not action: + output_str = " " * indent + str(f) + (" " * 250) + output_str = output_str[0:25] + if isinstance(files[f], CardADF): + output_str += " " + str(files[f].aid) + else: + output_str += " " + str(files[f].fid) + output_str += " " + str(files[f].desc) + self._cmd.poutput(output_str) + if isinstance(files[f], CardDF): + fcp_dec = self._cmd.rs.select(f, self._cmd) + self.walk(indent + 1, action, context) + fcp_dec = self._cmd.rs.select("..", self._cmd) + elif action: + action(f, context) + + def do_tree(self, opts): + """Display a filesystem-tree with all selectable files""" + self.walk() + @with_default_category('USIM Commands') -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23208 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: If93d24dfb80c83eda39303c936910fa1fa7f48f8 Gerrit-Change-Number: 23208 Gerrit-PatchSet: 5 Gerrit-Owner: laforge 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 Fri Mar 19 07:15:42 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 19 Mar 2021 07:15:42 +0000 Subject: Change in pysim[master]: pySim-shell: add basic filesystem check In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23403 ) Change subject: pySim-shell: add basic filesystem check ...................................................................... Patch Set 1: I like the idea, but I think we have to be careful to not raise wrong expectations. "check" can mean many things, e.g. in the context of a "filesystem check" like fsck, which it is not. It also doesn't check conformance with the 3GPP/ETSI specs or anything of that sort. Hence I'd like to ask you to rename it to something with a clear name, like check-selectable -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23403 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I9248e2fc067f822d9c4ccc4e48d378eea9ce3354 Gerrit-Change-Number: 23403 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Fri, 19 Mar 2021 07:15:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 19 07:16:10 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 19 Mar 2021 07:16:10 +0000 Subject: Change in docker-playground[master]: Add debian-buster-jenkins docker setup In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23381 ) Change subject: Add debian-buster-jenkins docker setup ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23381 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ibfdec6007357a90212dea7d39300f04ce8ffdf65 Gerrit-Change-Number: 23381 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 19 Mar 2021 07:16:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 19 07:16:12 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 19 Mar 2021 07:16:12 +0000 Subject: Change in docker-playground[master]: Add debian-buster-jenkins docker setup In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23381 ) Change subject: Add debian-buster-jenkins docker setup ...................................................................... Add debian-buster-jenkins docker setup It will be used by osmo-gsm-tester docker image right now, and at some point in the future jenkins nodes will also migrate to it. Change-Id: Ibfdec6007357a90212dea7d39300f04ce8ffdf65 --- A debian-buster-jenkins/Dockerfile A debian-buster-jenkins/Makefile 2 files changed, 187 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved osmith: Looks good to me, but someone else must approve pespin: Verified diff --git a/debian-buster-jenkins/Dockerfile b/debian-buster-jenkins/Dockerfile new file mode 100644 index 0000000..baa076a --- /dev/null +++ b/debian-buster-jenkins/Dockerfile @@ -0,0 +1,186 @@ +# Image used to run contrib/jenkins.sh scripts of most Osmocom projects. +# See master-builds.yml, gerrit-verifications.yml in osmo-ci.git. + +ARG DEBIAN_VERSION=buster +ARG REGISTRY=docker.io +FROM ${REGISTRY}/debian:${DEBIAN_VERSION} +# Arguments used after FROM must be specified again +ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" + +# Make "$DEBIAN_VERSION" available after FROM +# https://docs.docker.com/engine/reference/builder/#understand-how-arg-and-from-interact +ARG DEBIAN_VERSION + +# Install apt dependencies (keep in alphabetic order) +RUN \ + dpkg --add-architecture i386 && \ + DEBIAN_FRONTEND=noninteractive apt-get update && \ + DEBIAN_FRONTEND=noninteractive apt-get upgrade -y && \ + DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ + asciidoc \ + asciidoc-dblatex \ + autoconf \ + autoconf-archive \ + automake \ + bc \ + bison \ + bzip2 \ + cmake \ + coccinelle \ + cppcheck \ + dahdi-source \ + dblatex \ + dbus \ + debhelper \ + devscripts \ + dh-autoreconf \ + dh-systemd \ + docbook5-xml \ + doxygen \ + flex \ + g++ \ + gawk \ + gcc \ + gcc-arm-none-eabi \ + git \ + git-buildpackage \ + graphviz \ + htop \ + inkscape \ + lcov \ + libaio-dev \ + libasound2-dev \ + libboost-all-dev \ + libc-ares-dev \ + libcsv-dev \ + libdbd-sqlite3 \ + libdbi-dev \ + libffi-dev \ + libfftw3-dev \ + libgmp-dev \ + 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 \ + libpcsclite-dev \ + libreadline-dev \ + libsctp-dev \ + libsigsegv-dev \ + libsnmp-dev \ + libsofia-sip-ua-glib-dev \ + libsqlite3-dev \ + libssl-dev \ + libtalloc-dev \ + libtool \ + libusb-1.0-0-dev \ + libusb-dev \ + libxml2-utils \ + libzmq3-dev \ + locales \ + lua-socket \ + make \ + mscgen \ + ofono \ + openssh-client \ + osc \ + patchelf \ + pkg-config \ + python3 \ + python3-gi \ + python3-mako \ + python3-nwdiag \ + python3-pip \ + python3-pyflakes \ + python3-setuptools \ + python3-usb \ + python3-yaml \ + python2.7 \ + python-pip \ + python-setuptools \ + python-yaml \ + rsync \ + sdcc \ + sqlite3 \ + source-highlight \ + stow \ + sudo \ + systemd \ + tcpdump \ + texinfo \ + unzip \ + wget \ + xsltproc + +# Install pip dependencies (keep in alphabetic order) +RUN pip3 install \ + git+https://github.com/podshumok/python-smpplib.git \ + git+https://github.com/eriwen/lcov-to-cobertura-xml.git \ + pydbus \ + pysispm + +# match the outside user +RUN useradd --uid=1000 build +#RUN echo "build ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/build + +RUN mkdir /build +RUN chown build:build /build + +# Install osmo-python-tests for python2 (when building old tags again new releases) +ARG OSMO_PYTHON2_TESTS_COMMIT=fb4b813d4df62b7b2445bdced961eb1847267eed +ADD http://git.osmocom.org/python/osmo-python-tests/patch/?id=$OSMO_PYTHON2_TESTS_COMMIT /tmp/osmo-python-tests2-commit +RUN git clone https://git.osmocom.org/python/osmo-python-tests osmo-python-tests2 && \ + cd osmo-python-tests2 && \ + git checkout $OSMO_PYTHON2_TESTS_COMMIT && \ + python2 setup.py clean build install + +# Install osmo-python-tests for python3 +ADD http://git.osmocom.org/python/osmo-python-tests/patch /tmp/osmo-python-tests3-commit +RUN git clone https://git.osmocom.org/python/osmo-python-tests osmo-python-tests3 && \ + cd osmo-python-tests3 && \ + python3 setup.py clean build install + +# Install osmo-ci.git/scripts to /usr/local/bin +ADD http://git.osmocom.org/osmo-ci/patch /tmp/osmo-ci-commit +RUN git clone https://git.osmocom.org/osmo-ci osmo-ci && \ + cp -v $(find osmo-ci/scripts \ + -maxdepth 1 \ + -type f ) \ + /usr/local/bin + +# Install osmo-gsm-manuals to /opt/osmo-gsm-manuals +ADD http://git.osmocom.org/osmo-gsm-manuals/patch /tmp/osmo-gsm-manuals-commit +RUN git -C /opt clone https://git.osmocom.org/osmo-gsm-manuals + +# Set a UTF-8 locale +RUN sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && \ + dpkg-reconfigure --frontend=noninteractive locales && \ + update-locale LANG=en_US.UTF-8 +ENV LANG en_US.UTF-8 + +# Install packages from Osmocom OBS repositories: +# * osmo-remsim: libulfius +# * osmo-trx: liblimesuite-dev, libuhd-dev +ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/Debian_10/" +COPY .common/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 \ + liblimesuite-dev \ + libuhd-dev \ + libulfius-dev && \ + apt-get clean + +# osmo-python-tests' contrib/jenkins.sh writes to /usr/local as user +RUN chown -R build:build /usr/local diff --git a/debian-buster-jenkins/Makefile b/debian-buster-jenkins/Makefile new file mode 100644 index 0000000..8d0e10b --- /dev/null +++ b/debian-buster-jenkins/Makefile @@ -0,0 +1 @@ +include ../make/Makefile -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23381 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ibfdec6007357a90212dea7d39300f04ce8ffdf65 Gerrit-Change-Number: 23381 Gerrit-PatchSet: 2 Gerrit-Owner: pespin 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 Mar 19 07:16:54 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 19 Mar 2021 07:16:54 +0000 Subject: Change in libosmocore[master]: tlv: Fix length returned by t{l16, 16l}v_put In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23401 ) Change subject: tlv: Fix length returned by t{l16,16l}v_put ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23401 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I268a7e11fb5dce67ce1bd7974ab86c4d2bd002f7 Gerrit-Change-Number: 23401 Gerrit-PatchSet: 1 Gerrit-Owner: daniel Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 19 Mar 2021 07:16: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 Mar 19 07:16:57 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 19 Mar 2021 07:16:57 +0000 Subject: Change in libosmocore[master]: tlv: Fix length returned by t{l16, 16l}v_put In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23401 ) Change subject: tlv: Fix length returned by t{l16,16l}v_put ...................................................................... tlv: Fix length returned by t{l16,16l}v_put Every other function returns a pointer to the first byte after the tlv that was just written. tl16v seems to be a copy and paste error from tlv16 above and t16lv seems to count the 16-bit tag twice. The new tests verify that the return value of *_put(buf, tag, len, val) points to buf + *_GROSS_LEN(len). Change-Id: I268a7e11fb5dce67ce1bd7974ab86c4d2bd002f7 --- M include/osmocom/gsm/tlv.h M tests/tlv/tlv_test.c 2 files changed, 34 insertions(+), 2 deletions(-) Approvals: pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/gsm/tlv.h b/include/osmocom/gsm/tlv.h index dc61de1..7e6dfb5 100644 --- a/include/osmocom/gsm/tlv.h +++ b/include/osmocom/gsm/tlv.h @@ -148,7 +148,7 @@ *buf++ = len >> 8; *buf++ = len & 0xff; memcpy(buf, val, len); - return buf + len*2; + return buf + len; } /*! put (append) a TL16 field. */ @@ -168,7 +168,7 @@ *buf++ = tag & 0xff; *buf++ = len; memcpy(buf, val, len); - return buf + len + 2; + return buf + len; } /*! put (append) a TvLV field */ diff --git a/tests/tlv/tlv_test.c b/tests/tlv/tlv_test.c index 3b4f441..fdd15ab 100644 --- a/tests/tlv/tlv_test.c +++ b/tests/tlv/tlv_test.c @@ -423,6 +423,37 @@ OSMO_ASSERT(TLVP_VAL(&dec, 0x23) == NULL); } +static void test_tlv_lens() +{ + uint16_t buf_len; + uint8_t buf[512]; + uint8_t val[512] = { 0 }; + uint16_t x; + + + for (x = 0; x < 16; x++) { + buf_len = lv_put(buf, x, val) - buf; + OSMO_ASSERT(buf_len == LV_GROSS_LEN(x)); + buf_len = tlv_put(buf, 0x23, x, val) - buf; + OSMO_ASSERT(buf_len == TLV_GROSS_LEN(x)); + buf_len = tlv16_put(buf, 0x23, x, (uint16_t *) val) - buf; + OSMO_ASSERT(buf_len == TLV16_GROSS_LEN(x)); + buf_len = tl16v_put(buf, 0x23, x, val) - buf; + OSMO_ASSERT(buf_len == TL16V_GROSS_LEN(x)); + buf_len = t16lv_put(buf, 0x2342, x, val) - buf; + OSMO_ASSERT(buf_len == T16LV_GROSS_LEN(x)); + buf_len = tvlv_put(buf, 0x23, x, val) - buf; + OSMO_ASSERT(buf_len == TVLV_GROSS_LEN(x)); + } + + for (x = 250; x < 300; x++) { + buf_len = tl16v_put(buf, 0x23, x, val) - buf; + OSMO_ASSERT(buf_len == TL16V_GROSS_LEN(x)); + buf_len = tvlv_put(buf, 0x23, x, val) - buf; + OSMO_ASSERT(buf_len == TVLV_GROSS_LEN(x)); + } +} + int main(int argc, char **argv) { //osmo_init_logging2(ctx, &info); @@ -431,6 +462,7 @@ test_tlv_repeated_ie(); test_tlv_encoder(); test_tlv_parser_bounds(); + test_tlv_lens(); printf("Done.\n"); return EXIT_SUCCESS; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23401 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I268a7e11fb5dce67ce1bd7974ab86c4d2bd002f7 Gerrit-Change-Number: 23401 Gerrit-PatchSet: 1 Gerrit-Owner: daniel 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 Mar 19 07:17:32 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 19 Mar 2021 07:17:32 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: fix segfault on trx_phy_inst_open() failure In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/23399 ) Change subject: osmo-bts-trx: fix segfault on trx_phy_inst_open() failure ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/23399 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1f128813528f505fede04799e84456f6271058d0 Gerrit-Change-Number: 23399 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 19 Mar 2021 07:17: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 Mar 19 07:17:43 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 19 Mar 2021 07:17:43 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: fix: do not call trx_if_close() two times In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/23398 ) Change subject: osmo-bts-trx: fix: do not call trx_if_close() two times ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/23398 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ic672f865ab513043a58979471a254a59d44daa6d Gerrit-Change-Number: 23398 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 19 Mar 2021 07:17: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 Mar 19 07:17:45 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 19 Mar 2021 07:17:45 +0000 Subject: Change in osmo-bts[master]: osmo-bts-trx: fix: do not call trx_if_close() two times In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/23398 ) Change subject: osmo-bts-trx: fix: do not call trx_if_close() two times ...................................................................... osmo-bts-trx: fix: do not call trx_if_close() two times It's called by trx_phy_inst_open() if trx_if_open() fails. Change-Id: Ic672f865ab513043a58979471a254a59d44daa6d --- M src/osmo-bts-trx/trx_if.c 1 file changed, 2 insertions(+), 6 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/osmo-bts-trx/trx_if.c b/src/osmo-bts-trx/trx_if.c index 05167ca..c6701cb 100644 --- a/src/osmo-bts-trx/trx_if.c +++ b/src/osmo-bts-trx/trx_if.c @@ -1225,20 +1225,16 @@ plink->u.osmotrx.remote_ip, compute_port(pinst, 1, 0), trx_ctrl_read_cb); if (rc < 0) - goto err; + return rc; rc = trx_udp_open(l1h, &l1h->trx_ofd_data, plink->u.osmotrx.local_ip, compute_port(pinst, 0, 1), plink->u.osmotrx.remote_ip, compute_port(pinst, 1, 1), trx_data_read_cb); if (rc < 0) - goto err; + return rc; return 0; - -err: - trx_if_close(l1h); - return rc; } /*! close the control + burst data sockets for one phy_instance */ -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/23398 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: Ic672f865ab513043a58979471a254a59d44daa6d Gerrit-Change-Number: 23398 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 Fri Mar 19 07:18:39 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 19 Mar 2021 07:18:39 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts/osmo-bts.cfg: use 'gsmtap-sapi enable-all' In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23396 ) Change subject: bts/osmo-bts.cfg: use 'gsmtap-sapi enable-all' ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23396 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id1b523faf0d0ab6df00e46a40917c703b26d0e96 Gerrit-Change-Number: 23396 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 19 Mar 2021 07:18:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 19 07:18:50 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 19 Mar 2021 07:18:50 +0000 Subject: Change in osmo-ttcn3-hacks[master]: {bsc, bts}/osmo-bsc.cfg: remove deprecated parameters In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23394 ) Change subject: {bsc,bts}/osmo-bsc.cfg: remove deprecated parameters ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23394 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I39fe349a9c1011c8ba3160d4f5f3744d30e9fe24 Gerrit-Change-Number: 23394 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 19 Mar 2021 07:18:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 19 07:18:55 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 19 Mar 2021 07:18:55 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts/osmo-bts.cfg: remove deprecated 'uplink-power-target' In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23395 ) Change subject: bts/osmo-bts.cfg: remove deprecated 'uplink-power-target' ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23395 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ida5b1357d199e222b9ebd64e833ca21e6506a36c Gerrit-Change-Number: 23395 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 19 Mar 2021 07:18: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 Mar 19 07:19:11 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 19 Mar 2021 07:19:11 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts/osmo-bts.cfg: enable GSMTAP Um frame logging In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23397 ) Change subject: bts/osmo-bts.cfg: enable GSMTAP Um frame logging ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23397 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Icc5ffed6cda47c15ac703ef336ef502d2047cc2c Gerrit-Change-Number: 23397 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 19 Mar 2021 07:19: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 Fri Mar 19 07:19:19 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 19 Mar 2021 07:19:19 +0000 Subject: Change in osmo-ttcn3-hacks[master]: {bsc, bts}/osmo-bsc.cfg: remove deprecated parameters In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23394 ) Change subject: {bsc,bts}/osmo-bsc.cfg: remove deprecated parameters ...................................................................... {bsc,bts}/osmo-bsc.cfg: remove deprecated parameters Change-Id: I39fe349a9c1011c8ba3160d4f5f3744d30e9fe24 --- M bsc/osmo-bsc.cfg M bts/osmo-bsc.cfg 2 files changed, 0 insertions(+), 9 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/osmo-bsc.cfg b/bsc/osmo-bsc.cfg index 8a65e3c..6401474 100644 --- a/bsc/osmo-bsc.cfg +++ b/bsc/osmo-bsc.cfg @@ -382,10 +382,6 @@ timeslot 7 phys_chan_config PDCH msc 0 - no bsc-welcome-text - no bsc-msc-lost-text - no bsc-grace-text - type normal allow-emergency allow amr-config 12_2k forbidden amr-config 10_2k forbidden @@ -421,7 +417,6 @@ bsc mid-call-timeout 0 - no missing-msc-text ctrl bind 127.0.0.1 cbc diff --git a/bts/osmo-bsc.cfg b/bts/osmo-bsc.cfg index 1b8c8e6..1c8da8d 100644 --- a/bts/osmo-bsc.cfg +++ b/bts/osmo-bsc.cfg @@ -232,9 +232,6 @@ phys_chan_config SDCCH8 hopping enabled 0 msc 0 - no bsc-welcome-text - no bsc-msc-lost-text - no bsc-grace-text codec-list fr1 fr2 fr3 allow-emergency allow amr-config 12_2k forbidden @@ -247,4 +244,3 @@ amr-config 4_75k forbidden bsc mid-call-timeout 0 - no missing-msc-text -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23394 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I39fe349a9c1011c8ba3160d4f5f3744d30e9fe24 Gerrit-Change-Number: 23394 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 Fri Mar 19 07:19:20 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 19 Mar 2021 07:19:20 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts/osmo-bts.cfg: remove deprecated 'uplink-power-target' In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23395 ) Change subject: bts/osmo-bts.cfg: remove deprecated 'uplink-power-target' ...................................................................... bts/osmo-bts.cfg: remove deprecated 'uplink-power-target' Change-Id: Ida5b1357d199e222b9ebd64e833ca21e6506a36c --- M bts/osmo-bts.cfg 1 file changed, 0 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/bts/osmo-bts.cfg b/bts/osmo-bts.cfg index b7282da..a92273f 100644 --- a/bts/osmo-bts.cfg +++ b/bts/osmo-bts.cfg @@ -51,7 +51,6 @@ rtp jitter-buffer 100 paging queue-size 200 paging lifetime 0 - uplink-power-target -75 gsmtap-sapi rach gsmtap-sapi agch gsmtap-sapi bcch -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23395 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ida5b1357d199e222b9ebd64e833ca21e6506a36c Gerrit-Change-Number: 23395 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 Fri Mar 19 07:19:45 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 19 Mar 2021 07:19:45 +0000 Subject: Change in osmo-pcu[master]: sysmo: fix wrong FN jumps in rx RA.ind In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23388 ) Change subject: sysmo: fix wrong FN jumps in rx RA.ind ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23388 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I437f4f95d054aea96bec3b9343e495451020ff3c Gerrit-Change-Number: 23388 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Fri, 19 Mar 2021 07:19: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 Mar 19 07:20:16 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 19 Mar 2021 07:20:16 +0000 Subject: Change in osmo-pcu[master]: sysmo: fix wrong FN jumps in rx RA.ind In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23388 ) Change subject: sysmo: fix wrong FN jumps in rx RA.ind ...................................................................... sysmo: fix wrong FN jumps in rx RA.ind There's no need for setting the FN in RA.ind since we anyway already receive a DATA.ind beforehand. Furthermore, the applied delay of 5 in the call is not really used at all. Change-Id: I437f4f95d054aea96bec3b9343e495451020ff3c --- M src/bts.cpp M src/bts.h M src/osmo-bts-sysmo/sysmo_l1_if.c M src/pcu_l1_if.cpp M src/pcu_l1_if.h M tests/tbf/TbfTest.cpp 6 files changed, 4 insertions(+), 13 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/bts.cpp b/src/bts.cpp index c1cee17..dc4159c 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -305,7 +305,7 @@ return (fn + GSM_MAX_FN * 3 / 2 - to) % GSM_MAX_FN - GSM_MAX_FN/2; } -void bts_set_current_block_frame_number(struct gprs_rlcmac_bts *bts, int fn, unsigned max_delay) +void bts_set_current_block_frame_number(struct gprs_rlcmac_bts *bts, int fn) { int delay = 0; const int late_block_delay_thresh = 13; diff --git a/src/bts.h b/src/bts.h index 9336c89..ab8a973 100644 --- a/src/bts.h +++ b/src/bts.h @@ -276,7 +276,7 @@ void bts_snd_dl_ass(struct gprs_rlcmac_bts *bts, struct gprs_rlcmac_tbf *tbf, bool poll, uint16_t pgroup); void bts_set_current_frame_number(struct gprs_rlcmac_bts *bts, uint32_t frame_number); -void bts_set_current_block_frame_number(struct gprs_rlcmac_bts *bts, int frame_number, unsigned max_delay); +void bts_set_current_block_frame_number(struct gprs_rlcmac_bts *bts, int frame_number); static inline uint32_t bts_current_frame_number(const struct gprs_rlcmac_bts *bts) { return bts->cur_fn; diff --git a/src/osmo-bts-sysmo/sysmo_l1_if.c b/src/osmo-bts-sysmo/sysmo_l1_if.c index eb869e1..29656d7 100644 --- a/src/osmo-bts-sysmo/sysmo_l1_if.c +++ b/src/osmo-bts-sysmo/sysmo_l1_if.c @@ -240,8 +240,6 @@ struct gprs_rlcmac_bts *bts; bts = llist_first_entry_or_null(&the_pcu->bts_list, struct gprs_rlcmac_bts, list); - pcu_rx_ra_time(bts, ra_ind->u16Arfcn, ra_ind->u32Fn, ra_ind->u8Tn); - if (ra_ind->measParam.fLinkQuality < MIN_QUAL_RACH) return 0; diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp index f28c46f..0ccf642 100644 --- a/src/pcu_l1_if.cpp +++ b/src/pcu_l1_if.cpp @@ -273,13 +273,7 @@ void pcu_rx_block_time(struct gprs_rlcmac_bts *bts, uint16_t arfcn, uint32_t fn, uint8_t ts_no) { - bts_set_current_block_frame_number(bts, fn, 0); -} - -void pcu_rx_ra_time(struct gprs_rlcmac_bts *bts, uint16_t arfcn, uint32_t fn, uint8_t ts_no) -{ - /* access bursts may arrive some bursts earlier */ - bts_set_current_block_frame_number(bts, fn, 5); + bts_set_current_block_frame_number(bts, fn); } int pcu_rx_data_ind_pdtch(struct gprs_rlcmac_bts *bts, struct gprs_rlcmac_pdch *pdch, uint8_t *data, diff --git a/src/pcu_l1_if.h b/src/pcu_l1_if.h index aff23f5..246444c 100644 --- a/src/pcu_l1_if.h +++ b/src/pcu_l1_if.h @@ -177,7 +177,6 @@ uint8_t len, uint32_t fn, struct pcu_l1_meas *meas); void pcu_rx_block_time(struct gprs_rlcmac_bts *bts, uint16_t arfcn, uint32_t fn, uint8_t ts_no); -void pcu_rx_ra_time(struct gprs_rlcmac_bts *bts, uint16_t arfcn, uint32_t fn, uint8_t ts_no); uint16_t imsi2paging_group(const char* imsi); #ifdef __cplusplus } diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp index 2986132..46667b4 100644 --- a/tests/tbf/TbfTest.cpp +++ b/tests/tbf/TbfTest.cpp @@ -627,7 +627,7 @@ static void send_ul_mac_block_buf(struct gprs_rlcmac_bts *bts, struct gprs_rlcmac_pdch *pdch, unsigned fn, uint8_t *buf, int num_bytes) { - bts_set_current_block_frame_number(bts, fn, 0); + bts_set_current_block_frame_number(bts, fn); pdch->rcv_block(buf, num_bytes, fn, &meas); pdch_ulc_expire_fn(pdch->ulc, fn); } -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23388 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I437f4f95d054aea96bec3b9343e495451020ff3c Gerrit-Change-Number: 23388 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 19 07:20:16 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 19 Mar 2021 07:20:16 +0000 Subject: Change in osmo-pcu[master]: direct_phy: Fix condition dropping rx DATA.ind payload in in In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23400 ) Change subject: direct_phy: Fix condition dropping rx DATA.ind payload in in ...................................................................... direct_phy: Fix condition dropping rx DATA.ind payload in in Related: OS#5020 Fixes: 81c549d5be1f5e161d6231d3f2e5fb4aa3b0557c Change-Id: Iad8e50b856009439d78c596c5b54dc3e9836e1d4 --- M src/osmo-bts-litecell15/lc15_l1_if.c M src/osmo-bts-oc2g/oc2g_l1_if.c M src/osmo-bts-sysmo/sysmo_l1_if.c 3 files changed, 3 insertions(+), 3 deletions(-) Approvals: fixeria: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/osmo-bts-litecell15/lc15_l1_if.c b/src/osmo-bts-litecell15/lc15_l1_if.c index 99c82a1..13e0fc9 100644 --- a/src/osmo-bts-litecell15/lc15_l1_if.c +++ b/src/osmo-bts-litecell15/lc15_l1_if.c @@ -217,7 +217,7 @@ case GsmL1_Sapi_Pacch: /* PDTCH / PACCH frame handling */ if (data_ind->msgUnitParam.u8Size != 0 && - data_ind->msgUnitParam.u8Buffer[0] != GsmL1_PdtchPlType_Full) { + data_ind->msgUnitParam.u8Buffer[0] == GsmL1_PdtchPlType_Full) { data = data_ind->msgUnitParam.u8Buffer + 1; data_len = data_ind->msgUnitParam.u8Size - 1; if (data_len == 0) diff --git a/src/osmo-bts-oc2g/oc2g_l1_if.c b/src/osmo-bts-oc2g/oc2g_l1_if.c index 101bd56..a41e7af 100644 --- a/src/osmo-bts-oc2g/oc2g_l1_if.c +++ b/src/osmo-bts-oc2g/oc2g_l1_if.c @@ -222,7 +222,7 @@ case GsmL1_Sapi_Pacch: /* PDTCH / PACCH frame handling */ if (data_ind->msgUnitParam.u8Size != 0 && - data_ind->msgUnitParam.u8Buffer[0] != GsmL1_PdtchPlType_Full) { + data_ind->msgUnitParam.u8Buffer[0] == GsmL1_PdtchPlType_Full) { data = data_ind->msgUnitParam.u8Buffer + 1; data_len = data_ind->msgUnitParam.u8Size - 1; if (data_len == 0) diff --git a/src/osmo-bts-sysmo/sysmo_l1_if.c b/src/osmo-bts-sysmo/sysmo_l1_if.c index 29656d7..225f732 100644 --- a/src/osmo-bts-sysmo/sysmo_l1_if.c +++ b/src/osmo-bts-sysmo/sysmo_l1_if.c @@ -201,7 +201,7 @@ case GsmL1_Sapi_Pacch: /* PDTCH / PACCH frame handling */ if (data_ind->msgUnitParam.u8Size != 0 && - data_ind->msgUnitParam.u8Buffer[0] != GsmL1_PdtchPlType_Full) { + data_ind->msgUnitParam.u8Buffer[0] == GsmL1_PdtchPlType_Full) { data = data_ind->msgUnitParam.u8Buffer + 1; data_len = data_ind->msgUnitParam.u8Size - 1; if (data_len == 0) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23400 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iad8e50b856009439d78c596c5b54dc3e9836e1d4 Gerrit-Change-Number: 23400 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 19 11:20:26 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 19 Mar 2021 11:20:26 +0000 Subject: Change in pysim[master]: pySim-shell: add filesystem exporter In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23210 ) Change subject: pySim-shell: add filesystem exporter ...................................................................... Patch Set 5: I noticed this one has a conflict, it does not work without a patch that is later in my patchset. I have to reorder this first, so its not ready to merge yet. I inform when I resolved the problem. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23210 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I82f3ce92cd91a5ed3c4884d62f6b22e9589c8a49 Gerrit-Change-Number: 23210 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: dexter Gerrit-Comment-Date: Fri, 19 Mar 2021 11:20:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 19 12:11:21 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 19 Mar 2021 12:11:21 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts/osmo-bts.cfg: use 'gsmtap-sapi enable-all' In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23396 ) Change subject: bts/osmo-bts.cfg: use 'gsmtap-sapi enable-all' ...................................................................... bts/osmo-bts.cfg: use 'gsmtap-sapi enable-all' Keep PDTCH/PTCCH disabled, it will blow up PCAPs otherwise. Change-Id: Id1b523faf0d0ab6df00e46a40917c703b26d0e96 --- M bts/osmo-bts.cfg 1 file changed, 3 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/bts/osmo-bts.cfg b/bts/osmo-bts.cfg index a92273f..0db4305 100644 --- a/bts/osmo-bts.cfg +++ b/bts/osmo-bts.cfg @@ -51,14 +51,9 @@ rtp jitter-buffer 100 paging queue-size 200 paging lifetime 0 - gsmtap-sapi rach - gsmtap-sapi agch - gsmtap-sapi bcch - gsmtap-sapi pch - gsmtap-sapi sdcch - gsmtap-sapi sacch - gsmtap-sapi tch/f - gsmtap-sapi tch/h + gsmtap-sapi enable-all + no gsmtap-sapi pdtch + no gsmtap-sapi ptcch min-qual-rach 50 min-qual-norm -5 !settsc -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23396 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id1b523faf0d0ab6df00e46a40917c703b26d0e96 Gerrit-Change-Number: 23396 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 Fri Mar 19 12:11:22 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Fri, 19 Mar 2021 12:11:22 +0000 Subject: Change in osmo-ttcn3-hacks[master]: bts/osmo-bts.cfg: enable GSMTAP Um frame logging In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23397 ) Change subject: bts/osmo-bts.cfg: enable GSMTAP Um frame logging ...................................................................... bts/osmo-bts.cfg: enable GSMTAP Um frame logging Change-Id: Icc5ffed6cda47c15ac703ef336ef502d2047cc2c --- M bts/osmo-bts.cfg 1 file changed, 1 insertion(+), 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/bts/osmo-bts.cfg b/bts/osmo-bts.cfg index 0db4305..1c83db7 100644 --- a/bts/osmo-bts.cfg +++ b/bts/osmo-bts.cfg @@ -51,6 +51,7 @@ rtp jitter-buffer 100 paging queue-size 200 paging lifetime 0 + gsmtap-remote-host 127.0.0.1 gsmtap-sapi enable-all no gsmtap-sapi pdtch no gsmtap-sapi ptcch -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23397 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Icc5ffed6cda47c15ac703ef336ef502d2047cc2c Gerrit-Change-Number: 23397 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 Fri Mar 19 12:38:22 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 19 Mar 2021 12:38:22 +0000 Subject: Change in libosmocore[master]: utils: osmo-aka-verify to verify UMTS AKA (SIM side) References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/23404 ) Change subject: utils: osmo-aka-verify to verify UMTS AKA (SIM side) ...................................................................... utils: osmo-aka-verify to verify UMTS AKA (SIM side) This new utility implements the UMTS AKA procedures of the SIM side. It can be used to manually verify the correctness of authentication tuples received from the network. Change-Id: I497747fbf09f633dcd7c592bd9af7fca9a820645 --- M debian/libosmocore-utils.install M utils/Makefile.am A utils/osmo-aka-verify.c 3 files changed, 247 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/04/23404/1 diff --git a/debian/libosmocore-utils.install b/debian/libosmocore-utils.install index d23cc73..9501bec 100644 --- a/debian/libosmocore-utils.install +++ b/debian/libosmocore-utils.install @@ -1,3 +1,4 @@ usr/bin/osmo-arfcn usr/bin/osmo-auc-gen +usr/bin/osmo-aka-verify usr/bin/osmo-config-merge diff --git a/utils/Makefile.am b/utils/Makefile.am index 4e54a78..18f6ac7 100644 --- a/utils/Makefile.am +++ b/utils/Makefile.am @@ -8,12 +8,14 @@ if ENABLE_UTILITIES EXTRA_DIST = conv_gen.py conv_codes_gsm.py -bin_PROGRAMS += osmo-arfcn osmo-auc-gen osmo-config-merge +bin_PROGRAMS += osmo-arfcn osmo-auc-gen osmo-config-merge osmo-aka-verify osmo_arfcn_SOURCES = osmo-arfcn.c osmo_auc_gen_SOURCES = osmo-auc-gen.c +osmo_aka_verifg_SOURCES = osmo-aka-verify.c + osmo_config_merge_SOURCES = osmo-config-merge.c osmo_config_merge_LDADD = $(LDADD) $(TALLOC_LIBS) osmo_config_merge_CFLAGS = $(TALLOC_CFLAGS) diff --git a/utils/osmo-aka-verify.c b/utils/osmo-aka-verify.c new file mode 100644 index 0000000..5134d79 --- /dev/null +++ b/utils/osmo-aka-verify.c @@ -0,0 +1,243 @@ +#include +#include +#include +#include +#include + +#include +#include + +/* Utility program for implementing the SIM-side procedures of 3GPP Authentication and Key Agreement + * as specified by 3GPP TS 33.102 Section 6.3.3 + * + * (C) 2021 by Harald Welte + * Milenage library code used from libosmocore, which inherited it from wpa_supplicant + */ + +/* FIXME: libosmogsm implements those, but doesn't declare them */ +int milenage_f1(const uint8_t *opc, const uint8_t *k, const uint8_t *_rand, + const uint8_t *sqn, const uint8_t *amf, uint8_t *mac_a, uint8_t *mac_s); +int milenage_f2345(const uint8_t *opc, const uint8_t *k, const uint8_t *_rand, + uint8_t *res, uint8_t *ck, uint8_t *ik, uint8_t *ak, uint8_t *akstar); + +static int milenage_check(const uint8_t *opc, const uint8_t *k, const uint8_t *sqn, const uint8_t *_rand, + const uint8_t *autn, uint8_t *ik, uint8_t *ck, uint8_t *res, size_t *res_len, + uint8_t *auts) +{ + int i; + uint8_t xmac[8], ak[6], rx_sqn_bin[6]; + unsigned long long rx_sqn; + const uint8_t *amf; + + printf("=== Static SIM parameters:\n"); + printf("Milenage SIM K: %s\n", osmo_hexdump_nospc(k, 16)); + printf("Milenage SIM OPc: %s\n", osmo_hexdump_nospc(opc, 16)); + printf("Milenage SIM SQN: %s\n", osmo_hexdump_nospc(sqn, 6)); + printf("\n"); + + printf("=== Authentication Tuple as received from Network:\n"); + printf("Milenage Input RAND: %s\n", osmo_hexdump_nospc(_rand, 16)); + printf("Milenage Input AUTN: %s\n", osmo_hexdump_nospc(autn, 16)); + printf("\tAUTN(+)AK: %s\n", osmo_hexdump_nospc(autn, 6)); + printf("\tAMF: %s\n", osmo_hexdump_nospc(autn+6, 2)); + printf("\tMAC: %s\n", osmo_hexdump_nospc(autn+8, 8)); + printf("\n"); + + if (milenage_f2345(opc, k, _rand, res, ck, ik, ak, NULL)) + return -1; + + *res_len = 8; + printf("Milenage f2-Computed RES: %s\n", osmo_hexdump_nospc(res, *res_len)); + printf("Milenage f3-Computed CK: %s\n", osmo_hexdump_nospc(ck, 16)); + printf("Milenage f4-Computed IK: %s\n", osmo_hexdump_nospc(ik, 16)); + printf("Milenage f5-Computed AK: %s\n", osmo_hexdump_nospc(ak, 6)); + + /* AUTN = (SQN ^ AK) || AMF || MAC */ + for (i = 0; i < 6; i++) + rx_sqn_bin[i] = autn[i] ^ ak[i]; + rx_sqn = osmo_load64be_ext(rx_sqn_bin, 6); + printf("Milenage Computed SQN: %s (%llu)\n", osmo_hexdump_nospc(rx_sqn_bin, 6), rx_sqn); + + if (memcmp(rx_sqn_bin, sqn, 6) <= 0) { + printf("Milenage: RX-SQN differs from SIM SQN: Re-Sync!\n"); + uint8_t auts_amf[2] = { 0x00, 0x00 }; /* TS 33.102 v7.0.0, 6.3.3 */ + if (milenage_f2345(opc, k, _rand, NULL, NULL, NULL, NULL, ak)) + return -1; + printf("Milenage Computed AK*: %s", osmo_hexdump_nospc(ak, 6)); + for (i = 0; i < 6; i++) + auts[i] = sqn[i] ^ ak[i]; + if (milenage_f1(opc, k, _rand, sqn, auts_amf, NULL, auts + 6)) + return -1; + printf("Milenage AUTS: %s\n", osmo_hexdump_nospc(auts, 14)); + return -2; + } + + amf = autn + 6; + if (milenage_f1(opc, k, _rand, rx_sqn_bin, amf, xmac, NULL)) + return -1; + + printf("Milenage f1-Computed XMAC: %s\n", osmo_hexdump_nospc(xmac, 8)); + + if (memcmp(xmac, autn + 8, 8) != 0) { + fprintf(stderr, "Milenage: MAC mismatch!\n"); + return -1; + } + + return 0; +} + + +static void help() +{ + printf( "Static SIM card parameters:\n" + "-k --key\tSpecify Ki / K\n" + "-o --opc\tSpecify OPC\n" + "-O --op\tSpecify OP\n" + "-f --amf\tSpecify AMF\n" + "-s --sqn\tSpecify SQN\n" + "\n" + "Authentication Tuple by network:\n" + //"-i --ind\tSpecify IND slot for new SQN after AUTS\n" + //"-l --ind-len\tSpecify IND bit length (default=5)\n" + "-r --rand\tSpecify RAND random value\n" + "-A --autn\tSpecify AUTN authentication nonce\n" + ); +} + +static uint8_t g_k[16]; +static uint8_t g_opc[16]; +static uint8_t g_rand[16]; +static uint8_t g_autn[16]; +static uint8_t g_amf[16]; +static unsigned long long g_sqn; + + +static int handle_options(int argc, char **argv) +{ + int rc, option_index; + bool rand_is_set = false; + bool autn_is_set = false; + bool sqn_is_set = false; + bool k_is_set = false; + bool opc_is_set = false; + bool amf_is_set = false; + bool opc_is_op = false; + + while (1) { + int c; + static struct option long_options[] = { + { "key", 1, 0, 'k' }, + { "opc", 1, 0, 'o' }, + { "op", 1, 0, 'O' }, + { "amf", 1, 0, 'f' }, + { "sqn", 1, 0, 's' }, + { "rand", 1, 0, 'r' }, + { "autn", 1, 0, 'A' }, + { "help", 0, 0, 'h' }, + { 0, 0, 0, 0 } + }; + + rc = 0; + + c = getopt_long(argc, argv, "k:o:O:f:s:r:A:h", long_options, &option_index); + + if (c == -1) + break; + + switch (c) { + case 'k': + rc = osmo_hexparse(optarg, g_k, sizeof(g_k)); + k_is_set = true; + break; + case 'o': + rc = osmo_hexparse(optarg, g_opc, sizeof(g_opc)); + opc_is_op = false; + opc_is_set = true; + break; + case 'O': + rc = osmo_hexparse(optarg, g_opc, sizeof(g_opc)); + opc_is_op = true; + opc_is_set = true; + break; + case 'A': + rc = osmo_hexparse(optarg, g_autn, sizeof(g_autn)); + autn_is_set = true; + break; + case 'f': + rc = osmo_hexparse(optarg, g_amf, sizeof(g_amf)); + amf_is_set = true; + break; + case 's': + g_sqn = strtoull(optarg, 0, 10); + sqn_is_set = true; + break; + case 'r': + rc = osmo_hexparse(optarg, g_rand, sizeof(g_rand)); + rand_is_set = true; + break; + case 'h': + help(); + exit(0); + default: + help(); + exit(1); + } + + if (rc < 0) { + help(); + fprintf(stderr, "\nError parsing argument of option `%c'\n", c); + exit(2); + } + } + + if (!k_is_set || !opc_is_set || !autn_is_set || !rand_is_set) { + fprintf(stderr, "Error: K, OP[c], AUTN and RAND are mandatory arguments\n"); + fprintf(stderr, "\n"); + help(); + exit(2); + } + + if (!sqn_is_set) + printf("Warning: You may want to specify SQN\n"); + + if (!amf_is_set) + printf("Warning: You may want to specify AMF\n"); + + if (opc_is_op) { + /* FIXME */ + } + + return 0; +} + + + +int main(int argc, char **argv) +{ + printf("osmo-aka-check (C) 2021 by Harald Welte\n"); + printf("This is FREE SOFTWARE with ABSOLUTELY NO WARRANTY\n\n"); + + handle_options(argc, argv); + + printf("\n"); + + uint8_t ck[16]; + uint8_t ik[16]; + uint8_t res[16]; + size_t res_len; + uint8_t auts[14]; + uint8_t sqn_bin[6]; + int rc; + + osmo_store64be_ext(g_sqn, sqn_bin, 6); + + rc = milenage_check(g_opc, g_k, sqn_bin, g_rand, g_autn, ck, ik, res, &res_len, auts); + + if (rc < 0) { + fprintf(stderr, "Authentication FAILED!\n"); + exit(1); + } else { + printf("Authentication SUCCEEDED\n"); + exit(0); + } +} -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23404 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I497747fbf09f633dcd7c592bd9af7fca9a820645 Gerrit-Change-Number: 23404 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 Mar 19 12:38:52 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 19 Mar 2021 12:38:52 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Support for SGSN-side IP-SNS References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/23405 ) Change subject: gprs_ns2_sns: Support for SGSN-side IP-SNS ...................................................................... gprs_ns2_sns: Support for SGSN-side IP-SNS This adds the core functionality of implementing the SGSN-side of IP-SNS inside a new FSM. The SGSN-side FSM shares states, events, structures and code with the BSS-side whenever possible. Note that this commit does not yet use the SGSN-side FSM, that is part of subsequent commits. Closes: OS#3373 Change-Id: I780413ffacd9cb71f64cc38057aae781eeb59b2b --- M src/gb/gprs_ns2_internal.h M src/gb/gprs_ns2_sns.c 2 files changed, 277 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/05/23405/1 diff --git a/src/gb/gprs_ns2_internal.h b/src/gb/gprs_ns2_internal.h index 688a587..9b138e5 100644 --- a/src/gb/gprs_ns2_internal.h +++ b/src/gb/gprs_ns2_internal.h @@ -364,6 +364,7 @@ int ns2_sns_rx(struct gprs_ns2_vc *nsvc, struct msgb *msg, struct tlv_parsed *tp); struct osmo_fsm_inst *ns2_sns_bss_fsm_alloc(struct gprs_ns2_nse *nse, const char *id); +struct osmo_fsm_inst *ns2_sns_sgsn_fsm_alloc(struct gprs_ns2_nse *nse, const char *id); void ns2_sns_replace_nsvc(struct gprs_ns2_vc *nsvc); void ns2_sns_notify_alive(struct gprs_ns2_nse *nse, struct gprs_ns2_vc *nsvc, bool alive); void ns2_sns_update_weights(struct gprs_ns2_vc_bind *bind); diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index 1df8fc0..9be0909 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -61,12 +61,19 @@ IPv6, }; +enum ns2_sns_role { + GPRS_SNS_ROLE_BSS, + GPRS_SNS_ROLE_SGSN, +}; + enum gprs_sns_bss_state { GPRS_SNS_ST_UNCONFIGURED, GPRS_SNS_ST_SIZE, /*!< SNS-SIZE procedure ongoing */ GPRS_SNS_ST_CONFIG_BSS, /*!< SNS-CONFIG procedure (BSS->SGSN) ongoing */ GPRS_SNS_ST_CONFIG_SGSN, /*!< SNS-CONFIG procedure (SGSN->BSS) ongoing */ GPRS_SNS_ST_CONFIGURED, + GPRS_SNS_ST_SGSN_WAIT_CONFIG, /* !< SGSN role: Wait for CONFIG from BSS */ + GPRS_SNS_ST_SGSN_WAIT_CONFIG_ACK, /* !< SGSN role: Wait for CONFIG-ACK from BSS */ }; enum gprs_sns_event { @@ -118,6 +125,7 @@ struct gprs_ns2_nse *nse; enum ns2_sns_type ip; + enum ns2_sns_role role; /* local role: BSS or SGSN */ /* holds the list of initial SNS endpoints */ struct llist_head sns_endpoints; @@ -738,7 +746,7 @@ struct gprs_ns_ie_ip6_elem *ip6_elems; struct gprs_ns2_vc_bind *bind; struct ns2_sns_bind *sbind; - struct osmo_sockaddr *remote; + const struct osmo_sockaddr *remote; const struct osmo_sockaddr *sa; struct osmo_sockaddr local; int count; @@ -746,10 +754,12 @@ ns2_clear_ipv46_entries(gss); /* no initial available */ - if (!gss->initial) - return; - - remote = &gss->initial->saddr; + if (gss->role == GPRS_SNS_ROLE_BSS) { + if (!gss->initial) + return; + remote = &gss->initial->saddr; + } else + remote = gprs_ns2_ip_vc_remote(gss->sns_nsvc); /* count how many bindings are available (only UDP binds) */ count = llist_count(&gss->binds); @@ -1526,6 +1536,7 @@ fi->priv = gss; gss->nse = nse; + gss->role = GPRS_SNS_ROLE_BSS; INIT_LLIST_HEAD(&gss->sns_endpoints); INIT_LLIST_HEAD(&gss->binds); @@ -1545,6 +1556,7 @@ struct gprs_ns2_nse *nse = nsvc->nse; struct gprs_ns_hdr *nsh = (struct gprs_ns_hdr *) msg->l2h; uint16_t nsei = nsvc->nse->nsei; + struct ns2_sns_state *gss; struct osmo_fsm_inst *fi; if (!nse->bss_sns_fi) { @@ -1555,6 +1567,9 @@ /* FIXME: how to resolve SNS FSM Instance by NSEI (SGSN)? */ fi = nse->bss_sns_fi; + gss = (struct ns2_sns_state *) fi->priv; + if (!gss->sns_nsvc) + gss->sns_nsvc = nsvc; LOGPFSML(fi, LOGL_DEBUG, "NSEI=%u Rx SNS PDU type %s\n", nsei, get_value_string(gprs_ns_pdu_strings, nsh->pdu_type)); @@ -1920,8 +1935,264 @@ /* TODO: implement weights after binds per sns implemented */ } + + + +/*********************************************************************** + * SGSN role + ***********************************************************************/ + +static void ns2_sns_st_sgsn_unconfigured(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; + OSMO_ASSERT(gss->role == GPRS_SNS_ROLE_SGSN); + /* do nothing; Rx SNS-SIZE handled in ns2_sns_st_all_action_sgsn() */ +} + +/* We're waiting for inbound SNS-CONFIG from the BSS */ +static void ns2_sns_st_sgsn_wait_config(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; + struct gprs_ns2_nse *nse = nse_inst_from_fi(fi); + struct gprs_ns2_inst *nsi = nse->nsi; + uint8_t cause; + int rc; + + OSMO_ASSERT(gss->role == GPRS_SNS_ROLE_SGSN); + + switch (event) { + case GPRS_SNS_EV_RX_CONFIG: + case GPRS_SNS_EV_RX_CONFIG_END: + rc = ns_sns_append_remote_eps(fi, data); + if (rc < 0) { + cause = -rc; + ns2_tx_sns_config_ack(gss->sns_nsvc, &cause); + osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_UNCONFIGURED, 0, 0); + return; + } + /* only change state if last CONFIG was received */ + if (event == GPRS_SNS_EV_RX_CONFIG_END) { + /* ensure sum of data weight / sig weights is > 0 */ + if (nss_weight_sum_data(gss) == 0 || nss_weight_sum_sig(gss) == 0) { + cause = NS_CAUSE_INVAL_WEIGH; + ns2_tx_sns_config_ack(gss->sns_nsvc, &cause); + osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_UNCONFIGURED, 0, 0); + break; + } + ns2_tx_sns_config_ack(gss->sns_nsvc, NULL); + osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_SGSN_WAIT_CONFIG_ACK, nsi->timeout[NS_TOUT_TSNS_PROV], 3); + } else { + /* just send CONFIG-ACK */ + ns2_tx_sns_config_ack(gss->sns_nsvc, NULL); + osmo_timer_schedule(&fi->timer, nse->nsi->timeout[NS_TOUT_TSNS_PROV], 0); + } + break; + } +} + +static void ns2_sns_st_sgsn_wait_config_ack_onenter(struct osmo_fsm_inst *fi, uint32_t old_state) +{ + struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; + OSMO_ASSERT(gss->role == GPRS_SNS_ROLE_SGSN); + + ns2_sns_compute_local_ep_from_binds(fi); + /* transmit SGSN-oriented SNS-CONFIG */ + ns2_tx_sns_config(gss->sns_nsvc, true, gss->ip4_local, gss->num_ip4_local, + gss->ip6_local, gss->num_ip6_local); +} + +/* We're waiting for SNS-CONFIG-ACK from the BSS (in response to our outbound SNS-CONFIG) */ +static void ns2_sns_st_sgsn_wait_config_ack(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; + struct gprs_ns2_nse *nse = nse_inst_from_fi(fi); + struct tlv_parsed *tp = NULL; + + OSMO_ASSERT(gss->role == GPRS_SNS_ROLE_SGSN); + + switch (event) { + case GPRS_SNS_EV_RX_CONFIG_ACK: + tp = data; + if (TLVP_VAL_MINLEN(tp, NS_IE_CAUSE, 1)) { + LOGPFSML(fi, LOGL_ERROR, "Rx SNS-CONFIG-ACK with cause %s\n", + gprs_ns2_cause_str(*TLVP_VAL(tp, NS_IE_CAUSE))); + osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_UNCONFIGURED, 0, 0); + break; + } + /* we currently only send one SNS-CONFIG with END FLAG */ + if (true) { + create_missing_nsvcs(fi); + /* start the test procedure on ALL NSVCs! */ + gprs_ns2_start_alive_all_nsvcs(nse); + osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_CONFIGURED, ns_sns_configured_timeout(fi), 4); + } + break; + } +} + +/* SGSN-side SNS state machine */ +static const struct osmo_fsm_state ns2_sns_sgsn_states[] = { + [GPRS_SNS_ST_UNCONFIGURED] = { + .in_event_mask = 0, /* handled by all_state_action */ + .out_state_mask = S(GPRS_SNS_ST_UNCONFIGURED) | + S(GPRS_SNS_ST_SGSN_WAIT_CONFIG), + .name = "UNCONFIGURED", + .action = ns2_sns_st_sgsn_unconfigured, + }, + [GPRS_SNS_ST_SGSN_WAIT_CONFIG] = { + .in_event_mask = S(GPRS_SNS_EV_RX_CONFIG) | + S(GPRS_SNS_EV_RX_CONFIG_END), + .out_state_mask = S(GPRS_SNS_ST_UNCONFIGURED) | + S(GPRS_SNS_ST_SGSN_WAIT_CONFIG) | + S(GPRS_SNS_ST_SGSN_WAIT_CONFIG_ACK), + .name = "SGSN_WAIT_CONFIG", + .action = ns2_sns_st_sgsn_wait_config, + //.onenter = ns2_sns_st_sgsn_wait_config_onenter, + }, + [GPRS_SNS_ST_SGSN_WAIT_CONFIG_ACK] = { + .in_event_mask = S(GPRS_SNS_EV_RX_CONFIG_ACK), + .out_state_mask = S(GPRS_SNS_ST_UNCONFIGURED) | + S(GPRS_SNS_ST_SGSN_WAIT_CONFIG_ACK) | + S(GPRS_SNS_ST_CONFIGURED), + .name = "SGSN_WAIT_CONFIG_ACK", + .action = ns2_sns_st_sgsn_wait_config_ack, + .onenter = ns2_sns_st_sgsn_wait_config_ack_onenter, + }, + [GPRS_SNS_ST_CONFIGURED] = { + .in_event_mask = S(GPRS_SNS_EV_RX_ADD) | + S(GPRS_SNS_EV_RX_DELETE) | + S(GPRS_SNS_EV_RX_CHANGE_WEIGHT) | + S(GPRS_SNS_EV_REQ_NSVC_ALIVE), + .out_state_mask = S(GPRS_SNS_ST_UNCONFIGURED), + .name = "CONFIGURED", + /* shared with BSS side; once configured there's no difference */ + .action = ns2_sns_st_configured, + .onenter = ns2_sns_st_configured_onenter, + }, +}; + +static int ns2_sns_fsm_sgsn_timer_cb(struct osmo_fsm_inst *fi) +{ + struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; + struct gprs_ns2_nse *nse = nse_inst_from_fi(fi); + struct gprs_ns2_inst *nsi = nse->nsi; + + gss->N++; + switch (fi->T) { + case 3: + if (gss->N >= nsi->timeout[NS_TOUT_TSNS_CONFIG_RETRIES]) { + LOGPFSML(fi, LOGL_ERROR, "NSE %d: SGSN Config retries failed. Giving up.\n", nse->nsei); + osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_UNCONFIGURED, nsi->timeout[NS_TOUT_TSNS_PROV], 3); + } else { + osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_SGSN_WAIT_CONFIG_ACK, nsi->timeout[NS_TOUT_TSNS_PROV], 3); + } + break; + case 4: + LOGPFSML(fi, LOGL_ERROR, "NSE %d: Config succeeded but no NS-VC came online.\n", nse->nsei); + break; + } + return 0; +} + + +/* allstate-action for SGSN role */ +static void ns2_sns_st_all_action_sgsn(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; + struct tlv_parsed *tp = NULL; + uint8_t flag; + + OSMO_ASSERT(gss->role == GPRS_SNS_ROLE_SGSN); + + switch (event) { + case GPRS_SNS_EV_RX_SIZE: + tp = (struct tlv_parsed *) data; + if (!TLVP_PRES_LEN(tp, NS_IE_RESET_FLAG, 1)) { + uint8_t cause = NS_CAUSE_MISSING_ESSENT_IE; + ns2_tx_sns_size_ack(gss->sns_nsvc, &cause); + break; + } + flag = *TLVP_VAL(tp, NS_IE_RESET_FLAG); + if (flag & 1) { + struct gprs_ns2_vc *nsvc, *nsvc2; + /* clear all state */ + gss->N = 0; + ns2_clear_ipv46_entries(gss); + llist_for_each_entry_safe(nsvc, nsvc2, &gss->nse->nsvc, list) { + if (nsvc == gss->sns_nsvc) { + /* keep the NSVC we need for SNS, but unconfigure it */ + nsvc->sig_weight = 0; + nsvc->data_weight = 0; + ns2_vc_force_unconfigured(nsvc); + } else { + /* free all other NS-VCs */ + gprs_ns2_free_nsvc(nsvc); + } + } + } + /* send SIZE_ACK */ + ns2_tx_sns_size_ack(gss->sns_nsvc, NULL); + /* only wait for SNS-CONFIG in case of Reset flag */ + if (flag & 1) + osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_SGSN_WAIT_CONFIG, 0, 0); + break; + default: + ns2_sns_st_all_action(fi, event, data); + break; + } +} + +static struct osmo_fsm gprs_ns2_sns_sgsn_fsm = { + .name = "GPRS-NS2-SNS-SGSN", + .states = ns2_sns_sgsn_states, + .num_states = ARRAY_SIZE(ns2_sns_sgsn_states), + .allstate_event_mask = S(GPRS_SNS_EV_RX_SIZE) | + S(GPRS_SNS_EV_REQ_NO_NSVC) | + S(GPRS_SNS_EV_REQ_ADD_BIND) | + S(GPRS_SNS_EV_REQ_DELETE_BIND), + .allstate_action = ns2_sns_st_all_action_sgsn, + .cleanup = NULL, + .timer_cb = ns2_sns_fsm_sgsn_timer_cb, + .event_names = gprs_sns_event_names, + .pre_term = NULL, + .log_subsys = DLNS, +}; + +/*! Allocate an IP-SNS FSM for the SGSN side. + * \param[in] nse NS Entity in which the FSM runs + * \param[in] id string identifier + * \returns FSM instance on success; NULL on error */ +struct osmo_fsm_inst *ns2_sns_sgsn_fsm_alloc(struct gprs_ns2_nse *nse, const char *id) +{ + struct osmo_fsm_inst *fi; + struct ns2_sns_state *gss; + + fi = osmo_fsm_inst_alloc(&gprs_ns2_sns_sgsn_fsm, nse, NULL, LOGL_DEBUG, id); + if (!fi) + return fi; + + gss = talloc_zero(fi, struct ns2_sns_state); + if (!gss) + goto err; + + fi->priv = gss; + gss->nse = nse; + gss->role = GPRS_SNS_ROLE_SGSN; + INIT_LLIST_HEAD(&gss->sns_endpoints); + INIT_LLIST_HEAD(&gss->binds); + + return fi; +err: + osmo_fsm_inst_term(fi, OSMO_FSM_TERM_ERROR, NULL); + return NULL; +} + + + + /* initialize osmo_ctx on main tread */ static __attribute__((constructor)) void on_dso_load_ctx(void) { OSMO_ASSERT(osmo_fsm_register(&gprs_ns2_sns_bss_fsm) == 0); + OSMO_ASSERT(osmo_fsm_register(&gprs_ns2_sns_sgsn_fsm) == 0); } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23405 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I780413ffacd9cb71f64cc38057aae781eeb59b2b Gerrit-Change-Number: 23405 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 Mar 19 12:38:53 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 19 Mar 2021 12:38:53 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Add some more OSMO_ASSERT about BSS role References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/23406 ) Change subject: gprs_ns2_sns: Add some more OSMO_ASSERT about BSS role ...................................................................... gprs_ns2_sns: Add some more OSMO_ASSERT about BSS role Some functions are only to be called when operating in BSS role, let's enforce that by sprinkling some OSMO_ASSERT() around. Related: OS#3373 Change-Id: I20d1bd8df62e0bb84696e291756e2d96acf49246 --- M src/gb/gprs_ns2_sns.c 1 file changed, 17 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/06/23406/1 diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index 9be0909..564ffc7 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -713,15 +713,20 @@ static void ns2_sns_st_unconfigured(struct osmo_fsm_inst *fi, uint32_t event, void *data) { + struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; + OSMO_ASSERT(gss->role == GPRS_SNS_ROLE_BSS); /* empty state - SNS Select will start by ns2_sns_st_all_action() */ } static void ns2_sns_st_size(struct osmo_fsm_inst *fi, uint32_t event, void *data) { + struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; struct gprs_ns2_nse *nse = nse_inst_from_fi(fi); struct gprs_ns2_inst *nsi = nse->nsi; struct tlv_parsed *tp = NULL; + OSMO_ASSERT(gss->role == GPRS_SNS_ROLE_BSS); + switch (event) { case GPRS_SNS_EV_RX_SIZE_ACK: tp = data; @@ -849,6 +854,8 @@ { struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; + OSMO_ASSERT(gss->role == GPRS_SNS_ROLE_BSS); + /* on a generic failure, the timer callback will recover */ if (old_state != GPRS_SNS_ST_UNCONFIGURED) ns2_prim_status_ind(gss->nse, NULL, 0, GPRS_NS2_AFF_CAUSE_SNS_FAILURE); @@ -890,8 +897,11 @@ static void ns2_sns_st_config_bss(struct osmo_fsm_inst *fi, uint32_t event, void *data) { - struct tlv_parsed *tp = NULL; + struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; struct gprs_ns2_nse *nse = nse_inst_from_fi(fi); + struct tlv_parsed *tp = NULL; + + OSMO_ASSERT(gss->role == GPRS_SNS_ROLE_BSS); switch (event) { case GPRS_SNS_EV_RX_CONFIG_ACK: @@ -913,6 +923,8 @@ { struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; + OSMO_ASSERT(gss->role == GPRS_SNS_ROLE_BSS); + if (old_state != GPRS_SNS_ST_CONFIG_BSS) gss->N = 0; @@ -998,6 +1010,8 @@ { struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; + OSMO_ASSERT(gss->role == GPRS_SNS_ROLE_BSS); + if (old_state != GPRS_SNS_ST_CONFIG_SGSN) gss->N = 0; } @@ -1009,6 +1023,8 @@ uint8_t cause; int rc; + OSMO_ASSERT(gss->role == GPRS_SNS_ROLE_BSS); + switch (event) { case GPRS_SNS_EV_RX_CONFIG_END: case GPRS_SNS_EV_RX_CONFIG: -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23406 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I20d1bd8df62e0bb84696e291756e2d96acf49246 Gerrit-Change-Number: 23406 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 Mar 19 12:38:54 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 19 Mar 2021 12:38:54 +0000 Subject: Change in libosmocore[master]: gprs_ns2: Introduce gprs_ns2_create_nse2() for SGSN side SNS References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/23407 ) Change subject: gprs_ns2: Introduce gprs_ns2_create_nse2() for SGSN side SNS ...................................................................... gprs_ns2: Introduce gprs_ns2_create_nse2() for SGSN side SNS gprs_ns2_create_nse() doesn't allow the caller to specify if the BSS or the SGSN role of IP-SNS shall be implemented. Add gprs_ns2_create_nse2() to fix that. Change-Id: I6db8c36f7c69b592d7d0fbcf323804f7e9912be2 Related: OS#3373 --- M include/osmocom/gprs/gprs_ns2.h M src/gb/gprs_ns2.c M src/gb/gprs_ns2_internal.h M src/gb/libosmogb.map 4 files changed, 26 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/07/23407/1 diff --git a/include/osmocom/gprs/gprs_ns2.h b/include/osmocom/gprs/gprs_ns2.h index 56a9b4f..be59a67 100644 --- a/include/osmocom/gprs/gprs_ns2.h +++ b/include/osmocom/gprs/gprs_ns2.h @@ -158,6 +158,9 @@ struct gprs_ns2_nse *gprs_ns2_create_nse(struct gprs_ns2_inst *nsi, uint16_t nsei, enum gprs_ns2_ll linklayer, enum gprs_ns2_dialect dialect); +struct gprs_ns2_nse *gprs_ns2_create_nse2(struct gprs_ns2_inst *nsi, uint16_t nsei, + enum gprs_ns2_ll linklayer, + enum gprs_ns2_dialect dialect, bool local_sgsn_role); uint16_t gprs_ns2_nse_nsei(struct gprs_ns2_nse *nse); void gprs_ns2_free_nse(struct gprs_ns2_nse *nse); void gprs_ns2_free_nses(struct gprs_ns2_inst *nsi); diff --git a/src/gb/gprs_ns2.c b/src/gb/gprs_ns2.c index 93b7c3a..5b91ab8 100644 --- a/src/gb/gprs_ns2.c +++ b/src/gb/gprs_ns2.c @@ -776,9 +776,11 @@ /*! Create a NS Entity within given NS instance. * \param[in] nsi NS instance in which to create NS Entity * \param[in] nsei NS Entity Identifier of to-be-created NSE + * \param[in] local_sgsn_role Does local side implement SGSN role? * \returns newly-allocated NS-E in successful case; NULL on error */ -struct gprs_ns2_nse *gprs_ns2_create_nse(struct gprs_ns2_inst *nsi, uint16_t nsei, - enum gprs_ns2_ll linklayer, enum gprs_ns2_dialect dialect) +struct gprs_ns2_nse *gprs_ns2_create_nse2(struct gprs_ns2_inst *nsi, uint16_t nsei, + enum gprs_ns2_ll linklayer, enum gprs_ns2_dialect dialect, + bool local_sgsn_role) { struct gprs_ns2_nse *nse; @@ -792,6 +794,7 @@ if (!nse) return NULL; nse->dialect = GPRS_NS2_DIALECT_UNDEF; + nse->sgsn_role = local_sgsn_role; if (ns2_nse_set_dialect(nse, dialect) < 0) { talloc_free(nse); @@ -820,7 +823,10 @@ case GPRS_NS2_DIALECT_UNDEF: if (dialect == GPRS_NS2_DIALECT_SNS) { snprintf(sns, sizeof(sns), "NSE%05u-SNS", nse->nsei); - nse->bss_sns_fi = ns2_sns_bss_fsm_alloc(nse, sns); + if (nse->sgsn_role) + nse->bss_sns_fi = ns2_sns_sgsn_fsm_alloc(nse, sns); + else + nse->bss_sns_fi = ns2_sns_bss_fsm_alloc(nse, sns); if (!nse->bss_sns_fi) return -1; } @@ -841,6 +847,16 @@ return 0; } +/*! Create a NS Entity within given NS instance. + * \param[in] nsi NS instance in which to create NS Entity + * \param[in] nsei NS Entity Identifier of to-be-created NSE + * \returns newly-allocated NS-E in successful case; NULL on error */ +struct gprs_ns2_nse *gprs_ns2_create_nse(struct gprs_ns2_inst *nsi, uint16_t nsei, + enum gprs_ns2_ll linklayer, enum gprs_ns2_dialect dialect) +{ + return gprs_ns2_create_nse2(nsi, nsei, linklayer, dialect, false); +} + /*! Return the NSEI * \param[in] nse NS Entity * \return the nsei. diff --git a/src/gb/gprs_ns2_internal.h b/src/gb/gprs_ns2_internal.h index 9b138e5..f0dd9bf 100644 --- a/src/gb/gprs_ns2_internal.h +++ b/src/gb/gprs_ns2_internal.h @@ -182,6 +182,9 @@ /*! MTU of a NS PDU. This is the lowest MTU of all NSVCs */ uint16_t mtu; + + /*! are we implementing the SGSN role? */ + bool sgsn_role; }; /*! Structure representing a single NS-VC */ diff --git a/src/gb/libosmogb.map b/src/gb/libosmogb.map index 588fabf..fc8ab45 100644 --- a/src/gb/libosmogb.map +++ b/src/gb/libosmogb.map @@ -139,6 +139,7 @@ gprs_ns2_bind_by_name; gprs_ns2_cause_strs; gprs_ns2_create_nse; +gprs_ns2_create_nse2; gprs_ns2_find_vc_by_sockaddr; gprs_ns2_free; gprs_ns2_free_bind; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23407 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6db8c36f7c69b592d7d0fbcf323804f7e9912be2 Gerrit-Change-Number: 23407 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 Mar 19 12:38:54 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 19 Mar 2021 12:38:54 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vty: Allow creating NSE in sgsn-role References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/23408 ) Change subject: gprs_ns2_vty: Allow creating NSE in sgsn-role ...................................................................... gprs_ns2_vty: Allow creating NSE in sgsn-role Change-Id: I694fa6c80d04d13cb1afaae93a9ae43b6dfd2207 Related: OS#3373 --- M src/gb/gprs_ns2_vty.c M tests/gb/gprs_ns2_vty.vty 2 files changed, 8 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/08/23408/1 diff --git a/src/gb/gprs_ns2_vty.c b/src/gb/gprs_ns2_vty.c index a769ad1..3b006f1 100644 --- a/src/gb/gprs_ns2_vty.c +++ b/src/gb/gprs_ns2_vty.c @@ -270,15 +270,19 @@ } DEFUN(cfg_ns_nsei, cfg_ns_nsei_cmd, - "nse <0-65535>", + "nse <0-65535> [sgsn-role]", "Persistent NS Entity\n" "NS Entity ID (NSEI)\n" + "Create NSE in SGSN role (default: BSS)\n" ) { struct gprs_ns2_nse *nse; struct vty_nse *vnse; uint16_t nsei = atoi(argv[0]); + bool sgsn_role = false; bool free_vnse = false; + if (argc > 1 && !strcmp(argv[1], "sgsn-role")) + sgsn_role = true; vnse = vty_nse_by_nsei(nsei); if (!vnse) { @@ -292,7 +296,8 @@ nse = gprs_ns2_nse_by_nsei(vty_nsi, nsei); if (!nse) { - nse = gprs_ns2_create_nse(vty_nsi, nsei, GPRS_NS2_LL_UNDEF, GPRS_NS2_DIALECT_UNDEF); + nse = gprs_ns2_create_nse2(vty_nsi, nsei, GPRS_NS2_LL_UNDEF, GPRS_NS2_DIALECT_UNDEF, + sgsn_role); if (!nse) { vty_out(vty, "Failed to create NSE!%s", VTY_NEWLINE); goto err; diff --git a/tests/gb/gprs_ns2_vty.vty b/tests/gb/gprs_ns2_vty.vty index f0253fc..952dc37 100644 --- a/tests/gb/gprs_ns2_vty.vty +++ b/tests/gb/gprs_ns2_vty.vty @@ -18,7 +18,7 @@ OsmoNSdummy(config-ns)# list ... timer (tns-block|tns-block-retries|tns-reset|tns-reset-retries|tns-test|tns-alive|tns-alive-retries|tsns-prov|tsns-size-retries|tsns-config-retries) <0-65535> - nse <0-65535> + nse <0-65535> [sgsn-role] no nse <0-65535> bind (fr|udp) ID no bind ID -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23408 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I694fa6c80d04d13cb1afaae93a9ae43b6dfd2207 Gerrit-Change-Number: 23408 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 Mar 19 12:38:55 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 19 Mar 2021 12:38:55 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Don't clear remote IP endpoints in SGSN role References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/23409 ) Change subject: gprs_ns2_sns: Don't clear remote IP endpoints in SGSN role ...................................................................... gprs_ns2_sns: Don't clear remote IP endpoints in SGSN role In BSS role, we can clear local + remote endpoints when sending SNS-CONFIG, as we are first. In SGSN role, we must not clear remote endpoints when sending SNS-CONFIG, as we are last, and the BSS has just previously told us its IP endpoints in the BSS-originated SNS-CONFIG. Change-Id: I58549707ac5a3a0aae5f9348ed76f16c09ad3e46 Related: OS#3373 --- M src/gb/gprs_ns2_sns.c 1 file changed, 15 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/09/23409/1 diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index 564ffc7..e60664b 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -297,16 +297,21 @@ osmo_fsm_inst_dispatch(fi, GPRS_SNS_EV_REQ_NO_NSVC, NULL); } -static void ns2_clear_ipv46_entries(struct ns2_sns_state *gss) +static void ns2_clear_ipv46_entries_local(struct ns2_sns_state *gss) { TALLOC_FREE(gss->ip4_local); - TALLOC_FREE(gss->ip4_remote); TALLOC_FREE(gss->ip6_local); - TALLOC_FREE(gss->ip6_remote); gss->num_ip4_local = 0; - gss->num_ip4_remote = 0; gss->num_ip6_local = 0; +} + +static void ns2_clear_ipv46_entries_remote(struct ns2_sns_state *gss) +{ + TALLOC_FREE(gss->ip4_remote); + TALLOC_FREE(gss->ip6_remote); + + gss->num_ip4_remote = 0; gss->num_ip6_remote = 0; } @@ -756,7 +761,7 @@ struct osmo_sockaddr local; int count; - ns2_clear_ipv46_entries(gss); + ns2_clear_ipv46_entries_local(gss); /* no initial available */ if (gss->role == GPRS_SNS_ROLE_BSS) { @@ -1489,7 +1494,8 @@ * gprs_ns2_free_nsvcs() will trigger NO_NSVC, prevent this from triggering a reselection */ gss->reselection_running = true; gprs_ns2_free_nsvcs(nse); - ns2_clear_ipv46_entries(gss); + ns2_clear_ipv46_entries_local(gss); + ns2_clear_ipv46_entries_remote(gss); /* Choose the next sns endpoint. */ if (llist_empty(&gss->sns_endpoints) || llist_empty(&gss->binds)) { @@ -2132,8 +2138,10 @@ if (flag & 1) { struct gprs_ns2_vc *nsvc, *nsvc2; /* clear all state */ + osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_UNCONFIGURED, 0, 0); gss->N = 0; - ns2_clear_ipv46_entries(gss); + ns2_clear_ipv46_entries_local(gss); + ns2_clear_ipv46_entries_remote(gss); llist_for_each_entry_safe(nsvc, nsvc2, &gss->nse->nsvc, list) { if (nsvc == gss->sns_nsvc) { /* keep the NSVC we need for SNS, but unconfigure it */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23409 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I58549707ac5a3a0aae5f9348ed76f16c09ad3e46 Gerrit-Change-Number: 23409 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 Mar 19 12:38:55 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 19 Mar 2021 12:38:55 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Verify mandatory IE presence in incoming SNS-SIZE References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/23410 ) Change subject: gprs_ns2_sns: Verify mandatory IE presence in incoming SNS-SIZE ...................................................................... gprs_ns2_sns: Verify mandatory IE presence in incoming SNS-SIZE Change-Id: I40571e313c3332d8cead8fb4aa9768d0d083804d --- M src/gb/gprs_ns2_sns.c 1 file changed, 11 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/10/23410/1 diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index e60664b..c2c5b5e 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -2123,14 +2123,23 @@ struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; struct tlv_parsed *tp = NULL; uint8_t flag; + uint8_t cause; OSMO_ASSERT(gss->role == GPRS_SNS_ROLE_SGSN); switch (event) { case GPRS_SNS_EV_RX_SIZE: tp = (struct tlv_parsed *) data; - if (!TLVP_PRES_LEN(tp, NS_IE_RESET_FLAG, 1)) { - uint8_t cause = NS_CAUSE_MISSING_ESSENT_IE; + /* check for mandatory / conditional IEs */ + if (!TLVP_PRES_LEN(tp, NS_IE_RESET_FLAG, 1) || + !TLVP_PRES_LEN(tp, NS_IE_MAX_NR_NSVC, 2)) { + cause = NS_CAUSE_MISSING_ESSENT_IE; + ns2_tx_sns_size_ack(gss->sns_nsvc, &cause); + break; + } + if (!TLVP_PRES_LEN(tp, NS_IE_IPv4_EP_NR, 2) && + !TLVP_PRES_LEN(tp, NS_IE_IPv6_EP_NR, 2)) { + cause = NS_CAUSE_MISSING_ESSENT_IE; ns2_tx_sns_size_ack(gss->sns_nsvc, &cause); break; } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23410 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I40571e313c3332d8cead8fb4aa9768d0d083804d Gerrit-Change-Number: 23410 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 Mar 19 12:38:55 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 19 Mar 2021 12:38:55 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Assume the SGSN has a very large number of max. NSVC References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/23411 ) Change subject: gprs_ns2_sns: Assume the SGSN has a very large number of max. NSVC ...................................................................... gprs_ns2_sns: Assume the SGSN has a very large number of max. NSVC It is the SGSN's job to ensure sufficient NS-VC capacity. As the SGSN doesn't tell the BSS, we should not make assumptions of only 4. Change-Id: I41f493643cf51d7853959ab9c7bbc0ffae4e1f4b --- M src/gb/gprs_ns2_sns.c 1 file changed, 3 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/11/23411/1 diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index c2c5b5e..49768c1 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -811,7 +811,6 @@ } gss->num_ip4_local = count; - gss->num_max_ip4_remote = 4; gss->num_max_nsvcs = OSMO_MAX(gss->num_max_ip4_remote * gss->num_ip4_local, 8); break; case IPv6: @@ -848,7 +847,6 @@ ip6_elems++; } gss->num_ip6_local = count; - gss->num_max_ip6_remote = 4; gss->num_max_nsvcs = OSMO_MAX(gss->num_max_ip6_remote * gss->num_ip6_local, 8); break; } @@ -1559,6 +1557,9 @@ fi->priv = gss; gss->nse = nse; gss->role = GPRS_SNS_ROLE_BSS; + /* The SGSN doesn't tell the BSS, so we assume there's always sufficient */ + gss->num_max_ip4_remote = 8192; + gss->num_max_ip6_remote = 8192; INIT_LLIST_HEAD(&gss->sns_endpoints); INIT_LLIST_HEAD(&gss->binds); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23411 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I41f493643cf51d7853959ab9c7bbc0ffae4e1f4b Gerrit-Change-Number: 23411 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 Mar 19 12:38:56 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 19 Mar 2021 12:38:56 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Implement checks during processing of inbound SNS-SIZE References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/23412 ) Change subject: gprs_ns2_sns: Implement checks during processing of inbound SNS-SIZE ...................................................................... gprs_ns2_sns: Implement checks during processing of inbound SNS-SIZE As per 3GPP TS 48.016 section 6.2.4.1, we need to perform some consistency checks during the SNS-SIZE procedure. Let's implement them. Change-Id: I1638f04ba45fef3ba0b237948dff6022267141fb Related: OS#3373 --- M src/gb/gprs_ns2_sns.c 1 file changed, 59 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/12/23412/1 diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index 49768c1..2fbfb54 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -749,6 +749,31 @@ } } +static int ns2_sns_count_num_local_ep(struct osmo_fsm_inst *fi, enum ns2_sns_type stype) +{ + struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; + struct ns2_sns_bind *sbind; + int count = 0; + + llist_for_each_entry(sbind, &gss->binds, list) { + const struct osmo_sockaddr *sa = gprs_ns2_ip_bind_sockaddr(sbind->bind); + if (!sa) + continue; + + switch (stype) { + case IPv4: + if (sa->u.sas.ss_family == AF_INET) + count++; + break; + case IPv6: + if (sa->u.sas.ss_family == AF_INET6) + count++; + break; + } + } + return count; +} + static void ns2_sns_compute_local_ep_from_binds(struct osmo_fsm_inst *fi) { struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; @@ -2018,7 +2043,6 @@ struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; OSMO_ASSERT(gss->role == GPRS_SNS_ROLE_SGSN); - ns2_sns_compute_local_ep_from_binds(fi); /* transmit SGSN-oriented SNS-CONFIG */ ns2_tx_sns_config(gss->sns_nsvc, true, gss->ip4_local, gss->num_ip4_local, gss->ip6_local, gss->num_ip6_local); @@ -2123,6 +2147,7 @@ { struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; struct tlv_parsed *tp = NULL; + size_t num_local_eps, num_remote_eps; uint8_t flag; uint8_t cause; @@ -2144,6 +2169,39 @@ ns2_tx_sns_size_ack(gss->sns_nsvc, &cause); break; } + if (TLVP_PRES_LEN(tp, NS_IE_IPv4_EP_NR, 2)) + gss->num_max_ip4_remote = tlvp_val16be(tp, NS_IE_IPv4_EP_NR); + if (TLVP_PRES_LEN(tp, NS_IE_IPv6_EP_NR, 2)) + gss->num_max_ip6_remote = tlvp_val16be(tp, NS_IE_IPv6_EP_NR); + /* decide if we go for IPv4 or IPv6 */ + if (gss->num_max_ip6_remote && ns2_sns_count_num_local_ep(fi, IPv6)) { + gss->ip = IPv6; + num_local_eps = gss->num_ip6_local; + num_remote_eps = gss->num_max_ip4_remote; + } else if (gss->num_max_ip4_remote && ns2_sns_count_num_local_ep(fi, IPv4)) { + gss->ip = IPv4; + num_local_eps = gss->num_ip4_local; + num_remote_eps = gss->num_max_ip4_remote; + } else { + if (gss->num_ip4_local && !gss->num_max_ip4_remote) + cause = NS_CAUSE_INVAL_NR_IPv4_EP; + else + cause = NS_CAUSE_INVAL_NR_IPv6_EP; + ns2_tx_sns_size_ack(gss->sns_nsvc, &cause); + break; + } + ns2_sns_compute_local_ep_from_binds(fi); + /* ensure number of NS-VCs is sufficient for full mesh */ + gss->num_max_nsvcs = tlvp_val16be(tp, NS_IE_MAX_NR_NSVC); + if (gss->num_max_nsvcs < num_remote_eps * num_local_eps) { + LOGPFSML(fi, LOGL_ERROR, "%zu local and %zu remote EPs, requires %zu NS-VC, " + "but BSS supports only %zu maximum NS-VCs\n", num_local_eps, + num_remote_eps, num_local_eps * num_remote_eps, gss->num_max_nsvcs); + cause = NS_CAUSE_INVAL_NR_NS_VC; + ns2_tx_sns_size_ack(gss->sns_nsvc, &cause); + break; + } + /* perform state reset, if requested */ flag = *TLVP_VAL(tp, NS_IE_RESET_FLAG); if (flag & 1) { struct gprs_ns2_vc *nsvc, *nsvc2; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23412 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1638f04ba45fef3ba0b237948dff6022267141fb Gerrit-Change-Number: 23412 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 Mar 19 12:38:56 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 19 Mar 2021 12:38:56 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vty: Permit VTY configuration of bind->accept_sns References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/23413 ) Change subject: gprs_ns2_vty: Permit VTY configuration of bind->accept_sns ...................................................................... gprs_ns2_vty: Permit VTY configuration of bind->accept_sns Related: OS#3373 Change-Id: Ifb52cd245b10bf47d42d57d167d6d6c02b12ee12 --- M src/gb/gprs_ns2_vty.c 1 file changed, 49 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/13/23413/1 diff --git a/src/gb/gprs_ns2_vty.c b/src/gb/gprs_ns2_vty.c index 3b006f1..47a888f 100644 --- a/src/gb/gprs_ns2_vty.c +++ b/src/gb/gprs_ns2_vty.c @@ -462,6 +462,8 @@ } if (vbind->accept_ipaccess) vty_out(vty, " accept-ipaccess%s", VTY_NEWLINE); + if (vbind->accept_sns) + vty_out(vty, " accept-dynamic-ip-sns%s", VTY_NEWLINE); if (vbind->dscp) vty_out(vty, " dscp %u%s", vbind->dscp, VTY_NEWLINE); vty_out(vty, " ip-sns signalling-weight %u data-weight %u%s", @@ -757,6 +759,51 @@ return CMD_SUCCESS; } +DEFUN(cfg_ns_bind_accept_sns, cfg_ns_bind_accept_sns_cmd, + "accept-dynamic-ip-sns", + "Allow to create dynamic NS Entities by IP-SNS PDUs\n" + ) +{ + struct vty_bind *vbind = vty->index; + struct gprs_ns2_vc_bind *bind; + + if (vbind->ll != GPRS_NS2_LL_UDP) { + vty_out(vty, "accept-dynamic-ip-sns can be only used with UDP bind%s", + VTY_NEWLINE); + return CMD_WARNING; + } + + vbind->accept_sns = true; + bind = gprs_ns2_bind_by_name(vty_nsi, vbind->name); + if (bind) + bind->accept_sns = true; + + return CMD_SUCCESS; +} + +DEFUN(cfg_no_ns_bind_accept_sns, cfg_no_ns_bind_accept_sns_cmd, + "no accept-dynamic-ip-sns", + NO_STR + "Disable dynamic creation of NS Entities by IP-SNS PDUs\n" + ) +{ + struct vty_bind *vbind = vty->index; + struct gprs_ns2_vc_bind *bind; + + if (vbind->ll != GPRS_NS2_LL_UDP) { + vty_out(vty, "no accept-dynamic-ip-sns can be only used with UDP bind%s", + VTY_NEWLINE); + return CMD_WARNING; + } + + vbind->accept_sns = false; + bind = gprs_ns2_bind_by_name(vty_nsi, vbind->name); + if (bind) + bind->accept_sns = false; + + return CMD_SUCCESS; +} + DEFUN(cfg_ns_bind_ip_sns_weight, cfg_ns_bind_ip_sns_weight_cmd, "ip-sns signalling-weight <0-254> data-weight <0-254>", "IP SNS\n" @@ -2061,7 +2108,8 @@ install_lib_element(L_NS_BIND_NODE, &cfg_no_ns_bind_ipaccess_cmd); install_lib_element(L_NS_BIND_NODE, &cfg_ns_bind_fr_cmd); install_lib_element(L_NS_BIND_NODE, &cfg_no_ns_bind_fr_cmd); - /* TODO: accept-ip-sns when SGSN SNS has been implemented */ + install_lib_element(L_NS_BIND_NODE, &cfg_ns_bind_accept_sns_cmd); + install_lib_element(L_NS_BIND_NODE, &cfg_no_ns_bind_accept_sns_cmd); install_node(&ns_nse_node, NULL); install_lib_element(L_NS_NSE_NODE, &cfg_ns_nse_nsvc_fr_cmd); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23413 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ifb52cd245b10bf47d42d57d167d6d6c02b12ee12 Gerrit-Change-Number: 23413 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 Mar 19 12:38:56 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 19 Mar 2021 12:38:56 +0000 Subject: Change in libosmocore[master]: gprs_ns2: dynamic NS-VC + NSE creation for IP-SNS in SGSN role References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/23414 ) Change subject: gprs_ns2: dynamic NS-VC + NSE creation for IP-SNS in SGSN role ...................................................................... gprs_ns2: dynamic NS-VC + NSE creation for IP-SNS in SGSN role Related: OS#3373 Change-Id: Ie10bb3531fae2e651da04f965d964de6eb1e7a97 --- M src/gb/gprs_ns2.c 1 file changed, 63 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/14/23414/1 diff --git a/src/gb/gprs_ns2.c b/src/gb/gprs_ns2.c index 5b91ab8..91be542 100644 --- a/src/gb/gprs_ns2.c +++ b/src/gb/gprs_ns2.c @@ -907,6 +907,55 @@ return rc; } +static enum ns2_cs ns2_create_vc_sns(struct gprs_ns2_vc_bind *bind, + const struct osmo_sockaddr *remote, + struct gprs_ns2_vc **success, uint16_t nsei) +{ + struct gprs_ns2_vc *nsvc; + struct gprs_ns2_nse *nse; + + /* look-up NS-VC or create it */ + nsvc = gprs_ns2_nsvc_by_sockaddr_bind(bind, remote); + /* ns2_create_vc() is only called if no NS-VC could be found */ + OSMO_ASSERT(!nsvc); + + nse = gprs_ns2_nse_by_nsei(bind->nsi, nsei); + if (!nse) { + if (!bind->accept_sns) { + struct osmo_sockaddr_str remote_str; + osmo_sockaddr_str_from_sockaddr(&remote_str, &remote->u.sas); + /* no dynamic creation of IP-SNS NSE permitted */ + LOGP(DLNS, LOGL_ERROR, "[%s]:%u: Dynamic creation of NSE(%05u) via IP-SNS not " + "permitted. Check your config.\n", remote_str.ip, remote_str.port, nsei); + return NS2_CS_ERROR; + } + nse = gprs_ns2_create_nse2(bind->nsi, nsei, bind->ll, GPRS_NS2_DIALECT_SNS, true); + if (!nse) { + LOGP(DLNS, LOGL_ERROR, "Failed to create NSE(%05u)\n", nsei); + return NS2_CS_ERROR; + } + gprs_ns2_sns_add_bind(nse, bind); + /* TODO: add (configured) list of other binds */ + } else { + /* nsei already known */ + if (nse->ll != bind->ll) { + LOGNSE(nse, LOGL_ERROR, "Received NS-RESET with wrong linklayer(%s)" + " for already known NSE(%s)\n", gprs_ns2_lltype_str(bind->ll), + gprs_ns2_lltype_str(nse->ll)); + return NS2_CS_SKIPPED; + } + } + + nsvc = ns2_ip_bind_connect(bind, nse, remote); + if (!nsvc) + return NS2_CS_SKIPPED; + + nsvc->nsvci_is_valid = false; + + *success = nsvc; + + return NS2_CS_CREATED; +} /*! Create a new NS-VC based on a [received] message. Depending on the bind it might create a NSE. * \param[in] bind the bind through which msg was received @@ -945,6 +994,20 @@ tlv = ns2_tlv_parse(&tp, nsh->data, msgb_l2len(msg) - sizeof(*nsh), 0, 0); + if (bind->ll == GPRS_NS2_LL_UDP && nsh->pdu_type == SNS_PDUT_SIZE && tlv >= 0) { + uint16_t nsei; + + if (!TLVP_PRES_LEN(&tp, NS_IE_NSEI, 2)) { + rc = reject_status_msg(msg, &tp, reject, NS_CAUSE_MISSING_ESSENT_IE); + if (rc < 0) + LOGP(DLNS, LOGL_ERROR, "Failed to generate reject message (%d)\n", rc); + return NS2_CS_REJECTED; + } + nsei = tlvp_val16be(&tp, NS_IE_NSEI); + /* Create NS-VC, and if required, even NSE dynamically */ + return ns2_create_vc_sns(bind, remote, success, nsei); + } + switch (nsh->pdu_type) { case NS_PDUT_STATUS: /* Do not respond, see 3GPP TS 08.16, 7.5.1 */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23414 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie10bb3531fae2e651da04f965d964de6eb1e7a97 Gerrit-Change-Number: 23414 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 Mar 19 12:38:56 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 19 Mar 2021 12:38:56 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Allow VTY configuration of default binds for IP-SNS References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/23415 ) Change subject: gprs_ns2_sns: Allow VTY configuration of default binds for IP-SNS ...................................................................... gprs_ns2_sns: Allow VTY configuration of default binds for IP-SNS In the IP-SNS SGSN role, we need to inform the BSS of our local IP endpoints. For statically configured NSEs, those are explicitly stated on a per-NSE level. For dynamically created IP-SNS NSEs, we are adding a new VTY command, using which the administrator can configure which binds should be advertised as IP endpoints to such BSS. Change-Id: Id01c29b07e9203c9305f2129361a4f5aaefa2c52 Related: OS#3373 --- M src/gb/gprs_ns2.c M src/gb/gprs_ns2_internal.h M src/gb/gprs_ns2_vty.c 3 files changed, 106 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/15/23415/1 diff --git a/src/gb/gprs_ns2.c b/src/gb/gprs_ns2.c index 91be542..7fe3956 100644 --- a/src/gb/gprs_ns2.c +++ b/src/gb/gprs_ns2.c @@ -934,8 +934,9 @@ LOGP(DLNS, LOGL_ERROR, "Failed to create NSE(%05u)\n", nsei); return NS2_CS_ERROR; } - gprs_ns2_sns_add_bind(nse, bind); - /* TODO: add (configured) list of other binds */ + /* add configured list of default binds; if that fails, use only current bind */ + if (!ns2_sns_add_sns_default_binds(nse)) + gprs_ns2_sns_add_bind(nse, bind); } else { /* nsei already known */ if (nse->ll != bind->ll) { diff --git a/src/gb/gprs_ns2_internal.h b/src/gb/gprs_ns2_internal.h index f0dd9bf..9788652 100644 --- a/src/gb/gprs_ns2_internal.h +++ b/src/gb/gprs_ns2_internal.h @@ -388,3 +388,6 @@ enum gprs_ns2_vc_mode ns2_dialect_to_vc_mode(enum gprs_ns2_dialect dialect); int ns2_count_transfer_cap(struct gprs_ns2_nse *nse, uint16_t bvci); + +/* vty */ +int ns2_sns_add_sns_default_binds(struct gprs_ns2_nse *nse); diff --git a/src/gb/gprs_ns2_vty.c b/src/gb/gprs_ns2_vty.c index 47a888f..c910ea7 100644 --- a/src/gb/gprs_ns2_vty.c +++ b/src/gb/gprs_ns2_vty.c @@ -3,6 +3,7 @@ /* (C) 2020 by sysmocom - s.f.m.c. GmbH * Author: Alexander Couzens + * (C) 2021 by Harald Welte * * All Rights Reserved * @@ -59,6 +60,7 @@ static struct osmo_fr_network *vty_fr_network = NULL; static struct llist_head binds; static struct llist_head nses; +static struct llist_head ip_sns_default_binds; struct vty_bind { struct llist_head list; @@ -552,6 +554,7 @@ static int config_write_ns_nse(struct vty *vty) { struct gprs_ns2_nse *nse; + struct vty_nse_bind *vbind; llist_for_each_entry(nse, &vty_nsi->nse, list) { if (!nse->persistent) @@ -560,6 +563,10 @@ _config_write_ns_nse(vty, nse); } + llist_for_each_entry(vbind, &ip_sns_default_binds, list) { + vty_out(vty, " ip-sns-default bind %s%s", vbind->vbind->name, VTY_NEWLINE); + } + return 0; } @@ -1583,6 +1590,95 @@ return CMD_SUCCESS; } +/* add all IP-SNS default binds to the given NSE */ +int ns2_sns_add_sns_default_binds(struct gprs_ns2_nse *nse) +{ + struct vty_nse_bind *vnse_bind; + int count = 0; + + OSMO_ASSERT(nse->ll == GPRS_NS2_LL_UDP); + OSMO_ASSERT(nse->dialect == GPRS_NS2_DIALECT_SNS); + + llist_for_each_entry(vnse_bind, &ip_sns_default_binds, list) { + struct gprs_ns2_vc_bind *bind = gprs_ns2_bind_by_name(vty_nsi, vnse_bind->vbind->name); + /* the bind might not yet created because "listen" is missing. */ + if (!bind) + continue; + gprs_ns2_sns_add_bind(nse, bind); + count++; + } + return count; +} + +DEFUN(cfg_ns_ip_sns_default_bind, cfg_ns_ip_sns_default_bind_cmd, + "ip-sns-default bind ID", + "Defaults for dynamically created NSEs created by IP-SNS in SGSN role\n" + "IP SNS binds\n" + "Name of NS udp bind whose IP endpoint will be used as IP-SNS local endpoint. Can be given multiple times.\n") +{ + struct vty_bind *vbind; + struct vty_nse_bind *vnse_bind; + const char *name = argv[0]; + + vbind = vty_bind_by_name(name); + if (!vbind) { + vty_out(vty, "Can not find the given bind '%s'%s", name, VTY_NEWLINE); + return CMD_WARNING; + } + + if (vbind->ll != GPRS_NS2_LL_UDP) { + vty_out(vty, "ip-sns-default bind can only be used with UDP bind%s", VTY_NEWLINE); + return CMD_WARNING; + } + + llist_for_each_entry(vnse_bind, &ip_sns_default_binds, list) { + if (vnse_bind->vbind == vbind) + return CMD_SUCCESS; + } + + vnse_bind = talloc(vty_nsi, struct vty_nse_bind); + if (!vnse_bind) + return CMD_WARNING; + vnse_bind->vbind = vbind; + + llist_add_tail(&vnse_bind->list, &ip_sns_default_binds); + + return CMD_SUCCESS; +} + +DEFUN(cfg_no_ns_ip_sns_default_bind, cfg_no_ns_ip_sns_default_bind_cmd, + "no ip-sns-default bind ID", + NO_STR "Defaults for dynamically created NSEs created by IP-SNS in SGSN role\n" + "IP SNS binds\n" + "Name of NS udp bind whose IP endpoint will be removed as IP-SNS local endpoint.\n") +{ + struct vty_bind *vbind; + struct vty_nse_bind *vnse_bind; + const char *name = argv[0]; + + vbind = vty_bind_by_name(name); + if (!vbind) { + vty_out(vty, "Can not find the given bind '%s'%s", name, VTY_NEWLINE); + return CMD_WARNING; + } + + if (vbind->ll != GPRS_NS2_LL_UDP) { + vty_out(vty, "ip-sns-default bind can only be used with UDP bind%s", VTY_NEWLINE); + return CMD_WARNING; + } + + llist_for_each_entry(vnse_bind, &ip_sns_default_binds, list) { + if (vnse_bind->vbind == vbind) { + llist_del(&vnse_bind->list); + talloc_free(vnse_bind); + return CMD_SUCCESS; + } + } + + vty_out(vty, "Bind '%s' was not an ip-sns-default bind%s", name, VTY_NEWLINE); + return CMD_WARNING; +} + DEFUN(cfg_ns_nse_ip_sns_bind, cfg_ns_nse_ip_sns_bind_cmd, "ip-sns-bind BINDID", "IP SNS binds\n" @@ -2059,6 +2155,7 @@ vty_nsi = nsi; INIT_LLIST_HEAD(&binds); INIT_LLIST_HEAD(&nses); + INIT_LLIST_HEAD(&ip_sns_default_binds); vty_fr_network = osmo_fr_network_alloc(nsi); if (!vty_fr_network) @@ -2098,6 +2195,9 @@ install_lib_element(L_NS_NODE, &cfg_ns_bind_cmd); install_lib_element(L_NS_NODE, &cfg_no_ns_bind_cmd); + install_lib_element(L_NS_NODE, &cfg_ns_ip_sns_default_bind_cmd); + install_lib_element(L_NS_NODE, &cfg_no_ns_ip_sns_default_bind_cmd); + install_node(&ns_bind_node, NULL); install_lib_element(L_NS_BIND_NODE, &cfg_ns_bind_listen_cmd); install_lib_element(L_NS_BIND_NODE, &cfg_no_ns_bind_listen_cmd); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23415 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id01c29b07e9203c9305f2129361a4f5aaefa2c52 Gerrit-Change-Number: 23415 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 Mar 19 12:38:57 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 19 Mar 2021 12:38:57 +0000 Subject: Change in libosmocore[master]: gprs_ns2: Add comments explaining the nsvc->sns_only field References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/23416 ) Change subject: gprs_ns2: Add comments explaining the nsvc->sns_only field ...................................................................... gprs_ns2: Add comments explaining the nsvc->sns_only field Change-Id: I16009a1b03d8027de2be56b7d5013b755c9550fd --- M src/gb/gprs_ns2.c M src/gb/gprs_ns2_internal.h M src/gb/gprs_ns2_sns.c 3 files changed, 7 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/16/23416/1 diff --git a/src/gb/gprs_ns2.c b/src/gb/gprs_ns2.c index 7fe3956..ec2451c 100644 --- a/src/gb/gprs_ns2.c +++ b/src/gb/gprs_ns2.c @@ -1423,6 +1423,9 @@ OSMO_ASSERT(nse); llist_for_each_entry(nsvc, &nse->nsvc, list) { + /* A pre-configured endpoint shall not be used for NSE data or signalling traffic + * (with the * exception of Size and Configuration procedures) unless it is + * configured by the SGSN using the auto-configuration procedures */ if (nsvc->sns_only) continue; diff --git a/src/gb/gprs_ns2_internal.h b/src/gb/gprs_ns2_internal.h index 9788652..efca861 100644 --- a/src/gb/gprs_ns2_internal.h +++ b/src/gb/gprs_ns2_internal.h @@ -220,6 +220,7 @@ void *priv; bool nsvci_is_valid; + /*! should this NS-VC only be used for SNS-SIZE and SNS-CONFIG? */ bool sns_only; struct rate_ctr_group *ctrg; diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index 2fbfb54..f05a8e6 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -913,6 +913,9 @@ gss->sns_nsvc = ns2_ip_bind_connect(bind, gss->nse, remote); if (!gss->sns_nsvc) return; + /* A pre-configured endpoint shall not be used for NSE data or signalling traffic + * (with the exception of Size and Configuration procedures) unless it is configured + * by the SGSN using the auto-configuration procedures */ gss->sns_nsvc->sns_only = true; } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23416 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I16009a1b03d8027de2be56b7d5013b755c9550fd Gerrit-Change-Number: 23416 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 Mar 19 12:38:57 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 19 Mar 2021 12:38:57 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Fix memory leak when creating ip[46]_local arrays References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/23417 ) Change subject: gprs_ns2_sns: Fix memory leak when creating ip[46]_local arrays ...................................................................... gprs_ns2_sns: Fix memory leak when creating ip[46]_local arrays Prior to this patch, we would unconditionally allocate new memory for the local SNS IP endpoints. This results in a memory leak on every SNS-SIZE procedure. Let's move to talloc_realloc() which recycles any previously allocated memory. Change-Id: I12cb670e087c6d6190f3f5bf8483ea62008ae06f --- M src/gb/gprs_ns2_sns.c 1 file changed, 2 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/17/23417/1 diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index f05a8e6..f766508 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -805,7 +805,7 @@ switch (gss->ip) { case IPv4: - ip4_elems = talloc_zero_size(fi, sizeof(struct gprs_ns_ie_ip4_elem) * count); + ip4_elems = talloc_realloc(fi, gss->ip4_local, struct gprs_ns_ie_ip4_elem, count); if (!ip4_elems) return; @@ -840,7 +840,7 @@ break; case IPv6: /* IPv6 */ - ip6_elems = talloc_zero_size(fi, sizeof(struct gprs_ns_ie_ip6_elem) * count); + ip6_elems = talloc_realloc(fi, gss->ip6_local, struct gprs_ns_ie_ip6_elem, count); if (!ip6_elems) return; @@ -919,7 +919,6 @@ gss->sns_nsvc->sns_only = true; } - if (gss->num_max_ip4_remote > 0) ns2_tx_sns_size(gss->sns_nsvc, true, gss->num_max_nsvcs, gss->num_max_ip4_remote, -1); else -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23417 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I12cb670e087c6d6190f3f5bf8483ea62008ae06f Gerrit-Change-Number: 23417 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 Mar 19 12:47:54 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 19 Mar 2021 12:47:54 +0000 Subject: Change in libosmocore[master]: utils: osmo-aka-verify to verify UMTS AKA (SIM side) In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23404 ) Change subject: utils: osmo-aka-verify to verify UMTS AKA (SIM side) ...................................................................... Patch Set 1: Code-Review-2 (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/23404/1/utils/Makefile.am File utils/Makefile.am: https://gerrit.osmocom.org/c/libosmocore/+/23404/1/utils/Makefile.am at 17 PS1, Line 17: osmo_aka_verifg_SOURCES = osmo-aka-verify.c typo: verify -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23404 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I497747fbf09f633dcd7c592bd9af7fca9a820645 Gerrit-Change-Number: 23404 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 19 Mar 2021 12:47:54 +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 Mar 19 13:03:28 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 19 Mar 2021 13:03:28 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Support for SGSN-side IP-SNS In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23405 ) Change subject: gprs_ns2_sns: Support for SGSN-side IP-SNS ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/23405/1/src/gb/gprs_ns2_sns.c File src/gb/gprs_ns2_sns.c: https://gerrit.osmocom.org/c/libosmocore/+/23405/1/src/gb/gprs_ns2_sns.c at 2050 PS1, Line 2050: //.onenter = ns2_sns_st_sgsn_wait_config_onenter, can this be dropped? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23405 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I780413ffacd9cb71f64cc38057aae781eeb59b2b Gerrit-Change-Number: 23405 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 19 Mar 2021 13:03: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 Fri Mar 19 14:47:12 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 19 Mar 2021 14:47:12 +0000 Subject: Change in osmo-dev[master]: net/templates/osmo-sgsn.cfg: update format References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-dev/+/23418 ) Change subject: net/templates/osmo-sgsn.cfg: update format ...................................................................... net/templates/osmo-sgsn.cfg: update format Migrate to the new gprs_ns2_vty configuration introduced in osmo-sgsn Ie9306ab4d4738c2c57a69987086e22771b30657e. Change-Id: Ie0a6d4a55f725ebcc6a55b6bd71c52ad72accbd2 --- M net/templates/osmo-sgsn.cfg 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-dev refs/changes/18/23418/1 diff --git a/net/templates/osmo-sgsn.cfg b/net/templates/osmo-sgsn.cfg index 542eb95..977f522 100644 --- a/net/templates/osmo-sgsn.cfg +++ b/net/templates/osmo-sgsn.cfg @@ -6,9 +6,9 @@ auth-policy remote gsup remote-ip ${HLR_IP} ns - encapsulation udp local-ip ${SGSN_IP} - encapsulation udp local-port ${SGSN_GB_PORT} - encapsulation framerelay-gre enabled 0 + bind udp local + listen ${SGSN_IP} ${SGSN_GB_PORT} + accept-ipaccess ${foreach(LOG_OUTPUT)} log ${LOG_OUTPUTn_TYPE} -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/23418 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: Ie0a6d4a55f725ebcc6a55b6bd71c52ad72accbd2 Gerrit-Change-Number: 23418 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 Fri Mar 19 14:47:13 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 19 Mar 2021 14:47:13 +0000 Subject: Change in osmo-dev[master]: net/templates/osmo-gbproxy.cfg: update format References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-dev/+/23419 ) Change subject: net/templates/osmo-gbproxy.cfg: update format ...................................................................... net/templates/osmo-gbproxy.cfg: update format Update to changes in osmo-gbproxy * Id67592aa7712e5e04e7264b2fb8f26d57eb7e69e * I2a18dcf035f1fc7304a0c7c7c83b5e8e15429d2b Change-Id: Ia7008d6d2d26030aa4c35439f1525a53957443a1 --- M net/templates/osmo-gbproxy.cfg 1 file changed, 6 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-dev refs/changes/19/23419/1 diff --git a/net/templates/osmo-gbproxy.cfg b/net/templates/osmo-gbproxy.cfg index 60e1ece..60f66fe 100644 --- a/net/templates/osmo-gbproxy.cfg +++ b/net/templates/osmo-gbproxy.cfg @@ -1,12 +1,12 @@ ${include(common_template_warning)} gbproxy - sgsn nsei 101 +sgsn nsei 101 ns - nse 101 nsvci 101 - nse 101 remote-role sgsn - nse 101 encapsulation udp - nse 101 remote-ip ${SGSN_IP} - nse 101 remote-port ${SGSN_GB_PORT} + bind udp local + listen ${GBPROXY_IP} ${GBPROXY_GB_PORT} + accept-ipaccess + nse 101 + nsvc ipa local ${SGSN_IP} ${SGSN_GB_PORT} nsvci 101 timer tns-block 3 timer tns-block-retries 3 timer tns-reset 3 @@ -14,10 +14,6 @@ timer tns-test 30 timer tns-alive 3 timer tns-alive-retries 10 - encapsulation framerelay-gre enabled 0 - encapsulation framerelay-gre local-ip ${GBPROXY_IP} - encapsulation udp local-ip ${GBPROXY_IP} - encapsulation udp local-port ${GBPROXY_GB_PORT} ${foreach(LOG_OUTPUT)} log ${LOG_OUTPUTn_TYPE} -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/23419 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: Ia7008d6d2d26030aa4c35439f1525a53957443a1 Gerrit-Change-Number: 23419 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 Fri Mar 19 14:55:21 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 19 Mar 2021 14:55:21 +0000 Subject: Change in pysim[master]: filesystem: be more strict in method add_file() In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/23378 to look at the new patch set (#2). Change subject: filesystem: be more strict in method add_file() ...................................................................... filesystem: be more strict in method add_file() The file identifier of a file is strictly defined as a two digit hexadecimal number. Do not allow adding child files that violate this constraint. Change-Id: I096907285b742e611d221b03ba067ea2522e7e52 Related: OS#4963 --- M pySim/filesystem.py 1 file changed, 3 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/78/23378/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23378 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I096907285b742e611d221b03ba067ea2522e7e52 Gerrit-Change-Number: 23378 Gerrit-PatchSet: 2 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 Fri Mar 19 14:55:23 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 19 Mar 2021 14:55:23 +0000 Subject: Change in pysim[master]: filesystem: drop __main__ from filesystem.py References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/23420 ) Change subject: filesystem: drop __main__ from filesystem.py ...................................................................... filesystem: drop __main__ from filesystem.py The __main__ function in filesystem.py seems to be some experimental testcode from the very beginning of pySim-shell. Lets drop it. Change-Id: I34f459469dfc45711ad0928c83184d7f99e0f5e3 Related: OS#4963 --- M pySim/filesystem.py 1 file changed, 0 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/20/23420/1 diff --git a/pySim/filesystem.py b/pySim/filesystem.py index ad020af..2268f05 100644 --- a/pySim/filesystem.py +++ b/pySim/filesystem.py @@ -713,21 +713,3 @@ """Interpret a given status word within the profile. Returns tuple of two strings""" return interpret_sw(self.sw, sw) - - -###################################################################### - -if __name__ == '__main__': - mf = CardMF() - - adf_usim = ADF('a0000000871002', name='ADF_USIM') - mf.add_application(adf_usim) - df_pb = CardDF('5f3a', name='DF.PHONEBOOK') - adf_usim.add_file(df_pb) - adf_usim.add_file(TransparentEF('6f05', name='EF.LI', size={2,16})) - adf_usim.add_file(TransparentEF('6f07', name='EF.IMSI', size={9,9})) - - rss = RuntimeState(mf, None) - - interp = code.InteractiveConsole(locals={'mf':mf, 'rss':rss}) - interp.interact() -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23420 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I34f459469dfc45711ad0928c83184d7f99e0f5e3 Gerrit-Change-Number: 23420 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 19 14:56:52 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 19 Mar 2021 14:56:52 +0000 Subject: Change in pysim[master]: filesystem: be more strict in method add_file() In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23378 ) Change subject: filesystem: be more strict in method add_file() ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/pysim/+/23378/1/pySim/filesystem.py File pySim/filesystem.py: https://gerrit.osmocom.org/c/pysim/+/23378/1/pySim/filesystem.py at 152 PS1, Line 152: if child.name[0:3] != "DF." and child.name[0:3] != "EF." and child.name[0:4] != "ADF.": > I wouldn't enforce this name prefix. I think it's more a convention than "law". [?] Done -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23378 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I096907285b742e611d221b03ba067ea2522e7e52 Gerrit-Change-Number: 23378 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 19 Mar 2021 14:56:52 +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 Fri Mar 19 14:57:57 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 19 Mar 2021 14:57:57 +0000 Subject: Change in pysim[master]: pySim-shell: add filesystem exporter In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23210 ) Change subject: pySim-shell: add filesystem exporter ...................................................................... Patch Set 6: I have reordered the patchset, should be fine now. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23210 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I82f3ce92cd91a5ed3c4884d62f6b22e9589c8a49 Gerrit-Change-Number: 23210 Gerrit-PatchSet: 6 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-CC: dexter Gerrit-Comment-Date: Fri, 19 Mar 2021 14:57:57 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 19 15:12:57 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 19 Mar 2021 15:12:57 +0000 Subject: Change in osmo-dev[master]: net/templates/osmo-sgsn.cfg: update format In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-dev/+/23418 ) Change subject: net/templates/osmo-sgsn.cfg: update format ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/23418 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: Ie0a6d4a55f725ebcc6a55b6bd71c52ad72accbd2 Gerrit-Change-Number: 23418 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 19 Mar 2021 15:12: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 Mar 19 15:13:08 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 19 Mar 2021 15:13:08 +0000 Subject: Change in osmo-dev[master]: net/templates/osmo-gbproxy.cfg: update format In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-dev/+/23419 ) Change subject: net/templates/osmo-gbproxy.cfg: update format ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-dev/+/23419 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-dev Gerrit-Branch: master Gerrit-Change-Id: Ia7008d6d2d26030aa4c35439f1525a53957443a1 Gerrit-Change-Number: 23419 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 19 Mar 2021 15:13:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 19 15:13:21 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 19 Mar 2021 15:13:21 +0000 Subject: Change in pysim[master]: filesystem: drop __main__ from filesystem.py In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23420 ) Change subject: filesystem: drop __main__ from filesystem.py ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23420 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I34f459469dfc45711ad0928c83184d7f99e0f5e3 Gerrit-Change-Number: 23420 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 19 Mar 2021 15:13:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 19 15:13:56 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 19 Mar 2021 15:13:56 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Add some more OSMO_ASSERT about BSS role In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23406 ) Change subject: gprs_ns2_sns: Add some more OSMO_ASSERT about BSS role ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23406 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I20d1bd8df62e0bb84696e291756e2d96acf49246 Gerrit-Change-Number: 23406 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 19 Mar 2021 15:13:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 19 15:14:44 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 19 Mar 2021 15:14:44 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vty: Allow creating NSE in sgsn-role In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23408 ) Change subject: gprs_ns2_vty: Allow creating NSE in sgsn-role ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23408 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I694fa6c80d04d13cb1afaae93a9ae43b6dfd2207 Gerrit-Change-Number: 23408 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 19 Mar 2021 15:14: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 Fri Mar 19 15:15:38 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 19 Mar 2021 15:15:38 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vty: Allow creating NSE in sgsn-role In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23408 ) Change subject: gprs_ns2_vty: Allow creating NSE in sgsn-role ...................................................................... Patch Set 1: Why not better handling this internaly so no need to pass an extra param? Eg BSS/SGSN calling an API or setting afield sgsn_role=true, and use that instead of VTY param. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23408 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I694fa6c80d04d13cb1afaae93a9ae43b6dfd2207 Gerrit-Change-Number: 23408 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 19 Mar 2021 15:15: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 Fri Mar 19 15:17:03 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 19 Mar 2021 15:17:03 +0000 Subject: Change in libosmocore[master]: gprs_ns2: Introduce gprs_ns2_create_nse2() for SGSN side SNS In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23407 ) Change subject: gprs_ns2: Introduce gprs_ns2_create_nse2() for SGSN side SNS ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/23407/1/src/gb/gprs_ns2.c File src/gb/gprs_ns2.c: https://gerrit.osmocom.org/c/libosmocore/+/23407/1/src/gb/gprs_ns2.c at 783 PS1, Line 783: bool local_sgsn_role) iirc there was enum type for role, maybe better pass that? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23407 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6db8c36f7c69b592d7d0fbcf323804f7e9912be2 Gerrit-Change-Number: 23407 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 19 Mar 2021 15:17:03 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 19 15:17:51 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 19 Mar 2021 15:17:51 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Verify mandatory IE presence in incoming SNS-SIZE In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23410 ) Change subject: gprs_ns2_sns: Verify mandatory IE presence in incoming SNS-SIZE ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23410 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I40571e313c3332d8cead8fb4aa9768d0d083804d Gerrit-Change-Number: 23410 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 19 Mar 2021 15:17: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 Mar 19 15:18:31 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 19 Mar 2021 15:18:31 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Don't clear remote IP endpoints in SGSN role In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23409 ) Change subject: gprs_ns2_sns: Don't clear remote IP endpoints in SGSN role ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23409 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I58549707ac5a3a0aae5f9348ed76f16c09ad3e46 Gerrit-Change-Number: 23409 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 19 Mar 2021 15:18: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 Fri Mar 19 15:19:46 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 19 Mar 2021 15:19:46 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Assume the SGSN has a very large number of max. NSVC In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23411 ) Change subject: gprs_ns2_sns: Assume the SGSN has a very large number of max. NSVC ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23411 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I41f493643cf51d7853959ab9c7bbc0ffae4e1f4b Gerrit-Change-Number: 23411 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 19 Mar 2021 15:19: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 Fri Mar 19 15:21:13 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 19 Mar 2021 15:21:13 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Implement checks during processing of inbound SNS-SIZE In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23412 ) Change subject: gprs_ns2_sns: Implement checks during processing of inbound SNS-SIZE ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23412 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1638f04ba45fef3ba0b237948dff6022267141fb Gerrit-Change-Number: 23412 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 19 Mar 2021 15:21: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 Mar 19 15:22:14 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 19 Mar 2021 15:22:14 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vty: Permit VTY configuration of bind->accept_sns In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23413 ) Change subject: gprs_ns2_vty: Permit VTY configuration of bind->accept_sns ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23413 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ifb52cd245b10bf47d42d57d167d6d6c02b12ee12 Gerrit-Change-Number: 23413 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 19 Mar 2021 15:22:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 19 15:23:24 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 19 Mar 2021 15:23:24 +0000 Subject: Change in libosmocore[master]: gprs_ns2: dynamic NS-VC + NSE creation for IP-SNS in SGSN role In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23414 ) Change subject: gprs_ns2: dynamic NS-VC + NSE creation for IP-SNS in SGSN role ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23414 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie10bb3531fae2e651da04f965d964de6eb1e7a97 Gerrit-Change-Number: 23414 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 19 Mar 2021 15:23: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 Mar 19 15:25:42 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 19 Mar 2021 15:25:42 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Allow VTY configuration of default binds for IP-SNS In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23415 ) Change subject: gprs_ns2_sns: Allow VTY configuration of default binds for IP-SNS ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23415 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id01c29b07e9203c9305f2129361a4f5aaefa2c52 Gerrit-Change-Number: 23415 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 19 Mar 2021 15:25:42 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 19 15:26:33 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 19 Mar 2021 15:26:33 +0000 Subject: Change in libosmocore[master]: gprs_ns2: Add comments explaining the nsvc->sns_only field In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23416 ) Change subject: gprs_ns2: Add comments explaining the nsvc->sns_only field ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/23416/1/src/gb/gprs_ns2.c File src/gb/gprs_ns2.c: https://gerrit.osmocom.org/c/libosmocore/+/23416/1/src/gb/gprs_ns2.c at 1427 PS1, Line 1427: * (with the * exception of Size and Configuration procedures) unless it is extra "*"? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23416 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I16009a1b03d8027de2be56b7d5013b755c9550fd Gerrit-Change-Number: 23416 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 19 Mar 2021 15:26:33 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 19 15:27:57 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 19 Mar 2021 15:27:57 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Fix memory leak when creating ip[46]_local arrays In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23417 ) Change subject: gprs_ns2_sns: Fix memory leak when creating ip[46]_local arrays ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/c/libosmocore/+/23417/1/src/gb/gprs_ns2_sns.c File src/gb/gprs_ns2_sns.c: https://gerrit.osmocom.org/c/libosmocore/+/23417/1/src/gb/gprs_ns2_sns.c at 812 PS1, Line 812: gss->ip4_local = ip4_elems; is this needed now that you use talloc_realloc? https://gerrit.osmocom.org/c/libosmocore/+/23417/1/src/gb/gprs_ns2_sns.c at 847 PS1, Line 847: gss->ip6_local = ip6_elems; is this needed now that you use talloc_realloc? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23417 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I12cb670e087c6d6190f3f5bf8483ea62008ae06f Gerrit-Change-Number: 23417 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Fri, 19 Mar 2021 15:27:57 +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 Mar 19 15:42:18 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 19 Mar 2021 15:42:18 +0000 Subject: Change in libosmocore[master]: utils: osmo-aka-verify to verify UMTS AKA (SIM side) In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23404 ) Change subject: utils: osmo-aka-verify to verify UMTS AKA (SIM side) ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/23404/1/utils/Makefile.am File utils/Makefile.am: https://gerrit.osmocom.org/c/libosmocore/+/23404/1/utils/Makefile.am at 17 PS1, Line 17: osmo_aka_verifg_SOURCES = osmo-aka-verify.c > typo: verify Thanks, nice catch. the interesting part is that it still works here locally. Semes like autotools automatically generates a _SOURCES variant with a related source name? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23404 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I497747fbf09f633dcd7c592bd9af7fca9a820645 Gerrit-Change-Number: 23404 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 19 Mar 2021 15:42:18 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 19 15:52:31 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 19 Mar 2021 15:52:31 +0000 Subject: Change in libosmocore[master]: Revert "stats: log error when missing stats values" References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/23421 ) Change subject: Revert "stats: log error when missing stats values" ...................................................................... Revert "stats: log error when missing stats values" This reverts commit d290439b4afe928e7e341540cb92f1abf36a82cb, which caused "stats values skipped" messages to appear even if they were not skipped. Revert for now, replace with a proper version in the future. Related: SYS#4877 Change-Id: Ib43bd53188a4d31d771feb921ea14abe1a3ec877 --- M src/stat_item.c M tests/stats/stats_test.c M tests/stats/stats_test.err 3 files changed, 0 insertions(+), 156 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/21/23421/1 diff --git a/src/stat_item.c b/src/stat_item.c index a44b3ad..ba36464 100644 --- a/src/stat_item.c +++ b/src/stat_item.c @@ -60,7 +60,6 @@ #include #include #include -#include /*! global list of stat_item groups */ static LLIST_HEAD(osmo_stat_item_groups); @@ -243,10 +242,6 @@ idx_delta = item_value->id + 1 - *next_idx; - if (idx_delta > 1) { - LOGP(DLSTATS, LOGL_ERROR, "%s: %d stats values skipped\n", item->desc->name, idx_delta - 1); - } - *next_idx = item_value->id + 1; return idx_delta; diff --git a/tests/stats/stats_test.c b/tests/stats/stats_test.c index b81ad6b..707f606 100644 --- a/tests/stats/stats_test.c +++ b/tests/stats/stats_test.c @@ -120,7 +120,6 @@ value = osmo_stat_item_get_last(statg->items[TEST_A_ITEM]); OSMO_ASSERT(value == -1); - fprintf(stderr, "osmo_stat_item_get_next rc == 0\n"); rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &rd_a, &value); OSMO_ASSERT(rc == 0); @@ -129,16 +128,13 @@ value = osmo_stat_item_get_last(statg->items[TEST_A_ITEM]); OSMO_ASSERT(value == 1); - fprintf(stderr, "osmo_stat_item_get_next rc > 0\n"); rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &rd_a, &value); OSMO_ASSERT(rc > 0); OSMO_ASSERT(value == 1); - fprintf(stderr, "osmo_stat_item_get_next rc == 0\n"); rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &rd_a, &value); OSMO_ASSERT(rc == 0); - fprintf(stderr, "osmo_stat_item_get_next rc > 0\n"); for (i = 2; i <= 32; i++) { osmo_stat_item_set(statg->items[TEST_A_ITEM], i); osmo_stat_item_set(statg->items[TEST_B_ITEM], 1000 + i); @@ -224,20 +220,17 @@ rc = osmo_stat_item_discard(statg->items[TEST_A_ITEM], &rd_a); OSMO_ASSERT(rc > 0); - fprintf(stderr, "osmo_stat_item_get_next rc == 0\n"); rc = osmo_stat_item_discard(statg->items[TEST_A_ITEM], &rd_a); OSMO_ASSERT(rc == 0); rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &rd_a, &value); OSMO_ASSERT(rc == 0); - fprintf(stderr, "osmo_stat_item_get_next rc > 0\n"); osmo_stat_item_set(statg->items[TEST_A_ITEM], 98); rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &rd_a, &value); OSMO_ASSERT(rc > 0); OSMO_ASSERT(value == 98); - fprintf(stderr, "osmo_stat_item_get_next rc == 0\n"); rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &rd_a, &value); OSMO_ASSERT(rc == 0); diff --git a/tests/stats/stats_test.err b/tests/stats/stats_test.err index d059ffd..3accf54 100644 --- a/tests/stats/stats_test.err +++ b/tests/stats/stats_test.err @@ -1,147 +1,3 @@ -osmo_stat_item_get_next rc == 0 -osmo_stat_item_get_next rc > 0 -DLSTATS ERROR item.a: 1 stats values skipped -osmo_stat_item_get_next rc == 0 -osmo_stat_item_get_next rc > 0 -DLSTATS ERROR item.b: 3 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 4 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 57 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 51 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -osmo_stat_item_get_next rc == 0 -osmo_stat_item_get_next rc > 0 -osmo_stat_item_get_next rc == 0 Start test: test_reporting DLGLOBAL ERROR counter group 'ctr-test:one' already exists for index 2, instead using index 3. This is a software bug that needs fixing. DLGLOBAL ERROR 'ctr-test.one_dot' is not a valid counter group identifier -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23421 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib43bd53188a4d31d771feb921ea14abe1a3ec877 Gerrit-Change-Number: 23421 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 Fri Mar 19 15:56:14 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 19 Mar 2021 15:56:14 +0000 Subject: Change in pysim[master]: WIP test please ignore for now References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/23422 ) Change subject: WIP test please ignore for now ...................................................................... WIP test please ignore for now Change-Id: Ie521f79b24b206c7695dd1694d7914b9a984d8cc --- M pySim/cards.py 1 file changed, 0 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/22/23422/1 diff --git a/pySim/cards.py b/pySim/cards.py index 8b51787..cc6e136 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -27,7 +27,6 @@ from pySim.ts_31_103 import EF_ISIM_ADF_map from pySim.utils import * from smartcard.util import toBytes -from pytlv.TLV import * class Card(object): -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23422 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ie521f79b24b206c7695dd1694d7914b9a984d8cc Gerrit-Change-Number: 23422 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 19 15:56:52 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 19 Mar 2021 15:56:52 +0000 Subject: Change in libosmocore[master]: Revert "stats: log error when missing stats values" In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23421 ) Change subject: Revert "stats: log error when missing stats values" ...................................................................... Patch Set 1: Code-Review+2 Trivial revert patch, merging now so this isn't broken anymore. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23421 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib43bd53188a4d31d771feb921ea14abe1a3ec877 Gerrit-Change-Number: 23421 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 19 Mar 2021 15:56: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 Mar 19 15:56:59 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 19 Mar 2021 15:56:59 +0000 Subject: Change in libosmocore[master]: Revert "stats: log error when missing stats values" In-Reply-To: References: Message-ID: osmith has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23421 ) Change subject: Revert "stats: log error when missing stats values" ...................................................................... Revert "stats: log error when missing stats values" This reverts commit d290439b4afe928e7e341540cb92f1abf36a82cb, which caused "stats values skipped" messages to appear even if they were not skipped. Revert for now, replace with a proper version in the future. Related: SYS#4877 Change-Id: Ib43bd53188a4d31d771feb921ea14abe1a3ec877 --- M src/stat_item.c M tests/stats/stats_test.c M tests/stats/stats_test.err 3 files changed, 0 insertions(+), 156 deletions(-) Approvals: Jenkins Builder: Verified osmith: Looks good to me, approved diff --git a/src/stat_item.c b/src/stat_item.c index a44b3ad..ba36464 100644 --- a/src/stat_item.c +++ b/src/stat_item.c @@ -60,7 +60,6 @@ #include #include #include -#include /*! global list of stat_item groups */ static LLIST_HEAD(osmo_stat_item_groups); @@ -243,10 +242,6 @@ idx_delta = item_value->id + 1 - *next_idx; - if (idx_delta > 1) { - LOGP(DLSTATS, LOGL_ERROR, "%s: %d stats values skipped\n", item->desc->name, idx_delta - 1); - } - *next_idx = item_value->id + 1; return idx_delta; diff --git a/tests/stats/stats_test.c b/tests/stats/stats_test.c index b81ad6b..707f606 100644 --- a/tests/stats/stats_test.c +++ b/tests/stats/stats_test.c @@ -120,7 +120,6 @@ value = osmo_stat_item_get_last(statg->items[TEST_A_ITEM]); OSMO_ASSERT(value == -1); - fprintf(stderr, "osmo_stat_item_get_next rc == 0\n"); rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &rd_a, &value); OSMO_ASSERT(rc == 0); @@ -129,16 +128,13 @@ value = osmo_stat_item_get_last(statg->items[TEST_A_ITEM]); OSMO_ASSERT(value == 1); - fprintf(stderr, "osmo_stat_item_get_next rc > 0\n"); rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &rd_a, &value); OSMO_ASSERT(rc > 0); OSMO_ASSERT(value == 1); - fprintf(stderr, "osmo_stat_item_get_next rc == 0\n"); rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &rd_a, &value); OSMO_ASSERT(rc == 0); - fprintf(stderr, "osmo_stat_item_get_next rc > 0\n"); for (i = 2; i <= 32; i++) { osmo_stat_item_set(statg->items[TEST_A_ITEM], i); osmo_stat_item_set(statg->items[TEST_B_ITEM], 1000 + i); @@ -224,20 +220,17 @@ rc = osmo_stat_item_discard(statg->items[TEST_A_ITEM], &rd_a); OSMO_ASSERT(rc > 0); - fprintf(stderr, "osmo_stat_item_get_next rc == 0\n"); rc = osmo_stat_item_discard(statg->items[TEST_A_ITEM], &rd_a); OSMO_ASSERT(rc == 0); rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &rd_a, &value); OSMO_ASSERT(rc == 0); - fprintf(stderr, "osmo_stat_item_get_next rc > 0\n"); osmo_stat_item_set(statg->items[TEST_A_ITEM], 98); rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &rd_a, &value); OSMO_ASSERT(rc > 0); OSMO_ASSERT(value == 98); - fprintf(stderr, "osmo_stat_item_get_next rc == 0\n"); rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &rd_a, &value); OSMO_ASSERT(rc == 0); diff --git a/tests/stats/stats_test.err b/tests/stats/stats_test.err index d059ffd..3accf54 100644 --- a/tests/stats/stats_test.err +++ b/tests/stats/stats_test.err @@ -1,147 +1,3 @@ -osmo_stat_item_get_next rc == 0 -osmo_stat_item_get_next rc > 0 -DLSTATS ERROR item.a: 1 stats values skipped -osmo_stat_item_get_next rc == 0 -osmo_stat_item_get_next rc > 0 -DLSTATS ERROR item.b: 3 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 4 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.a: 57 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.a: 1 stats values skipped -DLSTATS ERROR item.b: 51 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -DLSTATS ERROR item.b: 1 stats values skipped -osmo_stat_item_get_next rc == 0 -osmo_stat_item_get_next rc > 0 -osmo_stat_item_get_next rc == 0 Start test: test_reporting DLGLOBAL ERROR counter group 'ctr-test:one' already exists for index 2, instead using index 3. This is a software bug that needs fixing. DLGLOBAL ERROR 'ctr-test.one_dot' is not a valid counter group identifier -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23421 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib43bd53188a4d31d771feb921ea14abe1a3ec877 Gerrit-Change-Number: 23421 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 19 16:01:01 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 19 Mar 2021 16:01:01 +0000 Subject: Change in pysim[master]: WIP test please ignore for now In-Reply-To: References: Message-ID: dexter has abandoned this change. ( https://gerrit.osmocom.org/c/pysim/+/23422 ) Change subject: WIP test please ignore for now ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23422 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ie521f79b24b206c7695dd1694d7914b9a984d8cc Gerrit-Change-Number: 23422 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 Fri Mar 19 16:50:55 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 19 Mar 2021 16:50:55 +0000 Subject: Change in pysim[master]: filesystem: fix exception string (fid != name) In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/23376 to look at the new patch set (#3). Change subject: filesystem: fix exception string (fid != name) ...................................................................... filesystem: fix exception string (fid != name) It is better to use the term "fid" instead of "name" when a reserved FID is detected. Change-Id: I054f3b3a156f0164c62610cfde1aec2145c20925 Related: OS#4963 --- M pySim/filesystem.py 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/76/23376/3 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23376 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I054f3b3a156f0164c62610cfde1aec2145c20925 Gerrit-Change-Number: 23376 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 Fri Mar 19 16:52:12 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 19 Mar 2021 16:52:12 +0000 Subject: Change in pysim[master]: filesystem: fix exception string (fid != name) In-Reply-To: References: Message-ID: dexter has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/23376 ) Change subject: filesystem: fix exception string (fid != name) ...................................................................... filesystem: fix exception string (fid != name) It is better to use the term "fid" instead of "name" when a reserved FID is detected. Change-Id: I054f3b3a156f0164c62610cfde1aec2145c20925 Related: OS#4963 --- M pySim/filesystem.py 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim/filesystem.py b/pySim/filesystem.py index ad020af..4c84f66 100644 --- a/pySim/filesystem.py +++ b/pySim/filesystem.py @@ -143,7 +143,7 @@ if child.name in CardFile.RESERVED_NAMES: raise ValueError("File name %s is a reserved name" % (child.name)) if child.fid in CardFile.RESERVED_FIDS: - raise ValueError("File fid %s is a reserved name" % (child.fid)) + raise ValueError("File fid %s is a reserved fid" % (child.fid)) if child.fid in self.children: if ignore_existing: return -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23376 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I054f3b3a156f0164c62610cfde1aec2145c20925 Gerrit-Change-Number: 23376 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 19 17:01:18 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 19 Mar 2021 17:01:18 +0000 Subject: Change in pysim[master]: filesystem: add comment to inform about checks in add_file() In-Reply-To: References: Message-ID: dexter has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/23377 ) Change subject: filesystem: add comment to inform about checks in add_file() ...................................................................... filesystem: add comment to inform about checks in add_file() The method add_file of class CardDF does some constraint checking to the basic file parameters (e.g. fid). Since one might also expect those checks in the superclass CardFile lets leave a comment to make the code better understandable. Change-Id: Iebae28909fe6aade3bd4024112a222819572d735 Related: OS#4963 --- M pySim/filesystem.py 1 file changed, 4 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim/filesystem.py b/pySim/filesystem.py index 4c84f66..f412d73 100644 --- a/pySim/filesystem.py +++ b/pySim/filesystem.py @@ -55,6 +55,10 @@ self.parent.add_file(self) self.shell_commands = [] + # Note: the basic properties (fid, name, ect.) are verified when + # the file is attached to a parent file. See method add_file() in + # class Card DF + def __str__(self): if self.name: return self.name -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23377 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Iebae28909fe6aade3bd4024112a222819572d735 Gerrit-Change-Number: 23377 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 19 17:05:11 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 19 Mar 2021 17:05:11 +0000 Subject: Change in pysim[master]: commands: better exception string for authentication failures References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/23423 ) Change subject: commands: better exception string for authentication failures ...................................................................... commands: better exception string for authentication failures At the moment we use the send_apdu_checksw() method to send the APDU for ADM authentication. This method only checks if the command returns with sw = 9000. If not it raises an exception that the sw is not as expected. The user may think that this is a problem with thr reader, pcscd or pySim in the first place and may try multiple times until the card is permanently locked. A better execption string that also displays the tries which are left may be helpful. Change-Id: Icf428831094f8c1045eefaa8cb2b92e6a36b0c13 Related: OS#4963 --- M pySim/commands.py 1 file changed, 4 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/23/23423/1 diff --git a/pySim/commands.py b/pySim/commands.py index 2fb1041..9aed588 100644 --- a/pySim/commands.py +++ b/pySim/commands.py @@ -205,4 +205,7 @@ def verify_chv(self, chv_no, code): fc = rpad(b2h(code), 16) - return self._tp.send_apdu_checksw(self.cla_byte + '2000' + ('%02X' % chv_no) + '08' + fc) + data, sw = self._tp.send_apdu(self.cla_byte + '2000' + ('%02X' % chv_no) + '08' + fc) + if (sw != '9000'): + raise RuntimeError('Failed to authenticate with ADM key %s, %i tries left.' % (code, int(sw[3]))) + return (data,sw) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23423 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Icf428831094f8c1045eefaa8cb2b92e6a36b0c13 Gerrit-Change-Number: 23423 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 19 17:05:12 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 19 Mar 2021 17:05:12 +0000 Subject: Change in pysim[master]: cards: remove unnecessary execptions. References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/23424 ) Change subject: cards: remove unnecessary execptions. ...................................................................... cards: remove unnecessary execptions. The _scc.veryif_adm() method already does status word checking internally and also raises an execption should the authentication be unsuccessful, so we do not have to put an additional status word check + execition when we use the method from cards. Change-Id: I785d27e4d49a9cda1a771b56ce5ac9c1f1d1e79a Related: OS#4963 --- M pySim/cards.py 1 file changed, 2 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/24/23424/1 diff --git a/pySim/cards.py b/pySim/cards.py index 8b51787..c640591 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -854,8 +854,6 @@ if not key: raise ValueError("Please provide a PIN-ADM as there is no default one") (res, sw) = self._scc.verify_chv(0x0A, key) - if sw != '9000': - raise RuntimeError('Failed to authenticate with ADM key %s'%(key)) return sw def program(self, p): @@ -1045,9 +1043,7 @@ # authenticate as ADM1 if not p['pin_adm']: raise ValueError("Please provide a PIN-ADM as there is no default one") - sw = self.verify_adm(h2b(p['pin_adm'])) - if sw != '9000': - raise RuntimeError('Failed to authenticate with ADM key %s'%(p['pin_adm'],)) + self.verify_adm(h2b(p['pin_adm'])) # TODO: Set operator name if p.get('smsp') is not None: @@ -1152,9 +1148,7 @@ def program(self, p): if not p['pin_adm']: raise ValueError("Please provide a PIN-ADM as there is no default one") - sw = self.verify_adm(h2b(p['pin_adm'])) - if sw != '9000': - raise RuntimeError('Failed to authenticate with ADM key %s'%(p['pin_adm'],)) + self.verify_adm(h2b(p['pin_adm'])) # EF.ICCID # TODO: Add programming of the ICCID @@ -1254,8 +1248,6 @@ if not key: raise ValueError("Please provide a PIN-ADM as there is no default one") (res, sw) = self._scc.verify_chv(0x0A, key) - if sw != '9000': - raise RuntimeError('Failed to authenticate with ADM key %s'%(key)) return sw def program(self, p): -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23424 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I785d27e4d49a9cda1a771b56ce5ac9c1f1d1e79a Gerrit-Change-Number: 23424 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sat Mar 20 02:20:31 2021 From: admin at opensuse.org (OBS Notification) Date: Sat, 20 Mar 2021 02:20:31 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.10/x86_64 In-Reply-To: References: Message-ID: <60555c0330a71_b9d2b07006446002288f9@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_20.10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_20.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 140s] [COMPILING libboard/qmod/source/board_qmod.c] [ 141s] [COMPILING libboard/qmod/source/card_pres.c] [ 141s] [COMPILING libboard/qmod/source/i2c.c] [ 141s] [COMPILING libboard/qmod/source/wwan_led.c] [ 141s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 141s] [COMPILING apps/dfu/main.c] [ 141s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 141s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 141s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 142s] Memory region Used Size Region Size %age Used [ 142s] rom: 16592 B 16 KB 101.27% [ 142s] ram: 11680 B 48 KB 23.76/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 142s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 208 bytes [ 142s] collect2: error: ld returned 1 exit status [ 142s] % [ 142s] make[2]: *** [Makefile:230: flash] Error 1 [ 142s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 142s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 142s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 142s] dh_auto_build: error: make -j1 returned exit code 2 [ 142s] make: *** [debian/rules:16: build] Error 25 [ 142s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 142s] ### VM INTERACTION START ### [ 145s] [ 131.479136] sysrq: Power Off [ 145s] [ 131.484050] reboot: Power down [ 145s] ### VM INTERACTION END ### [ 145s] [ 145s] sheep88 failed "build simtrace2_0.7.0.76.62ad.dsc" at Sat Mar 20 02:20:30 UTC 2021. [ 145s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Mar 20 02:41:19 2021 From: admin at opensuse.org (OBS Notification) Date: Sat, 20 Mar 2021 02:41:19 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <605560f16fe3d_b9d2b070064460023452b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_20.04/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_20.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 301s] [COMPILING apps/dfu/main.c] [ 301s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 301s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 302s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 302s] Memory region Used Size Region Size %age Used [ 302s] rom: 16600 B 16 KB 101.32% [ 302s] ram: 11688 B 48 KB 23.78/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 302s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 302s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 302s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 302s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 302s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 302s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 216 bytes [ 302s] collect2: error: ld returned 1 exit status [ 302s] % [ 302s] make[2]: *** [Makefile:230: flash] Error 1 [ 302s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 302s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 302s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 302s] dh_auto_build: error: make -j1 returned exit code 2 [ 302s] make: *** [debian/rules:16: build] Error 25 [ 302s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 302s] ### VM INTERACTION START ### [ 305s] [ 278.656190] sysrq: Power Off [ 306s] [ 278.716866] reboot: Power down [ 306s] ### VM INTERACTION END ### [ 306s] [ 306s] old-atreju3 failed "build simtrace2_0.7.0.76.62ad.dsc" at Sat Mar 20 02:41:12 UTC 2021. [ 306s] -- 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 Mar 20 10:49:17 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 20 Mar 2021 10:49:17 +0000 Subject: Change in pysim[master]: filesystem: drop __main__ from filesystem.py In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23420 ) Change subject: filesystem: drop __main__ from filesystem.py ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23420 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I34f459469dfc45711ad0928c83184d7f99e0f5e3 Gerrit-Change-Number: 23420 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 20 Mar 2021 10:49: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 Mar 20 10:50:50 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 20 Mar 2021 10:50:50 +0000 Subject: Change in pysim[master]: commands: better exception string for authentication failures In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23423 ) Change subject: commands: better exception string for authentication failures ...................................................................... Patch Set 1: Code-Review-1 IMHO this should not be done here; instead the respective card profile should register code for status word interpretation that does the SW -> String conversion. There should already be genric support for that in place. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23423 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Icf428831094f8c1045eefaa8cb2b92e6a36b0c13 Gerrit-Change-Number: 23423 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 20 Mar 2021 10:50: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 Mar 20 10:50:53 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 20 Mar 2021 10:50:53 +0000 Subject: Change in pysim[master]: filesystem: drop __main__ from filesystem.py In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/23420 ) Change subject: filesystem: drop __main__ from filesystem.py ...................................................................... filesystem: drop __main__ from filesystem.py The __main__ function in filesystem.py seems to be some experimental testcode from the very beginning of pySim-shell. Lets drop it. Change-Id: I34f459469dfc45711ad0928c83184d7f99e0f5e3 Related: OS#4963 --- M pySim/filesystem.py 1 file changed, 0 insertions(+), 18 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/pySim/filesystem.py b/pySim/filesystem.py index f412d73..d468808 100644 --- a/pySim/filesystem.py +++ b/pySim/filesystem.py @@ -717,21 +717,3 @@ """Interpret a given status word within the profile. Returns tuple of two strings""" return interpret_sw(self.sw, sw) - - -###################################################################### - -if __name__ == '__main__': - mf = CardMF() - - adf_usim = ADF('a0000000871002', name='ADF_USIM') - mf.add_application(adf_usim) - df_pb = CardDF('5f3a', name='DF.PHONEBOOK') - adf_usim.add_file(df_pb) - adf_usim.add_file(TransparentEF('6f05', name='EF.LI', size={2,16})) - adf_usim.add_file(TransparentEF('6f07', name='EF.IMSI', size={9,9})) - - rss = RuntimeState(mf, None) - - interp = code.InteractiveConsole(locals={'mf':mf, 'rss':rss}) - interp.interact() -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23420 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I34f459469dfc45711ad0928c83184d7f99e0f5e3 Gerrit-Change-Number: 23420 Gerrit-PatchSet: 2 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 Mar 20 10:51:14 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 20 Mar 2021 10:51:14 +0000 Subject: Change in pysim[master]: cards: remove unnecessary execptions. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23424 ) Change subject: cards: remove unnecessary execptions. ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23424 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I785d27e4d49a9cda1a771b56ce5ac9c1f1d1e79a Gerrit-Change-Number: 23424 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 20 Mar 2021 10:51: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 Mar 20 10:51:38 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 20 Mar 2021 10:51:38 +0000 Subject: Change in pysim[master]: filesystem: be more strict in method add_file() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23378 ) Change subject: filesystem: be more strict in method add_file() ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23378 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I096907285b742e611d221b03ba067ea2522e7e52 Gerrit-Change-Number: 23378 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 20 Mar 2021 10:51: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 Mar 20 10:54:32 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 20 Mar 2021 10:54:32 +0000 Subject: Change in libosmocore[master]: utils: osmo-aka-verify to verify UMTS AKA (SIM side) In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/23404 to look at the new patch set (#2). Change subject: utils: osmo-aka-verify to verify UMTS AKA (SIM side) ...................................................................... utils: osmo-aka-verify to verify UMTS AKA (SIM side) This new utility implements the UMTS AKA procedures of the SIM side. It can be used to manually verify the correctness of authentication tuples received from the network. Change-Id: I497747fbf09f633dcd7c592bd9af7fca9a820645 --- M debian/libosmocore-utils.install M utils/Makefile.am A utils/osmo-aka-verify.c 3 files changed, 247 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/04/23404/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23404 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I497747fbf09f633dcd7c592bd9af7fca9a820645 Gerrit-Change-Number: 23404 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 Sat Mar 20 10:54:41 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 20 Mar 2021 10:54:41 +0000 Subject: Change in libosmocore[master]: utils: osmo-aka-verify to verify UMTS AKA (SIM side) In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23404 ) Change subject: utils: osmo-aka-verify to verify UMTS AKA (SIM side) ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/23404/1/utils/Makefile.am File utils/Makefile.am: https://gerrit.osmocom.org/c/libosmocore/+/23404/1/utils/Makefile.am at 17 PS1, Line 17: osmo_aka_verifg_SOURCES = osmo-aka-verify.c > Thanks, nice catch. the interesting part is that it still works here locally. [?] Done -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23404 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I497747fbf09f633dcd7c592bd9af7fca9a820645 Gerrit-Change-Number: 23404 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 20 Mar 2021 10:54:41 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 20 10:54:56 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 20 Mar 2021 10:54:56 +0000 Subject: Change in libosmocore[master]: utils: osmo-aka-verify to verify UMTS AKA (SIM side) In-Reply-To: References: Message-ID: laforge has removed a vote from this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23404 ) Change subject: utils: osmo-aka-verify to verify UMTS AKA (SIM side) ...................................................................... Removed Code-Review-2 by pespin -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23404 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I497747fbf09f633dcd7c592bd9af7fca9a820645 Gerrit-Change-Number: 23404 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: deleteVote -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 20 10:57:33 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 20 Mar 2021 10:57:33 +0000 Subject: Change in libosmocore[master]: gprs_ns2: Introduce gprs_ns2_create_nse2() for SGSN side SNS In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23407 ) Change subject: gprs_ns2: Introduce gprs_ns2_create_nse2() for SGSN side SNS ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/23407/1/src/gb/gprs_ns2.c File src/gb/gprs_ns2.c: https://gerrit.osmocom.org/c/libosmocore/+/23407/1/src/gb/gprs_ns2.c at 783 PS1, Line 783: bool local_sgsn_role) > iirc there was enum type for role, maybe better pass that? the role enum is an internal part of the implementation, and is not exposed to the API user. Given that there are no more roles than those two, I think the bool is fine inthe API. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23407 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6db8c36f7c69b592d7d0fbcf323804f7e9912be2 Gerrit-Change-Number: 23407 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 20 Mar 2021 10:57:33 +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 Mar 20 10:58:33 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 20 Mar 2021 10:58:33 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vty: Allow creating NSE in sgsn-role In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23408 ) Change subject: gprs_ns2_vty: Allow creating NSE in sgsn-role ...................................................................... Patch Set 1: > Why not better handling this internaly so no need to pass an extra param? Eg BSS/SGSN calling an API or setting afield sgsn_role=true, and use that instead of VTY param. You can have any number of NSEs configured, and some of those are BSS side and others are SGSN side. It's entirely up to the user how to configure this, and any number of both exist in gbproxy. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23408 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I694fa6c80d04d13cb1afaae93a9ae43b6dfd2207 Gerrit-Change-Number: 23408 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 20 Mar 2021 10:58: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 Sat Mar 20 10:59:49 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 20 Mar 2021 10:59:49 +0000 Subject: Change in libosmocore[master]: gprs_ns2: Add comments explaining the nsvc->sns_only field In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23416 ) Change subject: gprs_ns2: Add comments explaining the nsvc->sns_only field ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/23416/1/src/gb/gprs_ns2.c File src/gb/gprs_ns2.c: https://gerrit.osmocom.org/c/libosmocore/+/23416/1/src/gb/gprs_ns2.c at 1427 PS1, Line 1427: * (with the * exception of Size and Configuration procedures) unless it is > extra "*"? Ack -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23416 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I16009a1b03d8027de2be56b7d5013b755c9550fd Gerrit-Change-Number: 23416 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Sat, 20 Mar 2021 10:59:49 +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 Mar 20 11:00:02 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 20 Mar 2021 11:00:02 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Support for SGSN-side IP-SNS In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/23405 to look at the new patch set (#2). Change subject: gprs_ns2_sns: Support for SGSN-side IP-SNS ...................................................................... gprs_ns2_sns: Support for SGSN-side IP-SNS This adds the core functionality of implementing the SGSN-side of IP-SNS inside a new FSM. The SGSN-side FSM shares states, events, structures and code with the BSS-side whenever possible. Note that this commit does not yet use the SGSN-side FSM, that is part of subsequent commits. Closes: OS#3373 Change-Id: I780413ffacd9cb71f64cc38057aae781eeb59b2b --- M src/gb/gprs_ns2_internal.h M src/gb/gprs_ns2_sns.c 2 files changed, 276 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/05/23405/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23405 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I780413ffacd9cb71f64cc38057aae781eeb59b2b Gerrit-Change-Number: 23405 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 Sat Mar 20 11:00:02 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 20 Mar 2021 11:00:02 +0000 Subject: Change in libosmocore[master]: gprs_ns2: Add comments explaining the nsvc->sns_only field 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/+/23416 to look at the new patch set (#2). Change subject: gprs_ns2: Add comments explaining the nsvc->sns_only field ...................................................................... gprs_ns2: Add comments explaining the nsvc->sns_only field Change-Id: I16009a1b03d8027de2be56b7d5013b755c9550fd --- M src/gb/gprs_ns2.c M src/gb/gprs_ns2_internal.h M src/gb/gprs_ns2_sns.c 3 files changed, 7 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/16/23416/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23416 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I16009a1b03d8027de2be56b7d5013b755c9550fd Gerrit-Change-Number: 23416 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 Mar 20 11:00:11 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 20 Mar 2021 11:00:11 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Support for SGSN-side IP-SNS In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23405 ) Change subject: gprs_ns2_sns: Support for SGSN-side IP-SNS ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/23405/1/src/gb/gprs_ns2_sns.c File src/gb/gprs_ns2_sns.c: https://gerrit.osmocom.org/c/libosmocore/+/23405/1/src/gb/gprs_ns2_sns.c at 2050 PS1, Line 2050: //.onenter = ns2_sns_st_sgsn_wait_config_onenter, > can this be dropped? Ack -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23405 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I780413ffacd9cb71f64cc38057aae781eeb59b2b Gerrit-Change-Number: 23405 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 20 Mar 2021 11:00:11 +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 Mar 20 11:00:24 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 20 Mar 2021 11:00:24 +0000 Subject: Change in libosmocore[master]: utils: osmo-aka-verify to verify UMTS AKA (SIM side) In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23404 ) Change subject: utils: osmo-aka-verify to verify UMTS AKA (SIM side) ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23404 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I497747fbf09f633dcd7c592bd9af7fca9a820645 Gerrit-Change-Number: 23404 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 20 Mar 2021 11:00:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 20 11:00:27 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 20 Mar 2021 11:00:27 +0000 Subject: Change in libosmocore[master]: utils: osmo-aka-verify to verify UMTS AKA (SIM side) In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23404 ) Change subject: utils: osmo-aka-verify to verify UMTS AKA (SIM side) ...................................................................... utils: osmo-aka-verify to verify UMTS AKA (SIM side) This new utility implements the UMTS AKA procedures of the SIM side. It can be used to manually verify the correctness of authentication tuples received from the network. Change-Id: I497747fbf09f633dcd7c592bd9af7fca9a820645 --- M debian/libosmocore-utils.install M utils/Makefile.am A utils/osmo-aka-verify.c 3 files changed, 247 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/debian/libosmocore-utils.install b/debian/libosmocore-utils.install index d23cc73..9501bec 100644 --- a/debian/libosmocore-utils.install +++ b/debian/libosmocore-utils.install @@ -1,3 +1,4 @@ usr/bin/osmo-arfcn usr/bin/osmo-auc-gen +usr/bin/osmo-aka-verify usr/bin/osmo-config-merge diff --git a/utils/Makefile.am b/utils/Makefile.am index 4e54a78..3f2b13f 100644 --- a/utils/Makefile.am +++ b/utils/Makefile.am @@ -8,12 +8,14 @@ if ENABLE_UTILITIES EXTRA_DIST = conv_gen.py conv_codes_gsm.py -bin_PROGRAMS += osmo-arfcn osmo-auc-gen osmo-config-merge +bin_PROGRAMS += osmo-arfcn osmo-auc-gen osmo-config-merge osmo-aka-verify osmo_arfcn_SOURCES = osmo-arfcn.c osmo_auc_gen_SOURCES = osmo-auc-gen.c +osmo_aka_verify_SOURCES = osmo-aka-verify.c + osmo_config_merge_SOURCES = osmo-config-merge.c osmo_config_merge_LDADD = $(LDADD) $(TALLOC_LIBS) osmo_config_merge_CFLAGS = $(TALLOC_CFLAGS) diff --git a/utils/osmo-aka-verify.c b/utils/osmo-aka-verify.c new file mode 100644 index 0000000..5134d79 --- /dev/null +++ b/utils/osmo-aka-verify.c @@ -0,0 +1,243 @@ +#include +#include +#include +#include +#include + +#include +#include + +/* Utility program for implementing the SIM-side procedures of 3GPP Authentication and Key Agreement + * as specified by 3GPP TS 33.102 Section 6.3.3 + * + * (C) 2021 by Harald Welte + * Milenage library code used from libosmocore, which inherited it from wpa_supplicant + */ + +/* FIXME: libosmogsm implements those, but doesn't declare them */ +int milenage_f1(const uint8_t *opc, const uint8_t *k, const uint8_t *_rand, + const uint8_t *sqn, const uint8_t *amf, uint8_t *mac_a, uint8_t *mac_s); +int milenage_f2345(const uint8_t *opc, const uint8_t *k, const uint8_t *_rand, + uint8_t *res, uint8_t *ck, uint8_t *ik, uint8_t *ak, uint8_t *akstar); + +static int milenage_check(const uint8_t *opc, const uint8_t *k, const uint8_t *sqn, const uint8_t *_rand, + const uint8_t *autn, uint8_t *ik, uint8_t *ck, uint8_t *res, size_t *res_len, + uint8_t *auts) +{ + int i; + uint8_t xmac[8], ak[6], rx_sqn_bin[6]; + unsigned long long rx_sqn; + const uint8_t *amf; + + printf("=== Static SIM parameters:\n"); + printf("Milenage SIM K: %s\n", osmo_hexdump_nospc(k, 16)); + printf("Milenage SIM OPc: %s\n", osmo_hexdump_nospc(opc, 16)); + printf("Milenage SIM SQN: %s\n", osmo_hexdump_nospc(sqn, 6)); + printf("\n"); + + printf("=== Authentication Tuple as received from Network:\n"); + printf("Milenage Input RAND: %s\n", osmo_hexdump_nospc(_rand, 16)); + printf("Milenage Input AUTN: %s\n", osmo_hexdump_nospc(autn, 16)); + printf("\tAUTN(+)AK: %s\n", osmo_hexdump_nospc(autn, 6)); + printf("\tAMF: %s\n", osmo_hexdump_nospc(autn+6, 2)); + printf("\tMAC: %s\n", osmo_hexdump_nospc(autn+8, 8)); + printf("\n"); + + if (milenage_f2345(opc, k, _rand, res, ck, ik, ak, NULL)) + return -1; + + *res_len = 8; + printf("Milenage f2-Computed RES: %s\n", osmo_hexdump_nospc(res, *res_len)); + printf("Milenage f3-Computed CK: %s\n", osmo_hexdump_nospc(ck, 16)); + printf("Milenage f4-Computed IK: %s\n", osmo_hexdump_nospc(ik, 16)); + printf("Milenage f5-Computed AK: %s\n", osmo_hexdump_nospc(ak, 6)); + + /* AUTN = (SQN ^ AK) || AMF || MAC */ + for (i = 0; i < 6; i++) + rx_sqn_bin[i] = autn[i] ^ ak[i]; + rx_sqn = osmo_load64be_ext(rx_sqn_bin, 6); + printf("Milenage Computed SQN: %s (%llu)\n", osmo_hexdump_nospc(rx_sqn_bin, 6), rx_sqn); + + if (memcmp(rx_sqn_bin, sqn, 6) <= 0) { + printf("Milenage: RX-SQN differs from SIM SQN: Re-Sync!\n"); + uint8_t auts_amf[2] = { 0x00, 0x00 }; /* TS 33.102 v7.0.0, 6.3.3 */ + if (milenage_f2345(opc, k, _rand, NULL, NULL, NULL, NULL, ak)) + return -1; + printf("Milenage Computed AK*: %s", osmo_hexdump_nospc(ak, 6)); + for (i = 0; i < 6; i++) + auts[i] = sqn[i] ^ ak[i]; + if (milenage_f1(opc, k, _rand, sqn, auts_amf, NULL, auts + 6)) + return -1; + printf("Milenage AUTS: %s\n", osmo_hexdump_nospc(auts, 14)); + return -2; + } + + amf = autn + 6; + if (milenage_f1(opc, k, _rand, rx_sqn_bin, amf, xmac, NULL)) + return -1; + + printf("Milenage f1-Computed XMAC: %s\n", osmo_hexdump_nospc(xmac, 8)); + + if (memcmp(xmac, autn + 8, 8) != 0) { + fprintf(stderr, "Milenage: MAC mismatch!\n"); + return -1; + } + + return 0; +} + + +static void help() +{ + printf( "Static SIM card parameters:\n" + "-k --key\tSpecify Ki / K\n" + "-o --opc\tSpecify OPC\n" + "-O --op\tSpecify OP\n" + "-f --amf\tSpecify AMF\n" + "-s --sqn\tSpecify SQN\n" + "\n" + "Authentication Tuple by network:\n" + //"-i --ind\tSpecify IND slot for new SQN after AUTS\n" + //"-l --ind-len\tSpecify IND bit length (default=5)\n" + "-r --rand\tSpecify RAND random value\n" + "-A --autn\tSpecify AUTN authentication nonce\n" + ); +} + +static uint8_t g_k[16]; +static uint8_t g_opc[16]; +static uint8_t g_rand[16]; +static uint8_t g_autn[16]; +static uint8_t g_amf[16]; +static unsigned long long g_sqn; + + +static int handle_options(int argc, char **argv) +{ + int rc, option_index; + bool rand_is_set = false; + bool autn_is_set = false; + bool sqn_is_set = false; + bool k_is_set = false; + bool opc_is_set = false; + bool amf_is_set = false; + bool opc_is_op = false; + + while (1) { + int c; + static struct option long_options[] = { + { "key", 1, 0, 'k' }, + { "opc", 1, 0, 'o' }, + { "op", 1, 0, 'O' }, + { "amf", 1, 0, 'f' }, + { "sqn", 1, 0, 's' }, + { "rand", 1, 0, 'r' }, + { "autn", 1, 0, 'A' }, + { "help", 0, 0, 'h' }, + { 0, 0, 0, 0 } + }; + + rc = 0; + + c = getopt_long(argc, argv, "k:o:O:f:s:r:A:h", long_options, &option_index); + + if (c == -1) + break; + + switch (c) { + case 'k': + rc = osmo_hexparse(optarg, g_k, sizeof(g_k)); + k_is_set = true; + break; + case 'o': + rc = osmo_hexparse(optarg, g_opc, sizeof(g_opc)); + opc_is_op = false; + opc_is_set = true; + break; + case 'O': + rc = osmo_hexparse(optarg, g_opc, sizeof(g_opc)); + opc_is_op = true; + opc_is_set = true; + break; + case 'A': + rc = osmo_hexparse(optarg, g_autn, sizeof(g_autn)); + autn_is_set = true; + break; + case 'f': + rc = osmo_hexparse(optarg, g_amf, sizeof(g_amf)); + amf_is_set = true; + break; + case 's': + g_sqn = strtoull(optarg, 0, 10); + sqn_is_set = true; + break; + case 'r': + rc = osmo_hexparse(optarg, g_rand, sizeof(g_rand)); + rand_is_set = true; + break; + case 'h': + help(); + exit(0); + default: + help(); + exit(1); + } + + if (rc < 0) { + help(); + fprintf(stderr, "\nError parsing argument of option `%c'\n", c); + exit(2); + } + } + + if (!k_is_set || !opc_is_set || !autn_is_set || !rand_is_set) { + fprintf(stderr, "Error: K, OP[c], AUTN and RAND are mandatory arguments\n"); + fprintf(stderr, "\n"); + help(); + exit(2); + } + + if (!sqn_is_set) + printf("Warning: You may want to specify SQN\n"); + + if (!amf_is_set) + printf("Warning: You may want to specify AMF\n"); + + if (opc_is_op) { + /* FIXME */ + } + + return 0; +} + + + +int main(int argc, char **argv) +{ + printf("osmo-aka-check (C) 2021 by Harald Welte\n"); + printf("This is FREE SOFTWARE with ABSOLUTELY NO WARRANTY\n\n"); + + handle_options(argc, argv); + + printf("\n"); + + uint8_t ck[16]; + uint8_t ik[16]; + uint8_t res[16]; + size_t res_len; + uint8_t auts[14]; + uint8_t sqn_bin[6]; + int rc; + + osmo_store64be_ext(g_sqn, sqn_bin, 6); + + rc = milenage_check(g_opc, g_k, sqn_bin, g_rand, g_autn, ck, ik, res, &res_len, auts); + + if (rc < 0) { + fprintf(stderr, "Authentication FAILED!\n"); + exit(1); + } else { + printf("Authentication SUCCEEDED\n"); + exit(0); + } +} -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23404 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I497747fbf09f633dcd7c592bd9af7fca9a820645 Gerrit-Change-Number: 23404 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 Sat Mar 20 15:01:38 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 20 Mar 2021 15:01:38 +0000 Subject: Change in osmo-ttcn3-hacks[master]: sgsn: Avoid race condition in TC_suspend_rau() References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23425 ) Change subject: sgsn: Avoid race condition in TC_suspend_rau() ...................................................................... sgsn: Avoid race condition in TC_suspend_rau() In f_routing_area_update() we are sending a RAU Complete to the SGSN and then immediately afterwards send a GTP-U from the simulated GGSN to the SGSN. That GTP might reach the SGSN faster than the RAU Complete, resulting in a test failure. Change-Id: Ic489e0857115cf24965e413a39918edc5a8f44f8 --- M sgsn/SGSN_Tests.ttcn 1 file changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/25/23425/1 diff --git a/sgsn/SGSN_Tests.ttcn b/sgsn/SGSN_Tests.ttcn index 79e7434..6c8ea61 100644 --- a/sgsn/SGSN_Tests.ttcn +++ b/sgsn/SGSN_Tests.ttcn @@ -3105,6 +3105,9 @@ /* perform RAU (implicit RESUME) */ f_routing_area_update(g_pars.ra); + /* give SGSN some time to actually receve + process the RAU Complete we sent */ + f_sleep(0.5); + /* now data should be flowing again */ f_gtpu_xceive_mt(apars, f_rnd_octstring(100)); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23425 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic489e0857115cf24965e413a39918edc5a8f44f8 Gerrit-Change-Number: 23425 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 Mar 20 15:01:39 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 20 Mar 2021 15:01:39 +0000 Subject: Change in osmo-ttcn3-hacks[master]: sgsn: sync config files with those from docker-playground.git References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23426 ) Change subject: sgsn: sync config files with those from docker-playground.git ...................................................................... sgsn: sync config files with those from docker-playground.git Change-Id: Ice00a0a4d00629e30b4fec029353d590eba8877f --- M sgsn/osmo-sgsn.cfg M sgsn/osmo-stp.cfg 2 files changed, 47 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/26/23426/1 diff --git a/sgsn/osmo-sgsn.cfg b/sgsn/osmo-sgsn.cfg index c03c9a3..811d3ff 100644 --- a/sgsn/osmo-sgsn.cfg +++ b/sgsn/osmo-sgsn.cfg @@ -2,27 +2,49 @@ ! OsmoSGSN (1.2.0.46-e77e-dirty) configuration saved from vty !! ! +log gsmtap 127.0.0.1 + logging level set-all debug + logging filter all 1 +! log stderr logging filter all 1 logging color 1 logging print category 1 + logging print category-hex 0 logging timestamp 1 logging print extended-timestamp 1 logging print file 1 - logging level set-all notice + logging level all everything logging level mm debug + logging level pag notice + logging level meas notice + logging level ref notice logging level gprs debug - logging level ns info - logging level bssgp info + logging level lns debug + logging level lbssgp info logging level llc debug logging level sndcp debug + logging level slhc notice logging level ranap info logging level sua info logging level v42bis info logging level lglobal info + logging level llapd notice + logging level linp notice + logging level lmux notice + logging level lmi notice + logging level lmib notice + logging level lsms notice + logging level lctrl notice logging level lgtp debug + logging level lstats notice logging level lgsup debug + logging level loap notice + logging level lss7 notice logging level lsccp info + logging level lsua notice + logging level lm3ua notice + logging level lmgcp notice ! stats interval 5 ! @@ -50,6 +72,8 @@ bind udp local10 listen 127.0.0.10 23000 accept-ipaccess + bind udp local10_1 + listen 127.0.0.10 23001 bssgp sgsn gtp local-ip 127.0.0.10 diff --git a/sgsn/osmo-stp.cfg b/sgsn/osmo-stp.cfg index b42f967..0f480d8 100644 --- a/sgsn/osmo-stp.cfg +++ b/sgsn/osmo-stp.cfg @@ -4,16 +4,33 @@ ! log gsmtap 127.0.0.1 logging level set-all debug + logging filter all 1 ! 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 timestamp 1 logging print extended-timestamp 1 - logging level set-all debug + logging level all everything + logging level lglobal notice + logging level llapd notice + logging level linp notice + logging level lmux notice + logging level lmi notice + logging level lmib notice + logging level lsms notice + logging level lctrl notice + logging level lgtp notice + logging level lstats notice + logging level lgsup notice + logging level loap notice + logging level lss7 debug + logging level lsccp debug + logging level lsua debug + logging level lm3ua debug + logging level lmgcp notice ! line vty no login -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23426 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ice00a0a4d00629e30b4fec029353d590eba8877f Gerrit-Change-Number: 23426 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 Mar 20 15:19:19 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 20 Mar 2021 15:19:19 +0000 Subject: Change in osmo-pcu[master]: pdch_ul_controller: Fix compiler warning on gcc-10.2 References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23427 ) Change subject: pdch_ul_controller: Fix compiler warning on gcc-10.2 ...................................................................... pdch_ul_controller: Fix compiler warning on gcc-10.2 pdch_ul_controller.c: In function ?pdch_ulc_release_tbf?: pdch_ul_controller.c:217:7: error: ?item_tbf? may be used uninitialized in this function [-Werror=maybe-uninitialized] 217 | if (item_tbf != tbf) | ^ Change-Id: I42120fdf23753945ebc16bb5469d9fd253c3da37 --- M src/pdch_ul_controller.c 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/27/23427/1 diff --git a/src/pdch_ul_controller.c b/src/pdch_ul_controller.c index 173fd8f..cd705d0 100644 --- a/src/pdch_ul_controller.c +++ b/src/pdch_ul_controller.c @@ -213,6 +213,8 @@ case PDCH_ULC_NODE_TBF_USF: item_tbf = (struct gprs_rlcmac_tbf *)item->tbf_usf.ul_tbf; break; + default: + OSMO_ASSERT(0); } if (item_tbf != tbf) continue; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23427 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I42120fdf23753945ebc16bb5469d9fd253c3da37 Gerrit-Change-Number: 23427 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 Mar 20 15:26:25 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 20 Mar 2021 15:26:25 +0000 Subject: Change in osmo-ttcn3-hacks[master]: sgsn: Avoid race condition in TC_suspend_rau() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23425 ) Change subject: sgsn: Avoid race condition in TC_suspend_rau() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23425 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic489e0857115cf24965e413a39918edc5a8f44f8 Gerrit-Change-Number: 23425 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: daniel Gerrit-CC: pespin Gerrit-Comment-Date: Sat, 20 Mar 2021 15:26: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 Mar 20 15:26:27 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 20 Mar 2021 15:26:27 +0000 Subject: Change in osmo-ttcn3-hacks[master]: sgsn: sync config files with those from docker-playground.git In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23426 ) Change subject: sgsn: sync config files with those from docker-playground.git ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23426 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ice00a0a4d00629e30b4fec029353d590eba8877f Gerrit-Change-Number: 23426 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 20 Mar 2021 15:26: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 Mar 20 15:26:30 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 20 Mar 2021 15:26:30 +0000 Subject: Change in osmo-ttcn3-hacks[master]: sgsn: Avoid race condition in TC_suspend_rau() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23425 ) Change subject: sgsn: Avoid race condition in TC_suspend_rau() ...................................................................... sgsn: Avoid race condition in TC_suspend_rau() In f_routing_area_update() we are sending a RAU Complete to the SGSN and then immediately afterwards send a GTP-U from the simulated GGSN to the SGSN. That GTP might reach the SGSN faster than the RAU Complete, resulting in a test failure. Change-Id: Ic489e0857115cf24965e413a39918edc5a8f44f8 --- M sgsn/SGSN_Tests.ttcn 1 file changed, 3 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/sgsn/SGSN_Tests.ttcn b/sgsn/SGSN_Tests.ttcn index 79e7434..6c8ea61 100644 --- a/sgsn/SGSN_Tests.ttcn +++ b/sgsn/SGSN_Tests.ttcn @@ -3105,6 +3105,9 @@ /* perform RAU (implicit RESUME) */ f_routing_area_update(g_pars.ra); + /* give SGSN some time to actually receve + process the RAU Complete we sent */ + f_sleep(0.5); + /* now data should be flowing again */ f_gtpu_xceive_mt(apars, f_rnd_octstring(100)); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23425 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic489e0857115cf24965e413a39918edc5a8f44f8 Gerrit-Change-Number: 23425 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: daniel Gerrit-CC: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 20 15:26:31 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 20 Mar 2021 15:26:31 +0000 Subject: Change in osmo-ttcn3-hacks[master]: sgsn: sync config files with those from docker-playground.git In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23426 ) Change subject: sgsn: sync config files with those from docker-playground.git ...................................................................... sgsn: sync config files with those from docker-playground.git Change-Id: Ice00a0a4d00629e30b4fec029353d590eba8877f --- M sgsn/osmo-sgsn.cfg M sgsn/osmo-stp.cfg 2 files changed, 47 insertions(+), 6 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/sgsn/osmo-sgsn.cfg b/sgsn/osmo-sgsn.cfg index c03c9a3..811d3ff 100644 --- a/sgsn/osmo-sgsn.cfg +++ b/sgsn/osmo-sgsn.cfg @@ -2,27 +2,49 @@ ! OsmoSGSN (1.2.0.46-e77e-dirty) configuration saved from vty !! ! +log gsmtap 127.0.0.1 + logging level set-all debug + logging filter all 1 +! log stderr logging filter all 1 logging color 1 logging print category 1 + logging print category-hex 0 logging timestamp 1 logging print extended-timestamp 1 logging print file 1 - logging level set-all notice + logging level all everything logging level mm debug + logging level pag notice + logging level meas notice + logging level ref notice logging level gprs debug - logging level ns info - logging level bssgp info + logging level lns debug + logging level lbssgp info logging level llc debug logging level sndcp debug + logging level slhc notice logging level ranap info logging level sua info logging level v42bis info logging level lglobal info + logging level llapd notice + logging level linp notice + logging level lmux notice + logging level lmi notice + logging level lmib notice + logging level lsms notice + logging level lctrl notice logging level lgtp debug + logging level lstats notice logging level lgsup debug + logging level loap notice + logging level lss7 notice logging level lsccp info + logging level lsua notice + logging level lm3ua notice + logging level lmgcp notice ! stats interval 5 ! @@ -50,6 +72,8 @@ bind udp local10 listen 127.0.0.10 23000 accept-ipaccess + bind udp local10_1 + listen 127.0.0.10 23001 bssgp sgsn gtp local-ip 127.0.0.10 diff --git a/sgsn/osmo-stp.cfg b/sgsn/osmo-stp.cfg index b42f967..0f480d8 100644 --- a/sgsn/osmo-stp.cfg +++ b/sgsn/osmo-stp.cfg @@ -4,16 +4,33 @@ ! log gsmtap 127.0.0.1 logging level set-all debug + logging filter all 1 ! 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 timestamp 1 logging print extended-timestamp 1 - logging level set-all debug + logging level all everything + logging level lglobal notice + logging level llapd notice + logging level linp notice + logging level lmux notice + logging level lmi notice + logging level lmib notice + logging level lsms notice + logging level lctrl notice + logging level lgtp notice + logging level lstats notice + logging level lgsup notice + logging level loap notice + logging level lss7 debug + logging level lsccp debug + logging level lsua debug + logging level lm3ua debug + logging level lmgcp notice ! line vty no login -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23426 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ice00a0a4d00629e30b4fec029353d590eba8877f Gerrit-Change-Number: 23426 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 20 15:28:52 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 20 Mar 2021 15:28:52 +0000 Subject: Change in pysim[master]: commands: better exception string for authentication failures In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23423 ) Change subject: commands: better exception string for authentication failures ...................................................................... Patch Set 1: > Patch Set 1: Code-Review-1 > > IMHO this should not be done here; instead the respective card profile should register code for status word interpretation that does the SW -> String conversion. There should already be genric support for that in place. ok, the existing code only has wildcard matching mapping to statig strings. I suggest to extend that with an option to register a function for decoding. This could be done by using the existing status-word-dict that contains "sw: string" mappings, and you could register a function instead. The interpret_sw() could then check if the value in the dict is a str (behavior like now) or a function (call the function and use the return as string). -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23423 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Icf428831094f8c1045eefaa8cb2b92e6a36b0c13 Gerrit-Change-Number: 23423 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 20 Mar 2021 15:28:52 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 20 16:13:31 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sat, 20 Mar 2021 16:13:31 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ns: SNS: add bss change weight testcase 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/+/23181 to look at the new patch set (#2). Change subject: ns: SNS: add bss change weight testcase ...................................................................... ns: SNS: add bss change weight testcase Do a normal SNS configuration. Afterwards the BSS will change the weights of the endpoints Change-Id: I691b9d26bf3eb8fa65aa02eba3efd0fd3869fc2a --- M library/RAW_NS.ttcnpp M ns/NS_Tests.ttcn 2 files changed, 34 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/81/23181/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23181 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I691b9d26bf3eb8fa65aa02eba3efd0fd3869fc2a Gerrit-Change-Number: 23181 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus 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 Mar 20 16:13:31 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sat, 20 Mar 2021 16:13:31 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ns: SNS: add testcase to test change_weight retries In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23182 to look at the new patch set (#2). Change subject: ns: SNS: add testcase to test change_weight retries ...................................................................... ns: SNS: add testcase to test change_weight retries Change-Id: Ie8d976a81abe0bcff53bb74991d428dbf1fe314b --- M ns/NS_Tests.ttcn 1 file changed, 43 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/82/23182/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23182 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie8d976a81abe0bcff53bb74991d428dbf1fe314b Gerrit-Change-Number: 23182 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus 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 Mar 20 16:44:11 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sat, 20 Mar 2021 16:44:11 +0000 Subject: Change in libosmocore[master]: gprs_ns2: sns: move alive timeout into own variable In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23185 ) Change subject: gprs_ns2: sns: move alive timeout into own variable ...................................................................... Patch Set 1: will rebase this after sns sgsn went into master. mark it as WIP. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23185 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I4b223118c7f250dbc8161cbf29cbd994c26c362f Gerrit-Change-Number: 23185 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 20 Mar 2021 16:44: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 Sat Mar 20 16:44:15 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sat, 20 Mar 2021 16:44:15 +0000 Subject: Change in libosmocore[master]: gprs_ns2: add functions for SNS add/del/change-weight messages In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23186 ) Change subject: gprs_ns2: add functions for SNS add/del/change-weight messages ...................................................................... Patch Set 1: will rebase this after sns sgsn went into master. mark it as WIP. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23186 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ib9492e213e82c18c7dcce6ba7d64e897b4c74796 Gerrit-Change-Number: 23186 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Sat, 20 Mar 2021 16:44: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 Mar 20 16:44:22 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sat, 20 Mar 2021 16:44:22 +0000 Subject: Change in libosmocore[master]: WIP: gprs_ns2: sns: implement local procedure change weight In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23187 ) Change subject: WIP: gprs_ns2: sns: implement local procedure change weight ...................................................................... Patch Set 1: will rebase this after sns sgsn went into master. mark it as WIP. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23187 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Icec4dabb46bc198f68f91bfe09ba279fbe68d454 Gerrit-Change-Number: 23187 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Sat, 20 Mar 2021 16:44: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 Sat Mar 20 16:51:23 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sat, 20 Mar 2021 16:51:23 +0000 Subject: Change in osmo-pcu[master]: gprs_bssgp_pcu: ensure only known BVCI can be resetted by the SGSN In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23014 ) Change subject: gprs_bssgp_pcu: ensure only known BVCI can be resetted by the SGSN ...................................................................... Patch Set 4: (2 comments) https://gerrit.osmocom.org/c/osmo-pcu/+/23014/4/src/gprs_bssgp_pcu.c File src/gprs_bssgp_pcu.c: https://gerrit.osmocom.org/c/osmo-pcu/+/23014/4/src/gprs_bssgp_pcu.c at 460 PS4, Line 460: !TLVP_PRESENT(&tp, BSSGP_IE_BVCI) > I agree, we should add it in another commit. [?] mark this as resolved. https://gerrit.osmocom.org/c/osmo-pcu/+/23014/4/src/gprs_bssgp_pcu.c at 461 PS4, Line 461: an > It's also called BVC-RESET, not BSSGP-RESET Done -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23014 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I04e36ce4a29e51d85e67a0d3a81aa0e1eb9e9c08 Gerrit-Change-Number: 23014 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 20 Mar 2021 16:51:23 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Comment-In-Reply-To: daniel Comment-In-Reply-To: lynxis lazus Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 20 16:51:25 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sat, 20 Mar 2021 16:51:25 +0000 Subject: Change in osmo-pcu[master]: gprs_bssgp_pcu: ensure only known BVCI can be resetted by the SGSN In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, daniel, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/23014 to look at the new patch set (#5). Change subject: gprs_bssgp_pcu: ensure only known BVCI can be resetted by the SGSN ...................................................................... gprs_bssgp_pcu: ensure only known BVCI can be resetted by the SGSN Related: OS#3879 Change-Id: I04e36ce4a29e51d85e67a0d3a81aa0e1eb9e9c08 --- M src/gprs_bssgp_pcu.c 1 file changed, 12 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/14/23014/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23014 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I04e36ce4a29e51d85e67a0d3a81aa0e1eb9e9c08 Gerrit-Change-Number: 23014 Gerrit-PatchSet: 5 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 20 17:31:09 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Sat, 20 Mar 2021 17:31:09 +0000 Subject: Change in libosmocore[master]: gprs_ns2: rework logging of Rx and Tx NS PDU In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, daniel, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/22294 to look at the new patch set (#15). Change subject: gprs_ns2: rework logging of Rx and Tx NS PDU ...................................................................... gprs_ns2: rework logging of Rx and Tx NS PDU Introduce 2 new logging sub systems for signal and unit data. Unify log messages so all log messages look similiar. Log also Rx PDUs. Ensure dropped Tx packets (BLOCK/RESET on SNS) contain *Tx*. Change-Id: I34b8fde2955ecc010d1dcd9512e1bba9211e2c0d --- M include/osmocom/core/logging.h M src/gb/gprs_ns2.c M src/gb/gprs_ns2_internal.h M src/gb/gprs_ns2_message.c M src/gb/gprs_ns2_vc_fsm.c M src/logging.c M tests/logging/logging_vty_test.vty 7 files changed, 92 insertions(+), 70 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/94/22294/15 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/22294 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I34b8fde2955ecc010d1dcd9512e1bba9211e2c0d Gerrit-Change-Number: 22294 Gerrit-PatchSet: 15 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sun Mar 21 02:17:19 2021 From: admin at opensuse.org (OBS Notification) Date: Sun, 21 Mar 2021 02:17:19 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.10/x86_64 In-Reply-To: References: Message-ID: <6056accbb69a8_a602af4fbf7c5f4244139@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_20.10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_20.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 129s] [COMPILING libboard/qmod/source/board_qmod.c] [ 129s] [COMPILING libboard/qmod/source/card_pres.c] [ 129s] [COMPILING libboard/qmod/source/i2c.c] [ 129s] [COMPILING libboard/qmod/source/wwan_led.c] [ 129s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 129s] [COMPILING apps/dfu/main.c] [ 130s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 130s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 130s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 130s] Memory region Used Size Region Size %age Used [ 130s] rom: 16592 B 16 KB 101.27% [ 130s] ram: 11680 B 48 KB 23.76/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 130s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 208 bytes [ 130s] collect2: error: ld returned 1 exit status [ 130s] % [ 130s] make[2]: *** [Makefile:230: flash] Error 1 [ 130s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 130s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 130s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 130s] dh_auto_build: error: make -j1 returned exit code 2 [ 130s] make: *** [debian/rules:16: build] Error 25 [ 130s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 130s] ### VM INTERACTION START ### [ 133s] [ 121.831836] sysrq: Power Off [ 133s] [ 121.834138] reboot: Power down [ 133s] ### VM INTERACTION END ### [ 133s] [ 133s] hci-cnode2-m1 failed "build simtrace2_0.7.0.76.62ad.dsc" at Sun Mar 21 02:17:10 UTC 2021. [ 133s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Mar 21 02:23:36 2021 From: admin at opensuse.org (OBS Notification) Date: Sun, 21 Mar 2021 02:23:36 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <6056ae349bdfb_a602af4fbf7c5f42451ed@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_20.04/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_20.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 489s] [COMPILING apps/dfu/main.c] [ 489s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 489s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 489s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 490s] Memory region Used Size Region Size %age Used [ 490s] rom: 16600 B 16 KB 101.32% [ 490s] ram: 11688 B 48 KB 23.78/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 490s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 490s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 490s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 490s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 490s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 490s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 216 bytes [ 490s] collect2: error: ld returned 1 exit status [ 490s] % [ 490s] make[2]: *** [Makefile:230: flash] Error 1 [ 490s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 490s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 490s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 490s] dh_auto_build: error: make -j1 returned exit code 2 [ 490s] make: *** [debian/rules:16: build] Error 25 [ 490s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 490s] ### VM INTERACTION START ### [ 493s] [ 456.925337] sysrq: Power Off [ 493s] [ 457.018076] reboot: Power down [ 493s] ### VM INTERACTION END ### [ 494s] [ 494s] lamb61 failed "build simtrace2_0.7.0.76.62ad.dsc" at Sun Mar 21 02:23:23 UTC 2021. [ 494s] -- 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 Mar 21 21:39:41 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 21 Mar 2021 21:39:41 +0000 Subject: Change in libosmocore[master]: utils/osmo-aka-verify: fix swapped CK/IK arguments References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/23439 ) Change subject: utils/osmo-aka-verify: fix swapped CK/IK arguments ...................................................................... utils/osmo-aka-verify: fix swapped CK/IK arguments The positions of arguments in the call to "milenage_check" do not match the ordering of the parameters: * "ck" is passed to "ik" * "ik" is passed to "ck" Let's simply reorder the arguments of milenage_check() to match the ordering in milenage_f2345(). Change-Id: Ia003d3c9d88fb8f6740791583855a709b8639160 Fixes: CID#220324 --- M utils/osmo-aka-verify.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/39/23439/1 diff --git a/utils/osmo-aka-verify.c b/utils/osmo-aka-verify.c index 5134d79..0caeab3 100644 --- a/utils/osmo-aka-verify.c +++ b/utils/osmo-aka-verify.c @@ -21,7 +21,7 @@ uint8_t *res, uint8_t *ck, uint8_t *ik, uint8_t *ak, uint8_t *akstar); static int milenage_check(const uint8_t *opc, const uint8_t *k, const uint8_t *sqn, const uint8_t *_rand, - const uint8_t *autn, uint8_t *ik, uint8_t *ck, uint8_t *res, size_t *res_len, + const uint8_t *autn, uint8_t *ck, uint8_t *ik, uint8_t *res, size_t *res_len, uint8_t *auts) { int i; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23439 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia003d3c9d88fb8f6740791583855a709b8639160 Gerrit-Change-Number: 23439 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 Mar 21 21:46:53 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 21 Mar 2021 21:46:53 +0000 Subject: Change in osmo-hlr[master]: add README.md file as customary for cgit, github, gitlab, etc. References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-hlr/+/23440 ) Change subject: add README.md file as customary for cgit, github, gitlab, etc. ...................................................................... add README.md file as customary for cgit, github, gitlab, etc. Change-Id: Ide03584aae21d5972e96e7862feb86e1265c29b3 --- A README.md 1 file changed, 66 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-hlr refs/changes/40/23440/1 diff --git a/README.md b/README.md new file mode 100644 index 0000000..beb3449 --- /dev/null +++ b/README.md @@ -0,0 +1,66 @@ +osmo-hlr - Osmocom HLR Implementation +===================================== + +This repository contains a C-language implementation of a GSM Home +Location Register (HLR). It is part of the +[Osmocom](https://osmocom.org/) Open Source Mobile Communications +project. + +Warning: While the HLR logical functionality is implemented, OsmoHLR +does not use the ETSI/3GPP TCAP/MAP protocol stack. Instead, a much +simpler custom protocol (GSUP) is used. This means, OsmoHLR is of +no use outside the context of an Osmocom core network. You can use +it with OsmoMSC, OsmoSGSN etc. - but not with third party components. + +Homepage +-------- + +The official homepage of the project is +https://osmocom.org/projects/osmo-hlr/wiki + +GIT Repository +-------------- + +You can clone from the official osmo-hlr.git repository using + + git clone git://git.osmocom.org/osmo-hlr.git + git clone https://git.osmocom.org/osmo-hlr.git + +There is a cgit interface at https://git.osmocom.org/osmo-hlr/ + +Documentation +------------- + +User Manuals and VTY reference manuals are [optionally] built in PDF form +as part of the build process. + +Pre-rendered PDF version of the current "master" can be found at +[User Manual](https://ftp.osmocom.org/docs/latest/osmohlr-usermanual.pdf) +as well as the VTY reference manuals +* [VTY Reference Manual for osmo-hlr](https://ftp.osmocom.org/docs/latest/osmohlr-vty-reference.pdf) + +Mailing List +------------ + +Discussions related to osmo-hlr are happening on the +openbsc at lists.osmocom.org mailing list, please see +https://lists.osmocom.org/mailman/listinfo/openbsc for subscription +options and the list archive. + +Please observe the [Osmocom Mailing List +Rules](https://osmocom.org/projects/cellular-infrastructure/wiki/Mailing_List_Rules) +when posting. + +Contributing +------------ + +Our coding standards are described at +https://osmocom.org/projects/cellular-infrastructure/wiki/Coding_standards + +We us a gerrit based patch submission/review process for managing +contributions. Please see +https://osmocom.org/projects/cellular-infrastructure/wiki/Gerrit for +more details + +The current patch queue for osmo-hlr can be seen at +https://gerrit.osmocom.org/#/q/project:osmo-hlr+status:open -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/23440 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Ide03584aae21d5972e96e7862feb86e1265c29b3 Gerrit-Change-Number: 23440 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 Mar 21 21:52:02 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 21 Mar 2021 21:52:02 +0000 Subject: Change in osmo-e1d[master]: add README.md describing what this repository is about References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-e1d/+/23441 ) Change subject: add README.md describing what this repository is about ...................................................................... add README.md describing what this repository is about Change-Id: I9ef46d8fa70cedaa8af6a9895422f4e60d701266 --- A README.md 1 file changed, 56 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-e1d refs/changes/41/23441/1 diff --git a/README.md b/README.md new file mode 100644 index 0000000..1ff6bc9 --- /dev/null +++ b/README.md @@ -0,0 +1,56 @@ +osmo-e1d - Osmocom E1 interface daemon +====================================== + +This repository contains the osmocom E1 interface daemon, +a pure userspace driver for the icE1usb hardware USB E1 adapter. + +It is part of the [Osmocom](https://osmocom.org/) Open Source Mobile +Communications project. + +Homepage +-------- + +The official homepage of the project is +https://osmocom.org/projects/osmo-e1d/wiki + +GIT Repository +-------------- + +You can clone from the official osmo-e1d.git repository using + + git clone git://git.osmocom.org/osmo-e1d.git + git clone https://git.osmocom.org/osmo-e1d.git + +There is a cgit interface at https://git.osmocom.org/osmo-e1d/ + +Related Links +------------- + +* [icE1usb USB E1 adapter](https://osmocom.org/projects/e1-t1-adapter/wiki/IcE1usb) +* [alternative DAHDI driver](https://osmocom.org/issues/4923) + +Mailing List +------------ + +Discussions related to osmo-e1d are happening on the +openbsc at lists.osmocom.org mailing list, please see +https://lists.osmocom.org/mailman/listinfo/openbsc for subscription +options and the list archive. + +Please observe the [Osmocom Mailing List +Rules](https://osmocom.org/projects/cellular-infrastructure/wiki/Mailing_List_Rules) +when posting. + +Contributing +------------ + +Our coding standards are described at +https://osmocom.org/projects/cellular-infrastructure/wiki/Coding_standards + +We us a gerrit based patch submission/review process for managing +contributions. Please see +https://osmocom.org/projects/cellular-infrastructure/wiki/Gerrit for +more details + +The current patch queue for osmo-e1d can be seen at +https://gerrit.osmocom.org/#/q/project:osmo-e1d+status:open -- To view, visit https://gerrit.osmocom.org/c/osmo-e1d/+/23441 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-e1d Gerrit-Branch: master Gerrit-Change-Id: I9ef46d8fa70cedaa8af6a9895422f4e60d701266 Gerrit-Change-Number: 23441 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 Mar 21 21:57:03 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 21 Mar 2021 21:57:03 +0000 Subject: Change in libosmo-sccp[master]: Add README.md describing what this repo is about References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/23442 ) Change subject: Add README.md describing what this repo is about ...................................................................... Add README.md describing what this repo is about Change-Id: I965dadf1ef4a8340f6995ec745607c28e7bb1f89 --- A README.md 1 file changed, 63 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmo-sccp refs/changes/42/23442/1 diff --git a/README.md b/README.md new file mode 100644 index 0000000..98b3591 --- /dev/null +++ b/README.md @@ -0,0 +1,63 @@ +libosmo-sccp - Osmocom SCCP, SIGTRAN and STP +============================================ + +This repository contains a C-language library implementation of a +variety of telecom signaling protocols, such as M3UA, SUA, SCCP +(connection oriented and connectionless), as well as the OsmoSTP, a SS7 +Transfer Point. + +Homepage +-------- + +The official homepage of libosmo-sccp is + https://osmocom.org/projects/libosmo-sccp/wiki + +The official homepage of osmo-stp is + https://osmocom.org/projects/osmo-stp/wiki + +GIT Repository +-------------- + +You can clone from the official git repository using + + git clone git://git.osmocom.org/libosmo-sccp.git + git clone https://git.osmocom.org/libosmo-sccp.git + +There is a cgit interface at https://git.osmocom.org/libosmo-sccp/ + +Documentation +------------- + +User Manuals and VTY reference manuals are [optionally] built in PDF form +as part of the build process. + +Pre-rendered PDF version of the current "master" can be found at +[User Manual](https://ftp.osmocom.org/docs/latest/osmostp-usermanual.pdf) +as well as the VTY reference manuals +* [VTY Reference Manual for osmo-stp](https://ftp.osmocom.org/docs/latest/osmostp-vty-reference.pdf) + +Mailing List +------------ + +Discussions related to osmo-stp are happening on the +openbsc at lists.osmocom.org mailing list, please see +https://lists.osmocom.org/mailman/listinfo/openbsc for subscription +options and the list archive. + +Please observe the [Osmocom Mailing List +Rules](https://osmocom.org/projects/cellular-infrastructure/wiki/Mailing_List_Rules) +when posting. + +Contributing +------------ + +Our coding standards are described at +https://osmocom.org/projects/cellular-infrastructure/wiki/Coding_standards + +We us a gerrit based patch submission/review process for managing +contributions. Please see +https://osmocom.org/projects/cellular-infrastructure/wiki/Gerrit for +more details + +The current patch queue can be seen at +https://gerrit.osmocom.org/#/q/project:libosmo-sccp+status:open -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/23442 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I965dadf1ef4a8340f6995ec745607c28e7bb1f89 Gerrit-Change-Number: 23442 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 Mar 21 21:57:38 2021 From: gerrit-no-reply at lists.osmocom.org (tnt) Date: Sun, 21 Mar 2021 21:57:38 +0000 Subject: Change in osmo-e1d[master]: add README.md describing what this repository is about In-Reply-To: References: Message-ID: tnt has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-e1d/+/23441 ) Change subject: add README.md describing what this repository is about ...................................................................... Patch Set 1: Code-Review+1 LGTM. Only thing is the mailing list reference. I thought you were planning to make changes to the structure, so that will need updating shortly. -- To view, visit https://gerrit.osmocom.org/c/osmo-e1d/+/23441 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-e1d Gerrit-Branch: master Gerrit-Change-Id: I9ef46d8fa70cedaa8af6a9895422f4e60d701266 Gerrit-Change-Number: 23441 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: tnt Gerrit-Comment-Date: Sun, 21 Mar 2021 21:57:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 21 21:59:11 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 21 Mar 2021 21:59:11 +0000 Subject: Change in osmo-gsm-manuals[master]: add README.md to describe what this repo is about References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/23443 ) Change subject: add README.md to describe what this repo is about ...................................................................... add README.md to describe what this repo is about Change-Id: Ic8d0ff5b81f701debad59b2ba701ff115c6574c3 --- A README.md 1 file changed, 10 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-manuals refs/changes/43/23443/1 diff --git a/README.md b/README.md new file mode 100644 index 0000000..a3b951b --- /dev/null +++ b/README.md @@ -0,0 +1,10 @@ +osmo-gsm-manuals +================ + +This repository contains build infrastructure as well as common +chapters for the Osmocom CNI (Cellular Network Infrastructure) +manuals. + +PDF renderings of the resulting manuals are published at + + https://ftp.osmocom.org/docs/latest/ -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/23443 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: Ic8d0ff5b81f701debad59b2ba701ff115c6574c3 Gerrit-Change-Number: 23443 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 Mar 21 22:04:19 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 21 Mar 2021 22:04:19 +0000 Subject: Change in openbsc[master]: add README.mde to indicate what this repo is about References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/openbsc/+/23444 ) Change subject: add README.mde to indicate what this repo is about ...................................................................... add README.mde to indicate what this repo is about Change-Id: I0544a2d8016d1d5a2d264dd9c7662fd78f6a49d6 --- A README.md 1 file changed, 22 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/openbsc refs/changes/44/23444/1 diff --git a/README.md b/README.md new file mode 100644 index 0000000..f210d38 --- /dev/null +++ b/README.md @@ -0,0 +1,22 @@ +openbsc.git +=========== + +This is a HISTORICAL,OBSOLETE repository containing the code-base +of what used to be known as bs11_hack, later OpenBSC and also OsmoNITB. + +Those projects have been superseded by OsmoBSC, OsmoMSC and OsmoHLR +(collectively known as Osmocom CNI). + +The code in this repository is completely unmaintained, unsupported and +it is strongly discouraged to use it. On the other hand, the modern +Osmocom CNI implementations are fully maintained and continuously +tested. + +Do not bother the developers with questions about code from this +repository. + +Further Links +------------- + +* [New-style GSM NITB baesd on discrete Osmocom CNI projects](https://osmocom.org/projects/cellular-infrastructure/wiki/Osmocom_Network_In_The_Box) +* [Migration guide from OsmoNITB to Osmcoom CNI](https://osmocom.org/projects/cellular-infrastructure/wiki/OsmoNITB_Migration_Guide) -- To view, visit https://gerrit.osmocom.org/c/openbsc/+/23444 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-Change-Id: I0544a2d8016d1d5a2d264dd9c7662fd78f6a49d6 Gerrit-Change-Number: 23444 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 Mar 21 22:08:56 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 21 Mar 2021 22:08:56 +0000 Subject: Change in gapk[master]: add README.md on what this repository is about References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/gapk/+/23445 ) Change subject: add README.md on what this repository is about ...................................................................... add README.md on what this repository is about Change-Id: Ib545e454ddc748ca8ccbbcd34c6f3d4c5e81c2f0 --- A README.md 1 file changed, 36 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/gapk refs/changes/45/23445/1 diff --git a/README.md b/README.md new file mode 100644 index 0000000..fc9d80a --- /dev/null +++ b/README.md @@ -0,0 +1,36 @@ +gapk - GSM Audio Pocket Knife +============================= + +The GSM Audio Picket Knife is a tool that can help you to convert +codec frames of all codecs in GSM networks between a variety of +different formats / representations. + +It is part of the [Osmocom](https://osmocom.org/) Open Source Mobile +Communications project. + +GIT Repository +-------------- + +You can clone from the official gapk.git repository using + + git clone git://git.osmocom.org/gapk.git + git clone https://git.osmocom.org/gapk.git + +There is a cgit interface at https://git.osmocom.org/gapk/ + +Documentation +------------- + +Unfortunately none. + +Mailing List +------------ + +Discussions related to gapk are happening on the +openbsc at lists.osmocom.org mailing list, please see +https://lists.osmocom.org/mailman/listinfo/openbsc for subscription +options and the list archive. + +Please observe the [Osmocom Mailing List +Rules](https://osmocom.org/projects/cellular-infrastructure/wiki/Mailing_List_Rules) +when posting. -- To view, visit https://gerrit.osmocom.org/c/gapk/+/23445 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gapk Gerrit-Branch: master Gerrit-Change-Id: Ib545e454ddc748ca8ccbbcd34c6f3d4c5e81c2f0 Gerrit-Change-Number: 23445 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 Mar 21 22:10:52 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 21 Mar 2021 22:10:52 +0000 Subject: Change in osmo-e1d[master]: add README.md describing what this repository is about In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-e1d/+/23441 ) Change subject: add README.md describing what this repository is about ...................................................................... Patch Set 1: Code-Review+2 > Patch Set 1: Code-Review+1 > > LGTM. > > Only thing is the mailing list reference. I thought you were planning to make changes to the structure, so that will need updating shortly. yes, I still thought it's better to have a README.md in every repo, and I am going through all that lack one now. The ML will have an alias for the email address and a http[s] redirect, so the old URLs will continue to do the right thing. -- To view, visit https://gerrit.osmocom.org/c/osmo-e1d/+/23441 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-e1d Gerrit-Branch: master Gerrit-Change-Id: I9ef46d8fa70cedaa8af6a9895422f4e60d701266 Gerrit-Change-Number: 23441 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: tnt Gerrit-Comment-Date: Sun, 21 Mar 2021 22:10: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 Mar 21 22:10:55 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 21 Mar 2021 22:10:55 +0000 Subject: Change in osmo-e1d[master]: add README.md describing what this repository is about In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-e1d/+/23441 ) Change subject: add README.md describing what this repository is about ...................................................................... add README.md describing what this repository is about Change-Id: I9ef46d8fa70cedaa8af6a9895422f4e60d701266 --- A README.md 1 file changed, 56 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified tnt: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/README.md b/README.md new file mode 100644 index 0000000..1ff6bc9 --- /dev/null +++ b/README.md @@ -0,0 +1,56 @@ +osmo-e1d - Osmocom E1 interface daemon +====================================== + +This repository contains the osmocom E1 interface daemon, +a pure userspace driver for the icE1usb hardware USB E1 adapter. + +It is part of the [Osmocom](https://osmocom.org/) Open Source Mobile +Communications project. + +Homepage +-------- + +The official homepage of the project is +https://osmocom.org/projects/osmo-e1d/wiki + +GIT Repository +-------------- + +You can clone from the official osmo-e1d.git repository using + + git clone git://git.osmocom.org/osmo-e1d.git + git clone https://git.osmocom.org/osmo-e1d.git + +There is a cgit interface at https://git.osmocom.org/osmo-e1d/ + +Related Links +------------- + +* [icE1usb USB E1 adapter](https://osmocom.org/projects/e1-t1-adapter/wiki/IcE1usb) +* [alternative DAHDI driver](https://osmocom.org/issues/4923) + +Mailing List +------------ + +Discussions related to osmo-e1d are happening on the +openbsc at lists.osmocom.org mailing list, please see +https://lists.osmocom.org/mailman/listinfo/openbsc for subscription +options and the list archive. + +Please observe the [Osmocom Mailing List +Rules](https://osmocom.org/projects/cellular-infrastructure/wiki/Mailing_List_Rules) +when posting. + +Contributing +------------ + +Our coding standards are described at +https://osmocom.org/projects/cellular-infrastructure/wiki/Coding_standards + +We us a gerrit based patch submission/review process for managing +contributions. Please see +https://osmocom.org/projects/cellular-infrastructure/wiki/Gerrit for +more details + +The current patch queue for osmo-e1d can be seen at +https://gerrit.osmocom.org/#/q/project:osmo-e1d+status:open -- To view, visit https://gerrit.osmocom.org/c/osmo-e1d/+/23441 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-e1d Gerrit-Branch: master Gerrit-Change-Id: I9ef46d8fa70cedaa8af6a9895422f4e60d701266 Gerrit-Change-Number: 23441 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: tnt Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 21 22:14:17 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 21 Mar 2021 22:14:17 +0000 Subject: Change in osmo-sysmon[master]: add README.md on what this repository is about References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sysmon/+/23446 ) Change subject: add README.md on what this repository is about ...................................................................... add README.md on what this repository is about Change-Id: I37ae2fa34ee1240d64dd655c91cae5b8e8469a47 --- A README.md 1 file changed, 55 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sysmon refs/changes/46/23446/1 diff --git a/README.md b/README.md new file mode 100644 index 0000000..5bf41f6 --- /dev/null +++ b/README.md @@ -0,0 +1,55 @@ +omso-sysmon - Osmocom system monitor +==================================== + +This repository contains code that aggregates various pieces of +information on the system (typically e.g. a GSM base station) +and reports it. + +osmo-sysmon is part of the [Osmocom](https://osmocom.org/) Open Source +Mobile Communications project. + +Homepage +-------- + +TBD + +GIT Repository +-------------- + +You can clone from the official osmo-sysmon.git repository using + + git clone git://git.osmocom.org/osmo-sysmon.git + git clone https://git.osmocom.org/osmo-sysmon.git + +There is a cgit interface at https://git.osmocom.org/osmo-sysmon/ + +Documentation +------------- + +TBD + +Mailing List +------------ + +Discussions related to osmo-sysmon are happening on the +openbsc at lists.osmocom.org mailing list, please see +https://lists.osmocom.org/mailman/listinfo/openbsc for subscription +options and the list archive. + +Please observe the [Osmocom Mailing List +Rules](https://osmocom.org/projects/cellular-infrastructure/wiki/Mailing_List_Rules) +when posting. + +Contributing +------------ + +Our coding standards are described at +https://osmocom.org/projects/cellular-infrastructure/wiki/Coding_standards + +We us a gerrit based patch submission/review process for managing +contributions. Please see +https://osmocom.org/projects/cellular-infrastructure/wiki/Gerrit for +more details + +The current patch queue for osmo-sysmon can be seen at +https://gerrit.osmocom.org/#/q/project:osmo-sysmon+status:open -- To view, visit https://gerrit.osmocom.org/c/osmo-sysmon/+/23446 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sysmon Gerrit-Branch: master Gerrit-Change-Id: I37ae2fa34ee1240d64dd655c91cae5b8e8469a47 Gerrit-Change-Number: 23446 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 Mar 21 22:39:01 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 21 Mar 2021 22:39:01 +0000 Subject: Change in libosmocore[master]: utils/osmo-aka-verify: fix swapped CK/IK arguments In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23439 ) Change subject: utils/osmo-aka-verify: fix swapped CK/IK arguments ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23439 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia003d3c9d88fb8f6740791583855a709b8639160 Gerrit-Change-Number: 23439 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 21 Mar 2021 22:39:01 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 21 22:39:18 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 21 Mar 2021 22:39:18 +0000 Subject: Change in libosmocore[master]: utils/osmo-aka-verify: fix swapped CK/IK arguments In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23439 ) Change subject: utils/osmo-aka-verify: fix swapped CK/IK arguments ...................................................................... Patch Set 1: thanks, I also saw the coverity but you beat me to fixing it ? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23439 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia003d3c9d88fb8f6740791583855a709b8639160 Gerrit-Change-Number: 23439 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sun, 21 Mar 2021 22:39:18 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 21 22:39:23 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sun, 21 Mar 2021 22:39:23 +0000 Subject: Change in libosmocore[master]: utils/osmo-aka-verify: fix swapped CK/IK arguments In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23439 ) Change subject: utils/osmo-aka-verify: fix swapped CK/IK arguments ...................................................................... utils/osmo-aka-verify: fix swapped CK/IK arguments The positions of arguments in the call to "milenage_check" do not match the ordering of the parameters: * "ck" is passed to "ik" * "ik" is passed to "ck" Let's simply reorder the arguments of milenage_check() to match the ordering in milenage_f2345(). Change-Id: Ia003d3c9d88fb8f6740791583855a709b8639160 Fixes: CID#220324 --- M utils/osmo-aka-verify.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/utils/osmo-aka-verify.c b/utils/osmo-aka-verify.c index 5134d79..0caeab3 100644 --- a/utils/osmo-aka-verify.c +++ b/utils/osmo-aka-verify.c @@ -21,7 +21,7 @@ uint8_t *res, uint8_t *ck, uint8_t *ik, uint8_t *ak, uint8_t *akstar); static int milenage_check(const uint8_t *opc, const uint8_t *k, const uint8_t *sqn, const uint8_t *_rand, - const uint8_t *autn, uint8_t *ik, uint8_t *ck, uint8_t *res, size_t *res_len, + const uint8_t *autn, uint8_t *ck, uint8_t *ik, uint8_t *res, size_t *res_len, uint8_t *auts) { int i; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23439 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia003d3c9d88fb8f6740791583855a709b8639160 Gerrit-Change-Number: 23439 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 admin at opensuse.org Mon Mar 22 02:11:48 2021 From: admin at opensuse.org (OBS Notification) Date: Mon, 22 Mar 2021 02:11:48 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <6057fd02234bf_a602af4fbf7c5f46345cf@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_20.04/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_20.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 125s] [COMPILING apps/dfu/main.c] [ 125s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 125s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 125s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 125s] Memory region Used Size Region Size %age Used [ 125s] rom: 16600 B 16 KB 101.32% [ 125s] ram: 11688 B 48 KB 23.78/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 125s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 125s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 125s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 125s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 125s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 125s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 216 bytes [ 125s] collect2: error: ld returned 1 exit status [ 125s] % [ 125s] make[2]: *** [Makefile:230: flash] Error 1 [ 125s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 125s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 125s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 125s] dh_auto_build: error: make -j1 returned exit code 2 [ 125s] make: *** [debian/rules:16: build] Error 25 [ 125s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 125s] ### VM INTERACTION START ### [ 128s] [ 116.519157] sysrq: Power Off [ 128s] [ 116.523624] reboot: Power down [ 129s] ### VM INTERACTION END ### [ 129s] [ 129s] sheep86 failed "build simtrace2_0.7.0.76.62ad.dsc" at Mon Mar 22 02:11:45 UTC 2021. [ 129s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Mar 22 02:29:17 2021 From: admin at opensuse.org (OBS Notification) Date: Mon, 22 Mar 2021 02:29:17 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.10/x86_64 In-Reply-To: References: Message-ID: <6058011b975c0_a602af4fbf7c5f4637683@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_20.10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_20.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 404s] [COMPILING libboard/qmod/source/board_qmod.c] [ 404s] [COMPILING libboard/qmod/source/card_pres.c] [ 405s] [COMPILING libboard/qmod/source/i2c.c] [ 405s] [COMPILING libboard/qmod/source/wwan_led.c] [ 405s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 405s] [COMPILING apps/dfu/main.c] [ 406s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 406s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 406s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 406s] Memory region Used Size Region Size %age Used [ 406s] rom: 16592 B 16 KB 101.27% [ 406s] ram: 11680 B 48 KB 23.76/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 406s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 208 bytes [ 406s] collect2: error: ld returned 1 exit status [ 406s] % [ 406s] make[2]: *** [Makefile:230: flash] Error 1 [ 406s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 406s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 406s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 406s] dh_auto_build: error: make -j1 returned exit code 2 [ 407s] make: *** [debian/rules:16: build] Error 25 [ 407s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 407s] ### VM INTERACTION START ### [ 410s] [ 365.534539] sysrq: Power Off [ 410s] [ 365.594175] reboot: Power down [ 410s] ### VM INTERACTION END ### [ 410s] [ 410s] lamb01 failed "build simtrace2_0.7.0.76.62ad.dsc" at Mon Mar 22 02:29:08 UTC 2021. [ 410s] -- 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 Mar 22 09:40:50 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 22 Mar 2021 09:40:50 +0000 Subject: Change in osmo-pcu[master]: pdch_ul_controller: Fix compiler warning on gcc-10.2 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23427 ) Change subject: pdch_ul_controller: Fix compiler warning on gcc-10.2 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23427 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I42120fdf23753945ebc16bb5469d9fd253c3da37 Gerrit-Change-Number: 23427 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 22 Mar 2021 09:40:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 22 09:40:54 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 22 Mar 2021 09:40:54 +0000 Subject: Change in osmo-pcu[master]: pdch_ul_controller: Fix compiler warning on gcc-10.2 In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23427 ) Change subject: pdch_ul_controller: Fix compiler warning on gcc-10.2 ...................................................................... pdch_ul_controller: Fix compiler warning on gcc-10.2 pdch_ul_controller.c: In function ?pdch_ulc_release_tbf?: pdch_ul_controller.c:217:7: error: ?item_tbf? may be used uninitialized in this function [-Werror=maybe-uninitialized] 217 | if (item_tbf != tbf) | ^ Change-Id: I42120fdf23753945ebc16bb5469d9fd253c3da37 --- M src/pdch_ul_controller.c 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/pdch_ul_controller.c b/src/pdch_ul_controller.c index 173fd8f..cd705d0 100644 --- a/src/pdch_ul_controller.c +++ b/src/pdch_ul_controller.c @@ -213,6 +213,8 @@ case PDCH_ULC_NODE_TBF_USF: item_tbf = (struct gprs_rlcmac_tbf *)item->tbf_usf.ul_tbf; break; + default: + OSMO_ASSERT(0); } if (item_tbf != tbf) continue; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23427 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I42120fdf23753945ebc16bb5469d9fd253c3da37 Gerrit-Change-Number: 23427 Gerrit-PatchSet: 1 Gerrit-Owner: laforge 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 Mar 22 09:41:37 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 22 Mar 2021 09:41:37 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ns: SNS: add bss change weight testcase In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23181 ) Change subject: ns: SNS: add bss change weight testcase ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23181 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I691b9d26bf3eb8fa65aa02eba3efd0fd3869fc2a Gerrit-Change-Number: 23181 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 22 Mar 2021 09:41: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 Mon Mar 22 09:44:02 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 22 Mar 2021 09:44:02 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ns: SNS: add testcase to test change_weight retries In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23182 ) Change subject: ns: SNS: add testcase to test change_weight retries ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23182/2/ns/NS_Tests.ttcn File ns/NS_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23182/2/ns/NS_Tests.ttcn at 484 PS2, Line 484: /* receive 3x SNS_CHG_WEIGHT but never answer on it */ why 3? is it specified somewhere? is this configurable or network specific? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23182 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie8d976a81abe0bcff53bb74991d428dbf1fe314b Gerrit-Change-Number: 23182 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 22 Mar 2021 09:44: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 Mon Mar 22 09:45:49 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 22 Mar 2021 09:45:49 +0000 Subject: Change in libosmo-sccp[master]: Add README.md describing what this repo is about In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/23442 ) Change subject: Add README.md describing what this repo is about ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/23442 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I965dadf1ef4a8340f6995ec745607c28e7bb1f89 Gerrit-Change-Number: 23442 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 22 Mar 2021 09:45:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 22 09:46:33 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 22 Mar 2021 09:46:33 +0000 Subject: Change in openbsc[master]: add README.mde to indicate what this repo is about In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/openbsc/+/23444 ) Change subject: add README.mde to indicate what this repo is about ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/openbsc/+/23444 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-Change-Id: I0544a2d8016d1d5a2d264dd9c7662fd78f6a49d6 Gerrit-Change-Number: 23444 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 22 Mar 2021 09:46: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 Mar 22 09:47:12 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 22 Mar 2021 09:47:12 +0000 Subject: Change in gapk[master]: add README.md on what this repository is about In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/gapk/+/23445 ) Change subject: add README.md on what this repository is about ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/gapk/+/23445 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gapk Gerrit-Branch: master Gerrit-Change-Id: Ib545e454ddc748ca8ccbbcd34c6f3d4c5e81c2f0 Gerrit-Change-Number: 23445 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 22 Mar 2021 09:47:12 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 22 09:47:39 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 22 Mar 2021 09:47:39 +0000 Subject: Change in osmo-sysmon[master]: add README.md on what this repository is about In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sysmon/+/23446 ) Change subject: add README.md on what this repository is about ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sysmon/+/23446 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sysmon Gerrit-Branch: master Gerrit-Change-Id: I37ae2fa34ee1240d64dd655c91cae5b8e8469a47 Gerrit-Change-Number: 23446 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 22 Mar 2021 09:47:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 22 10:12:22 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 22 Mar 2021 10:12:22 +0000 Subject: Change in osmo-sysmon[master]: add README.md on what this repository is about In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sysmon/+/23446 ) Change subject: add README.md on what this repository is about ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sysmon/+/23446 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sysmon Gerrit-Branch: master Gerrit-Change-Id: I37ae2fa34ee1240d64dd655c91cae5b8e8469a47 Gerrit-Change-Number: 23446 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 22 Mar 2021 10:12: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 Mar 22 10:12:24 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 22 Mar 2021 10:12:24 +0000 Subject: Change in osmo-sysmon[master]: add README.md on what this repository is about In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-sysmon/+/23446 ) Change subject: add README.md on what this repository is about ...................................................................... add README.md on what this repository is about Change-Id: I37ae2fa34ee1240d64dd655c91cae5b8e8469a47 --- A README.md 1 file changed, 55 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/README.md b/README.md new file mode 100644 index 0000000..5bf41f6 --- /dev/null +++ b/README.md @@ -0,0 +1,55 @@ +omso-sysmon - Osmocom system monitor +==================================== + +This repository contains code that aggregates various pieces of +information on the system (typically e.g. a GSM base station) +and reports it. + +osmo-sysmon is part of the [Osmocom](https://osmocom.org/) Open Source +Mobile Communications project. + +Homepage +-------- + +TBD + +GIT Repository +-------------- + +You can clone from the official osmo-sysmon.git repository using + + git clone git://git.osmocom.org/osmo-sysmon.git + git clone https://git.osmocom.org/osmo-sysmon.git + +There is a cgit interface at https://git.osmocom.org/osmo-sysmon/ + +Documentation +------------- + +TBD + +Mailing List +------------ + +Discussions related to osmo-sysmon are happening on the +openbsc at lists.osmocom.org mailing list, please see +https://lists.osmocom.org/mailman/listinfo/openbsc for subscription +options and the list archive. + +Please observe the [Osmocom Mailing List +Rules](https://osmocom.org/projects/cellular-infrastructure/wiki/Mailing_List_Rules) +when posting. + +Contributing +------------ + +Our coding standards are described at +https://osmocom.org/projects/cellular-infrastructure/wiki/Coding_standards + +We us a gerrit based patch submission/review process for managing +contributions. Please see +https://osmocom.org/projects/cellular-infrastructure/wiki/Gerrit for +more details + +The current patch queue for osmo-sysmon can be seen at +https://gerrit.osmocom.org/#/q/project:osmo-sysmon+status:open -- To view, visit https://gerrit.osmocom.org/c/osmo-sysmon/+/23446 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sysmon Gerrit-Branch: master Gerrit-Change-Id: I37ae2fa34ee1240d64dd655c91cae5b8e8469a47 Gerrit-Change-Number: 23446 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 Mar 22 10:12:47 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 22 Mar 2021 10:12:47 +0000 Subject: Change in gapk[master]: add README.md on what this repository is about In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/gapk/+/23445 ) Change subject: add README.md on what this repository is about ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/gapk/+/23445 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gapk Gerrit-Branch: master Gerrit-Change-Id: Ib545e454ddc748ca8ccbbcd34c6f3d4c5e81c2f0 Gerrit-Change-Number: 23445 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 22 Mar 2021 10:12:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 22 10:12:48 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 22 Mar 2021 10:12:48 +0000 Subject: Change in gapk[master]: add README.md on what this repository is about In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/gapk/+/23445 ) Change subject: add README.md on what this repository is about ...................................................................... add README.md on what this repository is about Change-Id: Ib545e454ddc748ca8ccbbcd34c6f3d4c5e81c2f0 --- A README.md 1 file changed, 36 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/README.md b/README.md new file mode 100644 index 0000000..fc9d80a --- /dev/null +++ b/README.md @@ -0,0 +1,36 @@ +gapk - GSM Audio Pocket Knife +============================= + +The GSM Audio Picket Knife is a tool that can help you to convert +codec frames of all codecs in GSM networks between a variety of +different formats / representations. + +It is part of the [Osmocom](https://osmocom.org/) Open Source Mobile +Communications project. + +GIT Repository +-------------- + +You can clone from the official gapk.git repository using + + git clone git://git.osmocom.org/gapk.git + git clone https://git.osmocom.org/gapk.git + +There is a cgit interface at https://git.osmocom.org/gapk/ + +Documentation +------------- + +Unfortunately none. + +Mailing List +------------ + +Discussions related to gapk are happening on the +openbsc at lists.osmocom.org mailing list, please see +https://lists.osmocom.org/mailman/listinfo/openbsc for subscription +options and the list archive. + +Please observe the [Osmocom Mailing List +Rules](https://osmocom.org/projects/cellular-infrastructure/wiki/Mailing_List_Rules) +when posting. -- To view, visit https://gerrit.osmocom.org/c/gapk/+/23445 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: gapk Gerrit-Branch: master Gerrit-Change-Id: Ib545e454ddc748ca8ccbbcd34c6f3d4c5e81c2f0 Gerrit-Change-Number: 23445 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 Mar 22 10:12:56 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 22 Mar 2021 10:12:56 +0000 Subject: Change in openbsc[master]: add README.md to indicate what this repo is about In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/openbsc/+/23444 to look at the new patch set (#2). Change subject: add README.md to indicate what this repo is about ...................................................................... add README.md to indicate what this repo is about Change-Id: I0544a2d8016d1d5a2d264dd9c7662fd78f6a49d6 --- A README.md 1 file changed, 22 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/openbsc refs/changes/44/23444/2 -- To view, visit https://gerrit.osmocom.org/c/openbsc/+/23444 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-Change-Id: I0544a2d8016d1d5a2d264dd9c7662fd78f6a49d6 Gerrit-Change-Number: 23444 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 Mon Mar 22 10:12:59 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 22 Mar 2021 10:12:59 +0000 Subject: Change in openbsc[master]: add README.md to indicate what this repo is about In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/openbsc/+/23444 ) Change subject: add README.md to indicate what this repo is about ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/openbsc/+/23444 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-Change-Id: I0544a2d8016d1d5a2d264dd9c7662fd78f6a49d6 Gerrit-Change-Number: 23444 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 22 Mar 2021 10:12:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 22 10:13:01 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 22 Mar 2021 10:13:01 +0000 Subject: Change in openbsc[master]: add README.md to indicate what this repo is about In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/openbsc/+/23444 ) Change subject: add README.md to indicate what this repo is about ...................................................................... add README.md to indicate what this repo is about Change-Id: I0544a2d8016d1d5a2d264dd9c7662fd78f6a49d6 --- A README.md 1 file changed, 22 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/README.md b/README.md new file mode 100644 index 0000000..f210d38 --- /dev/null +++ b/README.md @@ -0,0 +1,22 @@ +openbsc.git +=========== + +This is a HISTORICAL,OBSOLETE repository containing the code-base +of what used to be known as bs11_hack, later OpenBSC and also OsmoNITB. + +Those projects have been superseded by OsmoBSC, OsmoMSC and OsmoHLR +(collectively known as Osmocom CNI). + +The code in this repository is completely unmaintained, unsupported and +it is strongly discouraged to use it. On the other hand, the modern +Osmocom CNI implementations are fully maintained and continuously +tested. + +Do not bother the developers with questions about code from this +repository. + +Further Links +------------- + +* [New-style GSM NITB baesd on discrete Osmocom CNI projects](https://osmocom.org/projects/cellular-infrastructure/wiki/Osmocom_Network_In_The_Box) +* [Migration guide from OsmoNITB to Osmcoom CNI](https://osmocom.org/projects/cellular-infrastructure/wiki/OsmoNITB_Migration_Guide) -- To view, visit https://gerrit.osmocom.org/c/openbsc/+/23444 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: openbsc Gerrit-Branch: master Gerrit-Change-Id: I0544a2d8016d1d5a2d264dd9c7662fd78f6a49d6 Gerrit-Change-Number: 23444 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 Mar 22 10:13:04 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 22 Mar 2021 10:13:04 +0000 Subject: Change in libosmo-sccp[master]: Add README.md describing what this repo is about In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/23442 ) Change subject: Add README.md describing what this repo is about ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/23442 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I965dadf1ef4a8340f6995ec745607c28e7bb1f89 Gerrit-Change-Number: 23442 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 22 Mar 2021 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 Mon Mar 22 10:13:06 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 22 Mar 2021 10:13:06 +0000 Subject: Change in libosmo-sccp[master]: Add README.md describing what this repo is about In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-sccp/+/23442 ) Change subject: Add README.md describing what this repo is about ...................................................................... Add README.md describing what this repo is about Change-Id: I965dadf1ef4a8340f6995ec745607c28e7bb1f89 --- A README.md 1 file changed, 63 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/README.md b/README.md new file mode 100644 index 0000000..98b3591 --- /dev/null +++ b/README.md @@ -0,0 +1,63 @@ +libosmo-sccp - Osmocom SCCP, SIGTRAN and STP +============================================ + +This repository contains a C-language library implementation of a +variety of telecom signaling protocols, such as M3UA, SUA, SCCP +(connection oriented and connectionless), as well as the OsmoSTP, a SS7 +Transfer Point. + +Homepage +-------- + +The official homepage of libosmo-sccp is + https://osmocom.org/projects/libosmo-sccp/wiki + +The official homepage of osmo-stp is + https://osmocom.org/projects/osmo-stp/wiki + +GIT Repository +-------------- + +You can clone from the official git repository using + + git clone git://git.osmocom.org/libosmo-sccp.git + git clone https://git.osmocom.org/libosmo-sccp.git + +There is a cgit interface at https://git.osmocom.org/libosmo-sccp/ + +Documentation +------------- + +User Manuals and VTY reference manuals are [optionally] built in PDF form +as part of the build process. + +Pre-rendered PDF version of the current "master" can be found at +[User Manual](https://ftp.osmocom.org/docs/latest/osmostp-usermanual.pdf) +as well as the VTY reference manuals +* [VTY Reference Manual for osmo-stp](https://ftp.osmocom.org/docs/latest/osmostp-vty-reference.pdf) + +Mailing List +------------ + +Discussions related to osmo-stp are happening on the +openbsc at lists.osmocom.org mailing list, please see +https://lists.osmocom.org/mailman/listinfo/openbsc for subscription +options and the list archive. + +Please observe the [Osmocom Mailing List +Rules](https://osmocom.org/projects/cellular-infrastructure/wiki/Mailing_List_Rules) +when posting. + +Contributing +------------ + +Our coding standards are described at +https://osmocom.org/projects/cellular-infrastructure/wiki/Coding_standards + +We us a gerrit based patch submission/review process for managing +contributions. Please see +https://osmocom.org/projects/cellular-infrastructure/wiki/Gerrit for +more details + +The current patch queue can be seen at +https://gerrit.osmocom.org/#/q/project:libosmo-sccp+status:open -- To view, visit https://gerrit.osmocom.org/c/libosmo-sccp/+/23442 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmo-sccp Gerrit-Branch: master Gerrit-Change-Id: I965dadf1ef4a8340f6995ec745607c28e7bb1f89 Gerrit-Change-Number: 23442 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 Mar 22 10:13:13 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 22 Mar 2021 10:13:13 +0000 Subject: Change in osmo-hlr[master]: add README.md file as customary for cgit, github, gitlab, etc. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/23440 ) Change subject: add README.md file as customary for cgit, github, gitlab, etc. ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/23440 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Ide03584aae21d5972e96e7862feb86e1265c29b3 Gerrit-Change-Number: 23440 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 22 Mar 2021 10:13: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 Mar 22 10:13:16 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 22 Mar 2021 10:13:16 +0000 Subject: Change in osmo-hlr[master]: add README.md file as customary for cgit, github, gitlab, etc. In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-hlr/+/23440 ) Change subject: add README.md file as customary for cgit, github, gitlab, etc. ...................................................................... add README.md file as customary for cgit, github, gitlab, etc. Change-Id: Ide03584aae21d5972e96e7862feb86e1265c29b3 --- A README.md 1 file changed, 66 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/README.md b/README.md new file mode 100644 index 0000000..beb3449 --- /dev/null +++ b/README.md @@ -0,0 +1,66 @@ +osmo-hlr - Osmocom HLR Implementation +===================================== + +This repository contains a C-language implementation of a GSM Home +Location Register (HLR). It is part of the +[Osmocom](https://osmocom.org/) Open Source Mobile Communications +project. + +Warning: While the HLR logical functionality is implemented, OsmoHLR +does not use the ETSI/3GPP TCAP/MAP protocol stack. Instead, a much +simpler custom protocol (GSUP) is used. This means, OsmoHLR is of +no use outside the context of an Osmocom core network. You can use +it with OsmoMSC, OsmoSGSN etc. - but not with third party components. + +Homepage +-------- + +The official homepage of the project is +https://osmocom.org/projects/osmo-hlr/wiki + +GIT Repository +-------------- + +You can clone from the official osmo-hlr.git repository using + + git clone git://git.osmocom.org/osmo-hlr.git + git clone https://git.osmocom.org/osmo-hlr.git + +There is a cgit interface at https://git.osmocom.org/osmo-hlr/ + +Documentation +------------- + +User Manuals and VTY reference manuals are [optionally] built in PDF form +as part of the build process. + +Pre-rendered PDF version of the current "master" can be found at +[User Manual](https://ftp.osmocom.org/docs/latest/osmohlr-usermanual.pdf) +as well as the VTY reference manuals +* [VTY Reference Manual for osmo-hlr](https://ftp.osmocom.org/docs/latest/osmohlr-vty-reference.pdf) + +Mailing List +------------ + +Discussions related to osmo-hlr are happening on the +openbsc at lists.osmocom.org mailing list, please see +https://lists.osmocom.org/mailman/listinfo/openbsc for subscription +options and the list archive. + +Please observe the [Osmocom Mailing List +Rules](https://osmocom.org/projects/cellular-infrastructure/wiki/Mailing_List_Rules) +when posting. + +Contributing +------------ + +Our coding standards are described at +https://osmocom.org/projects/cellular-infrastructure/wiki/Coding_standards + +We us a gerrit based patch submission/review process for managing +contributions. Please see +https://osmocom.org/projects/cellular-infrastructure/wiki/Gerrit for +more details + +The current patch queue for osmo-hlr can be seen at +https://gerrit.osmocom.org/#/q/project:osmo-hlr+status:open -- To view, visit https://gerrit.osmocom.org/c/osmo-hlr/+/23440 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-hlr Gerrit-Branch: master Gerrit-Change-Id: Ide03584aae21d5972e96e7862feb86e1265c29b3 Gerrit-Change-Number: 23440 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 Mar 22 10:42:29 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 22 Mar 2021 10:42:29 +0000 Subject: Change in osmo-gsm-manuals[master]: add README.md to describe what this repo is about In-Reply-To: References: Message-ID: laforge has removed a vote from this change. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/23443 ) Change subject: add README.md to describe what this repo is about ...................................................................... Removed Verified-1 by Jenkins Builder (1000002) -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/23443 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: Ic8d0ff5b81f701debad59b2ba701ff115c6574c3 Gerrit-Change-Number: 23443 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-MessageType: deleteVote -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 22 10:42:33 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 22 Mar 2021 10:42:33 +0000 Subject: Change in osmo-gsm-manuals[master]: add README.md to describe what this repo is about In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/23443 ) Change subject: add README.md to describe what this repo is about ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/23443 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: Ic8d0ff5b81f701debad59b2ba701ff115c6574c3 Gerrit-Change-Number: 23443 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 22 Mar 2021 10:42: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 Mar 22 10:42:35 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 22 Mar 2021 10:42:35 +0000 Subject: Change in osmo-gsm-manuals[master]: add README.md to describe what this repo is about In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/23443 ) Change subject: add README.md to describe what this repo is about ...................................................................... add README.md to describe what this repo is about Change-Id: Ic8d0ff5b81f701debad59b2ba701ff115c6574c3 --- A README.md 1 file changed, 10 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/README.md b/README.md new file mode 100644 index 0000000..a3b951b --- /dev/null +++ b/README.md @@ -0,0 +1,10 @@ +osmo-gsm-manuals +================ + +This repository contains build infrastructure as well as common +chapters for the Osmocom CNI (Cellular Network Infrastructure) +manuals. + +PDF renderings of the resulting manuals are published at + + https://ftp.osmocom.org/docs/latest/ -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/23443 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: Ic8d0ff5b81f701debad59b2ba701ff115c6574c3 Gerrit-Change-Number: 23443 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 Mar 22 11:05:52 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 22 Mar 2021 11:05:52 +0000 Subject: Change in libosmocore[master]: osmo-aka-verify: Fix use case with OP and not OPc References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/23447 ) Change subject: osmo-aka-verify: Fix use case with OP and not OPc ...................................................................... osmo-aka-verify: Fix use case with OP and not OPc Change-Id: Ic6b5da83276ce2618cd80c6d34d3322bad7b4c48 --- M utils/osmo-aka-verify.c 1 file changed, 5 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/47/23447/1 diff --git a/utils/osmo-aka-verify.c b/utils/osmo-aka-verify.c index 0caeab3..086add5 100644 --- a/utils/osmo-aka-verify.c +++ b/utils/osmo-aka-verify.c @@ -19,6 +19,7 @@ const uint8_t *sqn, const uint8_t *amf, uint8_t *mac_a, uint8_t *mac_s); int milenage_f2345(const uint8_t *opc, const uint8_t *k, const uint8_t *_rand, uint8_t *res, uint8_t *ck, uint8_t *ik, uint8_t *ak, uint8_t *akstar); +int milenage_opc_gen(uint8_t *opc, const uint8_t *k, const uint8_t *op); static int milenage_check(const uint8_t *opc, const uint8_t *k, const uint8_t *sqn, const uint8_t *_rand, const uint8_t *autn, uint8_t *ck, uint8_t *ik, uint8_t *res, size_t *res_len, @@ -204,7 +205,10 @@ printf("Warning: You may want to specify AMF\n"); if (opc_is_op) { - /* FIXME */ + uint8_t op[16]; + memcpy(op, g_opc, 16); + rc = milenage_opc_gen(g_opc, g_k, op); + OSMO_ASSERT(rc == 0); } return 0; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23447 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic6b5da83276ce2618cd80c6d34d3322bad7b4c48 Gerrit-Change-Number: 23447 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 Mar 22 11:06:29 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 22 Mar 2021 11:06:29 +0000 Subject: Change in libosmocore[master]: osmo-aka-verify: Fix use case with OP and not OPc In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23447 ) Change subject: osmo-aka-verify: Fix use case with OP and not OPc ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23447 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic6b5da83276ce2618cd80c6d34d3322bad7b4c48 Gerrit-Change-Number: 23447 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Mon, 22 Mar 2021 11:06:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 22 11:18:41 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 22 Mar 2021 11:18:41 +0000 Subject: Change in libosmocore[master]: osmo-aka-verify: Fix use case with OP and not OPc In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23447 ) Change subject: osmo-aka-verify: Fix use case with OP and not OPc ...................................................................... osmo-aka-verify: Fix use case with OP and not OPc Change-Id: Ic6b5da83276ce2618cd80c6d34d3322bad7b4c48 --- M utils/osmo-aka-verify.c 1 file changed, 5 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/utils/osmo-aka-verify.c b/utils/osmo-aka-verify.c index 0caeab3..086add5 100644 --- a/utils/osmo-aka-verify.c +++ b/utils/osmo-aka-verify.c @@ -19,6 +19,7 @@ const uint8_t *sqn, const uint8_t *amf, uint8_t *mac_a, uint8_t *mac_s); int milenage_f2345(const uint8_t *opc, const uint8_t *k, const uint8_t *_rand, uint8_t *res, uint8_t *ck, uint8_t *ik, uint8_t *ak, uint8_t *akstar); +int milenage_opc_gen(uint8_t *opc, const uint8_t *k, const uint8_t *op); static int milenage_check(const uint8_t *opc, const uint8_t *k, const uint8_t *sqn, const uint8_t *_rand, const uint8_t *autn, uint8_t *ck, uint8_t *ik, uint8_t *res, size_t *res_len, @@ -204,7 +205,10 @@ printf("Warning: You may want to specify AMF\n"); if (opc_is_op) { - /* FIXME */ + uint8_t op[16]; + memcpy(op, g_opc, 16); + rc = milenage_opc_gen(g_opc, g_k, op); + OSMO_ASSERT(rc == 0); } return 0; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23447 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic6b5da83276ce2618cd80c6d34d3322bad7b4c48 Gerrit-Change-Number: 23447 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 Mar 22 11:19:26 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 22 Mar 2021 11:19:26 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ns: SNS: add bss change weight testcase In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23181 ) Change subject: ns: SNS: add bss change weight testcase ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23181 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I691b9d26bf3eb8fa65aa02eba3efd0fd3869fc2a Gerrit-Change-Number: 23181 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 22 Mar 2021 11: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 Mar 22 11:19:48 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 22 Mar 2021 11:19:48 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ns: SNS: add testcase to test change_weight retries In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23182 ) Change subject: ns: SNS: add testcase to test change_weight retries ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23182 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie8d976a81abe0bcff53bb74991d428dbf1fe314b Gerrit-Change-Number: 23182 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 22 Mar 2021 11:19: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 Mar 22 11:38:35 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 22 Mar 2021 11:38:35 +0000 Subject: Change in docker-playground[master]: ogt: Update base image to debian buster References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/23448 ) Change subject: ogt: Update base image to debian buster ...................................................................... ogt: Update base image to debian buster The OGT build setup and the physicial setup use now debian buster. Let's update this container too to buster to avoid different versions of libs during build and runtime (such as libasan). Change-Id: If5adfb3c52ec5ded2adaca984e7a8c05f5866d34 --- M osmo-gsm-tester/Dockerfile 1 file changed, 1 insertion(+), 20 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/48/23448/1 diff --git a/osmo-gsm-tester/Dockerfile b/osmo-gsm-tester/Dockerfile index 764d6dc..8dea613 100644 --- a/osmo-gsm-tester/Dockerfile +++ b/osmo-gsm-tester/Dockerfile @@ -1,7 +1,5 @@ ARG USER -FROM $USER/debian-stretch-jenkins -# Arguments used after FROM must be specified again -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" +FROM $USER/debian-buster-jenkins MAINTAINER Pau Espin Pedrol @@ -77,15 +75,6 @@ make && \ make install -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/Debian_9.0/" - -COPY .common/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 \ telnet \ @@ -135,14 +124,6 @@ (git symbolic-ref -q HEAD && git reset --hard origin/$OSMO_GSM_TESTER_BRANCH || exit 1); \ git rev-parse --abbrev-ref HEAD && git rev-parse HEAD -# Install osmo-ci.git/scripts to /usr/local/bin -ADD http://git.osmocom.org/osmo-ci/patch /tmp/osmo-ci-commit -RUN git clone https://git.osmocom.org/osmo-ci osmo-ci && \ - cp -v $(find osmo-ci/scripts \ - -maxdepth 1 \ - -type f ) \ - /usr/local/bin - # Copy several scripts and permission for osmo-gsm-tester: RUN mkdir -p /usr/local/bin/ && cp osmo-gsm-tester/utils/bin/* /usr/local/bin/ RUN mkdir -p /etc/sudoers.d/ && cp osmo-gsm-tester/utils/sudoers.d/* /etc/sudoers.d/ -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23448 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: If5adfb3c52ec5ded2adaca984e7a8c05f5866d34 Gerrit-Change-Number: 23448 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 Mar 22 11:39:33 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 22 Mar 2021 11:39:33 +0000 Subject: Change in docker-playground[master]: ogt: Update base image to debian buster In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23448 ) Change subject: ogt: Update base image to debian buster ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23448 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: If5adfb3c52ec5ded2adaca984e7a8c05f5866d34 Gerrit-Change-Number: 23448 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 22 Mar 2021 11:39: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 Mar 22 11:39:35 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 22 Mar 2021 11:39:35 +0000 Subject: Change in docker-playground[master]: ogt: Update base image to debian buster In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23448 ) Change subject: ogt: Update base image to debian buster ...................................................................... ogt: Update base image to debian buster The OGT build setup and the physicial setup use now debian buster. Let's update this container too to buster to avoid different versions of libs during build and runtime (such as libasan). Change-Id: If5adfb3c52ec5ded2adaca984e7a8c05f5866d34 --- M osmo-gsm-tester/Dockerfile 1 file changed, 1 insertion(+), 20 deletions(-) Approvals: pespin: Looks good to me, approved; Verified diff --git a/osmo-gsm-tester/Dockerfile b/osmo-gsm-tester/Dockerfile index 764d6dc..8dea613 100644 --- a/osmo-gsm-tester/Dockerfile +++ b/osmo-gsm-tester/Dockerfile @@ -1,7 +1,5 @@ ARG USER -FROM $USER/debian-stretch-jenkins -# Arguments used after FROM must be specified again -ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org" +FROM $USER/debian-buster-jenkins MAINTAINER Pau Espin Pedrol @@ -77,15 +75,6 @@ make && \ make install -ARG OSMOCOM_REPO="$OSMOCOM_REPO_MIRROR/repositories/network:/osmocom:/nightly/Debian_9.0/" - -COPY .common/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 \ telnet \ @@ -135,14 +124,6 @@ (git symbolic-ref -q HEAD && git reset --hard origin/$OSMO_GSM_TESTER_BRANCH || exit 1); \ git rev-parse --abbrev-ref HEAD && git rev-parse HEAD -# Install osmo-ci.git/scripts to /usr/local/bin -ADD http://git.osmocom.org/osmo-ci/patch /tmp/osmo-ci-commit -RUN git clone https://git.osmocom.org/osmo-ci osmo-ci && \ - cp -v $(find osmo-ci/scripts \ - -maxdepth 1 \ - -type f ) \ - /usr/local/bin - # Copy several scripts and permission for osmo-gsm-tester: RUN mkdir -p /usr/local/bin/ && cp osmo-gsm-tester/utils/bin/* /usr/local/bin/ RUN mkdir -p /etc/sudoers.d/ && cp osmo-gsm-tester/utils/sudoers.d/* /etc/sudoers.d/ -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23448 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: If5adfb3c52ec5ded2adaca984e7a8c05f5866d34 Gerrit-Change-Number: 23448 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 Mon Mar 22 11:46:23 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 22 Mar 2021 11:46:23 +0000 Subject: Change in osmo-ci[master]: scripts: build debian-buster-jenkins image in docker regsitry References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/23449 ) Change subject: scripts: build debian-buster-jenkins image in docker regsitry ...................................................................... scripts: build debian-buster-jenkins image in docker regsitry Change-Id: Ia08537e0ec67fd5fe102e418648a4f71aaedfd19 --- M scripts/osmo-ci-docker-rebuild.sh 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/49/23449/1 diff --git a/scripts/osmo-ci-docker-rebuild.sh b/scripts/osmo-ci-docker-rebuild.sh index 58642ff..87c943f 100755 --- a/scripts/osmo-ci-docker-rebuild.sh +++ b/scripts/osmo-ci-docker-rebuild.sh @@ -4,5 +4,6 @@ . scripts/common.sh docker_images_require \ "debian-stretch-jenkins" \ + "debian-buster-jenkins" \ "debian-buster-erlang" \ "osmo-gsm-tester" -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23449 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ia08537e0ec67fd5fe102e418648a4f71aaedfd19 Gerrit-Change-Number: 23449 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 Mar 22 11:46:49 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 22 Mar 2021 11:46:49 +0000 Subject: Change in osmo-ci[master]: scripts: build debian-buster-jenkins image in docker regsitry In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23449 ) Change subject: scripts: build debian-buster-jenkins image in docker regsitry ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23449 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ia08537e0ec67fd5fe102e418648a4f71aaedfd19 Gerrit-Change-Number: 23449 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 22 Mar 2021 11:46: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 Mar 22 11:46:51 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 22 Mar 2021 11:46:51 +0000 Subject: Change in osmo-ci[master]: scripts: build debian-buster-jenkins image in docker regsitry In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23449 ) Change subject: scripts: build debian-buster-jenkins image in docker regsitry ...................................................................... scripts: build debian-buster-jenkins image in docker regsitry Change-Id: Ia08537e0ec67fd5fe102e418648a4f71aaedfd19 --- M scripts/osmo-ci-docker-rebuild.sh 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: pespin: Looks good to me, approved; Verified diff --git a/scripts/osmo-ci-docker-rebuild.sh b/scripts/osmo-ci-docker-rebuild.sh index 58642ff..87c943f 100755 --- a/scripts/osmo-ci-docker-rebuild.sh +++ b/scripts/osmo-ci-docker-rebuild.sh @@ -4,5 +4,6 @@ . scripts/common.sh docker_images_require \ "debian-stretch-jenkins" \ + "debian-buster-jenkins" \ "debian-buster-erlang" \ "osmo-gsm-tester" -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23449 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: Ia08537e0ec67fd5fe102e418648a4f71aaedfd19 Gerrit-Change-Number: 23449 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 Mon Mar 22 12:17:25 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Mon, 22 Mar 2021 12:17:25 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ns: SNS: add testcase to test change_weight retries In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23182 ) Change subject: ns: SNS: add testcase to test change_weight retries ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23182/2/ns/NS_Tests.ttcn File ns/NS_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23182/2/ns/NS_Tests.ttcn at 484 PS2, Line 484: /* receive 3x SNS_CHG_WEIGHT but never answer on it */ > why 3? is it specified somewhere? is this configurable or network specific? It's not even supported. There is a patch for it but it's now in WIP. https://gerrit.osmocom.org/c/libosmocore/+/23187 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23182 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie8d976a81abe0bcff53bb74991d428dbf1fe314b Gerrit-Change-Number: 23182 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 22 Mar 2021 12:17: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 Mar 22 12:17:36 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Mon, 22 Mar 2021 12:17:36 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ns: SNS: add bss change weight testcase In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23181 ) Change subject: ns: SNS: add bss change weight testcase ...................................................................... Patch Set 2: (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23181/1/ns/NS_Tests.ttcn File ns/NS_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23181/1/ns/NS_Tests.ttcn at 479 PS1, Line 479: f_sleep(1.0); > why are these sleeps needed? Done -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23181 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I691b9d26bf3eb8fa65aa02eba3efd0fd3869fc2a Gerrit-Change-Number: 23181 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 22 Mar 2021 12:17: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 Mar 22 12:17:38 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Mon, 22 Mar 2021 12:17:38 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ns: SNS: add bss change weight testcase In-Reply-To: References: Message-ID: lynxis lazus has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23181 ) Change subject: ns: SNS: add bss change weight testcase ...................................................................... ns: SNS: add bss change weight testcase Do a normal SNS configuration. Afterwards the BSS will change the weights of the endpoints Change-Id: I691b9d26bf3eb8fa65aa02eba3efd0fd3869fc2a --- M library/RAW_NS.ttcnpp M ns/NS_Tests.ttcn 2 files changed, 34 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/library/RAW_NS.ttcnpp b/library/RAW_NS.ttcnpp index 298ef1e..c5b0d50 100644 --- a/library/RAW_NS.ttcnpp +++ b/library/RAW_NS.ttcnpp @@ -390,6 +390,26 @@ rx := f_ns_exp(tr_SNS_CONFIG_ACK(g_nsconfig.nsei, cause), idx); } +/* perform inbound SNS-CHANGE-WEIGHT procedure */ +function f_incoming_sns_chg_weight(template (omit) NsCause cause := omit, integer idx := 0) +runs on RAW_NS_CT { + log("f_incoming_sns_chg_weight(idx=", idx, ")"); + var PDU_NS rx; + var NSVCConfiguration nsvc_cfg := g_nsconfig.nsvc[idx]; + + if (nsvc_cfg.provider.ip.address_family == AF_INET) { + var template IP4_Elements v4_elem := { tr_SNS_IPv4(nsvc_cfg.provider.ip.remote_ip, + nsvc_cfg.provider.ip.remote_udp_port) }; + rx := f_ns_exp(tr_SNS_CHG_WEIGHT(g_nsconfig.nsei, ?, v4 := v4_elem), idx); + } else { + var template IP6_Elements v6_elem := { tr_SNS_IPv6(nsvc_cfg.provider.ip.remote_ip, + nsvc_cfg.provider.ip.remote_udp_port) }; + rx := f_ns_exp(tr_SNS_CHG_WEIGHT(g_nsconfig.nsei, ?, v4 := omit, v6 := v6_elem), idx); + } + NSCP[idx].send(ts_SNS_ACK(g_nsconfig.nsei, rx.pDU_SNS_ChangeWeight.transactionID)); +} + + function f_outgoing_sns_add(integer idx_add, uint8_t w_sig := 1, uint8_t w_user := 1, integer idx := 0, template (omit) NsCause cause := omit) runs on RAW_NS_CT { log("f_outgoing_sns_add(idx_add=", idx_add, ")"); diff --git a/ns/NS_Tests.ttcn b/ns/NS_Tests.ttcn index e2ff114..8182a91 100644 --- a/ns/NS_Tests.ttcn +++ b/ns/NS_Tests.ttcn @@ -468,6 +468,19 @@ f_clean_ns_codec(); } +testcase TC_sns_bss_change_weight() runs on RAW_Test_CT { + f_init_vty(); + f_init_ns_codec(mp_nsconfig); + f_incoming_sns_size(); + f_incoming_sns_config(); + f_outgoing_sns_config(); + activate(as_rx_alive_tx_ack()); + f_vty_config2(NSVTY, {"ns", "bind udp local"}, "ip-sns signalling-weight 99 data-weight 99"); + f_incoming_sns_chg_weight(); + setverdict(pass); + f_clean_ns_codec(); +} + control { if (mp_dialect == NS2_DIALECT_STATIC_RESETBLOCK or mp_dialect == NS2_DIALECT_IPACCESS) { execute( TC_tx_reset() ); @@ -513,6 +526,7 @@ if (mp_dialect == NS2_DIALECT_SNS) { execute( TC_sns_config_success() ); + execute( TC_sns_bss_change_weight() ); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23181 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I691b9d26bf3eb8fa65aa02eba3efd0fd3869fc2a Gerrit-Change-Number: 23181 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 22 12:17:41 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Mon, 22 Mar 2021 12:17:41 +0000 Subject: Change in osmo-ttcn3-hacks[master]: ns: SNS: add testcase to test change_weight retries In-Reply-To: References: Message-ID: lynxis lazus has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23182 ) Change subject: ns: SNS: add testcase to test change_weight retries ...................................................................... ns: SNS: add testcase to test change_weight retries Change-Id: Ie8d976a81abe0bcff53bb74991d428dbf1fe314b --- M ns/NS_Tests.ttcn 1 file changed, 43 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/ns/NS_Tests.ttcn b/ns/NS_Tests.ttcn index 8182a91..1715b2e 100644 --- a/ns/NS_Tests.ttcn +++ b/ns/NS_Tests.ttcn @@ -481,6 +481,48 @@ f_clean_ns_codec(); } +/* receive 3x SNS_CHG_WEIGHT but never answer on it */ +testcase TC_sns_bss_change_weight_timeout() runs on RAW_Test_CT { + var integer i := 0; + var template PDU_NS rx; + var NSVCConfiguration nsvc_cfg; + + f_init_vty(); + f_init_ns_codec(mp_nsconfig); + f_incoming_sns_size(); + f_incoming_sns_config(); + f_outgoing_sns_config(); + activate(as_rx_alive_tx_ack()); + f_vty_config2(NSVTY, {"ns", "bind udp local"}, "ip-sns signalling-weight 99 data-weight 99"); + + nsvc_cfg := g_nsconfig.nsvc[0]; + if (nsvc_cfg.provider.ip.address_family == AF_INET) { + var template IP4_Elements v4_elem := { tr_SNS_IPv4(nsvc_cfg.provider.ip.remote_ip, + nsvc_cfg.provider.ip.remote_udp_port) }; + + rx := tr_SNS_CHG_WEIGHT(g_nsconfig.nsei, ?, v4 := v4_elem); + } else { + var template IP6_Elements v6_elem := { tr_SNS_IPv6(nsvc_cfg.provider.ip.remote_ip, + nsvc_cfg.provider.ip.remote_udp_port) }; + rx := tr_SNS_CHG_WEIGHT(g_nsconfig.nsei, ?, v4 := omit, v6 := v6_elem); + } + + alt { + [] NSCP[0].receive(rx) { + i := i + 1; + if (i < 3) { + repeat; + } + } + [] as_rx_alive_tx_ack(); + } + + f_ns_exp(tr_SNS_SIZE(g_nsconfig.nsei, rst_flag := true, max_nsvcs := 8, + num_v4 := 4, num_v6 := omit), 0); + setverdict(pass); + f_clean_ns_codec(); +} + control { if (mp_dialect == NS2_DIALECT_STATIC_RESETBLOCK or mp_dialect == NS2_DIALECT_IPACCESS) { execute( TC_tx_reset() ); @@ -527,6 +569,7 @@ if (mp_dialect == NS2_DIALECT_SNS) { execute( TC_sns_config_success() ); execute( TC_sns_bss_change_weight() ); + execute( TC_sns_bss_change_weight_timeout() ); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23182 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ie8d976a81abe0bcff53bb74991d428dbf1fe314b Gerrit-Change-Number: 23182 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 22 12:21:17 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Mon, 22 Mar 2021 12:21:17 +0000 Subject: Change in libosmocore[master]: gprs_ns2: always use the same method to print NSVCs References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/23450 ) Change subject: gprs_ns2: always use the same method to print NSVCs ...................................................................... gprs_ns2: always use the same method to print NSVCs The binds also print a list of associated NSVC when dumping the bind. However the binds using their own representation of printing the NSVC which is different to `show ns entities`. Use the same function to print NS-VC. Before: NSVCI 00000: udp)[127.0.0.1]:23000<>[127.0.0.1]:22000 After: NSVCI none: UNCONFIGURED DYNAMIC data_weight=1 sig_weight=1 udp)[127.0.0.1]:23000<>[127.0.0.1]:22000 Change-Id: If31ec6c1c07dc134ab1ddeb915bc89747c7be048 --- M src/gb/gprs_ns2_fr.c M src/gb/gprs_ns2_internal.h M src/gb/gprs_ns2_udp.c M src/gb/gprs_ns2_vty.c M tests/gb/gprs_ns2_vty.vty 5 files changed, 13 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/50/23450/1 diff --git a/src/gb/gprs_ns2_fr.c b/src/gb/gprs_ns2_fr.c index 6ba2268..84f3784 100644 --- a/src/gb/gprs_ns2_fr.c +++ b/src/gb/gprs_ns2_fr.c @@ -135,7 +135,7 @@ nsvc->priv = NULL; } -static void dump_vty(const struct gprs_ns2_vc_bind *bind, struct vty *vty, bool _stats) +static void dump_vty(const struct gprs_ns2_vc_bind *bind, struct vty *vty, bool stats) { struct priv_bind *priv; struct gprs_ns2_vc *nsvc; @@ -151,7 +151,7 @@ osmo_fr_role_str(fr_link->role), priv->if_running ? "UP" : "DOWN", VTY_NEWLINE); llist_for_each_entry(nsvc, &bind->nsvc, blist) { - vty_out(vty, " NSVCI %05u: %s%s", nsvc->nsvci, gprs_ns2_ll_str(nsvc), VTY_NEWLINE); + ns2_vty_dump_nsvc(vty, nsvc, stats); } priv = bind->priv; diff --git a/src/gb/gprs_ns2_internal.h b/src/gb/gprs_ns2_internal.h index e8fe696..4883efd 100644 --- a/src/gb/gprs_ns2_internal.h +++ b/src/gb/gprs_ns2_internal.h @@ -391,6 +391,7 @@ int ns2_vc_is_unblocked(struct gprs_ns2_vc *nsvc); int ns2_vc_block(struct gprs_ns2_vc *nsvc); int ns2_vc_unblock(struct gprs_ns2_vc *nsvc); +void ns2_vty_dump_nsvc(struct vty *vty, struct gprs_ns2_vc *nsvc, bool stats); /* nse */ void ns2_nse_notify_unblocked(struct gprs_ns2_vc *nsvc, bool unblocked); diff --git a/src/gb/gprs_ns2_udp.c b/src/gb/gprs_ns2_udp.c index 5765c77..4c986a2 100644 --- a/src/gb/gprs_ns2_udp.c +++ b/src/gb/gprs_ns2_udp.c @@ -85,7 +85,7 @@ } static void dump_vty(const struct gprs_ns2_vc_bind *bind, - struct vty *vty, bool _stats) + struct vty *vty, bool stats) { struct priv_bind *priv; struct gprs_ns2_vc *nsvc; @@ -109,7 +109,7 @@ vty_out(vty, " %lu NS-VC: %s", nsvcs, VTY_NEWLINE); llist_for_each_entry(nsvc, &bind->nsvc, blist) { - vty_out(vty, " NSVCI %05u: %s%s", nsvc->nsvci, gprs_ns2_ll_str(nsvc), VTY_NEWLINE); + ns2_vty_dump_nsvc(vty, nsvc, stats); } } diff --git a/src/gb/gprs_ns2_vty.c b/src/gb/gprs_ns2_vty.c index a769ad1..d29ac6c 100644 --- a/src/gb/gprs_ns2_vty.c +++ b/src/gb/gprs_ns2_vty.c @@ -1696,7 +1696,7 @@ } /* non-config commands */ -static void dump_nsvc(struct vty *vty, struct gprs_ns2_vc *nsvc, bool stats) +void ns2_vty_dump_nsvc(struct vty *vty, struct gprs_ns2_vc *nsvc, bool stats) { char nsvci_str[32]; @@ -1728,9 +1728,9 @@ llist_for_each_entry(nsvc, &nse->nsvc, list) { if (persistent_only) { if (nsvc->persistent) - dump_nsvc(vty, nsvc, stats); + ns2_vty_dump_nsvc(vty, nsvc, stats); } else { - dump_nsvc(vty, nsvc, stats); + ns2_vty_dump_nsvc(vty, nsvc, stats); } } } @@ -1840,7 +1840,7 @@ return CMD_WARNING; } - dump_nsvc(vty, nsvc, show_stats); + ns2_vty_dump_nsvc(vty, nsvc, show_stats); } return CMD_SUCCESS; diff --git a/tests/gb/gprs_ns2_vty.vty b/tests/gb/gprs_ns2_vty.vty index f0253fc..67838e9 100644 --- a/tests/gb/gprs_ns2_vty.vty +++ b/tests/gb/gprs_ns2_vty.vty @@ -43,7 +43,7 @@ UDP bind: 127.0.0.14:42999 DSCP: 0 IP-SNS signalling weight: 1 data weight: 1 1 NS-VC: - NSVCI 00000: udp)[127.0.0.14]:42999<>[127.0.0.15]:9496 + NSVCI none: RECOVERING PERSIST data_weight=1 sig_weight=1 udp)[127.0.0.14]:42999<>[127.0.0.15]:9496 OsmoNSdummy# configure terminal OsmoNSdummy(config)# ns OsmoNSdummy(config-ns)# nse 1234 @@ -58,9 +58,9 @@ UDP bind: 127.0.0.14:42999 DSCP: 0 IP-SNS signalling weight: 1 data weight: 1 3 NS-VC: - NSVCI 00000: udp)[127.0.0.14]:42999<>[127.0.0.17]:9496 - NSVCI 00000: udp)[127.0.0.14]:42999<>[127.0.0.16]:9496 - NSVCI 00000: udp)[127.0.0.14]:42999<>[127.0.0.15]:9496 + NSVCI none: RECOVERING PERSIST data_weight=0 sig_weight=0 udp)[127.0.0.14]:42999<>[127.0.0.17]:9496 + NSVCI none: RECOVERING PERSIST data_weight=9 sig_weight=0 udp)[127.0.0.14]:42999<>[127.0.0.16]:9496 + NSVCI none: RECOVERING PERSIST data_weight=1 sig_weight=1 udp)[127.0.0.14]:42999<>[127.0.0.15]:9496 OsmoNSdummy# configure terminal OsmoNSdummy(config)# ns OsmoNSdummy(config-ns)# nse 1234 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23450 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If31ec6c1c07dc134ab1ddeb915bc89747c7be048 Gerrit-Change-Number: 23450 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 22 12:21:18 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Mon, 22 Mar 2021 12:21:18 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vty: hide dynamic NSE information when ask for persistant only References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/23451 ) Change subject: gprs_ns2_vty: hide dynamic NSE information when ask for persistant only ...................................................................... gprs_ns2_vty: hide dynamic NSE information when ask for persistant only dump_nse() should only print persistant NSE when persistant_only argument is set. A NSE can be persistant or dynamic configured. Depending on the NSE all NS-VC must be the same as the NSE. Change-Id: Ibd2c6962eda39a850ab61cf347063934378d2fdc --- M src/gb/gprs_ns2_vty.c 1 file changed, 5 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/51/23451/1 diff --git a/src/gb/gprs_ns2_vty.c b/src/gb/gprs_ns2_vty.c index d29ac6c..8a400e0 100644 --- a/src/gb/gprs_ns2_vty.c +++ b/src/gb/gprs_ns2_vty.c @@ -1721,18 +1721,15 @@ { struct gprs_ns2_vc *nsvc; + if (persistent_only && !nse->persistent) + return; + vty_out(vty, "NSEI %05u: %s, %s%s", nse->nsei, gprs_ns2_lltype_str(nse->ll), nse->alive ? "ALIVE" : "DEAD", VTY_NEWLINE); ns2_sns_dump_vty(vty, " ", nse, stats); - llist_for_each_entry(nsvc, &nse->nsvc, list) { - if (persistent_only) { - if (nsvc->persistent) - ns2_vty_dump_nsvc(vty, nsvc, stats); - } else { - ns2_vty_dump_nsvc(vty, nsvc, stats); - } - } + llist_for_each_entry(nsvc, &nse->nsvc, list) + ns2_vty_dump_nsvc(vty, nsvc, stats); } static void dump_bind(struct vty *vty, const struct gprs_ns2_vc_bind *bind, bool stats) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23451 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibd2c6962eda39a850ab61cf347063934378d2fdc Gerrit-Change-Number: 23451 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 22 12:21:18 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Mon, 22 Mar 2021 12:21:18 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vty: make the `show ns entities` and `show ns binds` look si... References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/23452 ) Change subject: gprs_ns2_vty: make the `show ns entities` and `show ns binds` look similiar ...................................................................... gprs_ns2_vty: make the `show ns entities` and `show ns binds` look similiar `show ns binds` prints a count of NSVCs. Add the same line to `show ns entities`. Change-Id: I15c58a1c0fe94dda728afb29e7e5ca41e3fa8966 --- M src/gb/gprs_ns2_vty.c M tests/gb/gprs_ns2_vty.vty 2 files changed, 7 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/52/23452/1 diff --git a/src/gb/gprs_ns2_vty.c b/src/gb/gprs_ns2_vty.c index 8a400e0..e907ee3 100644 --- a/src/gb/gprs_ns2_vty.c +++ b/src/gb/gprs_ns2_vty.c @@ -1720,6 +1720,7 @@ static void dump_nse(struct vty *vty, const struct gprs_ns2_nse *nse, bool stats, bool persistent_only) { struct gprs_ns2_vc *nsvc; + unsigned int nsvcs = 0; if (persistent_only && !nse->persistent) return; @@ -1728,6 +1729,10 @@ nse->alive ? "ALIVE" : "DEAD", VTY_NEWLINE); ns2_sns_dump_vty(vty, " ", nse, stats); + llist_for_each_entry(nsvc, &nse->nsvc, list) { + nsvcs++; + } + vty_out(vty, " %u NS-VC:%s", nsvcs, VTY_NEWLINE); llist_for_each_entry(nsvc, &nse->nsvc, list) ns2_vty_dump_nsvc(vty, nsvc, stats); } diff --git a/tests/gb/gprs_ns2_vty.vty b/tests/gb/gprs_ns2_vty.vty index 67838e9..24e4b6a 100644 --- a/tests/gb/gprs_ns2_vty.vty +++ b/tests/gb/gprs_ns2_vty.vty @@ -39,6 +39,7 @@ OsmoNSdummy(config-ns-nse)# end OsmoNSdummy# show ns NSEI 01234: UDP, DEAD + 1 NS-VC: NSVCI none: RECOVERING PERSIST data_weight=1 sig_weight=1 udp)[127.0.0.14]:42999<>[127.0.0.15]:9496 UDP bind: 127.0.0.14:42999 DSCP: 0 IP-SNS signalling weight: 1 data weight: 1 @@ -52,6 +53,7 @@ OsmoNSdummy(config-ns-nse)# end OsmoNSdummy# show ns NSEI 01234: UDP, DEAD + 3 NS-VC: NSVCI none: RECOVERING PERSIST data_weight=0 sig_weight=0 udp)[127.0.0.14]:42999<>[127.0.0.17]:9496 NSVCI none: RECOVERING PERSIST data_weight=9 sig_weight=0 udp)[127.0.0.14]:42999<>[127.0.0.16]:9496 NSVCI none: RECOVERING PERSIST data_weight=1 sig_weight=1 udp)[127.0.0.14]:42999<>[127.0.0.15]:9496 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23452 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I15c58a1c0fe94dda728afb29e7e5ca41e3fa8966 Gerrit-Change-Number: 23452 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 22 12:21:18 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Mon, 22 Mar 2021 12:21:18 +0000 Subject: Change in libosmocore[master]: gprs_ns2: dump_nsvc: correct indention References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/23453 ) Change subject: gprs_ns2: dump_nsvc: correct indention ...................................................................... gprs_ns2: dump_nsvc: correct indention As both `show ns entities` and `show ns binds` looking similiar correct the indention. Change-Id: I55794188bec7e62f0341188dbf23ac04006974fe --- M src/gb/gprs_ns2_vty.c M tests/gb/gprs_ns2_vty.vty 2 files changed, 11 insertions(+), 11 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/53/23453/1 diff --git a/src/gb/gprs_ns2_vty.c b/src/gb/gprs_ns2_vty.c index e907ee3..a27a90c 100644 --- a/src/gb/gprs_ns2_vty.c +++ b/src/gb/gprs_ns2_vty.c @@ -1705,15 +1705,15 @@ else snprintf(nsvci_str, sizeof(nsvci_str), "none"); - vty_out(vty, " NSVCI %s: %s %s data_weight=%u sig_weight=%u %s%s", nsvci_str, + vty_out(vty, " NSVCI %s: %s %s data_weight=%u sig_weight=%u %s%s", nsvci_str, osmo_fsm_inst_state_name(nsvc->fi), nsvc->persistent ? "PERSIST" : "DYNAMIC", nsvc->data_weight, nsvc->sig_weight, gprs_ns2_ll_str(nsvc), VTY_NEWLINE); if (stats) { - vty_out_rate_ctr_group(vty, " ", nsvc->ctrg); - vty_out_stat_item_group(vty, " ", nsvc->statg); + vty_out_rate_ctr_group(vty, " ", nsvc->ctrg); + vty_out_stat_item_group(vty, " ", nsvc->statg); } } diff --git a/tests/gb/gprs_ns2_vty.vty b/tests/gb/gprs_ns2_vty.vty index 24e4b6a..7457130 100644 --- a/tests/gb/gprs_ns2_vty.vty +++ b/tests/gb/gprs_ns2_vty.vty @@ -40,11 +40,11 @@ OsmoNSdummy# show ns NSEI 01234: UDP, DEAD 1 NS-VC: - NSVCI none: RECOVERING PERSIST data_weight=1 sig_weight=1 udp)[127.0.0.14]:42999<>[127.0.0.15]:9496 + NSVCI none: RECOVERING PERSIST data_weight=1 sig_weight=1 udp)[127.0.0.14]:42999<>[127.0.0.15]:9496 UDP bind: 127.0.0.14:42999 DSCP: 0 IP-SNS signalling weight: 1 data weight: 1 1 NS-VC: - NSVCI none: RECOVERING PERSIST data_weight=1 sig_weight=1 udp)[127.0.0.14]:42999<>[127.0.0.15]:9496 + NSVCI none: RECOVERING PERSIST data_weight=1 sig_weight=1 udp)[127.0.0.14]:42999<>[127.0.0.15]:9496 OsmoNSdummy# configure terminal OsmoNSdummy(config)# ns OsmoNSdummy(config-ns)# nse 1234 @@ -54,15 +54,15 @@ OsmoNSdummy# show ns NSEI 01234: UDP, DEAD 3 NS-VC: - NSVCI none: RECOVERING PERSIST data_weight=0 sig_weight=0 udp)[127.0.0.14]:42999<>[127.0.0.17]:9496 - NSVCI none: RECOVERING PERSIST data_weight=9 sig_weight=0 udp)[127.0.0.14]:42999<>[127.0.0.16]:9496 - NSVCI none: RECOVERING PERSIST data_weight=1 sig_weight=1 udp)[127.0.0.14]:42999<>[127.0.0.15]:9496 + NSVCI none: RECOVERING PERSIST data_weight=0 sig_weight=0 udp)[127.0.0.14]:42999<>[127.0.0.17]:9496 + NSVCI none: RECOVERING PERSIST data_weight=9 sig_weight=0 udp)[127.0.0.14]:42999<>[127.0.0.16]:9496 + NSVCI none: RECOVERING PERSIST data_weight=1 sig_weight=1 udp)[127.0.0.14]:42999<>[127.0.0.15]:9496 UDP bind: 127.0.0.14:42999 DSCP: 0 IP-SNS signalling weight: 1 data weight: 1 3 NS-VC: - NSVCI none: RECOVERING PERSIST data_weight=0 sig_weight=0 udp)[127.0.0.14]:42999<>[127.0.0.17]:9496 - NSVCI none: RECOVERING PERSIST data_weight=9 sig_weight=0 udp)[127.0.0.14]:42999<>[127.0.0.16]:9496 - NSVCI none: RECOVERING PERSIST data_weight=1 sig_weight=1 udp)[127.0.0.14]:42999<>[127.0.0.15]:9496 + NSVCI none: RECOVERING PERSIST data_weight=0 sig_weight=0 udp)[127.0.0.14]:42999<>[127.0.0.17]:9496 + NSVCI none: RECOVERING PERSIST data_weight=9 sig_weight=0 udp)[127.0.0.14]:42999<>[127.0.0.16]:9496 + NSVCI none: RECOVERING PERSIST data_weight=1 sig_weight=1 udp)[127.0.0.14]:42999<>[127.0.0.15]:9496 OsmoNSdummy# configure terminal OsmoNSdummy(config)# ns OsmoNSdummy(config-ns)# nse 1234 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23453 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I55794188bec7e62f0341188dbf23ac04006974fe Gerrit-Change-Number: 23453 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 22 12:21:19 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Mon, 22 Mar 2021 12:21:19 +0000 Subject: Change in libosmocore[master]: gprs_ns2: add vty command `nsvc reset` References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/23454 ) Change subject: gprs_ns2: add vty command `nsvc reset` ...................................................................... gprs_ns2: add vty command `nsvc reset` Change-Id: I436dd0367e83548acfc8f8e36ae4707496a252d9 --- M src/gb/gprs_ns2_internal.h M src/gb/gprs_ns2_vc_fsm.c M src/gb/gprs_ns2_vty.c 3 files changed, 27 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/54/23454/1 diff --git a/src/gb/gprs_ns2_internal.h b/src/gb/gprs_ns2_internal.h index 4883efd..1792979 100644 --- a/src/gb/gprs_ns2_internal.h +++ b/src/gb/gprs_ns2_internal.h @@ -390,6 +390,7 @@ int ns2_vc_is_alive(struct gprs_ns2_vc *nsvc); int ns2_vc_is_unblocked(struct gprs_ns2_vc *nsvc); int ns2_vc_block(struct gprs_ns2_vc *nsvc); +int ns2_vc_reset(struct gprs_ns2_vc *nsvc); int ns2_vc_unblock(struct gprs_ns2_vc *nsvc); void ns2_vty_dump_nsvc(struct vty *vty, struct gprs_ns2_vc *nsvc, bool stats); diff --git a/src/gb/gprs_ns2_vc_fsm.c b/src/gb/gprs_ns2_vc_fsm.c index 548806e..3cc97cb 100644 --- a/src/gb/gprs_ns2_vc_fsm.c +++ b/src/gb/gprs_ns2_vc_fsm.c @@ -115,6 +115,7 @@ GPRS_NS2_EV_RX_UNITDATA, GPRS_NS2_EV_REQ_FORCE_UNCONFIGURED, /* called via vty for tests */ + GPRS_NS2_EV_REQ_OM_RESET, /* vty cmd: reset */ GPRS_NS2_EV_REQ_OM_BLOCK, /* vty cmd: block */ GPRS_NS2_EV_REQ_OM_UNBLOCK, /* vty cmd: unblock*/ }; @@ -132,6 +133,7 @@ { GPRS_NS2_EV_RX_STATUS, "RX-STATUS" }, { GPRS_NS2_EV_RX_UNITDATA, "RX-UNITDATA" }, { GPRS_NS2_EV_REQ_FORCE_UNCONFIGURED, "REQ-FORCE_UNCONFIGURED" }, + { GPRS_NS2_EV_REQ_OM_RESET, "REQ-O&M-RESET"}, { GPRS_NS2_EV_REQ_OM_BLOCK, "REQ-O&M-BLOCK"}, { GPRS_NS2_EV_REQ_OM_UNBLOCK, "REQ-O&M-UNBLOCK"}, { 0, NULL } @@ -583,6 +585,15 @@ struct msgb *msg = data; switch (event) { + case GPRS_NS2_EV_REQ_OM_RESET: + if (priv->nsvc->mode != GPRS_NS2_VC_MODE_BLOCKRESET) + break; + /* move the FSM into reset */ + if (fi->state != GPRS_NS2_ST_RESET) { + priv->initiate_reset = true; + osmo_fsm_inst_state_chg(fi, GPRS_NS2_ST_RESET, nsi->timeout[NS_TOUT_TNS_RESET], NS_TOUT_TNS_RESET); + } + break; case GPRS_NS2_EV_RX_RESET: if (priv->nsvc->mode != GPRS_NS2_VC_MODE_BLOCKRESET) break; @@ -682,6 +693,7 @@ S(GPRS_NS2_EV_RX_ALIVE) | S(GPRS_NS2_EV_RX_ALIVE_ACK) | S(GPRS_NS2_EV_REQ_FORCE_UNCONFIGURED) | + S(GPRS_NS2_EV_REQ_OM_RESET) | S(GPRS_NS2_EV_REQ_OM_BLOCK) | S(GPRS_NS2_EV_REQ_OM_UNBLOCK), .allstate_action = ns2_vc_fsm_allstate_action, @@ -755,6 +767,14 @@ return osmo_fsm_inst_dispatch(nsvc->fi, GPRS_NS2_EV_REQ_OM_UNBLOCK, NULL); } +/*! Reset a NS-VC. + * \param nsvc the virtual circuit + * \return 0 on success; negative on error */ +int ns2_vc_reset(struct gprs_ns2_vc *nsvc) +{ + return osmo_fsm_inst_dispatch(nsvc->fi, GPRS_NS2_EV_REQ_OM_RESET, NULL); +} + /*! entry point for messages from the driver/VL * \param nsvc virtual circuit on which the message was received * \param msg message that was received diff --git a/src/gb/gprs_ns2_vty.c b/src/gb/gprs_ns2_vty.c index a27a90c..32639c2 100644 --- a/src/gb/gprs_ns2_vty.c +++ b/src/gb/gprs_ns2_vty.c @@ -1886,11 +1886,12 @@ } DEFUN(nsvc_block, nsvc_block_cmd, - "nsvc <0-65535> (block|unblock)", + "nsvc <0-65535> (block|unblock|reset)", "NS Virtual Connection\n" NSVCI_STR "Block a NSVC. As cause code O&M intervention will be used.\n" - "Unblock a NSVC. As cause code O&M intervention will be used.\n") + "Unblock a NSVC. As cause code O&M intervention will be used.\n" + "Reset a NSVC. As cause code O&M intervention will be used.\n") { struct gprs_ns2_inst *nsi = vty_nsi; struct gprs_ns2_vc *nsvc; @@ -1905,8 +1906,10 @@ if (!strcmp(argv[1], "block")) { ns2_vc_block(nsvc); - } else { + } else if (!strcmp(argv[1], "unblock")) { ns2_vc_unblock(nsvc); + } else { + ns2_vc_reset(nsvc); } return CMD_SUCCESS; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23454 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I436dd0367e83548acfc8f8e36ae4707496a252d9 Gerrit-Change-Number: 23454 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 22 12:21:19 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Mon, 22 Mar 2021 12:21:19 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vty: print a response to vty `nsvc (block|unblock|re... References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/23455 ) Change subject: gprs_ns2_vty: print a response to vty `nsvc (block|unblock|reset) ...................................................................... gprs_ns2_vty: print a response to vty `nsvc (block|unblock|reset) The vty wasn't printing anything to the user if it was a success or not Change-Id: Idbb83ea319bbdc94177febdd66e79c49fce7fdd2 --- M src/gb/gprs_ns2_vc_fsm.c M src/gb/gprs_ns2_vty.c 2 files changed, 34 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/55/23455/1 diff --git a/src/gb/gprs_ns2_vc_fsm.c b/src/gb/gprs_ns2_vc_fsm.c index 3cc97cb..4f0bfa4 100644 --- a/src/gb/gprs_ns2_vc_fsm.c +++ b/src/gb/gprs_ns2_vc_fsm.c @@ -756,6 +756,10 @@ * \return 0 on success; negative on error */ int ns2_vc_block(struct gprs_ns2_vc *nsvc) { + struct gprs_ns2_vc_priv *priv = nsvc->fi->priv; + if (priv->initiate_block) + return -EALREADY; + return osmo_fsm_inst_dispatch(nsvc->fi, GPRS_NS2_EV_REQ_OM_BLOCK, NULL); } @@ -764,6 +768,10 @@ * \return 0 on success; negative on error */ int ns2_vc_unblock(struct gprs_ns2_vc *nsvc) { + struct gprs_ns2_vc_priv *priv = nsvc->fi->priv; + if (!priv->initiate_block) + return -EALREADY; + return osmo_fsm_inst_dispatch(nsvc->fi, GPRS_NS2_EV_REQ_OM_UNBLOCK, NULL); } diff --git a/src/gb/gprs_ns2_vty.c b/src/gb/gprs_ns2_vty.c index 32639c2..5861d9c 100644 --- a/src/gb/gprs_ns2_vty.c +++ b/src/gb/gprs_ns2_vty.c @@ -1895,6 +1895,7 @@ { struct gprs_ns2_inst *nsi = vty_nsi; struct gprs_ns2_vc *nsvc; + int rc; uint16_t id = atoi(argv[0]); @@ -1905,11 +1906,34 @@ } if (!strcmp(argv[1], "block")) { - ns2_vc_block(nsvc); + rc = ns2_vc_block(nsvc); + switch (rc) { + case 0: + vty_out(vty, "The NS-VC %d will be blocked.%s", id, VTY_NEWLINE); + return CMD_SUCCESS; + case -EALREADY: + vty_out(vty, "The NS-VC %d is already blocked.%s", id, VTY_NEWLINE); + return CMD_ERR_NOTHING_TODO; + default: + vty_out(vty, "An unknown error happend%s", VTY_NEWLINE); + return CMD_WARNING; + } } else if (!strcmp(argv[1], "unblock")) { - ns2_vc_unblock(nsvc); + rc = ns2_vc_unblock(nsvc); + switch (rc) { + case 0: + vty_out(vty, "The NS-VC %d will be unblocked.%s", id, VTY_NEWLINE); + return CMD_SUCCESS; + case -EALREADY: + vty_out(vty, "The NS-VC %d is already unblocked.%s", id, VTY_NEWLINE); + return CMD_ERR_NOTHING_TODO; + default: + vty_out(vty, "An unknown error happend%s", VTY_NEWLINE); + return CMD_WARNING; + } } else { ns2_vc_reset(nsvc); + vty_out(vty, "The NS-VC %d has been resetted.%s", id, VTY_NEWLINE); } return CMD_SUCCESS; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23455 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Idbb83ea319bbdc94177febdd66e79c49fce7fdd2 Gerrit-Change-Number: 23455 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 22 12:21:19 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Mon, 22 Mar 2021 12:21:19 +0000 Subject: Change in libosmocore[master]: gprs_ns2: vty: remove a white space in `show binds` References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/23456 ) Change subject: gprs_ns2: vty: remove a white space in `show binds` ...................................................................... gprs_ns2: vty: remove a white space in `show binds` Change-Id: Ia3579ec5599f5f5c58eebab03f1ed9e17f171177 --- M src/gb/gprs_ns2_udp.c M tests/gb/gprs_ns2_vty.vty 2 files changed, 4 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/56/23456/1 diff --git a/src/gb/gprs_ns2_udp.c b/src/gb/gprs_ns2_udp.c index 4c986a2..8350ad8 100644 --- a/src/gb/gprs_ns2_udp.c +++ b/src/gb/gprs_ns2_udp.c @@ -106,7 +106,7 @@ vty_out(vty, "UDP bind: %s:%d DSCP: %d%s", sockstr.ip, sockstr.port, priv->dscp, VTY_NEWLINE); vty_out(vty, " IP-SNS signalling weight: %u data weight: %u%s", bind->sns_sig_weight, bind->sns_data_weight, VTY_NEWLINE); - vty_out(vty, " %lu NS-VC: %s", nsvcs, VTY_NEWLINE); + vty_out(vty, " %lu NS-VC:%s", nsvcs, VTY_NEWLINE); llist_for_each_entry(nsvc, &bind->nsvc, blist) { ns2_vty_dump_nsvc(vty, nsvc, stats); diff --git a/tests/gb/gprs_ns2_vty.vty b/tests/gb/gprs_ns2_vty.vty index 7457130..48be7b7 100644 --- a/tests/gb/gprs_ns2_vty.vty +++ b/tests/gb/gprs_ns2_vty.vty @@ -31,7 +31,7 @@ OsmoNSdummy# show ns UDP bind: 127.0.0.14:42999 DSCP: 0 IP-SNS signalling weight: 1 data weight: 1 - 0 NS-VC: + 0 NS-VC: OsmoNSdummy# configure terminal OsmoNSdummy(config)# ns OsmoNSdummy(config-ns)# nse 1234 @@ -43,7 +43,7 @@ NSVCI none: RECOVERING PERSIST data_weight=1 sig_weight=1 udp)[127.0.0.14]:42999<>[127.0.0.15]:9496 UDP bind: 127.0.0.14:42999 DSCP: 0 IP-SNS signalling weight: 1 data weight: 1 - 1 NS-VC: + 1 NS-VC: NSVCI none: RECOVERING PERSIST data_weight=1 sig_weight=1 udp)[127.0.0.14]:42999<>[127.0.0.15]:9496 OsmoNSdummy# configure terminal OsmoNSdummy(config)# ns @@ -59,7 +59,7 @@ NSVCI none: RECOVERING PERSIST data_weight=1 sig_weight=1 udp)[127.0.0.14]:42999<>[127.0.0.15]:9496 UDP bind: 127.0.0.14:42999 DSCP: 0 IP-SNS signalling weight: 1 data weight: 1 - 3 NS-VC: + 3 NS-VC: NSVCI none: RECOVERING PERSIST data_weight=0 sig_weight=0 udp)[127.0.0.14]:42999<>[127.0.0.17]:9496 NSVCI none: RECOVERING PERSIST data_weight=9 sig_weight=0 udp)[127.0.0.14]:42999<>[127.0.0.16]:9496 NSVCI none: RECOVERING PERSIST data_weight=1 sig_weight=1 udp)[127.0.0.14]:42999<>[127.0.0.15]:9496 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23456 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia3579ec5599f5f5c58eebab03f1ed9e17f171177 Gerrit-Change-Number: 23456 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 22 12:27:28 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 22 Mar 2021 12:27:28 +0000 Subject: Change in libosmocore[master]: gprs_ns2: always use the same method to print NSVCs In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23450 ) Change subject: gprs_ns2: always use the same method to print NSVCs ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23450 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If31ec6c1c07dc134ab1ddeb915bc89747c7be048 Gerrit-Change-Number: 23450 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 22 Mar 2021 12:27:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 22 12:30:29 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 22 Mar 2021 12:30:29 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vty: hide dynamic NSE information when ask for persistant only In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23451 ) Change subject: gprs_ns2_vty: hide dynamic NSE information when ask for persistant only ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23451 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibd2c6962eda39a850ab61cf347063934378d2fdc Gerrit-Change-Number: 23451 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 22 Mar 2021 12:30:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 22 12:31:15 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 22 Mar 2021 12:31:15 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vty: make the `show ns entities` and `show ns binds` look si... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23452 ) Change subject: gprs_ns2_vty: make the `show ns entities` and `show ns binds` look similiar ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23452 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I15c58a1c0fe94dda728afb29e7e5ca41e3fa8966 Gerrit-Change-Number: 23452 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 22 Mar 2021 12:31:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 22 12:31:46 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 22 Mar 2021 12:31:46 +0000 Subject: Change in libosmocore[master]: gprs_ns2: dump_nsvc: correct indention In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23453 ) Change subject: gprs_ns2: dump_nsvc: correct indention ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23453 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I55794188bec7e62f0341188dbf23ac04006974fe Gerrit-Change-Number: 23453 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 22 Mar 2021 12:31: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 Mar 22 12:32:19 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 22 Mar 2021 12:32:19 +0000 Subject: Change in libosmocore[master]: gprs_ns2: add vty command `nsvc reset` In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23454 ) Change subject: gprs_ns2: add vty command `nsvc reset` ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23454 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I436dd0367e83548acfc8f8e36ae4707496a252d9 Gerrit-Change-Number: 23454 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 22 Mar 2021 12:32: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 Mar 22 12:33:19 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 22 Mar 2021 12:33:19 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vty: print a response to vty `nsvc (block|unblock|re... In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23455 ) Change subject: gprs_ns2_vty: print a response to vty `nsvc (block|unblock|reset) ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/23455/1/src/gb/gprs_ns2_vty.c File src/gb/gprs_ns2_vty.c: https://gerrit.osmocom.org/c/libosmocore/+/23455/1/src/gb/gprs_ns2_vty.c at 1936 PS1, Line 1936: vty_out(vty, "The NS-VC %d has been resetted.%s", id, VTY_NEWLINE); is resetted correct? or simply reset? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23455 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Idbb83ea319bbdc94177febdd66e79c49fce7fdd2 Gerrit-Change-Number: 23455 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 22 Mar 2021 12:33: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 Mon Mar 22 12:33:47 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 22 Mar 2021 12:33:47 +0000 Subject: Change in libosmocore[master]: gprs_ns2: vty: remove a white space in `show binds` In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23456 ) Change subject: gprs_ns2: vty: remove a white space in `show binds` ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23456 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia3579ec5599f5f5c58eebab03f1ed9e17f171177 Gerrit-Change-Number: 23456 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 22 Mar 2021 12:33: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 Mar 22 12:35:36 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Mon, 22 Mar 2021 12:35:36 +0000 Subject: Change in libosmocore[master]: gprs_ns2: rework logging of Rx and Tx NS PDU In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/22294 ) Change subject: gprs_ns2: rework logging of Rx and Tx NS PDU ...................................................................... Patch Set 15: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/22294/14/src/gb/gprs_ns2.c File src/gb/gprs_ns2.c: https://gerrit.osmocom.org/c/libosmocore/+/22294/14/src/gb/gprs_ns2.c at 1091 PS14, Line 1091: LOG_NS_RX_SIGNAL(nsvc, nsh->pdu_type); > This also logs NS_PDUT_UNITDATA Done -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/22294 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I34b8fde2955ecc010d1dcd9512e1bba9211e2c0d Gerrit-Change-Number: 22294 Gerrit-PatchSet: 15 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 22 Mar 2021 12:35:36 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: daniel Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 22 19:45:26 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 22 Mar 2021 19:45:26 +0000 Subject: Change in pysim[master]: utils: fix sw_match() References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/23457 ) Change subject: utils: fix sw_match() ...................................................................... utils: fix sw_match() The SW_match function takes a given status word and compares it against a pattern that may contain wildcards (x or ?). This works by creating a masked version of the SW using a pattern first (each hex digit is replaced by a wildcard charafter if the pattern has a wildcard in the same position). Once this is done, the resulting masked version is compared at the pattern. However, the current implementation can not work, since it compares the input SW against the pattern to decide wihich chrafters should be masked. The input SW never contains wildcard charafters. Change-Id: I805ad32160fcfcb8628bf919b64f7eee0fe03c7e Related: OS#4963 --- M pySim/utils.py 1 file changed, 3 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/57/23457/1 diff --git a/pySim/utils.py b/pySim/utils.py index e1fb4c7..0848b01 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -787,12 +787,13 @@ sw_lower = sw.lower() sw_masked = "" for i in range(0, 4): - if sw_lower[i] == '?': + if pattern[i] == '?': sw_masked = sw_masked + '?' - elif sw_lower[i] == 'x': + elif pattern[i] == 'x': sw_masked = sw_masked + 'x' else: sw_masked = sw_masked + sw_lower[i] + # Compare the masked version against the pattern return sw_masked == pattern def tabulate_str_list(str_list, width = 79, hspace = 2, lspace = 1, align_left = True): -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23457 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I805ad32160fcfcb8628bf919b64f7eee0fe03c7e Gerrit-Change-Number: 23457 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 Mar 22 21:27:49 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 22 Mar 2021 21:27:49 +0000 Subject: Change in pysim[master]: commands: better exception string for authentication failures In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23423 ) Change subject: commands: better exception string for authentication failures ...................................................................... Patch Set 1: > Patch Set 1: > > > Patch Set 1: Code-Review-1 > > > > IMHO this should not be done here; instead the respective card profile should register code for status word interpretation that does the SW -> String conversion. There should already be genric support for that in place. > > ok, the existing code only has wildcard matching mapping to statig strings. I suggest to extend that with an option to register a function for decoding. > > This could be done by using the existing status-word-dict that contains "sw: string" mappings, and you could register a function instead. The interpret_sw() could then check if the value in the dict is a str (behavior like now) or a function (call the function and use the return as string). I have now analyzed the problem a bit. What we could do is to use rs.interpret_sw() from do_verify_adm() to convert the SW, but then still the translation would be wrong. The reason for this is that the 63cx SW has a different meaning when it is used when the VERIFY PIN command is used. See ETSI TS 102 221, Table 10.9. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23423 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Icf428831094f8c1045eefaa8cb2b92e6a36b0c13 Gerrit-Change-Number: 23423 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 22 Mar 2021 21:27:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 22 21:30:25 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 22 Mar 2021 21:30:25 +0000 Subject: Change in pysim[master]: filesystem: be more strict in method add_file() In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/23378 to look at the new patch set (#6). Change subject: filesystem: be more strict in method add_file() ...................................................................... filesystem: be more strict in method add_file() The file identifier of a file is strictly defined as a two digit hexadecimal number. Do not allow adding child files that violate this constraint. Change-Id: I096907285b742e611d221b03ba067ea2522e7e52 Related: OS#4963 --- M pySim/filesystem.py 1 file changed, 3 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/78/23378/6 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23378 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I096907285b742e611d221b03ba067ea2522e7e52 Gerrit-Change-Number: 23378 Gerrit-PatchSet: 6 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 Mon Mar 22 21:31:38 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 22 Mar 2021 21:31:38 +0000 Subject: Change in pysim[master]: filesystem: be more strict in method add_file() In-Reply-To: References: Message-ID: dexter has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/23378 ) Change subject: filesystem: be more strict in method add_file() ...................................................................... filesystem: be more strict in method add_file() The file identifier of a file is strictly defined as a two digit hexadecimal number. Do not allow adding child files that violate this constraint. Change-Id: I096907285b742e611d221b03ba067ea2522e7e52 Related: OS#4963 --- M pySim/filesystem.py 1 file changed, 3 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim/filesystem.py b/pySim/filesystem.py index d468808..f6dddb6 100644 --- a/pySim/filesystem.py +++ b/pySim/filesystem.py @@ -31,7 +31,7 @@ from cmd2 import CommandSet, with_default_category, with_argparser import argparse -from pySim.utils import sw_match, h2b, b2h +from pySim.utils import sw_match, h2b, b2h, is_hex from pySim.exceptions import * class CardFile(object): @@ -144,6 +144,8 @@ """Add a child (DF/EF) to this DF""" if not isinstance(child, CardFile): raise TypeError("Expected a File instance") + if not is_hex(child.fid, minlen = 4, maxlen = 4): + raise ValueError("File name %s is not a valid fid" % (child.fid)) if child.name in CardFile.RESERVED_NAMES: raise ValueError("File name %s is a reserved name" % (child.name)) if child.fid in CardFile.RESERVED_FIDS: -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23378 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I096907285b742e611d221b03ba067ea2522e7e52 Gerrit-Change-Number: 23378 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 22 21:51:18 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 22 Mar 2021 21:51:18 +0000 Subject: Change in pysim[master]: pySim-shell: add availability check for elementry files 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/+/23403 to look at the new patch set (#5). Change subject: pySim-shell: add availability check for elementry files ...................................................................... pySim-shell: add availability check for elementry files Add a tool (similar to tree) that walks through the FS and selects each file. If the file can not be selected, report an error. Change-Id: I9248e2fc067f822d9c4ccc4e48d378eea9ce3354 Related: OS#4963 --- M pySim-shell.py 1 file changed, 22 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/03/23403/5 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23403 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I9248e2fc067f822d9c4ccc4e48d378eea9ce3354 Gerrit-Change-Number: 23403 Gerrit-PatchSet: 5 Gerrit-Owner: dexter 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 Mon Mar 22 21:51:19 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 22 Mar 2021 21:51:19 +0000 Subject: Change in pysim[master]: pySim-shell: add command to show file description References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/23458 ) Change subject: pySim-shell: add command to show file description ...................................................................... pySim-shell: add command to show file description All all files (CardFile) have a human readable description but there is no command to display that description yet Change-Id: If716cf3c6b09d53dca652b588671487d5343cf58 Related: OS#4963 --- M pySim-shell.py 1 file changed, 8 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/58/23458/1 diff --git a/pySim-shell.py b/pySim-shell.py index 1bba54f..45b4095 100755 --- a/pySim-shell.py +++ b/pySim-shell.py @@ -83,6 +83,14 @@ pin_adm = sanitize_pin_adm(arg) self.card.verify_adm(h2b(pin_adm)) + @cmd2.with_category(CUSTOM_CATEGORY) + def do_desc(self, opts): + """Display human readable file description for the currently selected file""" + desc = self.rs.selected_file.desc + if desc: + self.poutput(desc) + else: + self.poutput("no description available") @with_default_category('ISO7816 Commands') -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23458 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: If716cf3c6b09d53dca652b588671487d5343cf58 Gerrit-Change-Number: 23458 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 Mar 22 21:51:19 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 22 Mar 2021 21:51:19 +0000 Subject: Change in pysim[master]: pySim-shell: output currently selected file using select command References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/23459 ) Change subject: pySim-shell: output currently selected file using select command ...................................................................... pySim-shell: output currently selected file using select command When the select command is entered with no parameters it fails with an exception. Lets just output the currently selected file and exit instead. Change-Id: I541bd5ed14f240cd1c2bd63647c830f669d26130 Related: OS#4963 --- M pySim-shell.py 1 file changed, 6 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/59/23459/1 diff --git a/pySim-shell.py b/pySim-shell.py index 45b4095..2943cd9 100755 --- a/pySim-shell.py +++ b/pySim-shell.py @@ -100,6 +100,12 @@ def do_select(self, opts): """SELECT a File (ADF/DF/EF)""" + if len(opts.arg_list) == 0: + path_list = self._cmd.rs.selected_file.fully_qualified_path(True) + path_list_fid = self._cmd.rs.selected_file.fully_qualified_path(False) + self._cmd.poutput("currently selected file: " + '/'.join(path_list) + " (" + '/'.join(path_list_fid) + ")") + return + path = opts.arg_list[0] fcp_dec = self._cmd.rs.select(path, self._cmd) self._cmd.update_prompt() -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23459 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I541bd5ed14f240cd1c2bd63647c830f669d26130 Gerrit-Change-Number: 23459 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Tue Mar 23 01:38:30 2021 From: admin at opensuse.org (OBS Notification) Date: Tue, 23 Mar 2021 01:38:30 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.10/x86_64 In-Reply-To: References: Message-ID: <605946a0ab835_a602af4fbf7c5f49196c@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_20.10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_20.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 157s] [COMPILING libboard/qmod/source/board_qmod.c] [ 158s] [COMPILING libboard/qmod/source/card_pres.c] [ 158s] [COMPILING libboard/qmod/source/i2c.c] [ 158s] [COMPILING libboard/qmod/source/wwan_led.c] [ 158s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 158s] [COMPILING apps/dfu/main.c] [ 158s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 158s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 158s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 159s] Memory region Used Size Region Size %age Used [ 159s] rom: 16592 B 16 KB 101.27% [ 159s] ram: 11680 B 48 KB 23.76/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 159s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 208 bytes [ 159s] collect2: error: ld returned 1 exit status [ 159s] % [ 159s] make[2]: *** [Makefile:230: flash] Error 1 [ 159s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 159s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 159s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 159s] dh_auto_build: error: make -j1 returned exit code 2 [ 159s] make: *** [debian/rules:16: build] Error 25 [ 159s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 159s] ### VM INTERACTION START ### [ 162s] [ 149.795521] sysrq: Power Off [ 162s] [ 149.806176] reboot: Power down [ 162s] ### VM INTERACTION END ### [ 162s] [ 162s] lamb07 failed "build simtrace2_0.7.0.76.62ad.dsc" at Tue Mar 23 01:38:20 UTC 2021. [ 162s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Mar 23 01:39:21 2021 From: admin at opensuse.org (OBS Notification) Date: Tue, 23 Mar 2021 01:39:21 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <605946e048286_a602af4fbf7c5f491975c@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_20.04/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_20.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 167s] [COMPILING apps/dfu/main.c] [ 167s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 167s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 167s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 167s] Memory region Used Size Region Size %age Used [ 167s] rom: 16600 B 16 KB 101.32% [ 167s] ram: 11688 B 48 KB 23.78/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 167s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 167s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 167s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 167s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 167s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 167s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 216 bytes [ 167s] collect2: error: ld returned 1 exit status [ 167s] % [ 167s] make[2]: *** [Makefile:230: flash] Error 1 [ 167s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 167s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 167s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 167s] dh_auto_build: error: make -j1 returned exit code 2 [ 167s] make: *** [debian/rules:16: build] Error 25 [ 167s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 167s] ### VM INTERACTION START ### [ 171s] [ 155.969791] sysrq: Power Off [ 171s] [ 155.977904] reboot: Power down [ 171s] ### VM INTERACTION END ### [ 171s] [ 171s] lamb04 failed "build simtrace2_0.7.0.76.62ad.dsc" at Tue Mar 23 01:39:04 UTC 2021. [ 171s] -- 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 Mar 23 05:54:11 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 23 Mar 2021 05:54:11 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/PCUIF_Types: get rid of version 9 compatibility glue References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23460 ) Change subject: library/PCUIF_Types: get rid of version 9 compatibility glue ...................................................................... library/PCUIF_Types: get rid of version 9 compatibility glue Change-Id: Ia9f366ca1fdad700a90ca3367e43523f7bac39a1 Related: OS#5083 --- M bts/BTS_Tests.ttcn M library/PCUIF_Types.ttcn M pcu/PCUIF_Components.ttcn M pcu/PCU_Tests.ttcn 4 files changed, 95 insertions(+), 194 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/60/23460/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 1e96dcb..2dc6635 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -5687,7 +5687,7 @@ for (var integer i := 0; i < mp_transceiver_num; i := i + 1) { for (var integer tn := 0; tn < 8; tn := tn + 1) { - if (info_ind.trx.v10[i].pdch_mask[tn] != '1'B) { + if (info_ind.trx[i].pdch_mask[tn] != '1'B) { /* Skip inactive timeslots */ continue; } @@ -5708,7 +5708,7 @@ tr_ts := tr_PCUIF_InfoTrxTsH0; } - var PCUIF_InfoTrxTs ts := info_ind.trx.v10[i].ts[tn]; + var PCUIF_InfoTrxTs ts := info_ind.trx[i].ts[tn]; log("Checking timeslot #", tn, " of trx#", i, ": ", ts); if (not match(ts, tr_ts)) { setverdict(fail, "Hopping parameters do not match: ", @@ -5720,7 +5720,7 @@ } } -/* Verify IPv4 NSVC address in the INFO.ind message (version >= 10) */ +/* Verify IPv4 NSVC address in the INFO.ind message */ testcase TC_pcu_socket_nsvc_ipv4() runs on test_CT { f_init_vty_bsc(); f_vty_config2(BSCVTY, {"network", "bts 0"} , "gprs nsvc 0 remote ip 127.127.127.127"); @@ -5729,23 +5729,19 @@ f_init(); var PCUIF_RemoteAddr remote_addr := g_pcu_last_info.u.info_ind.remote_addr; - if (not ischosen(remote_addr.v10)) { - Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, - log2str("Unexpected remote_addr: ", remote_addr)); - } + var template PCUIF_RemoteAddr tr_remote_addr := { + addr_type := { PCUIF_ADDR_TYPE_IPV4, ? }, + addr := { f_inet_addr("127.127.127.127"), ? } + }; - if (remote_addr.v10.addr_type[0] != PCUIF_ADDR_TYPE_IPV4) { - setverdict(fail, "Received address family is not IPv4"); - } - - if (substr(remote_addr.v10.addr[0], 0, 4) != f_inet_addr("127.127.127.127")) { - setverdict(fail, "Unexpected address: ", remote_addr.v10.addr[0]); + if (not match(remote_addr, tr_remote_addr)) { + setverdict(fail, "NSVC address ", remote_addr, " does not match ", tr_remote_addr); } setverdict(pass); } -/* Verify IPv4 NSVC address in the INFO.ind message (version >= 10) */ +/* Verify IPv4 NSVC address in the INFO.ind message */ testcase TC_pcu_socket_nsvc_ipv6() runs on test_CT { f_init_vty_bsc(); f_vty_config2(BSCVTY, {"network", "bts 0"} , "gprs nsvc 0 remote ip fd00::ca:ff:ee"); @@ -5753,17 +5749,13 @@ f_init(); var PCUIF_RemoteAddr remote_addr := g_pcu_last_info.u.info_ind.remote_addr; - if (not ischosen(remote_addr.v10)) { - Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, - log2str("Unexpected remote_addr: ", remote_addr)); - } + var template PCUIF_RemoteAddr tr_remote_addr := { + addr_type := { PCUIF_ADDR_TYPE_IPV6, ? }, + addr := { f_inet6_addr("fd00::ca:ff:ee"), ? } + }; - if (remote_addr.v10.addr_type[0] != PCUIF_ADDR_TYPE_IPV6) { - setverdict(fail, "Received address family is not IPv6"); - } - - if (remote_addr.v10.addr[0] != f_inet6_addr("fd00::ca:ff:ee")) { - setverdict(fail, "Unexpected address: ", remote_addr.v10.addr[0]); + if (not match(remote_addr, tr_remote_addr)) { + setverdict(fail, "NSVC address ", remote_addr, " does not match ", tr_remote_addr); } setverdict(pass); @@ -5779,7 +5771,7 @@ var PCUIF_send_data sd; [] PCU.receive(t_SD_PCUIF(pcu_conn_id, tr_PCUIF_INFO_IND(bts_nr, ?))) -> value sd { - var BIT8 pdch_mask := f_PCUIF_ver_INFO_PDCHMask_get(sd.data.u.info_ind, trx_nr); + var BIT8 pdch_mask := sd.data.u.info_ind.trx[trx_nr].pdch_mask; if (substr(pdch_mask, g_chan_nr.tn, 1) != exp) { repeat; } @@ -7358,12 +7350,9 @@ execute( TC_dyn_osmo_pdch_double_act() ); execute( TC_dyn_ipa_pdch_act_deact() ); execute( TC_dyn_ipa_pdch_act_tchf_act_nack() ); - - if (PCUIF_Types.mp_pcuif_version >= 10) { - execute( TC_pcu_info_ind_fh_params() ); - execute( TC_pcu_socket_nsvc_ipv4() ); - execute( TC_pcu_socket_nsvc_ipv6() ); - } + execute( TC_pcu_info_ind_fh_params() ); + execute( TC_pcu_socket_nsvc_ipv4() ); + execute( TC_pcu_socket_nsvc_ipv6() ); } else { log("PCU socket path not available, skipping PCU tests"); } diff --git a/library/PCUIF_Types.ttcn b/library/PCUIF_Types.ttcn index 96b2bac..2216a0e 100644 --- a/library/PCUIF_Types.ttcn +++ b/library/PCUIF_Types.ttcn @@ -153,30 +153,14 @@ } with { variant (ma) "BYTEORDER(first), BITORDER(msb)" }; private type record length(8) of PCUIF_InfoTrxTs PCUIF_InfoTrxTsList; -/* Version >= 10 specific coding */ -private type record PCUIF_InfoV10Trx { +private type record PCUIF_InfoTrx { uint16_t arfcn, BIT8 pdch_mask, OCT1 spare, uint32_t hLayer1, PCUIF_InfoTrxTsList ts } with { variant (pdch_mask) "BITORDER(msb)" }; -type record length(8) of PCUIF_InfoV10Trx PCUIF_InfoV10TrxList; - -/* Version <= 9 specific coding */ -private type record PCUIF_InfoV09Trx { - uint16_t arfcn, - BIT8 pdch_mask, - OCT1 spare, - OCT8 tsc, - uint32_t hLayer1 -} with { variant (pdch_mask) "BITORDER(msb)" }; -private type record length(8) of PCUIF_InfoV09Trx PCUIF_InfoV09TrxList; - -type union PCUIF_InfoTrxs { - PCUIF_InfoV09TrxList v09, - PCUIF_InfoV10TrxList v10 -} with { variant "" }; +type record length(8) of PCUIF_InfoTrx PCUIF_InfoTrxs; type record PCUIF_info_ind { uint32_t version, @@ -216,20 +200,6 @@ record length(2) of uint16_t local_port, record length(2) of uint16_t remote_port, PCUIF_RemoteAddr remote_addr -} with { - /* NOTE: TITAN is not smart enough to handle 'version < 10' and 'version > 9', - * so we cannot support more than two versions at the same time here. Sigh. */ - variant (trx) "CROSSTAG(v09, version = 9; v10, version = 10)" - variant (remote_addr) "CROSSTAG(v09, version = 9; v10, version = 10)" -}; - -type union PCUIF_RemoteAddr { - PCUIF_RemoteAddrV09 v09, - PCUIF_RemoteAddrV10 v10 -} with { variant "" }; - -type record PCUIF_RemoteAddrV09 { - record length(2) of OCT4 addr } with { variant "" }; type enumerated PCUIF_AddrType { @@ -238,7 +208,7 @@ PCUIF_ADDR_TYPE_IPV6 ('29'O) } with { variant "FIELDLENGTH(8)" }; -type record PCUIF_RemoteAddrV10 { +type record PCUIF_RemoteAddr { record length(2) of PCUIF_AddrType addr_type, record length(2) of octetstring addr length(16) } with { variant "" }; @@ -822,9 +792,10 @@ ma := ma }; -template (value) PCUIF_InfoV10Trx ts_PCUIF_InfoV10Trx(template (value) uint16_t arfcn := 871, - template (value) BIT8 pdch_mask := '00000001'B, - template (value) uint3_t tsc := 7) := { +template (value) PCUIF_InfoTrx +ts_PCUIF_InfoTrx(template (value) uint16_t arfcn := 871, + template (value) BIT8 pdch_mask := '00000001'B, + template (value) uint3_t tsc := 7) := { arfcn := arfcn, pdch_mask := pdch_mask, spare := '00'O, @@ -837,34 +808,16 @@ } }; -template (value) PCUIF_InfoV09Trx ts_PCUIF_InfoV09Trx(template (value) uint16_t arfcn := 871, - template (value) BIT8 pdch_mask := '00000001'B, - OCT1 tsc := '07'O) := { - arfcn := arfcn, - pdch_mask := pdch_mask, - spare := '00'O, - tsc := tsc & tsc & tsc & tsc & tsc & tsc & tsc & tsc, - hLayer1 := 0 -} - -template (value) PCUIF_InfoV09Trx ts_PCUIF_InfoV09TrxNULL := ts_PCUIF_InfoV09Trx(0, '00000000'B, '00'O); - -template (value) PCUIF_InfoTrxs ts_PCUIF_InfoV09Trxs_def(uint16_t base_arfcn) := { - v09 := { - ts_PCUIF_InfoV09Trx(arfcn := base_arfcn + 0), ts_PCUIF_InfoV09TrxNULL, - ts_PCUIF_InfoV09TrxNULL, ts_PCUIF_InfoV09TrxNULL, - ts_PCUIF_InfoV09TrxNULL, ts_PCUIF_InfoV09TrxNULL, - ts_PCUIF_InfoV09TrxNULL, ts_PCUIF_InfoV09TrxNULL - } -}; - -template (value) PCUIF_InfoTrxs ts_PCUIF_InfoV10Trxs_def(uint16_t base_arfcn) := { - v10 := { - ts_PCUIF_InfoV10Trx(arfcn := base_arfcn + 0), ts_PCUIF_InfoV10Trx(arfcn := base_arfcn + 1), - ts_PCUIF_InfoV10Trx(arfcn := base_arfcn + 2), ts_PCUIF_InfoV10Trx(arfcn := base_arfcn + 3), - ts_PCUIF_InfoV10Trx(arfcn := base_arfcn + 4), ts_PCUIF_InfoV10Trx(arfcn := base_arfcn + 5), - ts_PCUIF_InfoV10Trx(arfcn := base_arfcn + 6), ts_PCUIF_InfoV10Trx(arfcn := base_arfcn + 7) - } +template (value) PCUIF_InfoTrxs +ts_PCUIF_InfoTrxs_def(uint16_t base_arfcn) := { + ts_PCUIF_InfoTrx(arfcn := base_arfcn + 0), + ts_PCUIF_InfoTrx(arfcn := base_arfcn + 1), + ts_PCUIF_InfoTrx(arfcn := base_arfcn + 2), + ts_PCUIF_InfoTrx(arfcn := base_arfcn + 3), + ts_PCUIF_InfoTrx(arfcn := base_arfcn + 4), + ts_PCUIF_InfoTrx(arfcn := base_arfcn + 5), + ts_PCUIF_InfoTrx(arfcn := base_arfcn + 6), + ts_PCUIF_InfoTrx(arfcn := base_arfcn + 7) }; template (value) PCUIF_Message ts_PCUIF_INFO_IND(template (value) uint8_t bts_nr, @@ -1005,39 +958,12 @@ } -/* TODO: remove this as soon as we drop version 9 support */ -function f_PCUIF_ver_INFO_Trxs(uint16_t base_arfcn) -return PCUIF_InfoTrxs { - if (PCUIF_Types.mp_pcuif_version >= 10) { - return valueof(ts_PCUIF_InfoV10Trxs_def(base_arfcn)); - } else { - return valueof(ts_PCUIF_InfoV09Trxs_def(base_arfcn)); - } -} - -function f_PCUIF_ver_INFO_PDCHMask_get(in PCUIF_info_ind info, uint8_t trx_nr) -return BIT8 { - if (PCUIF_Types.mp_pcuif_version >= 10) { - return info.trx.v10[trx_nr].pdch_mask; - } else { - return info.trx.v09[trx_nr].pdch_mask; - } -} - -function f_PCUIF_ver_INFO_PDCHMask_set(inout PCUIF_info_ind info, BIT8 pdch_mask, - template (present) uint8_t trx_nr := ?) +function f_PCUIF_PDCHMask_set(inout PCUIF_info_ind info, BIT8 pdch_mask, + template (present) uint8_t trx_nr := ?) { - if (PCUIF_Types.mp_pcuif_version >= 10) { - for (var integer nr := 0; nr < lengthof(info.trx.v10); nr := nr + 1) { - if (match(nr, trx_nr)) { - info.trx.v10[nr].pdch_mask := pdch_mask; - } - } - } else { - for (var integer nr := 0; nr < lengthof(info.trx.v09); nr := nr + 1) { - if (match(nr, trx_nr)) { - info.trx.v09[nr].pdch_mask := pdch_mask; - } + for (var integer nr := 0; nr < lengthof(info.trx); nr := nr + 1) { + if (match(nr, trx_nr)) { + info.trx[nr].pdch_mask := pdch_mask; } } } @@ -1054,31 +980,21 @@ } /* TODO: second (redundant) NSVC connection is not (yet) supported */ -function f_PCUIF_ver_INFO_RemoteAddr(PCUIF_AddrType addr_type, - charstring addr) +function f_PCUIF_RemoteAddr(PCUIF_AddrType addr_type, + charstring addr_str) return PCUIF_RemoteAddr { var PCUIF_RemoteAddr remote_addr; - if (PCUIF_Types.mp_pcuif_version >= 10) { - remote_addr.v10.addr_type[0] := addr_type; - if (addr_type == PCUIF_ADDR_TYPE_IPV4) { - remote_addr.v10.addr[0] := f_inet_addr(addr); - } else { - remote_addr.v10.addr[0] := f_inet6_addr(addr); - } - remote_addr.v10.addr_type[1] := PCUIF_ADDR_TYPE_UNSPEC; - remote_addr.v10.addr[1] := f_pad_oct(''O, 16, '00'O); + remote_addr.addr_type[0] := addr_type; + if (addr_type == PCUIF_ADDR_TYPE_IPV4) { + remote_addr.addr[0] := f_inet_addr(addr_str); } else { - if (addr_type != PCUIF_ADDR_TYPE_IPV4) { - testcase.stop("NSVC address type := ", addr_type, - "is not supported in version := ", - PCUIF_Types.mp_pcuif_version); - } - /* v9 requires the IP in host byte order */ - remote_addr.v09.addr[0] := f_inet_haddr(addr); - remote_addr.v09.addr[1] := f_pad_oct(''O, 4, '00'O); + remote_addr.addr[0] := f_inet6_addr(addr_str); } + remote_addr.addr_type[1] := PCUIF_ADDR_TYPE_UNSPEC; + remote_addr.addr[1] := f_pad_oct(''O, 16, '00'O); + return remote_addr; } diff --git a/pcu/PCUIF_Components.ttcn b/pcu/PCUIF_Components.ttcn index 27cf56d..6a24ed6 100644 --- a/pcu/PCUIF_Components.ttcn +++ b/pcu/PCUIF_Components.ttcn @@ -350,19 +350,18 @@ runs on RAW_PCU_BTS_CT { var PCUIF_Message pcu_msg; - var PCUIF_InfoV10TrxList trx_list := g_info_ind.trx.v10; /* Find an active TS: */ for (var uint8_t ts_nr := 0; ts_nr < 8; ts_nr := ts_nr + 1) { - for (var integer trx_nr := 0; trx_nr < lengthof(trx_list); trx_nr := trx_nr + 1) { - if (trx_list[trx_nr].pdch_mask[ts_nr] == '0'B) { + for (var integer trx_nr := 0; trx_nr < lengthof(g_info_ind.trx); trx_nr := trx_nr + 1) { + if (g_info_ind.trx[trx_nr].pdch_mask[ts_nr] == '0'B) { continue; /* TRX+TS not activated */ } /* Send empty DATA.ind to set up FN */ pcu_msg := valueof(ts_PCUIF_DATA_IND(bts_nr, trx_nr, ts_nr, 0 /* FIXME */, PCU_IF_SAPI_PDTCH, ''O, start_fn, - trx_list[trx_nr].arfcn, + g_info_ind.trx[trx_nr].arfcn, rssi := -80, ber10k := 0, ta_offs_qbits := 0, lqual_cb := 10)); PCUIF.send(pcu_msg); @@ -377,12 +376,11 @@ { var PCUIF_Message pcu_msg; var boolean has_msg, use_msg; - var PCUIF_InfoV10TrxList trx_list := g_info_ind.trx.v10; for (var uint8_t ts_nr := 0; ts_nr < 8; ts_nr := ts_nr + 1) { - for (var integer trx_nr := 0; trx_nr < lengthof(trx_list); trx_nr := trx_nr + 1) { + for (var integer trx_nr := 0; trx_nr < lengthof(g_info_ind.trx); trx_nr := trx_nr + 1) { //var charstring prefix := "BTS=" & int2str(bts_nr) & ",TRX=" & int2str(trx_nr) & ",TS=" & int2str(ts_nr) & ",FN=" & int2str(fn) & ": "; - if (trx_list[trx_nr].pdch_mask[ts_nr] == '0'B) { + if (g_info_ind.trx[trx_nr].pdch_mask[ts_nr] == '0'B) { //log(prefix, "disabled"); continue; /* TRX+TS not activated */ } @@ -406,7 +404,7 @@ /* NOPE.ind: */ pcu_msg := valueof(ts_PCUIF_DATA_IND(bts_nr, trx_nr, ts_nr, 0 /* FIXME */, PCU_IF_SAPI_PDTCH, ''O, fn, - trx_list[trx_nr].arfcn, + g_info_ind.trx[trx_nr].arfcn, rssi := -80, ber10k := 0, ta_offs_qbits := 0, lqual_cb := 10)); //log(prefix, "DATA.ind (len=0)"); diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index cac423a..bea9ddd 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -79,7 +79,7 @@ := { version := PCUIF_Types.mp_pcuif_version, flags := flags, - trx := f_PCUIF_ver_INFO_Trxs(GPRS_Components.mp_base_arfcn), + trx := ts_PCUIF_InfoTrxs_def(GPRS_Components.mp_base_arfcn), bsic := 7, mcc := 262, mnc := 42, @@ -109,7 +109,7 @@ nsvci := { mp_nsconfig.nsvc[0].nsvci, 0 }, local_port := { mp_nsconfig.nsvc[0].provider.ip.remote_udp_port, 0 }, remote_port := { mp_nsconfig.nsvc[0].provider.ip.local_udp_port, 0 }, - remote_addr := f_PCUIF_ver_INFO_RemoteAddr( + remote_addr := f_PCUIF_RemoteAddr( f_PCUIF_AF2addr_type(mp_nsconfig.nsvc[0].provider.ip.address_family), mp_nsconfig.nsvc[0].provider.ip.local_ip) } @@ -2644,8 +2644,8 @@ ms := g_ms[0]; /* We only use first MS in this test */ /* Only 1 TRX with 8 PDCH */ - f_PCUIF_ver_INFO_PDCHMask_set(info_ind, '11111111'B, 0); - f_PCUIF_ver_INFO_PDCHMask_set(info_ind, '00000000'B, (1 .. 7)); + f_PCUIF_PDCHMask_set(info_ind, '11111111'B, 0); + f_PCUIF_PDCHMask_set(info_ind, '00000000'B, (1 .. 7)); /* Initialize the PCU interface abstraction */ f_init_raw(testcasename(), info_ind); @@ -2703,8 +2703,8 @@ ms := g_ms[0]; /* We only use first MS in this test */ /* Only 1 TRX with 8 PDCH */ - f_PCUIF_ver_INFO_PDCHMask_set(info_ind, '11111111'B, 0); - f_PCUIF_ver_INFO_PDCHMask_set(info_ind, '00000000'B, (1 .. 7)); + f_PCUIF_PDCHMask_set(info_ind, '11111111'B, 0); + f_PCUIF_PDCHMask_set(info_ind, '00000000'B, (1 .. 7)); /* Initialize the PCU interface abstraction */ f_init_raw(testcasename(), info_ind); @@ -2752,8 +2752,8 @@ ms := g_ms[0]; /* We only use first MS in this test */ /* Only 1 TRX with 8 PDCH */ - f_PCUIF_ver_INFO_PDCHMask_set(info_ind, '11111111'B, 0); - f_PCUIF_ver_INFO_PDCHMask_set(info_ind, '00000000'B, (1 .. 7)); + f_PCUIF_PDCHMask_set(info_ind, '11111111'B, 0); + f_PCUIF_PDCHMask_set(info_ind, '00000000'B, (1 .. 7)); /* Initialize the PCU interface abstraction */ f_init_raw(testcasename(), info_ind); @@ -3378,8 +3378,8 @@ info_ind := valueof(ts_PCUIF_INFO_default); /* Only the first TRX is enabled. */ - f_PCUIF_ver_INFO_PDCHMask_set(info_ind, '00000000'B, (1 .. 7)); - f_PCUIF_ver_INFO_PDCHMask_set(info_ind, '00000001'B, 0); + f_PCUIF_PDCHMask_set(info_ind, '00000000'B, (1 .. 7)); + f_PCUIF_PDCHMask_set(info_ind, '00000001'B, 0); /* Initialize the PCU interface abstraction */ f_init_raw(testcasename(), info_ind); @@ -3425,7 +3425,7 @@ in GsmRrMessage rr_msg) { var ImmediateAssignment ia := rr_msg.payload.imm_ass; - var PCUIF_InfoTrxTs ts := info_ind.trx.v10[0].ts[ia.pkt_chan_desc.tn]; + var PCUIF_InfoTrxTs ts := info_ind.trx[0].ts[ia.pkt_chan_desc.tn]; var template PacketChannelDescription tr_pkt_chan_desc := { channel_Type_spare := ?, @@ -3465,7 +3465,7 @@ var GprsMS ms := valueof(t_GprsMS_def); /* Enable frequency hopping on TRX0/TS7 */ - info_ind.trx.v10[0].ts[7] := f_TC_pcuif_fh_params_gen(32); + info_ind.trx[0].ts[7] := f_TC_pcuif_fh_params_gen(32); /* Initialize the PCU interface abstraction */ f_init_raw(testcasename(), info_ind); @@ -3486,7 +3486,7 @@ var GprsMS ms := valueof(t_GprsMS_def); /* Enable frequency hopping on TRX0/TS7 */ - info_ind.trx.v10[0].ts[7] := f_TC_pcuif_fh_params_gen(32); + info_ind.trx[0].ts[7] := f_TC_pcuif_fh_params_gen(32); /* Initialize the PCU interface abstraction */ f_init_raw(testcasename(), info_ind); @@ -3504,7 +3504,7 @@ var GprsMS ms := valueof(t_GprsMS_def); /* Enable frequency hopping on TRX0/TS7 */ - info_ind.trx.v10[0].ts[7] := f_TC_pcuif_fh_params_gen(16); + info_ind.trx[0].ts[7] := f_TC_pcuif_fh_params_gen(16); /* Initialize NS/BSSGP side */ f_init_bssgp(); @@ -3528,7 +3528,7 @@ in FrequencyParameters fp) { /* FIXME: TRX0/TS7 is a hard-coded expectation, make it configurable */ - var PCUIF_InfoTrxTs ts := info_ind.trx.v10[0].ts[7]; + var PCUIF_InfoTrxTs ts := info_ind.trx[0].ts[7]; /* Table 12.8.1: Frequency Parameters information elements */ var template FrequencyParameters tr_fp := { @@ -3566,7 +3566,7 @@ var uint32_t poll_fn; /* Enable frequency hopping on TRX0/TS7 */ - info_ind.trx.v10[0].ts[7] := f_TC_pcuif_fh_params_gen(33); + info_ind.trx[0].ts[7] := f_TC_pcuif_fh_params_gen(33); /* Initialize the PCU interface abstraction */ f_init_raw(testcasename(), info_ind); @@ -3608,7 +3608,7 @@ var uint32_t poll_fn; /* Enable frequency hopping on TRX0/TS7 */ - info_ind.trx.v10[0].ts[7] := f_TC_pcuif_fh_params_gen(33); + info_ind.trx[0].ts[7] := f_TC_pcuif_fh_params_gen(33); /* Initialize NS/BSSGP side */ f_init_bssgp(); @@ -3678,10 +3678,10 @@ info_ind := valueof(ts_PCUIF_INFO_default(c_PCUIF_Flags_noMCS)); /* Only the 3 first TRX are enabled. The enabled ones all have same amount of resources, hence same amount of initial resources. */ - f_PCUIF_ver_INFO_PDCHMask_set(info_ind, '00000000'B, (3 .. 7)); - f_PCUIF_ver_INFO_PDCHMask_set(info_ind, '00000011'B, 0); - f_PCUIF_ver_INFO_PDCHMask_set(info_ind, '00001100'B, 1); - f_PCUIF_ver_INFO_PDCHMask_set(info_ind, '11000000'B, 2); + f_PCUIF_PDCHMask_set(info_ind, '00000000'B, (3 .. 7)); + f_PCUIF_PDCHMask_set(info_ind, '00000011'B, 0); + f_PCUIF_PDCHMask_set(info_ind, '00001100'B, 1); + f_PCUIF_PDCHMask_set(info_ind, '11000000'B, 2); /* Initialize the PCU interface abstraction */ f_init_raw(testcasename(), info_ind); @@ -3695,9 +3695,9 @@ /* Check if all TBFs are allocated on different TRX in an uniform way */ for (i := 0; i < num_ms; i := i + 1) { - if (g_ms[i].ul_tbf.arfcn != info_ind.trx.v10[i mod 3].arfcn) { + if (g_ms[i].ul_tbf.arfcn != info_ind.trx[i mod 3].arfcn) { setverdict(fail, "Got assigned ARFCN ", g_ms[i].ul_tbf.arfcn, - " vs exp ", info_ind.trx.v10[i mod 3].arfcn); + " vs exp ", info_ind.trx[i mod 3].arfcn); f_shutdown(__BFILE__, __LINE__); } } @@ -3728,8 +3728,8 @@ info_ind := valueof(ts_PCUIF_INFO_default); /* Only use 1 PDCH to make sure both end up in the same slot: */ - f_PCUIF_ver_INFO_PDCHMask_set(info_ind, '00000001'B, 0); - f_PCUIF_ver_INFO_PDCHMask_set(info_ind, '00000000'B, (1 .. 7)); + f_PCUIF_PDCHMask_set(info_ind, '00000001'B, 0); + f_PCUIF_PDCHMask_set(info_ind, '00000000'B, (1 .. 7)); /* Initialize the PCU interface abstraction */ f_init_raw(testcasename(), info_ind); @@ -3929,7 +3929,7 @@ f_init_bssgp(); /* Explicitly set the given PDCH slot-mask to all transceivers */ - f_PCUIF_ver_INFO_PDCHMask_set(info_ind, pdch_mask); + f_PCUIF_PDCHMask_set(info_ind, pdch_mask); /* Allocate 56 GprsMS instances (maximum for 8 PDCH slots) */ f_init_gprs_ms(7 * 8); @@ -5679,20 +5679,18 @@ execute( TC_mo_ping_pong_with_ul_racap_egprs_only() ); - /* Frequency hopping specific test cases */ - if (PCUIF_Types.mp_pcuif_version >= 10) { - /* Immediate Assignment on AGCH/PCH */ - execute( TC_pcuif_fh_imm_ass_ul_egprs() ); - execute( TC_pcuif_fh_imm_ass_ul() ); - execute( TC_pcuif_fh_imm_ass_dl() ); - /* Packet Uplink/Downlink Assignment on PACCH */ - execute( TC_pcuif_fh_pkt_ass_ul() ); - execute( TC_pcuif_fh_pkt_ass_dl() ); - execute( TC_multitrx_multims_alloc() ); - execute( TC_dl_multislot_tbf_ms_class_from_sgsn() ); - execute( TC_dl_multislot_tbf_ms_class_from_2phase() ); - execute( TC_ul_multislot_tbf_ms_class_from_2phase() ); - } + /* Immediate Assignment on AGCH/PCH */ + execute( TC_pcuif_fh_imm_ass_ul_egprs() ); + execute( TC_pcuif_fh_imm_ass_ul() ); + execute( TC_pcuif_fh_imm_ass_dl() ); + /* Packet Uplink/Downlink Assignment on PACCH */ + execute( TC_pcuif_fh_pkt_ass_ul() ); + execute( TC_pcuif_fh_pkt_ass_dl() ); + execute( TC_multitrx_multims_alloc() ); + execute( TC_dl_multislot_tbf_ms_class_from_sgsn() ); + execute( TC_dl_multislot_tbf_ms_class_from_2phase() ); + execute( TC_ul_multislot_tbf_ms_class_from_2phase() ); + execute( TC_multiplex_dl_gprs_egprs() ); execute( TC_pcuif_info_ind_subsequent() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23460 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia9f366ca1fdad700a90ca3367e43523f7bac39a1 Gerrit-Change-Number: 23460 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 Mar 23 05:54:11 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 23 Mar 2021 05:54:11 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/PCUIF_Types: use PADDING attribute for 'PCUIF_Message' References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23461 ) Change subject: library/PCUIF_Types: use PADDING attribute for 'PCUIF_Message' ...................................................................... library/PCUIF_Types: use PADDING attribute for 'PCUIF_Message' PCUIFv9 compatibility has been dropped in [1], so now we can tell TITAN's RAW codec what kind of padding to expect in received messages and to append to encoded messages. This eliminates thousands of warnings about unhandled tail octets. Change-Id: Id5ab587f7984a91f3603efc5d427aa4cb4fa6757 Related: [1] Ia9f366ca1fdad700a90ca3367e43523f7bac39a1 Related: OS#5083 --- M library/PCUIF_CodecPort.ttcn M library/PCUIF_Types.ttcn 2 files changed, 3 insertions(+), 23 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/61/23461/1 diff --git a/library/PCUIF_CodecPort.ttcn b/library/PCUIF_CodecPort.ttcn index 0411c39..4b2a8ce 100644 --- a/library/PCUIF_CodecPort.ttcn +++ b/library/PCUIF_CodecPort.ttcn @@ -23,7 +23,7 @@ private function PCUIF_to_UD(in PCUIF_send_data pin, out UD_send_data pout) { pout.id := pin.id; - pout.data := enc_pad_PCUIF_Message(pin.data); + pout.data := enc_PCUIF_Message(pin.data); } with { extension "prototype(fast)" }; private function fix_padding(inout PCUIF_data data) { diff --git a/library/PCUIF_Types.ttcn b/library/PCUIF_Types.ttcn index 2216a0e..b259cfc 100644 --- a/library/PCUIF_Types.ttcn +++ b/library/PCUIF_Types.ttcn @@ -18,8 +18,6 @@ modulepar { /* PCUIF version supported by the IUT */ PCUIF_Version mp_pcuif_version := 10; - /* Whether to pad outgoing messages */ - boolean mp_pcuif_padding := true; }; const charstring PCU_SOCK_DEFAULT := "/tmp/pcu_bts"; @@ -282,6 +280,8 @@ time_ind, msg_type = PCU_IF_MSG_TIME_IND; pag_req, msg_type = PCU_IF_MSG_PAG_REQ; app_info_req, msg_type = PCU_IF_MSG_APP_INFO_REQ)" + /* PCUIFv10: 1006 * 8 = 8048 bits */ + variant "PADDING(8048)" }; external function enc_PCUIF_Message(in PCUIF_Message pdu) return octetstring @@ -289,26 +289,6 @@ external function dec_PCUIF_Message(in octetstring stream) return PCUIF_Message with { extension "prototype(convert) decode(RAW)" }; -function enc_pad_PCUIF_Message(in PCUIF_Message pdu) -return octetstring { - var octetstring stream; - var integer len; - - stream := enc_PCUIF_Message(pdu); - if (not mp_pcuif_padding) { - return stream; - } - - select (mp_pcuif_version) { - case (9) { len := 212; } - /* FIXME: 1006 % 4 > 0 (alignment) */ - case (10) { len := 1006; } - case else { len := 0; } - } - - return f_pad_oct(stream, len, '00'O); -} - /* Generic template for matching messages by type and/or the BTS number */ template PCUIF_Message tr_PCUIF_MSG(template PCUIF_MsgType msg_type := ?, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23461 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id5ab587f7984a91f3603efc5d427aa4cb4fa6757 Gerrit-Change-Number: 23461 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 Mar 23 05:54:12 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 23 Mar 2021 05:54:12 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests: add a test case verifying coding of two NSVCs in INFO.ind References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23462 ) Change subject: BTS_Tests: add a test case verifying coding of two NSVCs in INFO.ind ...................................................................... BTS_Tests: add a test case verifying coding of two NSVCs in INFO.ind Change-Id: Id11094774d737a545a2cce389059d7e527219573 --- M bts/BTS_Tests.ttcn 1 file changed, 36 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/62/23462/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 2dc6635..33545e1 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -5761,6 +5761,41 @@ setverdict(pass); } +/* Verify coding of two NSVCs in the INFO.ind message */ +testcase TC_pcu_socket_two_nsvc() runs on test_CT { + f_init_vty_bsc(); + + f_vty_config2(BSCVTY, {"network", "bts 0"} , "gprs nsvc 0 nsvci 1234"); + f_vty_config2(BSCVTY, {"network", "bts 0"} , "gprs nsvc 0 local udp port 1234"); + f_vty_config2(BSCVTY, {"network", "bts 0"} , "gprs nsvc 0 remote ip 127.127.127.127"); + f_vty_config2(BSCVTY, {"network", "bts 0"} , "gprs nsvc 0 remote udp port 1234"); + + f_vty_config2(BSCVTY, {"network", "bts 0"} , "gprs nsvc 1 nsvci 5678"); + f_vty_config2(BSCVTY, {"network", "bts 0"} , "gprs nsvc 1 local udp port 5678"); + f_vty_config2(BSCVTY, {"network", "bts 0"} , "gprs nsvc 1 remote ip fd00::ca:ff:ee"); + f_vty_config2(BSCVTY, {"network", "bts 0"} , "gprs nsvc 1 remote udp port 5678"); + + f_init_with_pcuif(); + + var PCUIF_info_ind info_ind := g_pcu_last_info.u.info_ind; + var PCUIF_RemoteAddr remote_addr := info_ind.remote_addr; + var template PCUIF_RemoteAddr tr_remote_addr := { + addr_type := { PCUIF_ADDR_TYPE_IPV4, PCUIF_ADDR_TYPE_IPV6 }, + addr := { f_inet_addr("127.127.127.127"), f_inet6_addr("fd00::ca:ff:ee") } + }; + + if (not match(info_ind.nsvci, { 1234, 5678 })) + { setverdict(fail, "NSVCI ", info_ind.nsvci, " does not match { 1234, 5678 }"); } + if (not match(remote_addr, tr_remote_addr)) + { setverdict(fail, "NSVC address ", remote_addr, " does not match ", tr_remote_addr); } + if (not match(info_ind.local_port, { 1234, 5678 })) + { setverdict(fail, "NSVC lport ", info_ind.local_port, " does not match { 1234, 5678 }"); } + if (not match(info_ind.remote_port, { 1234, 5678 })) + { setverdict(fail, "NSVC rport ", info_ind.remote_port, " does not match { 1234, 5678 }"); } + + setverdict(pass); +} + /*********************************************************************** * Osmocom Style Dynamic Timeslot Support ***********************************************************************/ @@ -7353,6 +7388,7 @@ execute( TC_pcu_info_ind_fh_params() ); execute( TC_pcu_socket_nsvc_ipv4() ); execute( TC_pcu_socket_nsvc_ipv6() ); + execute( TC_pcu_socket_two_nsvc() ); } else { log("PCU socket path not available, skipping PCU tests"); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23462 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id11094774d737a545a2cce389059d7e527219573 Gerrit-Change-Number: 23462 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 Mar 23 05:54:12 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 23 Mar 2021 05:54:12 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests: clarify unexpected connection result in verdict References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23463 ) Change subject: BTS_Tests: clarify unexpected connection result in verdict ...................................................................... BTS_Tests: clarify unexpected connection result in verdict Change-Id: I8dc3c7a9d9f22b517acc34c80aaaf1732bba0f52 --- M bts/BTS_Tests.ttcn 1 file changed, 3 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/63/23463/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 33545e1..1dad6c1 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -5462,6 +5462,7 @@ /* Ensure that PCUIF socket can accept only a single connection */ testcase TC_pcu_socket_connect_multi() runs on test_CT { + var UD_connect_result cr; timer T := 5.0; /* this (among other things) establishes the first connection to the PCUIF socket */ @@ -5474,8 +5475,8 @@ [] PCU.receive(UD_connect_result:{id := ?, result := { result_code := ERROR, err := ? }}) { setverdict(pass); } - [] PCU.receive(UD_connect_result:?) { - setverdict(fail, "Unexpected unix domain connect result"); + [] PCU.receive(UD_connect_result:?) -> value cr { + setverdict(fail, "Unexpected unix domain connect result: ", cr); } [] T.timeout { setverdict(pass); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23463 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8dc3c7a9d9f22b517acc34c80aaaf1732bba0f52 Gerrit-Change-Number: 23463 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 Mar 23 05:54:12 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 23 Mar 2021 05:54:12 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests: cosmetic: s/f_init_pcu_test/f_init_with_pcuif/ References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23464 ) Change subject: BTS_Tests: cosmetic: s/f_init_pcu_test/f_init_with_pcuif/ ...................................................................... BTS_Tests: cosmetic: s/f_init_pcu_test/f_init_with_pcuif/ Change-Id: Ic95c46426ed3ac9ead645037059190fead181b31 --- M bts/BTS_Tests.ttcn 1 file changed, 20 insertions(+), 20 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/64/23464/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 1dad6c1..0ad55ce 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -4624,42 +4624,42 @@ } } -friend function f_init_pcu_test() runs on test_CT { +friend function f_init_with_pcuif() runs on test_CT { f_init(); PCU.send(t_SD_PCUIF(g_pcu_conn_id, ts_PCUIF_TXT_IND(0, PCU_VERSION, testcasename()))); } /* PDCH activation via PCU socket; check for presence of RTS.req */ testcase TC_pcu_act_req() runs on test_CT { - f_init_pcu_test(); + f_init_with_pcuif(); f_TC_pcu_act_req(0, 0, 7, true); } /* PDCH activation via PCU socket on non-PDCU timeslot */ testcase TC_pcu_act_req_wrong_ts() runs on test_CT { - f_init_pcu_test(); + f_init_with_pcuif(); f_TC_pcu_act_req(0, 0, 1, false); } /* PDCH activation via PCU socket on wrong BTS */ testcase TC_pcu_act_req_wrong_bts() runs on test_CT { - f_init_pcu_test(); + f_init_with_pcuif(); f_TC_pcu_act_req(23, 0, 7, false); } /* PDCH activation via PCU socket on wrong TRX */ testcase TC_pcu_act_req_wrong_trx() runs on test_CT { - f_init_pcu_test(); + f_init_with_pcuif(); f_TC_pcu_act_req(0, 23, 7, false); } /* PDCH deactivation via PCU socket; check for absence of RTS.req */ testcase TC_pcu_deact_req() runs on test_CT { - f_init_pcu_test(); + f_init_with_pcuif(); /* Activate PDCH */ f_TC_pcu_act_req(0, 0, 7, true); @@ -4670,7 +4670,7 @@ /* Attempt to deactivate a PDCH on a non-PDCH timeslot */ testcase TC_pcu_deact_req_wrong_ts() runs on test_CT { - f_init_pcu_test(); + f_init_with_pcuif(); f_TC_pcu_deact_req(0, 0, 1); } @@ -4679,7 +4679,7 @@ function f_TC_pcu_ver_siXX(octetstring si, RSL_IE_SysinfoType rsl_si_type) runs on test_CT { var PCUIF_send_data sd; timer T:= 3.0; - f_init_pcu_test(); + f_init_with_pcuif(); /* Set SI13 via RSL */ f_rsl_bcch_fill_raw(rsl_si_type, si); @@ -4852,7 +4852,7 @@ * support dynamic timeslots? But it uses the same scheduler as osmo-bts-trx ?!? */ f_vty_config2(BSCVTY, {"network", "bts 0", "trx 0", "timeslot 3"}, "phys_chan_config TCH/F"); f_vty_config2(BSCVTY, {"network", "bts 0", "trx 0", "timeslot 4"}, "phys_chan_config TCH/F"); - f_init_pcu_test(); + f_init_with_pcuif(); } private function f_virtphy_common() runs on test_CT { @@ -4926,7 +4926,7 @@ var octetstring data; timer T; - f_init_pcu_test(); + f_init_with_pcuif(); f_init_l1ctl(); f_l1_tune(L1CTL); @@ -4982,7 +4982,7 @@ /* Send AGCH from PCU; check it appears on Um side */ testcase TC_pcu_data_req_agch() runs on test_CT { timer T := 3.0; - f_init_pcu_test(); + f_init_with_pcuif(); f_init_l1ctl(); f_l1_tune(L1CTL); @@ -5004,7 +5004,7 @@ /* Send AGCH from PCU; check it appears on Um side */ testcase TC_pcu_data_req_pch() runs on test_CT { timer T := 3.0; - f_init_pcu_test(); + f_init_with_pcuif(); f_init_l1ctl(); f_l1_tune(L1CTL); @@ -5027,7 +5027,7 @@ /* Send IMM.ASS from PCU for PCH; check it appears on Um side */ testcase TC_pcu_data_req_imm_ass_pch() runs on test_CT { var octetstring imm_ass := f_rnd_octstring(23); - f_init_pcu_test(); + f_init_with_pcuif(); f_init_l1ctl(); f_l1_tune(L1CTL); @@ -5050,7 +5050,7 @@ /* Send RACH from Um side, expect it to show up on PCU socket */ testcase TC_pcu_rach_content() runs on test_CT { - f_init_pcu_test(); + f_init_with_pcuif(); f_init_l1ctl(); f_l1_tune(L1CTL); @@ -5091,7 +5091,7 @@ var GsmFrameNumber fn; var BIT11 ra11; - f_init_pcu_test(); + f_init_with_pcuif(); f_init_l1ctl(); f_l1_tune(L1CTL); @@ -5188,7 +5188,7 @@ /* Verify C/I (Carrier-to-Interference ratio) processing of PDTCH frames */ testcase TC_pcu_data_ind_lqual_cb() runs on test_CT { - f_init_pcu_test(); + f_init_with_pcuif(); PCU.clear; f_init_l1ctl(); @@ -5217,7 +5217,7 @@ /* Send PAGING via RSL, expect it to shw up on PCU socket */ testcase TC_pcu_paging_from_rsl() runs on test_CT { - f_init_pcu_test(); + f_init_with_pcuif(); for (var integer i := 0; i < 100; i := i+1) { var MobileIdentityLV mi_lv; @@ -5262,7 +5262,7 @@ var float test_duration := 5.0; timer T; - f_init_pcu_test(); + f_init_with_pcuif(); f_TC_pcu_act_req(0, 0, 7, true); PCU.clear; @@ -5316,7 +5316,7 @@ var float test_duration := 5.0; timer T; - f_init_pcu_test(); + f_init_with_pcuif(); f_TC_pcu_act_req(0, 0, 7, true); PCU.clear; @@ -5388,7 +5388,7 @@ var float test_duration := 5.0; timer T; - f_init_pcu_test(); + f_init_with_pcuif(); f_TC_pcu_act_req(0, 0, 7, true); /* re-connect CTRL port from BTS to BSC */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23464 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic95c46426ed3ac9ead645037059190fead181b31 Gerrit-Change-Number: 23464 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 Mar 23 05:54:13 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 23 Mar 2021 05:54:13 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests: do not connect to PCUIF socket if not used References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23465 ) Change subject: BTS_Tests: do not connect to PCUIF socket if not used ...................................................................... BTS_Tests: do not connect to PCUIF socket if not used The PCUIF connection involves a lot of frequent messages, such as the TIME.ind and since recently DATA.ind with len=0. As a result, the test suite logs are getting unreadable due to lots of coding warnings and port queueing notifications. This change is aimed to improve the situation a bit, by establishing the PCUIF connection only for those test cases which actually use it. Side effects: * TC_pcu_socket_verify_info_ind becomes reliable, because the PCUIF establishment is done after the RSL bootstrapping; * TC_pcu_socket_connect_multi starts to fail, because it used to pass due to timeout, since not all messages are handled in the 'alt' statement. Change-Id: I09ccb65ce94a41ffdad4e93da650c3f32d422af4 Related: OS#5083 --- M bts/BTS_Tests.ttcn M bts/BTS_Tests_SMSCB.ttcn 2 files changed, 20 insertions(+), 23 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/65/23465/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 0ad55ce..59b60f0 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -472,7 +472,7 @@ trxc_conn_id := res.connId; } -/* global init function */ +/* global init function (without PCUIF connection) */ friend function f_init(uint8_t trx_nr := 0) runs on test_CT { @@ -555,9 +555,6 @@ f_rsl_bcch_fill(RSL_SYSTEM_INFO_2, ts_SI2_default); f_rsl_bcch_fill(RSL_SYSTEM_INFO_4, ts_SI4_default); - map(self:PCU, system:PCU); - f_init_pcu(PCU, id, g_pcu_conn_id, g_pcu_last_info); - if (mp_bts_trxc_port != -1) { var TrxcMessage ret; @@ -4283,7 +4280,9 @@ } testcase TC_si_sched_13() runs on test_CT { - f_init(); + /* NOTE: PCUIF connection is not used in this test case, but + * without it the IUT would not broadcast SI13 (see OS#3075). */ + f_init_with_pcuif(); si_cfg.si13_present := true; f_rsl_bcch_fill_raw(RSL_SYSTEM_INFO_13, '0106009000185a6fc9e08410ab2b2b2b2b2b2b2b2b2b2b'O); f_TC_si_sched(); @@ -4291,7 +4290,9 @@ } testcase TC_si_sched_13_2bis_2ter_2quater() runs on test_CT { - f_init(); + /* NOTE: PCUIF connection is not used in this test case, but + * without it the IUT would not broadcast SI13 (see OS#3075). */ + f_init_with_pcuif(); si_cfg.si2bis_present := true; f_rsl_bcch_fill_raw(RSL_SYSTEM_INFO_2bis, '550602bfe809b3ff00000000000000000000007900002b'O); si_cfg.si2ter_present := true; @@ -4626,6 +4627,8 @@ friend function f_init_with_pcuif() runs on test_CT { f_init(); + map(self:PCU, system:PCU); + f_init_pcu(PCU, testcasename(), g_pcu_conn_id, g_pcu_last_info); PCU.send(t_SD_PCUIF(g_pcu_conn_id, ts_PCUIF_TXT_IND(0, PCU_VERSION, testcasename()))); } @@ -5453,7 +5456,7 @@ var ConnHdlrPars pars; var ConnHdlr vc_conn; - f_init(); + f_init_with_pcuif(); pars := valueof(t_Pars(t_RslChanNr_SDCCH4(0,3), ts_RSL_ChanMode_SIGN)); vc_conn := f_start_handler(refers(f_TC_rr_suspend_req), pars, true); @@ -5466,7 +5469,7 @@ timer T := 5.0; /* this (among other things) establishes the first connection to the PCUIF socket */ - f_init(); + f_init_with_pcuif(); /* try to establish a second connection, expect it to fail */ PCU.send(UD_connect:{mp_pcu_socket, -1}); @@ -5488,7 +5491,7 @@ /* Ensure that PCUIF socket can disconnect + reconnect */ testcase TC_pcu_socket_reconnect() runs on test_CT { /* this (among other things) establishes the first connection to the PCUIF socket */ - f_init(); + f_init_with_pcuif(); f_sleep(1.0); @@ -5549,13 +5552,7 @@ /* Make sure that GPRS Indicator is absent when the PCU is not connected */ private function f_TC_pcu_socket_noconnect(RrMessageType si_type) runs on test_CT { - /* don't call f_init() as this would connect PCU socket */ - f_init_rsl(testcasename()); - - /* Send both System Information Type 3 and 4 (with GPRS Indicator) */ - f_rsl_bcch_fill(RSL_SYSTEM_INFO_3, ts_SI3_default); - f_rsl_bcch_fill(RSL_SYSTEM_INFO_4, ts_SI4_default); - + f_init(); f_init_l1ctl(); f_l1_tune(L1CTL); f_sleep(2.0); @@ -5582,7 +5579,7 @@ private function f_TC_pcu_socket_connect(RrMessageType si_type) runs on test_CT { /* this (among other things) establishes the first connection to the PCUIF socket */ - f_init(); + f_init_with_pcuif(); f_init_l1ctl(); f_l1_tune(L1CTL); @@ -5610,7 +5607,7 @@ private function f_TC_pcu_socket_disconnect(RrMessageType si_type) runs on test_CT { /* this (among other things) establishes the first connection to the PCUIF socket */ - f_init(); + f_init_with_pcuif(); f_init_l1ctl(); f_l1_tune(L1CTL); @@ -5647,7 +5644,7 @@ testcase TC_pcu_socket_verify_info_ind() runs on test_CT { var SystemInformation si3 := valueof(ts_SI3_default); - f_init(); + f_init_with_pcuif(); /* actually give the BTS some time to fully come up and to send a PCU INFO IND with the correct * information */ @@ -5682,7 +5679,7 @@ var PCUIF_info_ind info_ind; var FreqHopPars fhp; - f_init(); + f_init_with_pcuif(); info_ind := g_pcu_last_info.u.info_ind; @@ -5727,7 +5724,7 @@ f_vty_config2(BSCVTY, {"network", "bts 0"} , "gprs nsvc 0 remote ip 127.127.127.127"); f_vty_transceive(BSCVTY, "drop bts connection 0 oml"); - f_init(); + f_init_with_pcuif(); var PCUIF_RemoteAddr remote_addr := g_pcu_last_info.u.info_ind.remote_addr; var template PCUIF_RemoteAddr tr_remote_addr := { @@ -5747,7 +5744,7 @@ f_init_vty_bsc(); f_vty_config2(BSCVTY, {"network", "bts 0"} , "gprs nsvc 0 remote ip fd00::ca:ff:ee"); - f_init(); + f_init_with_pcuif(); var PCUIF_RemoteAddr remote_addr := g_pcu_last_info.u.info_ind.remote_addr; var template PCUIF_RemoteAddr tr_remote_addr := { diff --git a/bts/BTS_Tests_SMSCB.ttcn b/bts/BTS_Tests_SMSCB.ttcn index 102e2ac..dda78fd 100644 --- a/bts/BTS_Tests_SMSCB.ttcn +++ b/bts/BTS_Tests_SMSCB.ttcn @@ -1051,7 +1051,7 @@ testcase TC_etws_pcu() runs on test_CT { timer T := 10.0; - f_init(); + f_init_with_pcuif(); f_init_l1ctl(); f_l1_tune(L1CTL, ccch_mode := CCCH_MODE_COMBINED_CBCH); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23465 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I09ccb65ce94a41ffdad4e93da650c3f32d422af4 Gerrit-Change-Number: 23465 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 Mar 23 06:27:00 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 23 Mar 2021 06:27:00 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests: add a test case verifying coding of two NSVCs in INFO.ind 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/+/23462 to look at the new patch set (#2). Change subject: BTS_Tests: add a test case verifying coding of two NSVCs in INFO.ind ...................................................................... BTS_Tests: add a test case verifying coding of two NSVCs in INFO.ind Change-Id: Id11094774d737a545a2cce389059d7e527219573 --- M bts/BTS_Tests.ttcn 1 file changed, 36 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/62/23462/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23462 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id11094774d737a545a2cce389059d7e527219573 Gerrit-Change-Number: 23462 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 Tue Mar 23 06:27:00 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 23 Mar 2021 06:27:00 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests: cosmetic: s/f_init_pcu_test/f_init_with_pcuif/ 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/+/23464 to look at the new patch set (#2). Change subject: BTS_Tests: cosmetic: s/f_init_pcu_test/f_init_with_pcuif/ ...................................................................... BTS_Tests: cosmetic: s/f_init_pcu_test/f_init_with_pcuif/ Change-Id: Ic95c46426ed3ac9ead645037059190fead181b31 --- M bts/BTS_Tests.ttcn 1 file changed, 21 insertions(+), 21 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/64/23464/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23464 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic95c46426ed3ac9ead645037059190fead181b31 Gerrit-Change-Number: 23464 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 Tue Mar 23 06:27:03 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 23 Mar 2021 06:27:03 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests: refactor and fix TC_pcu_socket_connect_multi References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23466 ) Change subject: BTS_Tests: refactor and fix TC_pcu_socket_connect_multi ...................................................................... BTS_Tests: refactor and fix TC_pcu_socket_connect_multi Change-Id: I898b8b14515d79766b12d652ebb1ddf834e2863c --- M bts/BTS_Tests.ttcn 1 file changed, 20 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/66/23466/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 58947c5..a5eff00 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -5465,25 +5465,39 @@ /* Ensure that PCUIF socket can accept only a single connection */ testcase TC_pcu_socket_connect_multi() runs on test_CT { + var boolean connected := false; + var UD_connect_result cr; + var integer cid; timer T := 5.0; + var template UD_Result tr_ok := { result_code := SUCCESS, err := omit }; + var template UD_Result tr_err := { result_code := ERROR, err := ? }; + /* this (among other things) establishes the first connection to the PCUIF socket */ f_init_with_pcuif(); - /* try to establish a second connection, expect it to fail */ + /* try to establish a second connection */ PCU.send(UD_connect:{mp_pcu_socket, -1}); T.start; alt { - [] PCU.receive(UD_connect_result:{id := ?, result := { result_code := ERROR, err := ? }}) { + /* the IUT will first accept() the new connection, and close() it immediately */ + [not connected] PCU.receive(UD_connect_result:{ id := ?, result := tr_ok }) -> value cr { + log("BTS has accept()ed connection"); + connected := true; + cid := cr.id; + repeat; + } + [connected] PCU.receive(UD_connect_result:{ id := cid, result := tr_err }) { + log("BTS has close()d connection"); setverdict(pass); } - [] PCU.receive(UD_connect_result:?) { - setverdict(fail, "Unexpected unix domain connect result"); - } + /* ignore other messages related to the first connection */ + [] PCU.receive { repeat; } [] T.timeout { - setverdict(pass); + setverdict(fail, "Timeout waiting for connection result"); } } + Misc_Helpers.f_shutdown(__BFILE__, __LINE__); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23466 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I898b8b14515d79766b12d652ebb1ddf834e2863c Gerrit-Change-Number: 23466 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 Mar 23 06:27:24 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 23 Mar 2021 06:27:24 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests: clarify unexpected connection result in verdict In-Reply-To: References: Message-ID: fixeria has abandoned this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23463 ) Change subject: BTS_Tests: clarify unexpected connection result in verdict ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23463 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8dc3c7a9d9f22b517acc34c80aaaf1732bba0f52 Gerrit-Change-Number: 23463 Gerrit-PatchSet: 1 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 Mar 23 06:31:22 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 23 Mar 2021 06:31:22 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests: refactor and fix TC_pcu_socket_connect_multi 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/+/23466 to look at the new patch set (#2). Change subject: BTS_Tests: refactor and fix TC_pcu_socket_connect_multi ...................................................................... BTS_Tests: refactor and fix TC_pcu_socket_connect_multi See also: https://github.com/eclipse/titan.TestPorts.UNIX_DOMAIN_SOCKETasp/pull/4 Change-Id: I898b8b14515d79766b12d652ebb1ddf834e2863c --- M bts/BTS_Tests.ttcn 1 file changed, 20 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/66/23466/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23466 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I898b8b14515d79766b12d652ebb1ddf834e2863c Gerrit-Change-Number: 23466 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 Tue Mar 23 09:58:16 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 23 Mar 2021 09:58:16 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/PCUIF_Types: use PADDING attribute for 'PCUIF_Message' In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23461 ) Change subject: library/PCUIF_Types: use PADDING attribute for 'PCUIF_Message' ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23461 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id5ab587f7984a91f3603efc5d427aa4cb4fa6757 Gerrit-Change-Number: 23461 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 09: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 Tue Mar 23 10:00:29 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 23 Mar 2021 10:00:29 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/PCUIF_Types: get rid of version 9 compatibility glue In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23460 ) Change subject: library/PCUIF_Types: get rid of version 9 compatibility glue ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23460 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia9f366ca1fdad700a90ca3367e43523f7bac39a1 Gerrit-Change-Number: 23460 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 10:00: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 Mar 23 10:03:31 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 23 Mar 2021 10:03:31 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests: do not connect to PCUIF socket if not used In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23465 ) Change subject: BTS_Tests: do not connect to PCUIF socket if not used ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23465 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I09ccb65ce94a41ffdad4e93da650c3f32d422af4 Gerrit-Change-Number: 23465 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 10:03:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 23 10:04:53 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 23 Mar 2021 10:04:53 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests: add a test case verifying coding of two NSVCs in INFO.ind In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23462 ) Change subject: BTS_Tests: add a test case verifying coding of two NSVCs in INFO.ind ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23462 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id11094774d737a545a2cce389059d7e527219573 Gerrit-Change-Number: 23462 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 10:04: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 Mar 23 10:05:14 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 23 Mar 2021 10:05:14 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests: cosmetic: s/f_init_pcu_test/f_init_with_pcuif/ In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23464 ) Change subject: BTS_Tests: cosmetic: s/f_init_pcu_test/f_init_with_pcuif/ ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23464 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic95c46426ed3ac9ead645037059190fead181b31 Gerrit-Change-Number: 23464 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 10:05: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 Mar 23 10:07:17 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 23 Mar 2021 10:07:17 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests: refactor and fix TC_pcu_socket_connect_multi In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23466 ) Change subject: BTS_Tests: refactor and fix TC_pcu_socket_connect_multi ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23466 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I898b8b14515d79766b12d652ebb1ddf834e2863c Gerrit-Change-Number: 23466 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 10:07:17 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 23 10:58:39 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 10:58:39 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: SNS-SIZE contains the actual number of local endpoints References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/23467 ) Change subject: gprs_ns2_sns: SNS-SIZE contains the actual number of local endpoints ...................................................................... gprs_ns2_sns: SNS-SIZE contains the actual number of local endpoints The SNS-SIZE sent from BSS to SGSN contains the actual number of local IP endpoints on the BSS side, and not the maximum number of remote IP endpoints supported. Change-Id: I62a8bca4a3f7c47bcb9f292b045fa867d8877a09 --- M src/gb/gprs_ns2_sns.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/67/23467/1 diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index f025c1e..bb47032 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -895,9 +895,9 @@ if (gss->num_max_ip4_remote > 0) - ns2_tx_sns_size(gss->sns_nsvc, true, gss->num_max_nsvcs, gss->num_max_ip4_remote, -1); + ns2_tx_sns_size(gss->sns_nsvc, true, gss->num_max_nsvcs, gss->num_ip4_local, -1); else - ns2_tx_sns_size(gss->sns_nsvc, true, gss->num_max_nsvcs, -1, gss->num_max_ip6_remote); + ns2_tx_sns_size(gss->sns_nsvc, true, gss->num_max_nsvcs, -1, gss->num_ip6_local); } static void ns2_sns_st_config_bss(struct osmo_fsm_inst *fi, uint32_t event, void *data) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23467 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I62a8bca4a3f7c47bcb9f292b045fa867d8877a09 Gerrit-Change-Number: 23467 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 Mar 23 10:58:40 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 10:58:40 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vc_fsm: In IP-SNS/ALIVE mode, initial state is ALIVE/UNBLOCKED References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/23468 ) Change subject: gprs_ns2_vc_fsm: In IP-SNS/ALIVE mode, initial state is ALIVE/UNBLOCKED ...................................................................... gprs_ns2_vc_fsm: In IP-SNS/ALIVE mode, initial state is ALIVE/UNBLOCKED Only when the ALIVE procedure fails, we mark a NS-VC as RECOVERING. Change-Id: Ieb860827c2149306b135c0e6c8b3cd3bbb78851e --- M src/gb/gprs_ns2_vc_fsm.c 1 file changed, 5 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/68/23468/1 diff --git a/src/gb/gprs_ns2_vc_fsm.c b/src/gb/gprs_ns2_vc_fsm.c index cca724f..48680a5 100644 --- a/src/gb/gprs_ns2_vc_fsm.c +++ b/src/gb/gprs_ns2_vc_fsm.c @@ -245,7 +245,9 @@ case GPRS_NS2_EV_REQ_START: switch (priv->nsvc->mode) { case GPRS_NS2_VC_MODE_ALIVE: - osmo_fsm_inst_state_chg(fi, GPRS_NS2_ST_RECOVERING, nsi->timeout[NS_TOUT_TNS_ALIVE], NS_TOUT_TNS_ALIVE); + /* In IP-SNS, the NS-VC are assumed initially alive, until the alive + * procedure should fail at some future point */ + osmo_fsm_inst_state_chg(fi, GPRS_NS2_ST_UNBLOCKED, 0, 0); break; case GPRS_NS2_VC_MODE_BLOCKRESET: osmo_fsm_inst_state_chg(fi, GPRS_NS2_ST_RESET, nsi->timeout[NS_TOUT_TNS_RESET], NS_TOUT_TNS_RESET); @@ -428,17 +430,13 @@ ns2_tx_alive(priv->nsvc); ns2_nse_notify_unblocked(priv->nsvc, false); -} - -static void ns2_st_alive_onleave(struct osmo_fsm_inst *fi, uint32_t next_state) -{ - start_test_procedure(fi->priv); + start_test_procedure(priv); } static const struct osmo_fsm_state ns2_vc_states[] = { [GPRS_NS2_ST_UNCONFIGURED] = { .in_event_mask = S(GPRS_NS2_EV_REQ_START), - .out_state_mask = S(GPRS_NS2_ST_RESET) | S(GPRS_NS2_ST_RECOVERING), + .out_state_mask = S(GPRS_NS2_ST_RESET) | S(GPRS_NS2_ST_UNBLOCKED), .name = "UNCONFIGURED", .action = ns2_st_unconfigured, .onenter = ns2_st_unconfigured_onenter, @@ -483,7 +481,6 @@ .name = "RECOVERING", .action = ns2_st_alive, .onenter = ns2_st_alive_onenter, - .onleave = ns2_st_alive_onleave, }, }; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23468 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ieb860827c2149306b135c0e6c8b3cd3bbb78851e Gerrit-Change-Number: 23468 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 Mar 23 11:31:01 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 23 Mar 2021 11:31:01 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Support for SGSN-side IP-SNS In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23405 ) Change subject: gprs_ns2_sns: Support for SGSN-side IP-SNS ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23405 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I780413ffacd9cb71f64cc38057aae781eeb59b2b Gerrit-Change-Number: 23405 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 11:31: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 Mar 23 11:32:02 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 23 Mar 2021 11:32:02 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: SNS-SIZE contains the actual number of local endpoints In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23467 ) Change subject: gprs_ns2_sns: SNS-SIZE contains the actual number of local endpoints ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23467 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I62a8bca4a3f7c47bcb9f292b045fa867d8877a09 Gerrit-Change-Number: 23467 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 11:32:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 23 11:32:45 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 23 Mar 2021 11:32:45 +0000 Subject: Change in libosmocore[master]: gprs_ns2: Add comments explaining the nsvc->sns_only field In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23416 ) Change subject: gprs_ns2: Add comments explaining the nsvc->sns_only field ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23416 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I16009a1b03d8027de2be56b7d5013b755c9550fd Gerrit-Change-Number: 23416 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 11:32:45 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 23 11:49:31 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 11:49:31 +0000 Subject: Change in pysim[master]: utils: fix sw_match() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23457 ) Change subject: utils: fix sw_match() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23457 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I805ad32160fcfcb8628bf919b64f7eee0fe03c7e Gerrit-Change-Number: 23457 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 23 Mar 2021 11:49:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 23 11:52:38 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 11:52:38 +0000 Subject: Change in pysim[master]: commands: better exception string for authentication failures In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23423 ) Change subject: commands: better exception string for authentication failures ...................................................................... Patch Set 1: Code-Review+1 > Patch Set 1: > I have now analyzed the problem a bit. What we could do is to use rs.interpret_sw() from do_verify_adm() to convert the SW, but then still the translation would be wrong. The reason for this is that the 63cx SW has a different meaning when it is used when the VERIFY PIN command is used. See ETSI TS 102 221, Table 10.9. Nice catch, and sory for misleading you in the first place. So it seems indeed we need to take this approach, unless we want card profiles to be able to register INS-specific SW parsers :( -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23423 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Icf428831094f8c1045eefaa8cb2b92e6a36b0c13 Gerrit-Change-Number: 23423 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 23 Mar 2021 11: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 Tue Mar 23 11:54:13 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 11:54:13 +0000 Subject: Change in pysim[master]: pySim-shell: output currently selected file using select command In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23459 ) Change subject: pySim-shell: output currently selected file using select command ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23459 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I541bd5ed14f240cd1c2bd63647c830f669d26130 Gerrit-Change-Number: 23459 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 23 Mar 2021 11:54:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 23 11:54:21 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 11:54:21 +0000 Subject: Change in pysim[master]: pySim-shell: add command to show file description In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23458 ) Change subject: pySim-shell: add command to show file description ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23458 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: If716cf3c6b09d53dca652b588671487d5343cf58 Gerrit-Change-Number: 23458 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 23 Mar 2021 11:54: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 Mar 23 11:54:42 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 11:54:42 +0000 Subject: Change in pysim[master]: cards: remove unnecessary execptions. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23424 ) Change subject: cards: remove unnecessary execptions. ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23424 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I785d27e4d49a9cda1a771b56ce5ac9c1f1d1e79a Gerrit-Change-Number: 23424 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 23 Mar 2021 11:54: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 Mar 23 11:54:44 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 11:54:44 +0000 Subject: Change in pysim[master]: commands: better exception string for authentication failures In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23423 ) Change subject: commands: better exception string for authentication failures ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23423 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Icf428831094f8c1045eefaa8cb2b92e6a36b0c13 Gerrit-Change-Number: 23423 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 23 Mar 2021 11:54:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 23 11:54:47 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 11:54:47 +0000 Subject: Change in pysim[master]: commands: better exception string for authentication failures In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/23423 ) Change subject: commands: better exception string for authentication failures ...................................................................... commands: better exception string for authentication failures At the moment we use the send_apdu_checksw() method to send the APDU for ADM authentication. This method only checks if the command returns with sw = 9000. If not it raises an exception that the sw is not as expected. The user may think that this is a problem with thr reader, pcscd or pySim in the first place and may try multiple times until the card is permanently locked. A better execption string that also displays the tries which are left may be helpful. Change-Id: Icf428831094f8c1045eefaa8cb2b92e6a36b0c13 Related: OS#4963 --- M pySim/commands.py 1 file changed, 4 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/pySim/commands.py b/pySim/commands.py index 2fb1041..9aed588 100644 --- a/pySim/commands.py +++ b/pySim/commands.py @@ -205,4 +205,7 @@ def verify_chv(self, chv_no, code): fc = rpad(b2h(code), 16) - return self._tp.send_apdu_checksw(self.cla_byte + '2000' + ('%02X' % chv_no) + '08' + fc) + data, sw = self._tp.send_apdu(self.cla_byte + '2000' + ('%02X' % chv_no) + '08' + fc) + if (sw != '9000'): + raise RuntimeError('Failed to authenticate with ADM key %s, %i tries left.' % (code, int(sw[3]))) + return (data,sw) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23423 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Icf428831094f8c1045eefaa8cb2b92e6a36b0c13 Gerrit-Change-Number: 23423 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 23 11:54:48 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 11:54:48 +0000 Subject: Change in pysim[master]: cards: remove unnecessary execptions. In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/23424 ) Change subject: cards: remove unnecessary execptions. ...................................................................... cards: remove unnecessary execptions. The _scc.veryif_adm() method already does status word checking internally and also raises an execption should the authentication be unsuccessful, so we do not have to put an additional status word check + execition when we use the method from cards. Change-Id: I785d27e4d49a9cda1a771b56ce5ac9c1f1d1e79a Related: OS#4963 --- M pySim/cards.py 1 file changed, 2 insertions(+), 10 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/pySim/cards.py b/pySim/cards.py index 8b51787..c640591 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -854,8 +854,6 @@ if not key: raise ValueError("Please provide a PIN-ADM as there is no default one") (res, sw) = self._scc.verify_chv(0x0A, key) - if sw != '9000': - raise RuntimeError('Failed to authenticate with ADM key %s'%(key)) return sw def program(self, p): @@ -1045,9 +1043,7 @@ # authenticate as ADM1 if not p['pin_adm']: raise ValueError("Please provide a PIN-ADM as there is no default one") - sw = self.verify_adm(h2b(p['pin_adm'])) - if sw != '9000': - raise RuntimeError('Failed to authenticate with ADM key %s'%(p['pin_adm'],)) + self.verify_adm(h2b(p['pin_adm'])) # TODO: Set operator name if p.get('smsp') is not None: @@ -1152,9 +1148,7 @@ def program(self, p): if not p['pin_adm']: raise ValueError("Please provide a PIN-ADM as there is no default one") - sw = self.verify_adm(h2b(p['pin_adm'])) - if sw != '9000': - raise RuntimeError('Failed to authenticate with ADM key %s'%(p['pin_adm'],)) + self.verify_adm(h2b(p['pin_adm'])) # EF.ICCID # TODO: Add programming of the ICCID @@ -1254,8 +1248,6 @@ if not key: raise ValueError("Please provide a PIN-ADM as there is no default one") (res, sw) = self._scc.verify_chv(0x0A, key) - if sw != '9000': - raise RuntimeError('Failed to authenticate with ADM key %s'%(key)) return sw def program(self, p): -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23424 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I785d27e4d49a9cda1a771b56ce5ac9c1f1d1e79a Gerrit-Change-Number: 23424 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 23 12:14:28 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 12:14:28 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: sync configs with docker-playground References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23469 ) Change subject: pcu: sync configs with docker-playground ...................................................................... pcu: sync configs with docker-playground Change-Id: I41f6ebd63e5e551184f0863cd388c373ab0a1130 --- M pcu/osmo-pcu-sns.cfg M pcu/osmo-pcu.cfg 2 files changed, 18 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/69/23469/1 diff --git a/pcu/osmo-pcu-sns.cfg b/pcu/osmo-pcu-sns.cfg index c2cd58a..a8a26bd 100644 --- a/pcu/osmo-pcu-sns.cfg +++ b/pcu/osmo-pcu-sns.cfg @@ -1,8 +1,10 @@ log gsmtap 127.0.0.1 logging level set-all debug + logging filter all 1 log stderr logging filter all 1 + logging color 1 logging print level 1 logging print category 1 logging print category-hex 0 diff --git a/pcu/osmo-pcu.cfg b/pcu/osmo-pcu.cfg index 892dd79..2c2d692 100644 --- a/pcu/osmo-pcu.cfg +++ b/pcu/osmo-pcu.cfg @@ -1,8 +1,10 @@ log gsmtap 127.0.0.1 logging level set-all debug + logging filter all 1 log stderr logging filter all 1 + logging color 1 logging print level 1 logging print category 1 logging print category-hex 0 @@ -31,3 +33,17 @@ gamma 0 pcu-socket /tmp/pcu_bts neighbor resolution 127.0.0.1 + 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-ttcn3-hacks/+/23469 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I41f6ebd63e5e551184f0863cd388c373ab0a1130 Gerrit-Change-Number: 23469 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 Mar 23 12:14:30 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 12:14:30 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RAW_NS: don't expect hard-coded number of NSVC/endpoints in SNS-SIZE References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23470 ) Change subject: RAW_NS: don't expect hard-coded number of NSVC/endpoints in SNS-SIZE ...................................................................... RAW_NS: don't expect hard-coded number of NSVC/endpoints in SNS-SIZE Change-Id: I5d567582db18be0f875e8e2ba380a04a1a838350 --- M library/RAW_NS.ttcnpp 1 file changed, 6 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/70/23470/1 diff --git a/library/RAW_NS.ttcnpp b/library/RAW_NS.ttcnpp index c5b0d50..58910d9 100644 --- a/library/RAW_NS.ttcnpp +++ b/library/RAW_NS.ttcnpp @@ -271,7 +271,8 @@ **********************************************************************************/ /* perform inbound SNS-SIZE procedure */ -function f_incoming_sns_size(template (omit) NsCause cause := omit, integer idx := 0) +function f_incoming_sns_size(template (omit) NsCause cause := omit, integer idx := 0, + template integer num_max_nsvcs := ?, template integer num_ep := ?) runs on RAW_NS_CT { log("f_incoming_sns_size(idx=", idx, ")"); var PDU_NS rx; @@ -279,12 +280,12 @@ if (nsvc_cfg.provider.ip.address_family == AF_INET) { /* expect one single SNS-SIZE with RESET flag; 4x v4 EP; no v6 EP */ - rx := f_ns_exp(tr_SNS_SIZE(g_nsconfig.nsei, rst_flag := true, max_nsvcs := 8, - num_v4 := 4, num_v6 := omit), idx); + rx := f_ns_exp(tr_SNS_SIZE(g_nsconfig.nsei, rst_flag := true, max_nsvcs := num_max_nsvcs, + num_v4 := num_ep, num_v6 := omit), idx); } else { /* expect one single SNS-SIZE with RESET flag; no v4 EP; 4x v6 EP */ - rx := f_ns_exp(tr_SNS_SIZE(g_nsconfig.nsei, rst_flag := true, max_nsvcs := 8, - num_v4 := omit, num_v6 := 4), idx); + rx := f_ns_exp(tr_SNS_SIZE(g_nsconfig.nsei, rst_flag := true, max_nsvcs := num_max_nsvcs, + num_v4 := omit, num_v6 := num_ep), idx); } NSCP[idx].send(ts_SNS_SIZE_ACK(g_nsconfig.nsei, cause)); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23470 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5d567582db18be0f875e8e2ba380a04a1a838350 Gerrit-Change-Number: 23470 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 Mar 23 12:15:43 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 12:15:43 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: sync configs with docker-playground In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23469 ) Change subject: pcu: sync configs with docker-playground ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23469 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I41f6ebd63e5e551184f0863cd388c373ab0a1130 Gerrit-Change-Number: 23469 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Tue, 23 Mar 2021 12:15: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 Mar 23 12:15:50 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 12:15:50 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RAW_NS: don't expect hard-coded number of NSVC/endpoints in SNS-SIZE In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23470 ) Change subject: RAW_NS: don't expect hard-coded number of NSVC/endpoints in SNS-SIZE ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23470 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5d567582db18be0f875e8e2ba380a04a1a838350 Gerrit-Change-Number: 23470 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 23 Mar 2021 12:15:50 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 23 12:16:03 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 12:16:03 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: sync configs with docker-playground In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23469 ) Change subject: pcu: sync configs with docker-playground ...................................................................... pcu: sync configs with docker-playground Change-Id: I41f6ebd63e5e551184f0863cd388c373ab0a1130 --- M pcu/osmo-pcu-sns.cfg M pcu/osmo-pcu.cfg 2 files changed, 18 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved; Verified Jenkins Builder: Verified diff --git a/pcu/osmo-pcu-sns.cfg b/pcu/osmo-pcu-sns.cfg index c2cd58a..a8a26bd 100644 --- a/pcu/osmo-pcu-sns.cfg +++ b/pcu/osmo-pcu-sns.cfg @@ -1,8 +1,10 @@ log gsmtap 127.0.0.1 logging level set-all debug + logging filter all 1 log stderr logging filter all 1 + logging color 1 logging print level 1 logging print category 1 logging print category-hex 0 diff --git a/pcu/osmo-pcu.cfg b/pcu/osmo-pcu.cfg index 892dd79..2c2d692 100644 --- a/pcu/osmo-pcu.cfg +++ b/pcu/osmo-pcu.cfg @@ -1,8 +1,10 @@ log gsmtap 127.0.0.1 logging level set-all debug + logging filter all 1 log stderr logging filter all 1 + logging color 1 logging print level 1 logging print category 1 logging print category-hex 0 @@ -31,3 +33,17 @@ gamma 0 pcu-socket /tmp/pcu_bts neighbor resolution 127.0.0.1 + 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-ttcn3-hacks/+/23469 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I41f6ebd63e5e551184f0863cd388c373ab0a1130 Gerrit-Change-Number: 23469 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 Mar 23 12:16:03 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 12:16:03 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RAW_NS: don't expect hard-coded number of NSVC/endpoints in SNS-SIZE In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23470 ) Change subject: RAW_NS: don't expect hard-coded number of NSVC/endpoints in SNS-SIZE ...................................................................... RAW_NS: don't expect hard-coded number of NSVC/endpoints in SNS-SIZE Change-Id: I5d567582db18be0f875e8e2ba380a04a1a838350 --- M library/RAW_NS.ttcnpp 1 file changed, 6 insertions(+), 5 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/library/RAW_NS.ttcnpp b/library/RAW_NS.ttcnpp index c5b0d50..58910d9 100644 --- a/library/RAW_NS.ttcnpp +++ b/library/RAW_NS.ttcnpp @@ -271,7 +271,8 @@ **********************************************************************************/ /* perform inbound SNS-SIZE procedure */ -function f_incoming_sns_size(template (omit) NsCause cause := omit, integer idx := 0) +function f_incoming_sns_size(template (omit) NsCause cause := omit, integer idx := 0, + template integer num_max_nsvcs := ?, template integer num_ep := ?) runs on RAW_NS_CT { log("f_incoming_sns_size(idx=", idx, ")"); var PDU_NS rx; @@ -279,12 +280,12 @@ if (nsvc_cfg.provider.ip.address_family == AF_INET) { /* expect one single SNS-SIZE with RESET flag; 4x v4 EP; no v6 EP */ - rx := f_ns_exp(tr_SNS_SIZE(g_nsconfig.nsei, rst_flag := true, max_nsvcs := 8, - num_v4 := 4, num_v6 := omit), idx); + rx := f_ns_exp(tr_SNS_SIZE(g_nsconfig.nsei, rst_flag := true, max_nsvcs := num_max_nsvcs, + num_v4 := num_ep, num_v6 := omit), idx); } else { /* expect one single SNS-SIZE with RESET flag; no v4 EP; 4x v6 EP */ - rx := f_ns_exp(tr_SNS_SIZE(g_nsconfig.nsei, rst_flag := true, max_nsvcs := 8, - num_v4 := omit, num_v6 := 4), idx); + rx := f_ns_exp(tr_SNS_SIZE(g_nsconfig.nsei, rst_flag := true, max_nsvcs := num_max_nsvcs, + num_v4 := omit, num_v6 := num_ep), idx); } NSCP[idx].send(ts_SNS_SIZE_ACK(g_nsconfig.nsei, cause)); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23470 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I5d567582db18be0f875e8e2ba380a04a1a838350 Gerrit-Change-Number: 23470 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 Mar 23 12:17:23 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 12:17:23 +0000 Subject: Change in pysim[master]: utils: fix sw_match() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/23457 ) Change subject: utils: fix sw_match() ...................................................................... utils: fix sw_match() The SW_match function takes a given status word and compares it against a pattern that may contain wildcards (x or ?). This works by creating a masked version of the SW using a pattern first (each hex digit is replaced by a wildcard charafter if the pattern has a wildcard in the same position). Once this is done, the resulting masked version is compared at the pattern. However, the current implementation can not work, since it compares the input SW against the pattern to decide wihich chrafters should be masked. The input SW never contains wildcard charafters. Change-Id: I805ad32160fcfcb8628bf919b64f7eee0fe03c7e Related: OS#4963 --- M pySim/utils.py 1 file changed, 3 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/pySim/utils.py b/pySim/utils.py index e1fb4c7..0848b01 100644 --- a/pySim/utils.py +++ b/pySim/utils.py @@ -787,12 +787,13 @@ sw_lower = sw.lower() sw_masked = "" for i in range(0, 4): - if sw_lower[i] == '?': + if pattern[i] == '?': sw_masked = sw_masked + '?' - elif sw_lower[i] == 'x': + elif pattern[i] == 'x': sw_masked = sw_masked + 'x' else: sw_masked = sw_masked + sw_lower[i] + # Compare the masked version against the pattern return sw_masked == pattern def tabulate_str_list(str_list, width = 79, hspace = 2, lspace = 1, align_left = True): -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23457 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I805ad32160fcfcb8628bf919b64f7eee0fe03c7e Gerrit-Change-Number: 23457 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 23 12:18:06 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 12:18:06 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/PCUIF_Types: get rid of version 9 compatibility glue In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23460 ) Change subject: library/PCUIF_Types: get rid of version 9 compatibility glue ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23460 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia9f366ca1fdad700a90ca3367e43523f7bac39a1 Gerrit-Change-Number: 23460 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 12:18: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 Mar 23 12:18:30 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 12:18:30 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/PCUIF_Types: use PADDING attribute for 'PCUIF_Message' In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23461 ) Change subject: library/PCUIF_Types: use PADDING attribute for 'PCUIF_Message' ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23461 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id5ab587f7984a91f3603efc5d427aa4cb4fa6757 Gerrit-Change-Number: 23461 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 12:18:30 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 23 12:19:05 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 12:19:05 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests: add a test case verifying coding of two NSVCs in INFO.ind In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23462 ) Change subject: BTS_Tests: add a test case verifying coding of two NSVCs in INFO.ind ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23462 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id11094774d737a545a2cce389059d7e527219573 Gerrit-Change-Number: 23462 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 12:19: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 Mar 23 12:19:40 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 12:19:40 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests: do not connect to PCUIF socket if not used In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23465 ) Change subject: BTS_Tests: do not connect to PCUIF socket if not used ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23465 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I09ccb65ce94a41ffdad4e93da650c3f32d422af4 Gerrit-Change-Number: 23465 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 12:19: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 Mar 23 12:21:35 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 12:21:35 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests: refactor and fix TC_pcu_socket_connect_multi In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23466 ) Change subject: BTS_Tests: refactor and fix TC_pcu_socket_connect_multi ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23466 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I898b8b14515d79766b12d652ebb1ddf834e2863c Gerrit-Change-Number: 23466 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 12:21: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 Mar 23 12:42:24 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 23 Mar 2021 12:42:24 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Support for SGSN-side IP-SNS In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23405 ) Change subject: gprs_ns2_sns: Support for SGSN-side IP-SNS ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23405 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I780413ffacd9cb71f64cc38057aae781eeb59b2b Gerrit-Change-Number: 23405 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 12:42: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 Mar 23 12:50:57 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 23 Mar 2021 12:50:57 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Add some more OSMO_ASSERT about BSS role In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23406 ) Change subject: gprs_ns2_sns: Add some more OSMO_ASSERT about BSS role ...................................................................... Patch Set 3: (2 comments) https://gerrit.osmocom.org/c/libosmocore/+/23406/3/src/gb/gprs_ns2_sns.c File src/gb/gprs_ns2_sns.c: https://gerrit.osmocom.org/c/libosmocore/+/23406/3/src/gb/gprs_ns2_sns.c at 714 PS3, Line 714: static void ns2_sns_st_unconfigured(struct osmo_fsm_inst *fi, uint32_t event, void *data) Since we now have ns2_sns_st_sgsn_unconfigured rename this to ns2_sns_st_bss_unconfigured? https://gerrit.osmocom.org/c/libosmocore/+/23406/3/src/gb/gprs_ns2_sns.c at 1013 PS3, Line 1013: OSMO_ASSERT(gss->role == GPRS_SNS_ROLE_BSS); The naming is quite confusing now - config_sgsn_onenter with OSMO_ASSERT(ROLE_BSS) Rename the BSS-States GPRS_SNS_ST_BSS_CONFIG_BSS and GPRS_SNS_ST_BSS_CONFIG_SGSN? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23406 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I20d1bd8df62e0bb84696e291756e2d96acf49246 Gerrit-Change-Number: 23406 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 12:50:57 +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 Mar 23 12:52:47 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 23 Mar 2021 12:52:47 +0000 Subject: Change in libosmocore[master]: gprs_ns2: Introduce gprs_ns2_create_nse2() for SGSN side SNS In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23407 ) Change subject: gprs_ns2: Introduce gprs_ns2_create_nse2() for SGSN side SNS ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23407 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6db8c36f7c69b592d7d0fbcf323804f7e9912be2 Gerrit-Change-Number: 23407 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 12:52: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 Mar 23 13:01:44 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 23 Mar 2021 13:01:44 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Don't clear remote IP endpoints in SGSN role In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23409 ) Change subject: gprs_ns2_sns: Don't clear remote IP endpoints in SGSN role ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23409 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I58549707ac5a3a0aae5f9348ed76f16c09ad3e46 Gerrit-Change-Number: 23409 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 13:01: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 Mar 23 13:02:56 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 23 Mar 2021 13:02:56 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Verify mandatory IE presence in incoming SNS-SIZE In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23410 ) Change subject: gprs_ns2_sns: Verify mandatory IE presence in incoming SNS-SIZE ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23410 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I40571e313c3332d8cead8fb4aa9768d0d083804d Gerrit-Change-Number: 23410 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 13:02:56 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 23 13:04:11 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 23 Mar 2021 13:04:11 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: SNS-SIZE contains the actual number of local endpoints In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23467 ) Change subject: gprs_ns2_sns: SNS-SIZE contains the actual number of local endpoints ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23467 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I62a8bca4a3f7c47bcb9f292b045fa867d8877a09 Gerrit-Change-Number: 23467 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 13:04:11 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 23 13:11:10 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 23 Mar 2021 13:11:10 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Assume the SGSN has a very large number of max. NSVC In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23411 ) Change subject: gprs_ns2_sns: Assume the SGSN has a very large number of max. NSVC ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23411 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I41f493643cf51d7853959ab9c7bbc0ffae4e1f4b Gerrit-Change-Number: 23411 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 13:11:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 23 13:17:00 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 23 Mar 2021 13:17:00 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Support for SGSN-side IP-SNS In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23405 ) Change subject: gprs_ns2_sns: Support for SGSN-side IP-SNS ...................................................................... Patch Set 3: Code-Review-2 I'm giving -2 here (for now) to prevent merging any further patches to review them and to review them and maybe give feedback before any of these getting merged. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23405 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I780413ffacd9cb71f64cc38057aae781eeb59b2b Gerrit-Change-Number: 23405 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 13:17:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 23 13:18:13 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 23 Mar 2021 13:18:13 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Verify mandatory IE presence in incoming SNS-SIZE In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23410 ) Change subject: gprs_ns2_sns: Verify mandatory IE presence in incoming SNS-SIZE ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23410 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I40571e313c3332d8cead8fb4aa9768d0d083804d Gerrit-Change-Number: 23410 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 13:18: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 Mar 23 13:19:01 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 23 Mar 2021 13:19:01 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Implement checks during processing of inbound SNS-SIZE In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23412 ) Change subject: gprs_ns2_sns: Implement checks during processing of inbound SNS-SIZE ...................................................................... Patch Set 3: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/23412/3/src/gb/gprs_ns2_sns.c File src/gb/gprs_ns2_sns.c: https://gerrit.osmocom.org/c/libosmocore/+/23412/3/src/gb/gprs_ns2_sns.c at 2179 PS3, Line 2179: num_max_ip4_remote num_max_ip6_remote -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23412 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1638f04ba45fef3ba0b237948dff6022267141fb Gerrit-Change-Number: 23412 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 13:19:01 +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 Mar 23 13:20:13 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 23 Mar 2021 13:20:13 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vty: Permit VTY configuration of bind->accept_sns In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23413 ) Change subject: gprs_ns2_vty: Permit VTY configuration of bind->accept_sns ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23413 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ifb52cd245b10bf47d42d57d167d6d6c02b12ee12 Gerrit-Change-Number: 23413 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 13:20: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 Mar 23 13:25:03 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 23 Mar 2021 13:25:03 +0000 Subject: Change in libosmocore[master]: gprs_ns2: dynamic NS-VC + NSE creation for IP-SNS in SGSN role In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23414 ) Change subject: gprs_ns2: dynamic NS-VC + NSE creation for IP-SNS in SGSN role ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23414 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie10bb3531fae2e651da04f965d964de6eb1e7a97 Gerrit-Change-Number: 23414 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 13:25: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 Mar 23 13:26:13 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 23 Mar 2021 13:26:13 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: SNS-SIZE contains the actual number of local endpoints In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23467 ) Change subject: gprs_ns2_sns: SNS-SIZE contains the actual number of local endpoints ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23467 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I62a8bca4a3f7c47bcb9f292b045fa867d8877a09 Gerrit-Change-Number: 23467 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 13:26: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 Mar 23 13:26:58 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 23 Mar 2021 13:26:58 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Assume the SGSN has a very large number of max. NSVC In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23411 ) Change subject: gprs_ns2_sns: Assume the SGSN has a very large number of max. NSVC ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23411 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I41f493643cf51d7853959ab9c7bbc0ffae4e1f4b Gerrit-Change-Number: 23411 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 13:26:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 23 13:29:05 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 23 Mar 2021 13:29:05 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vty: Permit VTY configuration of bind->accept_sns In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23413 ) Change subject: gprs_ns2_vty: Permit VTY configuration of bind->accept_sns ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23413 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ifb52cd245b10bf47d42d57d167d6d6c02b12ee12 Gerrit-Change-Number: 23413 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 13:29: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 Mar 23 13:30:02 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 23 Mar 2021 13:30:02 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Allow VTY configuration of default binds for IP-SNS In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23415 ) Change subject: gprs_ns2_sns: Allow VTY configuration of default binds for IP-SNS ...................................................................... Patch Set 3: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/23415/3/src/gb/gprs_ns2_vty.c File src/gb/gprs_ns2_vty.c: https://gerrit.osmocom.org/c/libosmocore/+/23415/3/src/gb/gprs_ns2_vty.c at 566 PS3, Line 566: llist_for_each_entry(vbind, &ip_sns_default_binds, list) { I'm not sure if we want to have default binds for individual nses? In any case we can add that later. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23415 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id01c29b07e9203c9305f2129361a4f5aaefa2c52 Gerrit-Change-Number: 23415 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 13:30: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 Tue Mar 23 13:31:13 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 23 Mar 2021 13:31:13 +0000 Subject: Change in libosmocore[master]: gprs_ns2: Add comments explaining the nsvc->sns_only field In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23416 ) Change subject: gprs_ns2: Add comments explaining the nsvc->sns_only field ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23416 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I16009a1b03d8027de2be56b7d5013b755c9550fd Gerrit-Change-Number: 23416 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 13:31: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 Mar 23 13:33:11 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 23 Mar 2021 13:33:11 +0000 Subject: Change in libosmocore[master]: gprs_ns2: dynamic NS-VC + NSE creation for IP-SNS in SGSN role In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23414 ) Change subject: gprs_ns2: dynamic NS-VC + NSE creation for IP-SNS in SGSN role ...................................................................... Patch Set 3: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/23414/3/src/gb/gprs_ns2.c File src/gb/gprs_ns2.c: https://gerrit.osmocom.org/c/libosmocore/+/23414/3/src/gb/gprs_ns2.c at 917 PS3, Line 917: /* look-up NS-VC or create it */ comment doesn't make sense here. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23414 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie10bb3531fae2e651da04f965d964de6eb1e7a97 Gerrit-Change-Number: 23414 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 13:33:11 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 23 13:38:05 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 23 Mar 2021 13:38:05 +0000 Subject: Change in libosmocore[master]: gprs_ns2: Add comments explaining the nsvc->sns_only field In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23416 ) Change subject: gprs_ns2: Add comments explaining the nsvc->sns_only field ...................................................................... Patch Set 3: sns_only is a NS-VC which is only used as initial endpoint to configure it. E.g. SNS auto-configuration BSS connects to SGSN/10.0.0.1 BSS -> SGSN SIZE [..] BSS <- SGSN SNS-Config my endpoints are 10.1.1.1, 10.2.2.2 So 10.0.0.1 is not annouced by the SGSN as endpoint and must be removed after the SNS process succeeds. For this reason the NS-VC has sns_only = true. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23416 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I16009a1b03d8027de2be56b7d5013b755c9550fd Gerrit-Change-Number: 23416 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 13:38:05 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 23 13:41:09 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 23 Mar 2021 13:41:09 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/PCUIF_Types: get rid of version 9 compatibility glue In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23460 ) Change subject: library/PCUIF_Types: get rid of version 9 compatibility glue ...................................................................... library/PCUIF_Types: get rid of version 9 compatibility glue Change-Id: Ia9f366ca1fdad700a90ca3367e43523f7bac39a1 Related: OS#5083 --- M bts/BTS_Tests.ttcn M library/PCUIF_Types.ttcn M pcu/PCUIF_Components.ttcn M pcu/PCU_Tests.ttcn 4 files changed, 95 insertions(+), 194 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 1e96dcb..2dc6635 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -5687,7 +5687,7 @@ for (var integer i := 0; i < mp_transceiver_num; i := i + 1) { for (var integer tn := 0; tn < 8; tn := tn + 1) { - if (info_ind.trx.v10[i].pdch_mask[tn] != '1'B) { + if (info_ind.trx[i].pdch_mask[tn] != '1'B) { /* Skip inactive timeslots */ continue; } @@ -5708,7 +5708,7 @@ tr_ts := tr_PCUIF_InfoTrxTsH0; } - var PCUIF_InfoTrxTs ts := info_ind.trx.v10[i].ts[tn]; + var PCUIF_InfoTrxTs ts := info_ind.trx[i].ts[tn]; log("Checking timeslot #", tn, " of trx#", i, ": ", ts); if (not match(ts, tr_ts)) { setverdict(fail, "Hopping parameters do not match: ", @@ -5720,7 +5720,7 @@ } } -/* Verify IPv4 NSVC address in the INFO.ind message (version >= 10) */ +/* Verify IPv4 NSVC address in the INFO.ind message */ testcase TC_pcu_socket_nsvc_ipv4() runs on test_CT { f_init_vty_bsc(); f_vty_config2(BSCVTY, {"network", "bts 0"} , "gprs nsvc 0 remote ip 127.127.127.127"); @@ -5729,23 +5729,19 @@ f_init(); var PCUIF_RemoteAddr remote_addr := g_pcu_last_info.u.info_ind.remote_addr; - if (not ischosen(remote_addr.v10)) { - Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, - log2str("Unexpected remote_addr: ", remote_addr)); - } + var template PCUIF_RemoteAddr tr_remote_addr := { + addr_type := { PCUIF_ADDR_TYPE_IPV4, ? }, + addr := { f_inet_addr("127.127.127.127"), ? } + }; - if (remote_addr.v10.addr_type[0] != PCUIF_ADDR_TYPE_IPV4) { - setverdict(fail, "Received address family is not IPv4"); - } - - if (substr(remote_addr.v10.addr[0], 0, 4) != f_inet_addr("127.127.127.127")) { - setverdict(fail, "Unexpected address: ", remote_addr.v10.addr[0]); + if (not match(remote_addr, tr_remote_addr)) { + setverdict(fail, "NSVC address ", remote_addr, " does not match ", tr_remote_addr); } setverdict(pass); } -/* Verify IPv4 NSVC address in the INFO.ind message (version >= 10) */ +/* Verify IPv4 NSVC address in the INFO.ind message */ testcase TC_pcu_socket_nsvc_ipv6() runs on test_CT { f_init_vty_bsc(); f_vty_config2(BSCVTY, {"network", "bts 0"} , "gprs nsvc 0 remote ip fd00::ca:ff:ee"); @@ -5753,17 +5749,13 @@ f_init(); var PCUIF_RemoteAddr remote_addr := g_pcu_last_info.u.info_ind.remote_addr; - if (not ischosen(remote_addr.v10)) { - Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, - log2str("Unexpected remote_addr: ", remote_addr)); - } + var template PCUIF_RemoteAddr tr_remote_addr := { + addr_type := { PCUIF_ADDR_TYPE_IPV6, ? }, + addr := { f_inet6_addr("fd00::ca:ff:ee"), ? } + }; - if (remote_addr.v10.addr_type[0] != PCUIF_ADDR_TYPE_IPV6) { - setverdict(fail, "Received address family is not IPv6"); - } - - if (remote_addr.v10.addr[0] != f_inet6_addr("fd00::ca:ff:ee")) { - setverdict(fail, "Unexpected address: ", remote_addr.v10.addr[0]); + if (not match(remote_addr, tr_remote_addr)) { + setverdict(fail, "NSVC address ", remote_addr, " does not match ", tr_remote_addr); } setverdict(pass); @@ -5779,7 +5771,7 @@ var PCUIF_send_data sd; [] PCU.receive(t_SD_PCUIF(pcu_conn_id, tr_PCUIF_INFO_IND(bts_nr, ?))) -> value sd { - var BIT8 pdch_mask := f_PCUIF_ver_INFO_PDCHMask_get(sd.data.u.info_ind, trx_nr); + var BIT8 pdch_mask := sd.data.u.info_ind.trx[trx_nr].pdch_mask; if (substr(pdch_mask, g_chan_nr.tn, 1) != exp) { repeat; } @@ -7358,12 +7350,9 @@ execute( TC_dyn_osmo_pdch_double_act() ); execute( TC_dyn_ipa_pdch_act_deact() ); execute( TC_dyn_ipa_pdch_act_tchf_act_nack() ); - - if (PCUIF_Types.mp_pcuif_version >= 10) { - execute( TC_pcu_info_ind_fh_params() ); - execute( TC_pcu_socket_nsvc_ipv4() ); - execute( TC_pcu_socket_nsvc_ipv6() ); - } + execute( TC_pcu_info_ind_fh_params() ); + execute( TC_pcu_socket_nsvc_ipv4() ); + execute( TC_pcu_socket_nsvc_ipv6() ); } else { log("PCU socket path not available, skipping PCU tests"); } diff --git a/library/PCUIF_Types.ttcn b/library/PCUIF_Types.ttcn index 96b2bac..2216a0e 100644 --- a/library/PCUIF_Types.ttcn +++ b/library/PCUIF_Types.ttcn @@ -153,30 +153,14 @@ } with { variant (ma) "BYTEORDER(first), BITORDER(msb)" }; private type record length(8) of PCUIF_InfoTrxTs PCUIF_InfoTrxTsList; -/* Version >= 10 specific coding */ -private type record PCUIF_InfoV10Trx { +private type record PCUIF_InfoTrx { uint16_t arfcn, BIT8 pdch_mask, OCT1 spare, uint32_t hLayer1, PCUIF_InfoTrxTsList ts } with { variant (pdch_mask) "BITORDER(msb)" }; -type record length(8) of PCUIF_InfoV10Trx PCUIF_InfoV10TrxList; - -/* Version <= 9 specific coding */ -private type record PCUIF_InfoV09Trx { - uint16_t arfcn, - BIT8 pdch_mask, - OCT1 spare, - OCT8 tsc, - uint32_t hLayer1 -} with { variant (pdch_mask) "BITORDER(msb)" }; -private type record length(8) of PCUIF_InfoV09Trx PCUIF_InfoV09TrxList; - -type union PCUIF_InfoTrxs { - PCUIF_InfoV09TrxList v09, - PCUIF_InfoV10TrxList v10 -} with { variant "" }; +type record length(8) of PCUIF_InfoTrx PCUIF_InfoTrxs; type record PCUIF_info_ind { uint32_t version, @@ -216,20 +200,6 @@ record length(2) of uint16_t local_port, record length(2) of uint16_t remote_port, PCUIF_RemoteAddr remote_addr -} with { - /* NOTE: TITAN is not smart enough to handle 'version < 10' and 'version > 9', - * so we cannot support more than two versions at the same time here. Sigh. */ - variant (trx) "CROSSTAG(v09, version = 9; v10, version = 10)" - variant (remote_addr) "CROSSTAG(v09, version = 9; v10, version = 10)" -}; - -type union PCUIF_RemoteAddr { - PCUIF_RemoteAddrV09 v09, - PCUIF_RemoteAddrV10 v10 -} with { variant "" }; - -type record PCUIF_RemoteAddrV09 { - record length(2) of OCT4 addr } with { variant "" }; type enumerated PCUIF_AddrType { @@ -238,7 +208,7 @@ PCUIF_ADDR_TYPE_IPV6 ('29'O) } with { variant "FIELDLENGTH(8)" }; -type record PCUIF_RemoteAddrV10 { +type record PCUIF_RemoteAddr { record length(2) of PCUIF_AddrType addr_type, record length(2) of octetstring addr length(16) } with { variant "" }; @@ -822,9 +792,10 @@ ma := ma }; -template (value) PCUIF_InfoV10Trx ts_PCUIF_InfoV10Trx(template (value) uint16_t arfcn := 871, - template (value) BIT8 pdch_mask := '00000001'B, - template (value) uint3_t tsc := 7) := { +template (value) PCUIF_InfoTrx +ts_PCUIF_InfoTrx(template (value) uint16_t arfcn := 871, + template (value) BIT8 pdch_mask := '00000001'B, + template (value) uint3_t tsc := 7) := { arfcn := arfcn, pdch_mask := pdch_mask, spare := '00'O, @@ -837,34 +808,16 @@ } }; -template (value) PCUIF_InfoV09Trx ts_PCUIF_InfoV09Trx(template (value) uint16_t arfcn := 871, - template (value) BIT8 pdch_mask := '00000001'B, - OCT1 tsc := '07'O) := { - arfcn := arfcn, - pdch_mask := pdch_mask, - spare := '00'O, - tsc := tsc & tsc & tsc & tsc & tsc & tsc & tsc & tsc, - hLayer1 := 0 -} - -template (value) PCUIF_InfoV09Trx ts_PCUIF_InfoV09TrxNULL := ts_PCUIF_InfoV09Trx(0, '00000000'B, '00'O); - -template (value) PCUIF_InfoTrxs ts_PCUIF_InfoV09Trxs_def(uint16_t base_arfcn) := { - v09 := { - ts_PCUIF_InfoV09Trx(arfcn := base_arfcn + 0), ts_PCUIF_InfoV09TrxNULL, - ts_PCUIF_InfoV09TrxNULL, ts_PCUIF_InfoV09TrxNULL, - ts_PCUIF_InfoV09TrxNULL, ts_PCUIF_InfoV09TrxNULL, - ts_PCUIF_InfoV09TrxNULL, ts_PCUIF_InfoV09TrxNULL - } -}; - -template (value) PCUIF_InfoTrxs ts_PCUIF_InfoV10Trxs_def(uint16_t base_arfcn) := { - v10 := { - ts_PCUIF_InfoV10Trx(arfcn := base_arfcn + 0), ts_PCUIF_InfoV10Trx(arfcn := base_arfcn + 1), - ts_PCUIF_InfoV10Trx(arfcn := base_arfcn + 2), ts_PCUIF_InfoV10Trx(arfcn := base_arfcn + 3), - ts_PCUIF_InfoV10Trx(arfcn := base_arfcn + 4), ts_PCUIF_InfoV10Trx(arfcn := base_arfcn + 5), - ts_PCUIF_InfoV10Trx(arfcn := base_arfcn + 6), ts_PCUIF_InfoV10Trx(arfcn := base_arfcn + 7) - } +template (value) PCUIF_InfoTrxs +ts_PCUIF_InfoTrxs_def(uint16_t base_arfcn) := { + ts_PCUIF_InfoTrx(arfcn := base_arfcn + 0), + ts_PCUIF_InfoTrx(arfcn := base_arfcn + 1), + ts_PCUIF_InfoTrx(arfcn := base_arfcn + 2), + ts_PCUIF_InfoTrx(arfcn := base_arfcn + 3), + ts_PCUIF_InfoTrx(arfcn := base_arfcn + 4), + ts_PCUIF_InfoTrx(arfcn := base_arfcn + 5), + ts_PCUIF_InfoTrx(arfcn := base_arfcn + 6), + ts_PCUIF_InfoTrx(arfcn := base_arfcn + 7) }; template (value) PCUIF_Message ts_PCUIF_INFO_IND(template (value) uint8_t bts_nr, @@ -1005,39 +958,12 @@ } -/* TODO: remove this as soon as we drop version 9 support */ -function f_PCUIF_ver_INFO_Trxs(uint16_t base_arfcn) -return PCUIF_InfoTrxs { - if (PCUIF_Types.mp_pcuif_version >= 10) { - return valueof(ts_PCUIF_InfoV10Trxs_def(base_arfcn)); - } else { - return valueof(ts_PCUIF_InfoV09Trxs_def(base_arfcn)); - } -} - -function f_PCUIF_ver_INFO_PDCHMask_get(in PCUIF_info_ind info, uint8_t trx_nr) -return BIT8 { - if (PCUIF_Types.mp_pcuif_version >= 10) { - return info.trx.v10[trx_nr].pdch_mask; - } else { - return info.trx.v09[trx_nr].pdch_mask; - } -} - -function f_PCUIF_ver_INFO_PDCHMask_set(inout PCUIF_info_ind info, BIT8 pdch_mask, - template (present) uint8_t trx_nr := ?) +function f_PCUIF_PDCHMask_set(inout PCUIF_info_ind info, BIT8 pdch_mask, + template (present) uint8_t trx_nr := ?) { - if (PCUIF_Types.mp_pcuif_version >= 10) { - for (var integer nr := 0; nr < lengthof(info.trx.v10); nr := nr + 1) { - if (match(nr, trx_nr)) { - info.trx.v10[nr].pdch_mask := pdch_mask; - } - } - } else { - for (var integer nr := 0; nr < lengthof(info.trx.v09); nr := nr + 1) { - if (match(nr, trx_nr)) { - info.trx.v09[nr].pdch_mask := pdch_mask; - } + for (var integer nr := 0; nr < lengthof(info.trx); nr := nr + 1) { + if (match(nr, trx_nr)) { + info.trx[nr].pdch_mask := pdch_mask; } } } @@ -1054,31 +980,21 @@ } /* TODO: second (redundant) NSVC connection is not (yet) supported */ -function f_PCUIF_ver_INFO_RemoteAddr(PCUIF_AddrType addr_type, - charstring addr) +function f_PCUIF_RemoteAddr(PCUIF_AddrType addr_type, + charstring addr_str) return PCUIF_RemoteAddr { var PCUIF_RemoteAddr remote_addr; - if (PCUIF_Types.mp_pcuif_version >= 10) { - remote_addr.v10.addr_type[0] := addr_type; - if (addr_type == PCUIF_ADDR_TYPE_IPV4) { - remote_addr.v10.addr[0] := f_inet_addr(addr); - } else { - remote_addr.v10.addr[0] := f_inet6_addr(addr); - } - remote_addr.v10.addr_type[1] := PCUIF_ADDR_TYPE_UNSPEC; - remote_addr.v10.addr[1] := f_pad_oct(''O, 16, '00'O); + remote_addr.addr_type[0] := addr_type; + if (addr_type == PCUIF_ADDR_TYPE_IPV4) { + remote_addr.addr[0] := f_inet_addr(addr_str); } else { - if (addr_type != PCUIF_ADDR_TYPE_IPV4) { - testcase.stop("NSVC address type := ", addr_type, - "is not supported in version := ", - PCUIF_Types.mp_pcuif_version); - } - /* v9 requires the IP in host byte order */ - remote_addr.v09.addr[0] := f_inet_haddr(addr); - remote_addr.v09.addr[1] := f_pad_oct(''O, 4, '00'O); + remote_addr.addr[0] := f_inet6_addr(addr_str); } + remote_addr.addr_type[1] := PCUIF_ADDR_TYPE_UNSPEC; + remote_addr.addr[1] := f_pad_oct(''O, 16, '00'O); + return remote_addr; } diff --git a/pcu/PCUIF_Components.ttcn b/pcu/PCUIF_Components.ttcn index 27cf56d..6a24ed6 100644 --- a/pcu/PCUIF_Components.ttcn +++ b/pcu/PCUIF_Components.ttcn @@ -350,19 +350,18 @@ runs on RAW_PCU_BTS_CT { var PCUIF_Message pcu_msg; - var PCUIF_InfoV10TrxList trx_list := g_info_ind.trx.v10; /* Find an active TS: */ for (var uint8_t ts_nr := 0; ts_nr < 8; ts_nr := ts_nr + 1) { - for (var integer trx_nr := 0; trx_nr < lengthof(trx_list); trx_nr := trx_nr + 1) { - if (trx_list[trx_nr].pdch_mask[ts_nr] == '0'B) { + for (var integer trx_nr := 0; trx_nr < lengthof(g_info_ind.trx); trx_nr := trx_nr + 1) { + if (g_info_ind.trx[trx_nr].pdch_mask[ts_nr] == '0'B) { continue; /* TRX+TS not activated */ } /* Send empty DATA.ind to set up FN */ pcu_msg := valueof(ts_PCUIF_DATA_IND(bts_nr, trx_nr, ts_nr, 0 /* FIXME */, PCU_IF_SAPI_PDTCH, ''O, start_fn, - trx_list[trx_nr].arfcn, + g_info_ind.trx[trx_nr].arfcn, rssi := -80, ber10k := 0, ta_offs_qbits := 0, lqual_cb := 10)); PCUIF.send(pcu_msg); @@ -377,12 +376,11 @@ { var PCUIF_Message pcu_msg; var boolean has_msg, use_msg; - var PCUIF_InfoV10TrxList trx_list := g_info_ind.trx.v10; for (var uint8_t ts_nr := 0; ts_nr < 8; ts_nr := ts_nr + 1) { - for (var integer trx_nr := 0; trx_nr < lengthof(trx_list); trx_nr := trx_nr + 1) { + for (var integer trx_nr := 0; trx_nr < lengthof(g_info_ind.trx); trx_nr := trx_nr + 1) { //var charstring prefix := "BTS=" & int2str(bts_nr) & ",TRX=" & int2str(trx_nr) & ",TS=" & int2str(ts_nr) & ",FN=" & int2str(fn) & ": "; - if (trx_list[trx_nr].pdch_mask[ts_nr] == '0'B) { + if (g_info_ind.trx[trx_nr].pdch_mask[ts_nr] == '0'B) { //log(prefix, "disabled"); continue; /* TRX+TS not activated */ } @@ -406,7 +404,7 @@ /* NOPE.ind: */ pcu_msg := valueof(ts_PCUIF_DATA_IND(bts_nr, trx_nr, ts_nr, 0 /* FIXME */, PCU_IF_SAPI_PDTCH, ''O, fn, - trx_list[trx_nr].arfcn, + g_info_ind.trx[trx_nr].arfcn, rssi := -80, ber10k := 0, ta_offs_qbits := 0, lqual_cb := 10)); //log(prefix, "DATA.ind (len=0)"); diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index cac423a..bea9ddd 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -79,7 +79,7 @@ := { version := PCUIF_Types.mp_pcuif_version, flags := flags, - trx := f_PCUIF_ver_INFO_Trxs(GPRS_Components.mp_base_arfcn), + trx := ts_PCUIF_InfoTrxs_def(GPRS_Components.mp_base_arfcn), bsic := 7, mcc := 262, mnc := 42, @@ -109,7 +109,7 @@ nsvci := { mp_nsconfig.nsvc[0].nsvci, 0 }, local_port := { mp_nsconfig.nsvc[0].provider.ip.remote_udp_port, 0 }, remote_port := { mp_nsconfig.nsvc[0].provider.ip.local_udp_port, 0 }, - remote_addr := f_PCUIF_ver_INFO_RemoteAddr( + remote_addr := f_PCUIF_RemoteAddr( f_PCUIF_AF2addr_type(mp_nsconfig.nsvc[0].provider.ip.address_family), mp_nsconfig.nsvc[0].provider.ip.local_ip) } @@ -2644,8 +2644,8 @@ ms := g_ms[0]; /* We only use first MS in this test */ /* Only 1 TRX with 8 PDCH */ - f_PCUIF_ver_INFO_PDCHMask_set(info_ind, '11111111'B, 0); - f_PCUIF_ver_INFO_PDCHMask_set(info_ind, '00000000'B, (1 .. 7)); + f_PCUIF_PDCHMask_set(info_ind, '11111111'B, 0); + f_PCUIF_PDCHMask_set(info_ind, '00000000'B, (1 .. 7)); /* Initialize the PCU interface abstraction */ f_init_raw(testcasename(), info_ind); @@ -2703,8 +2703,8 @@ ms := g_ms[0]; /* We only use first MS in this test */ /* Only 1 TRX with 8 PDCH */ - f_PCUIF_ver_INFO_PDCHMask_set(info_ind, '11111111'B, 0); - f_PCUIF_ver_INFO_PDCHMask_set(info_ind, '00000000'B, (1 .. 7)); + f_PCUIF_PDCHMask_set(info_ind, '11111111'B, 0); + f_PCUIF_PDCHMask_set(info_ind, '00000000'B, (1 .. 7)); /* Initialize the PCU interface abstraction */ f_init_raw(testcasename(), info_ind); @@ -2752,8 +2752,8 @@ ms := g_ms[0]; /* We only use first MS in this test */ /* Only 1 TRX with 8 PDCH */ - f_PCUIF_ver_INFO_PDCHMask_set(info_ind, '11111111'B, 0); - f_PCUIF_ver_INFO_PDCHMask_set(info_ind, '00000000'B, (1 .. 7)); + f_PCUIF_PDCHMask_set(info_ind, '11111111'B, 0); + f_PCUIF_PDCHMask_set(info_ind, '00000000'B, (1 .. 7)); /* Initialize the PCU interface abstraction */ f_init_raw(testcasename(), info_ind); @@ -3378,8 +3378,8 @@ info_ind := valueof(ts_PCUIF_INFO_default); /* Only the first TRX is enabled. */ - f_PCUIF_ver_INFO_PDCHMask_set(info_ind, '00000000'B, (1 .. 7)); - f_PCUIF_ver_INFO_PDCHMask_set(info_ind, '00000001'B, 0); + f_PCUIF_PDCHMask_set(info_ind, '00000000'B, (1 .. 7)); + f_PCUIF_PDCHMask_set(info_ind, '00000001'B, 0); /* Initialize the PCU interface abstraction */ f_init_raw(testcasename(), info_ind); @@ -3425,7 +3425,7 @@ in GsmRrMessage rr_msg) { var ImmediateAssignment ia := rr_msg.payload.imm_ass; - var PCUIF_InfoTrxTs ts := info_ind.trx.v10[0].ts[ia.pkt_chan_desc.tn]; + var PCUIF_InfoTrxTs ts := info_ind.trx[0].ts[ia.pkt_chan_desc.tn]; var template PacketChannelDescription tr_pkt_chan_desc := { channel_Type_spare := ?, @@ -3465,7 +3465,7 @@ var GprsMS ms := valueof(t_GprsMS_def); /* Enable frequency hopping on TRX0/TS7 */ - info_ind.trx.v10[0].ts[7] := f_TC_pcuif_fh_params_gen(32); + info_ind.trx[0].ts[7] := f_TC_pcuif_fh_params_gen(32); /* Initialize the PCU interface abstraction */ f_init_raw(testcasename(), info_ind); @@ -3486,7 +3486,7 @@ var GprsMS ms := valueof(t_GprsMS_def); /* Enable frequency hopping on TRX0/TS7 */ - info_ind.trx.v10[0].ts[7] := f_TC_pcuif_fh_params_gen(32); + info_ind.trx[0].ts[7] := f_TC_pcuif_fh_params_gen(32); /* Initialize the PCU interface abstraction */ f_init_raw(testcasename(), info_ind); @@ -3504,7 +3504,7 @@ var GprsMS ms := valueof(t_GprsMS_def); /* Enable frequency hopping on TRX0/TS7 */ - info_ind.trx.v10[0].ts[7] := f_TC_pcuif_fh_params_gen(16); + info_ind.trx[0].ts[7] := f_TC_pcuif_fh_params_gen(16); /* Initialize NS/BSSGP side */ f_init_bssgp(); @@ -3528,7 +3528,7 @@ in FrequencyParameters fp) { /* FIXME: TRX0/TS7 is a hard-coded expectation, make it configurable */ - var PCUIF_InfoTrxTs ts := info_ind.trx.v10[0].ts[7]; + var PCUIF_InfoTrxTs ts := info_ind.trx[0].ts[7]; /* Table 12.8.1: Frequency Parameters information elements */ var template FrequencyParameters tr_fp := { @@ -3566,7 +3566,7 @@ var uint32_t poll_fn; /* Enable frequency hopping on TRX0/TS7 */ - info_ind.trx.v10[0].ts[7] := f_TC_pcuif_fh_params_gen(33); + info_ind.trx[0].ts[7] := f_TC_pcuif_fh_params_gen(33); /* Initialize the PCU interface abstraction */ f_init_raw(testcasename(), info_ind); @@ -3608,7 +3608,7 @@ var uint32_t poll_fn; /* Enable frequency hopping on TRX0/TS7 */ - info_ind.trx.v10[0].ts[7] := f_TC_pcuif_fh_params_gen(33); + info_ind.trx[0].ts[7] := f_TC_pcuif_fh_params_gen(33); /* Initialize NS/BSSGP side */ f_init_bssgp(); @@ -3678,10 +3678,10 @@ info_ind := valueof(ts_PCUIF_INFO_default(c_PCUIF_Flags_noMCS)); /* Only the 3 first TRX are enabled. The enabled ones all have same amount of resources, hence same amount of initial resources. */ - f_PCUIF_ver_INFO_PDCHMask_set(info_ind, '00000000'B, (3 .. 7)); - f_PCUIF_ver_INFO_PDCHMask_set(info_ind, '00000011'B, 0); - f_PCUIF_ver_INFO_PDCHMask_set(info_ind, '00001100'B, 1); - f_PCUIF_ver_INFO_PDCHMask_set(info_ind, '11000000'B, 2); + f_PCUIF_PDCHMask_set(info_ind, '00000000'B, (3 .. 7)); + f_PCUIF_PDCHMask_set(info_ind, '00000011'B, 0); + f_PCUIF_PDCHMask_set(info_ind, '00001100'B, 1); + f_PCUIF_PDCHMask_set(info_ind, '11000000'B, 2); /* Initialize the PCU interface abstraction */ f_init_raw(testcasename(), info_ind); @@ -3695,9 +3695,9 @@ /* Check if all TBFs are allocated on different TRX in an uniform way */ for (i := 0; i < num_ms; i := i + 1) { - if (g_ms[i].ul_tbf.arfcn != info_ind.trx.v10[i mod 3].arfcn) { + if (g_ms[i].ul_tbf.arfcn != info_ind.trx[i mod 3].arfcn) { setverdict(fail, "Got assigned ARFCN ", g_ms[i].ul_tbf.arfcn, - " vs exp ", info_ind.trx.v10[i mod 3].arfcn); + " vs exp ", info_ind.trx[i mod 3].arfcn); f_shutdown(__BFILE__, __LINE__); } } @@ -3728,8 +3728,8 @@ info_ind := valueof(ts_PCUIF_INFO_default); /* Only use 1 PDCH to make sure both end up in the same slot: */ - f_PCUIF_ver_INFO_PDCHMask_set(info_ind, '00000001'B, 0); - f_PCUIF_ver_INFO_PDCHMask_set(info_ind, '00000000'B, (1 .. 7)); + f_PCUIF_PDCHMask_set(info_ind, '00000001'B, 0); + f_PCUIF_PDCHMask_set(info_ind, '00000000'B, (1 .. 7)); /* Initialize the PCU interface abstraction */ f_init_raw(testcasename(), info_ind); @@ -3929,7 +3929,7 @@ f_init_bssgp(); /* Explicitly set the given PDCH slot-mask to all transceivers */ - f_PCUIF_ver_INFO_PDCHMask_set(info_ind, pdch_mask); + f_PCUIF_PDCHMask_set(info_ind, pdch_mask); /* Allocate 56 GprsMS instances (maximum for 8 PDCH slots) */ f_init_gprs_ms(7 * 8); @@ -5679,20 +5679,18 @@ execute( TC_mo_ping_pong_with_ul_racap_egprs_only() ); - /* Frequency hopping specific test cases */ - if (PCUIF_Types.mp_pcuif_version >= 10) { - /* Immediate Assignment on AGCH/PCH */ - execute( TC_pcuif_fh_imm_ass_ul_egprs() ); - execute( TC_pcuif_fh_imm_ass_ul() ); - execute( TC_pcuif_fh_imm_ass_dl() ); - /* Packet Uplink/Downlink Assignment on PACCH */ - execute( TC_pcuif_fh_pkt_ass_ul() ); - execute( TC_pcuif_fh_pkt_ass_dl() ); - execute( TC_multitrx_multims_alloc() ); - execute( TC_dl_multislot_tbf_ms_class_from_sgsn() ); - execute( TC_dl_multislot_tbf_ms_class_from_2phase() ); - execute( TC_ul_multislot_tbf_ms_class_from_2phase() ); - } + /* Immediate Assignment on AGCH/PCH */ + execute( TC_pcuif_fh_imm_ass_ul_egprs() ); + execute( TC_pcuif_fh_imm_ass_ul() ); + execute( TC_pcuif_fh_imm_ass_dl() ); + /* Packet Uplink/Downlink Assignment on PACCH */ + execute( TC_pcuif_fh_pkt_ass_ul() ); + execute( TC_pcuif_fh_pkt_ass_dl() ); + execute( TC_multitrx_multims_alloc() ); + execute( TC_dl_multislot_tbf_ms_class_from_sgsn() ); + execute( TC_dl_multislot_tbf_ms_class_from_2phase() ); + execute( TC_ul_multislot_tbf_ms_class_from_2phase() ); + execute( TC_multiplex_dl_gprs_egprs() ); execute( TC_pcuif_info_ind_subsequent() ); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23460 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ia9f366ca1fdad700a90ca3367e43523f7bac39a1 Gerrit-Change-Number: 23460 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 Mar 23 13:41:10 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 23 Mar 2021 13:41:10 +0000 Subject: Change in osmo-ttcn3-hacks[master]: library/PCUIF_Types: use PADDING attribute for 'PCUIF_Message' In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23461 ) Change subject: library/PCUIF_Types: use PADDING attribute for 'PCUIF_Message' ...................................................................... library/PCUIF_Types: use PADDING attribute for 'PCUIF_Message' PCUIFv9 compatibility has been dropped in [1], so now we can tell TITAN's RAW codec what kind of padding to expect in received messages and to append to encoded messages. This eliminates thousands of warnings about unhandled tail octets. Change-Id: Id5ab587f7984a91f3603efc5d427aa4cb4fa6757 Related: [1] Ia9f366ca1fdad700a90ca3367e43523f7bac39a1 Related: OS#5083 --- M library/PCUIF_CodecPort.ttcn M library/PCUIF_Types.ttcn 2 files changed, 3 insertions(+), 23 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/PCUIF_CodecPort.ttcn b/library/PCUIF_CodecPort.ttcn index 0411c39..4b2a8ce 100644 --- a/library/PCUIF_CodecPort.ttcn +++ b/library/PCUIF_CodecPort.ttcn @@ -23,7 +23,7 @@ private function PCUIF_to_UD(in PCUIF_send_data pin, out UD_send_data pout) { pout.id := pin.id; - pout.data := enc_pad_PCUIF_Message(pin.data); + pout.data := enc_PCUIF_Message(pin.data); } with { extension "prototype(fast)" }; private function fix_padding(inout PCUIF_data data) { diff --git a/library/PCUIF_Types.ttcn b/library/PCUIF_Types.ttcn index 2216a0e..b259cfc 100644 --- a/library/PCUIF_Types.ttcn +++ b/library/PCUIF_Types.ttcn @@ -18,8 +18,6 @@ modulepar { /* PCUIF version supported by the IUT */ PCUIF_Version mp_pcuif_version := 10; - /* Whether to pad outgoing messages */ - boolean mp_pcuif_padding := true; }; const charstring PCU_SOCK_DEFAULT := "/tmp/pcu_bts"; @@ -282,6 +280,8 @@ time_ind, msg_type = PCU_IF_MSG_TIME_IND; pag_req, msg_type = PCU_IF_MSG_PAG_REQ; app_info_req, msg_type = PCU_IF_MSG_APP_INFO_REQ)" + /* PCUIFv10: 1006 * 8 = 8048 bits */ + variant "PADDING(8048)" }; external function enc_PCUIF_Message(in PCUIF_Message pdu) return octetstring @@ -289,26 +289,6 @@ external function dec_PCUIF_Message(in octetstring stream) return PCUIF_Message with { extension "prototype(convert) decode(RAW)" }; -function enc_pad_PCUIF_Message(in PCUIF_Message pdu) -return octetstring { - var octetstring stream; - var integer len; - - stream := enc_PCUIF_Message(pdu); - if (not mp_pcuif_padding) { - return stream; - } - - select (mp_pcuif_version) { - case (9) { len := 212; } - /* FIXME: 1006 % 4 > 0 (alignment) */ - case (10) { len := 1006; } - case else { len := 0; } - } - - return f_pad_oct(stream, len, '00'O); -} - /* Generic template for matching messages by type and/or the BTS number */ template PCUIF_Message tr_PCUIF_MSG(template PCUIF_MsgType msg_type := ?, -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23461 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id5ab587f7984a91f3603efc5d427aa4cb4fa6757 Gerrit-Change-Number: 23461 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 Mar 23 13:41:10 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 23 Mar 2021 13:41:10 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests: add a test case verifying coding of two NSVCs in INFO.ind In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23462 ) Change subject: BTS_Tests: add a test case verifying coding of two NSVCs in INFO.ind ...................................................................... BTS_Tests: add a test case verifying coding of two NSVCs in INFO.ind Change-Id: Id11094774d737a545a2cce389059d7e527219573 --- M bts/BTS_Tests.ttcn 1 file changed, 36 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 2dc6635..a18777a 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -5761,6 +5761,41 @@ setverdict(pass); } +/* Verify coding of two NSVCs in the INFO.ind message */ +testcase TC_pcu_socket_two_nsvc() runs on test_CT { + f_init_vty_bsc(); + + f_vty_config2(BSCVTY, {"network", "bts 0"} , "gprs nsvc 0 nsvci 1234"); + f_vty_config2(BSCVTY, {"network", "bts 0"} , "gprs nsvc 0 local udp port 1234"); + f_vty_config2(BSCVTY, {"network", "bts 0"} , "gprs nsvc 0 remote ip 127.127.127.127"); + f_vty_config2(BSCVTY, {"network", "bts 0"} , "gprs nsvc 0 remote udp port 1234"); + + f_vty_config2(BSCVTY, {"network", "bts 0"} , "gprs nsvc 1 nsvci 5678"); + f_vty_config2(BSCVTY, {"network", "bts 0"} , "gprs nsvc 1 local udp port 5678"); + f_vty_config2(BSCVTY, {"network", "bts 0"} , "gprs nsvc 1 remote ip fd00::ca:ff:ee"); + f_vty_config2(BSCVTY, {"network", "bts 0"} , "gprs nsvc 1 remote udp port 5678"); + + f_init_pcu_test(); + + var PCUIF_info_ind info_ind := g_pcu_last_info.u.info_ind; + var PCUIF_RemoteAddr remote_addr := info_ind.remote_addr; + var template PCUIF_RemoteAddr tr_remote_addr := { + addr_type := { PCUIF_ADDR_TYPE_IPV4, PCUIF_ADDR_TYPE_IPV6 }, + addr := { f_inet_addr("127.127.127.127"), f_inet6_addr("fd00::ca:ff:ee") } + }; + + if (not match(info_ind.nsvci, { 1234, 5678 })) + { setverdict(fail, "NSVCI ", info_ind.nsvci, " does not match { 1234, 5678 }"); } + if (not match(remote_addr, tr_remote_addr)) + { setverdict(fail, "NSVC address ", remote_addr, " does not match ", tr_remote_addr); } + if (not match(info_ind.local_port, { 1234, 5678 })) + { setverdict(fail, "NSVC lport ", info_ind.local_port, " does not match { 1234, 5678 }"); } + if (not match(info_ind.remote_port, { 1234, 5678 })) + { setverdict(fail, "NSVC rport ", info_ind.remote_port, " does not match { 1234, 5678 }"); } + + setverdict(pass); +} + /*********************************************************************** * Osmocom Style Dynamic Timeslot Support ***********************************************************************/ @@ -7353,6 +7388,7 @@ execute( TC_pcu_info_ind_fh_params() ); execute( TC_pcu_socket_nsvc_ipv4() ); execute( TC_pcu_socket_nsvc_ipv6() ); + execute( TC_pcu_socket_two_nsvc() ); } else { log("PCU socket path not available, skipping PCU tests"); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23462 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id11094774d737a545a2cce389059d7e527219573 Gerrit-Change-Number: 23462 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 Mar 23 13:41:11 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 23 Mar 2021 13:41:11 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests: cosmetic: s/f_init_pcu_test/f_init_with_pcuif/ In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23464 ) Change subject: BTS_Tests: cosmetic: s/f_init_pcu_test/f_init_with_pcuif/ ...................................................................... BTS_Tests: cosmetic: s/f_init_pcu_test/f_init_with_pcuif/ Change-Id: Ic95c46426ed3ac9ead645037059190fead181b31 --- M bts/BTS_Tests.ttcn 1 file changed, 21 insertions(+), 21 deletions(-) Approvals: pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index a18777a..005b1d7 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -4624,42 +4624,42 @@ } } -friend function f_init_pcu_test() runs on test_CT { +friend function f_init_with_pcuif() runs on test_CT { f_init(); PCU.send(t_SD_PCUIF(g_pcu_conn_id, ts_PCUIF_TXT_IND(0, PCU_VERSION, testcasename()))); } /* PDCH activation via PCU socket; check for presence of RTS.req */ testcase TC_pcu_act_req() runs on test_CT { - f_init_pcu_test(); + f_init_with_pcuif(); f_TC_pcu_act_req(0, 0, 7, true); } /* PDCH activation via PCU socket on non-PDCU timeslot */ testcase TC_pcu_act_req_wrong_ts() runs on test_CT { - f_init_pcu_test(); + f_init_with_pcuif(); f_TC_pcu_act_req(0, 0, 1, false); } /* PDCH activation via PCU socket on wrong BTS */ testcase TC_pcu_act_req_wrong_bts() runs on test_CT { - f_init_pcu_test(); + f_init_with_pcuif(); f_TC_pcu_act_req(23, 0, 7, false); } /* PDCH activation via PCU socket on wrong TRX */ testcase TC_pcu_act_req_wrong_trx() runs on test_CT { - f_init_pcu_test(); + f_init_with_pcuif(); f_TC_pcu_act_req(0, 23, 7, false); } /* PDCH deactivation via PCU socket; check for absence of RTS.req */ testcase TC_pcu_deact_req() runs on test_CT { - f_init_pcu_test(); + f_init_with_pcuif(); /* Activate PDCH */ f_TC_pcu_act_req(0, 0, 7, true); @@ -4670,7 +4670,7 @@ /* Attempt to deactivate a PDCH on a non-PDCH timeslot */ testcase TC_pcu_deact_req_wrong_ts() runs on test_CT { - f_init_pcu_test(); + f_init_with_pcuif(); f_TC_pcu_deact_req(0, 0, 1); } @@ -4679,7 +4679,7 @@ function f_TC_pcu_ver_siXX(octetstring si, RSL_IE_SysinfoType rsl_si_type) runs on test_CT { var PCUIF_send_data sd; timer T:= 3.0; - f_init_pcu_test(); + f_init_with_pcuif(); /* Set SI13 via RSL */ f_rsl_bcch_fill_raw(rsl_si_type, si); @@ -4852,7 +4852,7 @@ * support dynamic timeslots? But it uses the same scheduler as osmo-bts-trx ?!? */ f_vty_config2(BSCVTY, {"network", "bts 0", "trx 0", "timeslot 3"}, "phys_chan_config TCH/F"); f_vty_config2(BSCVTY, {"network", "bts 0", "trx 0", "timeslot 4"}, "phys_chan_config TCH/F"); - f_init_pcu_test(); + f_init_with_pcuif(); } private function f_virtphy_common() runs on test_CT { @@ -4926,7 +4926,7 @@ var octetstring data; timer T; - f_init_pcu_test(); + f_init_with_pcuif(); f_init_l1ctl(); f_l1_tune(L1CTL); @@ -4982,7 +4982,7 @@ /* Send AGCH from PCU; check it appears on Um side */ testcase TC_pcu_data_req_agch() runs on test_CT { timer T := 3.0; - f_init_pcu_test(); + f_init_with_pcuif(); f_init_l1ctl(); f_l1_tune(L1CTL); @@ -5004,7 +5004,7 @@ /* Send AGCH from PCU; check it appears on Um side */ testcase TC_pcu_data_req_pch() runs on test_CT { timer T := 3.0; - f_init_pcu_test(); + f_init_with_pcuif(); f_init_l1ctl(); f_l1_tune(L1CTL); @@ -5027,7 +5027,7 @@ /* Send IMM.ASS from PCU for PCH; check it appears on Um side */ testcase TC_pcu_data_req_imm_ass_pch() runs on test_CT { var octetstring imm_ass := f_rnd_octstring(23); - f_init_pcu_test(); + f_init_with_pcuif(); f_init_l1ctl(); f_l1_tune(L1CTL); @@ -5050,7 +5050,7 @@ /* Send RACH from Um side, expect it to show up on PCU socket */ testcase TC_pcu_rach_content() runs on test_CT { - f_init_pcu_test(); + f_init_with_pcuif(); f_init_l1ctl(); f_l1_tune(L1CTL); @@ -5091,7 +5091,7 @@ var GsmFrameNumber fn; var BIT11 ra11; - f_init_pcu_test(); + f_init_with_pcuif(); f_init_l1ctl(); f_l1_tune(L1CTL); @@ -5188,7 +5188,7 @@ /* Verify C/I (Carrier-to-Interference ratio) processing of PDTCH frames */ testcase TC_pcu_data_ind_lqual_cb() runs on test_CT { - f_init_pcu_test(); + f_init_with_pcuif(); PCU.clear; f_init_l1ctl(); @@ -5217,7 +5217,7 @@ /* Send PAGING via RSL, expect it to shw up on PCU socket */ testcase TC_pcu_paging_from_rsl() runs on test_CT { - f_init_pcu_test(); + f_init_with_pcuif(); for (var integer i := 0; i < 100; i := i+1) { var MobileIdentityLV mi_lv; @@ -5262,7 +5262,7 @@ var float test_duration := 5.0; timer T; - f_init_pcu_test(); + f_init_with_pcuif(); f_TC_pcu_act_req(0, 0, 7, true); PCU.clear; @@ -5316,7 +5316,7 @@ var float test_duration := 5.0; timer T; - f_init_pcu_test(); + f_init_with_pcuif(); f_TC_pcu_act_req(0, 0, 7, true); PCU.clear; @@ -5388,7 +5388,7 @@ var float test_duration := 5.0; timer T; - f_init_pcu_test(); + f_init_with_pcuif(); f_TC_pcu_act_req(0, 0, 7, true); /* re-connect CTRL port from BTS to BSC */ @@ -5775,7 +5775,7 @@ f_vty_config2(BSCVTY, {"network", "bts 0"} , "gprs nsvc 1 remote ip fd00::ca:ff:ee"); f_vty_config2(BSCVTY, {"network", "bts 0"} , "gprs nsvc 1 remote udp port 5678"); - f_init_pcu_test(); + f_init_with_pcuif(); var PCUIF_info_ind info_ind := g_pcu_last_info.u.info_ind; var PCUIF_RemoteAddr remote_addr := info_ind.remote_addr; -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23464 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ic95c46426ed3ac9ead645037059190fead181b31 Gerrit-Change-Number: 23464 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 23 13:41:11 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 23 Mar 2021 13:41:11 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests: do not connect to PCUIF socket if not used In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23465 ) Change subject: BTS_Tests: do not connect to PCUIF socket if not used ...................................................................... BTS_Tests: do not connect to PCUIF socket if not used The PCUIF connection involves a lot of frequent messages, such as the TIME.ind and since recently DATA.ind with len=0. As a result, the test suite logs are getting unreadable due to lots of coding warnings and port queueing notifications. This change is aimed to improve the situation a bit, by establishing the PCUIF connection only for those test cases which actually use it. Side effects: * TC_pcu_socket_verify_info_ind becomes reliable, because the PCUIF establishment is done after the RSL bootstrapping; * TC_pcu_socket_connect_multi starts to fail, because it used to pass due to timeout, since not all messages are handled in the 'alt' statement. Change-Id: I09ccb65ce94a41ffdad4e93da650c3f32d422af4 Related: OS#5083 --- M bts/BTS_Tests.ttcn M bts/BTS_Tests_SMSCB.ttcn 2 files changed, 20 insertions(+), 23 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 005b1d7..58947c5 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -472,7 +472,7 @@ trxc_conn_id := res.connId; } -/* global init function */ +/* global init function (without PCUIF connection) */ friend function f_init(uint8_t trx_nr := 0) runs on test_CT { @@ -555,9 +555,6 @@ f_rsl_bcch_fill(RSL_SYSTEM_INFO_2, ts_SI2_default); f_rsl_bcch_fill(RSL_SYSTEM_INFO_4, ts_SI4_default); - map(self:PCU, system:PCU); - f_init_pcu(PCU, id, g_pcu_conn_id, g_pcu_last_info); - if (mp_bts_trxc_port != -1) { var TrxcMessage ret; @@ -4283,7 +4280,9 @@ } testcase TC_si_sched_13() runs on test_CT { - f_init(); + /* NOTE: PCUIF connection is not used in this test case, but + * without it the IUT would not broadcast SI13 (see OS#3075). */ + f_init_with_pcuif(); si_cfg.si13_present := true; f_rsl_bcch_fill_raw(RSL_SYSTEM_INFO_13, '0106009000185a6fc9e08410ab2b2b2b2b2b2b2b2b2b2b'O); f_TC_si_sched(); @@ -4291,7 +4290,9 @@ } testcase TC_si_sched_13_2bis_2ter_2quater() runs on test_CT { - f_init(); + /* NOTE: PCUIF connection is not used in this test case, but + * without it the IUT would not broadcast SI13 (see OS#3075). */ + f_init_with_pcuif(); si_cfg.si2bis_present := true; f_rsl_bcch_fill_raw(RSL_SYSTEM_INFO_2bis, '550602bfe809b3ff00000000000000000000007900002b'O); si_cfg.si2ter_present := true; @@ -4626,6 +4627,8 @@ friend function f_init_with_pcuif() runs on test_CT { f_init(); + map(self:PCU, system:PCU); + f_init_pcu(PCU, testcasename(), g_pcu_conn_id, g_pcu_last_info); PCU.send(t_SD_PCUIF(g_pcu_conn_id, ts_PCUIF_TXT_IND(0, PCU_VERSION, testcasename()))); } @@ -5453,7 +5456,7 @@ var ConnHdlrPars pars; var ConnHdlr vc_conn; - f_init(); + f_init_with_pcuif(); pars := valueof(t_Pars(t_RslChanNr_SDCCH4(0,3), ts_RSL_ChanMode_SIGN)); vc_conn := f_start_handler(refers(f_TC_rr_suspend_req), pars, true); @@ -5465,7 +5468,7 @@ timer T := 5.0; /* this (among other things) establishes the first connection to the PCUIF socket */ - f_init(); + f_init_with_pcuif(); /* try to establish a second connection, expect it to fail */ PCU.send(UD_connect:{mp_pcu_socket, -1}); @@ -5487,7 +5490,7 @@ /* Ensure that PCUIF socket can disconnect + reconnect */ testcase TC_pcu_socket_reconnect() runs on test_CT { /* this (among other things) establishes the first connection to the PCUIF socket */ - f_init(); + f_init_with_pcuif(); f_sleep(1.0); @@ -5548,13 +5551,7 @@ /* Make sure that GPRS Indicator is absent when the PCU is not connected */ private function f_TC_pcu_socket_noconnect(RrMessageType si_type) runs on test_CT { - /* don't call f_init() as this would connect PCU socket */ - f_init_rsl(testcasename()); - - /* Send both System Information Type 3 and 4 (with GPRS Indicator) */ - f_rsl_bcch_fill(RSL_SYSTEM_INFO_3, ts_SI3_default); - f_rsl_bcch_fill(RSL_SYSTEM_INFO_4, ts_SI4_default); - + f_init(); f_init_l1ctl(); f_l1_tune(L1CTL); f_sleep(2.0); @@ -5581,7 +5578,7 @@ private function f_TC_pcu_socket_connect(RrMessageType si_type) runs on test_CT { /* this (among other things) establishes the first connection to the PCUIF socket */ - f_init(); + f_init_with_pcuif(); f_init_l1ctl(); f_l1_tune(L1CTL); @@ -5609,7 +5606,7 @@ private function f_TC_pcu_socket_disconnect(RrMessageType si_type) runs on test_CT { /* this (among other things) establishes the first connection to the PCUIF socket */ - f_init(); + f_init_with_pcuif(); f_init_l1ctl(); f_l1_tune(L1CTL); @@ -5646,7 +5643,7 @@ testcase TC_pcu_socket_verify_info_ind() runs on test_CT { var SystemInformation si3 := valueof(ts_SI3_default); - f_init(); + f_init_with_pcuif(); /* actually give the BTS some time to fully come up and to send a PCU INFO IND with the correct * information */ @@ -5681,7 +5678,7 @@ var PCUIF_info_ind info_ind; var FreqHopPars fhp; - f_init(); + f_init_with_pcuif(); info_ind := g_pcu_last_info.u.info_ind; @@ -5726,7 +5723,7 @@ f_vty_config2(BSCVTY, {"network", "bts 0"} , "gprs nsvc 0 remote ip 127.127.127.127"); f_vty_transceive(BSCVTY, "drop bts connection 0 oml"); - f_init(); + f_init_with_pcuif(); var PCUIF_RemoteAddr remote_addr := g_pcu_last_info.u.info_ind.remote_addr; var template PCUIF_RemoteAddr tr_remote_addr := { @@ -5746,7 +5743,7 @@ f_init_vty_bsc(); f_vty_config2(BSCVTY, {"network", "bts 0"} , "gprs nsvc 0 remote ip fd00::ca:ff:ee"); - f_init(); + f_init_with_pcuif(); var PCUIF_RemoteAddr remote_addr := g_pcu_last_info.u.info_ind.remote_addr; var template PCUIF_RemoteAddr tr_remote_addr := { diff --git a/bts/BTS_Tests_SMSCB.ttcn b/bts/BTS_Tests_SMSCB.ttcn index 102e2ac..dda78fd 100644 --- a/bts/BTS_Tests_SMSCB.ttcn +++ b/bts/BTS_Tests_SMSCB.ttcn @@ -1051,7 +1051,7 @@ testcase TC_etws_pcu() runs on test_CT { timer T := 10.0; - f_init(); + f_init_with_pcuif(); f_init_l1ctl(); f_l1_tune(L1CTL, ccch_mode := CCCH_MODE_COMBINED_CBCH); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23465 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I09ccb65ce94a41ffdad4e93da650c3f32d422af4 Gerrit-Change-Number: 23465 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 Mar 23 13:59:35 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 23 Mar 2021 13:59:35 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vty: Allow creating NSE in sgsn-role In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23408 ) Change subject: gprs_ns2_vty: Allow creating NSE in sgsn-role ...................................................................... Patch Set 3: I would not like to have the "[sgsn-role]" in the vty-NSE line "nse <0-65535> [sgsn-role]". The SGSN role is only used for sns. To be consistant with the other NSE configuration I would like to configure it a level down. ... or add a complete type to the top for all NSE but this might break the current vty. How about (just starting to test things out) nse <0-65535> ip-sns-configuration (which forbids the endpoint) or ip-sns-role sgsn (which forbids the endpoint) ip-sns-bind some_udp1 (is this optional or required)? ip-sns-bind some_udp2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23408 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I694fa6c80d04d13cb1afaae93a9ae43b6dfd2207 Gerrit-Change-Number: 23408 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 13:59: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 Tue Mar 23 13:59:41 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 23 Mar 2021 13:59:41 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vty: Allow creating NSE in sgsn-role In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23408 ) Change subject: gprs_ns2_vty: Allow creating NSE in sgsn-role ...................................................................... Patch Set 3: Code-Review-2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23408 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I694fa6c80d04d13cb1afaae93a9ae43b6dfd2207 Gerrit-Change-Number: 23408 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 13:59: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 Mar 23 14:00:25 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 23 Mar 2021 14:00:25 +0000 Subject: Change in libosmocore[master]: gprs_ns2: Introduce gprs_ns2_create_nse2() for SGSN side SNS In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23407 ) Change subject: gprs_ns2: Introduce gprs_ns2_create_nse2() for SGSN side SNS ...................................................................... Patch Set 3: I'm unsure if we need this atm. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23407 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6db8c36f7c69b592d7d0fbcf323804f7e9912be2 Gerrit-Change-Number: 23407 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 14:00: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 Tue Mar 23 14:05:32 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 23 Mar 2021 14:05:32 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Allow VTY configuration of default binds for IP-SNS In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23415 ) Change subject: gprs_ns2_sns: Allow VTY configuration of default binds for IP-SNS ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/23415/3/src/gb/gprs_ns2_vty.c File src/gb/gprs_ns2_vty.c: https://gerrit.osmocom.org/c/libosmocore/+/23415/3/src/gb/gprs_ns2_vty.c at 599 PS3, Line 599: Should the writing of default binds be here? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23415 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id01c29b07e9203c9305f2129361a4f5aaefa2c52 Gerrit-Change-Number: 23415 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 14:05: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 Tue Mar 23 14:05:54 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 14:05:54 +0000 Subject: Change in libosmocore[master]: gprs_ns2: Introduce gprs_ns2_create_nse2() for SGSN side SNS In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23407 ) Change subject: gprs_ns2: Introduce gprs_ns2_create_nse2() for SGSN side SNS ...................................................................... Patch Set 3: > Patch Set 3: > > I'm unsure if we need this atm. How else to handle it? There are two different FSMs and we need to know which one to instantiate. Would you prefer the caller to mess with the internals of struct gprs_ns2_nse after creating it? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23407 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6db8c36f7c69b592d7d0fbcf323804f7e9912be2 Gerrit-Change-Number: 23407 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 14:05:54 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 23 14:07:16 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 14:07:16 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Add some more OSMO_ASSERT about BSS role In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23406 ) Change subject: gprs_ns2_sns: Add some more OSMO_ASSERT about BSS role ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/23406/3/src/gb/gprs_ns2_sns.c File src/gb/gprs_ns2_sns.c: https://gerrit.osmocom.org/c/libosmocore/+/23406/3/src/gb/gprs_ns2_sns.c at 1013 PS3, Line 1013: OSMO_ASSERT(gss->role == GPRS_SNS_ROLE_BSS); > The naming is quite confusing now - config_sgsn_onenter with OSMO_ASSERT(ROLE_BSS) [?] ok, we can rename the states. I tried to be as un-invasive as possible. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23406 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I20d1bd8df62e0bb84696e291756e2d96acf49246 Gerrit-Change-Number: 23406 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 14:07:16 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: daniel Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 23 14:08:45 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 14:08:45 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vty: Allow creating NSE in sgsn-role In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23408 ) Change subject: gprs_ns2_vty: Allow creating NSE in sgsn-role ...................................................................... Patch Set 3: > How about (just starting to test things out) > > nse <0-65535> > ip-sns-configuration (which forbids the endpoint) Why would that forbid the endpoint? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23408 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I694fa6c80d04d13cb1afaae93a9ae43b6dfd2207 Gerrit-Change-Number: 23408 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 14:08: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 Tue Mar 23 14:11:46 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 14:11:46 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Allow VTY configuration of default binds for IP-SNS In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23415 ) Change subject: gprs_ns2_sns: Allow VTY configuration of default binds for IP-SNS ...................................................................... Patch Set 3: (2 comments) https://gerrit.osmocom.org/c/libosmocore/+/23415/3/src/gb/gprs_ns2_vty.c File src/gb/gprs_ns2_vty.c: https://gerrit.osmocom.org/c/libosmocore/+/23415/3/src/gb/gprs_ns2_vty.c at 566 PS3, Line 566: llist_for_each_entry(vbind, &ip_sns_default_binds, list) { > I'm not sure if we want to have default binds for individual nses? [?] how would that work? https://gerrit.osmocom.org/c/libosmocore/+/23415/3/src/gb/gprs_ns2_vty.c at 599 PS3, Line 599: > Should the writing of default binds be here? sure, it could be moved. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23415 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id01c29b07e9203c9305f2129361a4f5aaefa2c52 Gerrit-Change-Number: 23415 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 14:11:46 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: daniel Comment-In-Reply-To: lynxis lazus Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 23 14:12:46 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 23 Mar 2021 14:12:46 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vty: Allow creating NSE in sgsn-role In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23408 ) Change subject: gprs_ns2_vty: Allow creating NSE in sgsn-role ...................................................................... Patch Set 3: > Patch Set 3: > > > How about (just starting to test things out) > > > > nse <0-65535> > > ip-sns-configuration (which forbids the endpoint) > > Why would that forbid the endpoint? rgiht. this isn't good. i just want to express the role. i think ip-sns-role is much more clear. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23408 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I694fa6c80d04d13cb1afaae93a9ae43b6dfd2207 Gerrit-Change-Number: 23408 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 14:12: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 Tue Mar 23 14:13:14 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 14:13:14 +0000 Subject: Change in libosmocore[master]: gprs_ns2: Add comments explaining the nsvc->sns_only field In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23416 ) Change subject: gprs_ns2: Add comments explaining the nsvc->sns_only field ...................................................................... Patch Set 3: > Patch Set 3: > > sns_only is a NS-VC which is only used as initial endpoint to configure it. > E.g. SNS auto-configuration > > BSS connects to SGSN/10.0.0.1 > BSS -> SGSN SIZE > [..] > BSS <- SGSN SNS-Config my endpoints are 10.1.1.1, 10.2.2.2 > > So 10.0.0.1 is not annouced by the SGSN as endpoint and must be removed after the SNS process succeeds. For this reason the NS-VC has sns_only = true. how does this differ from the comments I put in the code? I don't see the difference or the disagreement? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23416 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I16009a1b03d8027de2be56b7d5013b755c9550fd Gerrit-Change-Number: 23416 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 14:13:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 23 14:15:06 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 23 Mar 2021 14:15:06 +0000 Subject: Change in libosmocore[master]: gprs_ns2: Add comments explaining the nsvc->sns_only field In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23416 ) Change subject: gprs_ns2: Add comments explaining the nsvc->sns_only field ...................................................................... Patch Set 3: Code-Review+2 > Patch Set 3: > > > Patch Set 3: > > > > sns_only is a NS-VC which is only used as initial endpoint to configure it. > > E.g. SNS auto-configuration > > > > BSS connects to SGSN/10.0.0.1 > > BSS -> SGSN SIZE > > [..] > > BSS <- SGSN SNS-Config my endpoints are 10.1.1.1, 10.2.2.2 > > > > So 10.0.0.1 is not annouced by the SGSN as endpoint and must be removed after the SNS process succeeds. For this reason the NS-VC has sns_only = true. > > how does this differ from the comments I put in the code? I don't see the difference or the disagreement? I misunderstood your "?" in the comment. I thought you wasn't sure if this is true. Just re-read it in a different context. Sorry. everything is good. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23416 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I16009a1b03d8027de2be56b7d5013b755c9550fd Gerrit-Change-Number: 23416 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 14:15: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 Mar 23 14:23:40 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 23 Mar 2021 14:23:40 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Support for SGSN-side IP-SNS In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23405 ) Change subject: gprs_ns2_sns: Support for SGSN-side IP-SNS ...................................................................... Patch Set 3: -Code-Review -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23405 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I780413ffacd9cb71f64cc38057aae781eeb59b2b Gerrit-Change-Number: 23405 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 14:23: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 Mar 23 14:24:22 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 14:24:22 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Implement checks during processing of inbound SNS-SIZE In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23412 ) Change subject: gprs_ns2_sns: Implement checks during processing of inbound SNS-SIZE ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/23412/3/src/gb/gprs_ns2_sns.c File src/gb/gprs_ns2_sns.c: https://gerrit.osmocom.org/c/libosmocore/+/23412/3/src/gb/gprs_ns2_sns.c at 2179 PS3, Line 2179: num_max_ip4_remote > num_max_ip6_remote Done -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23412 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1638f04ba45fef3ba0b237948dff6022267141fb Gerrit-Change-Number: 23412 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 14:24:22 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: daniel Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 23 14:25:11 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 14:25:11 +0000 Subject: Change in libosmocore[master]: gprs_ns2: dynamic NS-VC + NSE creation for IP-SNS in SGSN role In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23414 ) Change subject: gprs_ns2: dynamic NS-VC + NSE creation for IP-SNS in SGSN role ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/23414/3/src/gb/gprs_ns2.c File src/gb/gprs_ns2.c: https://gerrit.osmocom.org/c/libosmocore/+/23414/3/src/gb/gprs_ns2.c at 917 PS3, Line 917: /* look-up NS-VC or create it */ > comment doesn't make sense here. Done -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23414 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie10bb3531fae2e651da04f965d964de6eb1e7a97 Gerrit-Change-Number: 23414 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 14:25:11 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: lynxis lazus Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 23 14:27:26 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 14:27:26 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Implement checks during processing of inbound SNS-SIZE In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, daniel, lynxis lazus, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/23412 to look at the new patch set (#4). Change subject: gprs_ns2_sns: Implement checks during processing of inbound SNS-SIZE ...................................................................... gprs_ns2_sns: Implement checks during processing of inbound SNS-SIZE As per 3GPP TS 48.016 section 6.2.4.1, we need to perform some consistency checks during the SNS-SIZE procedure. Let's implement them. Change-Id: I1638f04ba45fef3ba0b237948dff6022267141fb Related: OS#3373 --- M src/gb/gprs_ns2_sns.c 1 file changed, 59 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/12/23412/4 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23412 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1638f04ba45fef3ba0b237948dff6022267141fb Gerrit-Change-Number: 23412 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 23 14:27:26 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 14:27:26 +0000 Subject: Change in libosmocore[master]: gprs_ns2: dynamic NS-VC + NSE creation for IP-SNS in SGSN role In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, daniel, lynxis lazus, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/23414 to look at the new patch set (#4). Change subject: gprs_ns2: dynamic NS-VC + NSE creation for IP-SNS in SGSN role ...................................................................... gprs_ns2: dynamic NS-VC + NSE creation for IP-SNS in SGSN role Related: OS#3373 Change-Id: Ie10bb3531fae2e651da04f965d964de6eb1e7a97 --- M src/gb/gprs_ns2.c 1 file changed, 62 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/14/23414/4 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23414 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie10bb3531fae2e651da04f965d964de6eb1e7a97 Gerrit-Change-Number: 23414 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 23 14:27:26 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 14:27:26 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Allow VTY configuration of default binds for IP-SNS In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, daniel, lynxis lazus, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/23415 to look at the new patch set (#4). Change subject: gprs_ns2_sns: Allow VTY configuration of default binds for IP-SNS ...................................................................... gprs_ns2_sns: Allow VTY configuration of default binds for IP-SNS In the IP-SNS SGSN role, we need to inform the BSS of our local IP endpoints. For statically configured NSEs, those are explicitly stated on a per-NSE level. For dynamically created IP-SNS NSEs, we are adding a new VTY command, using which the administrator can configure which binds should be advertised as IP endpoints to such BSS. Change-Id: Id01c29b07e9203c9305f2129361a4f5aaefa2c52 Related: OS#3373 --- M src/gb/gprs_ns2.c M src/gb/gprs_ns2_internal.h M src/gb/gprs_ns2_vty.c 3 files changed, 106 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/15/23415/4 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23415 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id01c29b07e9203c9305f2129361a4f5aaefa2c52 Gerrit-Change-Number: 23415 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 23 14:27:28 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 14:27:28 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Rename BSS-side states to include 'bss' in name References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/23471 ) Change subject: gprs_ns2_sns: Rename BSS-side states to include 'bss' in name ...................................................................... gprs_ns2_sns: Rename BSS-side states to include 'bss' in name Clearly separate those states that only occur on the BSS side from those of the SGSN side (which already have a prefix) Change-Id: Iebc97637063b2676abff4a7dce50272d9b4e336b Related: OS#3373 --- M src/gb/gprs_ns2_sns.c 1 file changed, 48 insertions(+), 47 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/71/23471/1 diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index 51b3ea8..2bcd0df 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -66,11 +66,12 @@ GPRS_SNS_ROLE_SGSN, }; +/* BSS-side-only states _ST_BSS_; SGSN-side only states _ST_SGSN_; others shared */ enum gprs_sns_bss_state { GPRS_SNS_ST_UNCONFIGURED, - GPRS_SNS_ST_SIZE, /*!< SNS-SIZE procedure ongoing */ - GPRS_SNS_ST_CONFIG_BSS, /*!< SNS-CONFIG procedure (BSS->SGSN) ongoing */ - GPRS_SNS_ST_CONFIG_SGSN, /*!< SNS-CONFIG procedure (SGSN->BSS) ongoing */ + GPRS_SNS_ST_BSS_SIZE, /*!< SNS-SIZE procedure ongoing */ + GPRS_SNS_ST_BSS_CONFIG_BSS, /*!< SNS-CONFIG procedure (BSS->SGSN) ongoing */ + GPRS_SNS_ST_BSS_CONFIG_SGSN, /*!< SNS-CONFIG procedure (SGSN->BSS) ongoing */ GPRS_SNS_ST_CONFIGURED, GPRS_SNS_ST_SGSN_WAIT_CONFIG, /* !< SGSN role: Wait for CONFIG from BSS */ GPRS_SNS_ST_SGSN_WAIT_CONFIG_ACK, /* !< SGSN role: Wait for CONFIG-ACK from BSS */ @@ -711,14 +712,14 @@ } -static void ns2_sns_st_unconfigured(struct osmo_fsm_inst *fi, uint32_t event, void *data) +static void ns2_sns_st_bss_unconfigured(struct osmo_fsm_inst *fi, uint32_t event, void *data) { struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; OSMO_ASSERT(gss->role == GPRS_SNS_ROLE_BSS); /* empty state - SNS Select will start by ns2_sns_st_all_action() */ } -static void ns2_sns_st_size(struct osmo_fsm_inst *fi, uint32_t event, void *data) +static void ns2_sns_st_bss_size(struct osmo_fsm_inst *fi, uint32_t event, void *data) { struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; struct gprs_ns2_nse *nse = nse_inst_from_fi(fi); @@ -735,7 +736,7 @@ gprs_ns2_cause_str(*TLVP_VAL(tp, NS_IE_CAUSE))); /* TODO: What to do? */ } else { - osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_CONFIG_BSS, + osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_BSS_CONFIG_BSS, nsi->timeout[NS_TOUT_TSNS_PROV], 2); } break; @@ -850,7 +851,7 @@ } /* setup all dynamic SNS settings, create a new nsvc and send the SIZE */ -static void ns2_sns_st_size_onenter(struct osmo_fsm_inst *fi, uint32_t old_state) +static void ns2_sns_st_bss_size_onenter(struct osmo_fsm_inst *fi, uint32_t old_state) { struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; @@ -859,7 +860,7 @@ /* on a generic failure, the timer callback will recover */ if (old_state != GPRS_SNS_ST_UNCONFIGURED) ns2_prim_status_ind(gss->nse, NULL, 0, GPRS_NS2_AFF_CAUSE_SNS_FAILURE); - if (old_state != GPRS_SNS_ST_SIZE) + if (old_state != GPRS_SNS_ST_BSS_SIZE) gss->N = 0; gss->alive = false; @@ -895,7 +896,7 @@ ns2_tx_sns_size(gss->sns_nsvc, true, gss->num_max_nsvcs, -1, gss->num_max_ip6_remote); } -static void ns2_sns_st_config_bss(struct osmo_fsm_inst *fi, uint32_t event, void *data) +static void ns2_sns_st_bss_config_bss(struct osmo_fsm_inst *fi, uint32_t event, void *data) { struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; struct gprs_ns2_nse *nse = nse_inst_from_fi(fi); @@ -911,7 +912,7 @@ gprs_ns2_cause_str(*TLVP_VAL(tp, NS_IE_CAUSE))); /* TODO: What to do? */ } else { - osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_CONFIG_SGSN, nse->nsi->timeout[NS_TOUT_TSNS_PROV], 3); + osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_BSS_CONFIG_SGSN, nse->nsi->timeout[NS_TOUT_TSNS_PROV], 3); } break; default: @@ -919,13 +920,13 @@ } } -static void ns2_sns_st_config_bss_onenter(struct osmo_fsm_inst *fi, uint32_t old_state) +static void ns2_sns_st_bss_config_bss_onenter(struct osmo_fsm_inst *fi, uint32_t old_state) { struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; OSMO_ASSERT(gss->role == GPRS_SNS_ROLE_BSS); - if (old_state != GPRS_SNS_ST_CONFIG_BSS) + if (old_state != GPRS_SNS_ST_BSS_CONFIG_BSS) gss->N = 0; /* Transmit SNS-CONFIG */ @@ -1006,17 +1007,17 @@ return 0; } -static void ns2_sns_st_config_sgsn_onenter(struct osmo_fsm_inst *fi, uint32_t old_state) +static void ns2_sns_st_bss_config_sgsn_onenter(struct osmo_fsm_inst *fi, uint32_t old_state) { struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; OSMO_ASSERT(gss->role == GPRS_SNS_ROLE_BSS); - if (old_state != GPRS_SNS_ST_CONFIG_SGSN) + if (old_state != GPRS_SNS_ST_BSS_CONFIG_SGSN) gss->N = 0; } -static void ns2_sns_st_config_sgsn(struct osmo_fsm_inst *fi, uint32_t event, void *data) +static void ns2_sns_st_bss_config_sgsn(struct osmo_fsm_inst *fi, uint32_t event, void *data) { struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; struct gprs_ns2_nse *nse = nse_inst_from_fi(fi); @@ -1326,39 +1327,39 @@ static const struct osmo_fsm_state ns2_sns_bss_states[] = { [GPRS_SNS_ST_UNCONFIGURED] = { .in_event_mask = 0, /* handled by all_state_action */ - .out_state_mask = S(GPRS_SNS_ST_SIZE), + .out_state_mask = S(GPRS_SNS_ST_BSS_SIZE), .name = "UNCONFIGURED", - .action = ns2_sns_st_unconfigured, + .action = ns2_sns_st_bss_unconfigured, }, - [GPRS_SNS_ST_SIZE] = { + [GPRS_SNS_ST_BSS_SIZE] = { .in_event_mask = S(GPRS_SNS_EV_RX_SIZE_ACK), .out_state_mask = S(GPRS_SNS_ST_UNCONFIGURED) | - S(GPRS_SNS_ST_SIZE) | - S(GPRS_SNS_ST_CONFIG_BSS), - .name = "SIZE", - .action = ns2_sns_st_size, - .onenter = ns2_sns_st_size_onenter, + S(GPRS_SNS_ST_BSS_SIZE) | + S(GPRS_SNS_ST_BSS_CONFIG_BSS), + .name = "BSS_SIZE", + .action = ns2_sns_st_bss_size, + .onenter = ns2_sns_st_bss_size_onenter, }, - [GPRS_SNS_ST_CONFIG_BSS] = { + [GPRS_SNS_ST_BSS_CONFIG_BSS] = { .in_event_mask = S(GPRS_SNS_EV_RX_CONFIG_ACK), .out_state_mask = S(GPRS_SNS_ST_UNCONFIGURED) | - S(GPRS_SNS_ST_CONFIG_BSS) | - S(GPRS_SNS_ST_CONFIG_SGSN) | - S(GPRS_SNS_ST_SIZE), - .name = "CONFIG_BSS", - .action = ns2_sns_st_config_bss, - .onenter = ns2_sns_st_config_bss_onenter, + S(GPRS_SNS_ST_BSS_CONFIG_BSS) | + S(GPRS_SNS_ST_BSS_CONFIG_SGSN) | + S(GPRS_SNS_ST_BSS_SIZE), + .name = "BSS_CONFIG_BSS", + .action = ns2_sns_st_bss_config_bss, + .onenter = ns2_sns_st_bss_config_bss_onenter, }, - [GPRS_SNS_ST_CONFIG_SGSN] = { + [GPRS_SNS_ST_BSS_CONFIG_SGSN] = { .in_event_mask = S(GPRS_SNS_EV_RX_CONFIG) | S(GPRS_SNS_EV_RX_CONFIG_END), .out_state_mask = S(GPRS_SNS_ST_UNCONFIGURED) | - S(GPRS_SNS_ST_CONFIG_SGSN) | + S(GPRS_SNS_ST_BSS_CONFIG_SGSN) | S(GPRS_SNS_ST_CONFIGURED) | - S(GPRS_SNS_ST_SIZE), - .name = "CONFIG_SGSN", - .action = ns2_sns_st_config_sgsn, - .onenter = ns2_sns_st_config_sgsn_onenter, + S(GPRS_SNS_ST_BSS_SIZE), + .name = "BSS_CONFIG_SGSN", + .action = ns2_sns_st_bss_config_sgsn, + .onenter = ns2_sns_st_bss_config_sgsn_onenter, }, [GPRS_SNS_ST_CONFIGURED] = { .in_event_mask = S(GPRS_SNS_EV_RX_ADD) | @@ -1366,7 +1367,7 @@ S(GPRS_SNS_EV_RX_CHANGE_WEIGHT) | S(GPRS_SNS_EV_REQ_NSVC_ALIVE), .out_state_mask = S(GPRS_SNS_ST_UNCONFIGURED) | - S(GPRS_SNS_ST_SIZE), + S(GPRS_SNS_ST_BSS_SIZE), .name = "CONFIGURED", .action = ns2_sns_st_configured, .onenter = ns2_sns_st_configured_onenter, @@ -1386,7 +1387,7 @@ LOGPFSML(fi, LOGL_ERROR, "NSE %d: Size retries failed. Selecting next IP-SNS endpoint.\n", nse->nsei); osmo_fsm_inst_dispatch(fi, GPRS_SNS_EV_REQ_SELECT_ENDPOINT, NULL); } else { - osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_SIZE, nsi->timeout[NS_TOUT_TSNS_PROV], 1); + osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_BSS_SIZE, nsi->timeout[NS_TOUT_TSNS_PROV], 1); } break; case 2: @@ -1394,7 +1395,7 @@ LOGPFSML(fi, LOGL_ERROR, "NSE %d: BSS Config retries failed. Selecting next IP-SNS endpoint.\n", nse->nsei); osmo_fsm_inst_dispatch(fi, GPRS_SNS_EV_REQ_SELECT_ENDPOINT, NULL); } else { - osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_CONFIG_BSS, nsi->timeout[NS_TOUT_TSNS_PROV], 2); + osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_BSS_CONFIG_BSS, nsi->timeout[NS_TOUT_TSNS_PROV], 2); } break; case 3: @@ -1402,7 +1403,7 @@ LOGPFSML(fi, LOGL_ERROR, "NSE %d: SGSN Config retries failed. Selecting next IP-SNS endpoint.\n", nse->nsei); osmo_fsm_inst_dispatch(fi, GPRS_SNS_EV_REQ_SELECT_ENDPOINT, NULL); } else { - osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_CONFIG_SGSN, nsi->timeout[NS_TOUT_TSNS_PROV], 3); + osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_BSS_CONFIG_SGSN, nsi->timeout[NS_TOUT_TSNS_PROV], 3); } break; case 4: @@ -1427,11 +1428,11 @@ case GPRS_SNS_ST_UNCONFIGURED: osmo_fsm_inst_dispatch(nse->bss_sns_fi, GPRS_SNS_EV_REQ_SELECT_ENDPOINT, NULL); break; - case GPRS_SNS_ST_SIZE: + case GPRS_SNS_ST_BSS_SIZE: /* TODO: add the ip4 element to the list */ break; - case GPRS_SNS_ST_CONFIG_BSS: - case GPRS_SNS_ST_CONFIG_SGSN: + case GPRS_SNS_ST_BSS_CONFIG_BSS: + case GPRS_SNS_ST_BSS_CONFIG_SGSN: case GPRS_SNS_ST_CONFIGURED: /* TODO: add to SNS-IP procedure queue & add nsvc() */ break; @@ -1442,7 +1443,7 @@ switch (fi->state) { case GPRS_SNS_ST_UNCONFIGURED: break; - case GPRS_SNS_ST_SIZE: + case GPRS_SNS_ST_BSS_SIZE: /* TODO: remove the ip4 element from the list */ llist_for_each_entry_safe(nsvc, nsvc2, &nse->nsvc, list) { if (nsvc->bind == sbind->bind) { @@ -1450,8 +1451,8 @@ } } break; - case GPRS_SNS_ST_CONFIG_BSS: - case GPRS_SNS_ST_CONFIG_SGSN: + case GPRS_SNS_ST_BSS_CONFIG_BSS: + case GPRS_SNS_ST_BSS_CONFIG_SGSN: case GPRS_SNS_ST_CONFIGURED: /* TODO: do an delete SNS-IP procedure */ /* TODO: remove the ip4 element to the list */ @@ -1508,7 +1509,7 @@ } gss->reselection_running = false; - osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_SIZE, nse->nsi->timeout[NS_TOUT_TSNS_PROV], 1); + osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_BSS_SIZE, nse->nsi->timeout[NS_TOUT_TSNS_PROV], 1); break; default: ns2_sns_st_all_action(fi, event, data); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23471 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Iebc97637063b2676abff4a7dce50272d9b4e336b Gerrit-Change-Number: 23471 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 Mar 23 14:58:23 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 23 Mar 2021 14:58:23 +0000 Subject: Change in pysim[master]: pysim-shell: select MF on startup to make commands accessible References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/23472 ) Change subject: pysim-shell: select MF on startup to make commands accessible ...................................................................... pysim-shell: select MF on startup to make commands accessible On the cration of the PysimApp object only the basic commands in pySim-shell.py are registered, since the MF is only created but not selected, the file specific commands of the MF are not available. To make them available, select the MF once on startup before entering the cmdloop. Change-Id: Ib63191f44e7c8ae07b0128a9affba40b44957adc Related: OS#4963 --- M pySim-shell.py 1 file changed, 1 insertion(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/72/23472/1 diff --git a/pySim-shell.py b/pySim-shell.py index 481bfc8..946b3e5 100755 --- a/pySim-shell.py +++ b/pySim-shell.py @@ -263,4 +263,5 @@ rs.mf.add_application(ADF_ISIM()) app = PysimApp(card, rs) + rs.select('MF', app) app.cmdloop() -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23472 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ib63191f44e7c8ae07b0128a9affba40b44957adc Gerrit-Change-Number: 23472 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 23 14:58:25 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 23 Mar 2021 14:58:25 +0000 Subject: Change in pysim[master]: pySim-shell: add ADF.ISIM / ADF.USIM dynamically References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/23473 ) Change subject: pySim-shell: add ADF.ISIM / ADF.USIM dynamically ...................................................................... pySim-shell: add ADF.ISIM / ADF.USIM dynamically currently ADF.ISIM and ADF.USIM are always added regardless if there is a matching application on the card or not. Lets check what applications are actually installed and add ADF.ISIM and ADF.USIM dynamically. Change-Id: I42ee23375f98e6322708c1c4db6d65e1425feecd Related: OS#4963 --- M pySim-shell.py M pySim/cards.py 2 files changed, 18 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/73/23473/1 diff --git a/pySim-shell.py b/pySim-shell.py index 946b3e5..2978380 100755 --- a/pySim-shell.py +++ b/pySim-shell.py @@ -58,8 +58,6 @@ self.card = card self.rs = rs self.py_locals = { 'card': self.card, 'rs' : self.rs } - self.card.read_aids() - self.poutput('AIDs on card: %s' % (self.card._aids)) self.numeric_path = False self.add_settable(cmd2.Settable('numeric_path', bool, 'Print File IDs instead of names', onchange_cb=self._onchange_numeric_path)) @@ -254,14 +252,26 @@ sys.exit(2) profile = CardProfileUICC() + rs = RuntimeState(card, profile) - # FIXME: do this dynamically rs.mf.add_file(DF_TELECOM()) rs.mf.add_file(DF_GSM()) - rs.mf.add_application(ADF_USIM()) - rs.mf.add_application(ADF_ISIM()) app = PysimApp(card, rs) + aids = card.read_aids() + if aids: + app.poutput("AIDs on card:") + for a in aids: + if "a0000000871002" in a: + app.poutput(" USIM: %s" % a) + rs.mf.add_application(ADF_USIM()) + elif "a0000000871004" in a: + app.poutput(" ISIM: %s" % a) + rs.mf.add_application(ADF_ISIM()) + else: + app.poutput(" unknown application: %s" % a) + else: + app.poutput("error: could not determine card applications") rs.select('MF', app) app.cmdloop() diff --git a/pySim/cards.py b/pySim/cards.py index c640591..857d0b6 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -207,6 +207,7 @@ # Fetch all the AIDs present on UICC def read_aids(self): + self._aids = [] try: # Find out how many records the EF.DIR has # and store all the AIDs in the UICC @@ -218,6 +219,8 @@ self._aids.append(rec[0][8:8 + int(rec[0][6:8], 16) * 2]) except Exception as e: print("Can't read AIDs from SIM -- %s" % (str(e),)) + self._aids = [] + return self._aids # Select ADF.U/ISIM in the Card using its full AID def select_adf_by_aid(self, adf="usim"): -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23473 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I42ee23375f98e6322708c1c4db6d65e1425feecd Gerrit-Change-Number: 23473 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 23 14:58:25 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 23 Mar 2021 14:58:25 +0000 Subject: Change in pysim[master]: pySim-shell: add option to execute script on startup References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/23474 ) Change subject: pySim-shell: add option to execute script on startup ...................................................................... pySim-shell: add option to execute script on startup Add a commondline option so that the user can supply pySim-shell with a script file name. This script then runs automatically on startup. (to avoid ending up at the shell prompt a quit command at the end can be used to exit after script execution) Change-Id: I69f5224087023650340fbfee74668e1850345f54 Related: OS#4963 --- M pySim-shell.py 1 file changed, 7 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/74/23474/1 diff --git a/pySim-shell.py b/pySim-shell.py index 2978380..84026dd 100755 --- a/pySim-shell.py +++ b/pySim-shell.py @@ -49,10 +49,10 @@ class PysimApp(cmd2.Cmd): CUSTOM_CATEGORY = 'pySim Commands' - def __init__(self, card, rs): + def __init__(self, card, rs, script = None): basic_commands = [Iso7816Commands(), UsimCommands()] super().__init__(persistent_history_file='~/.pysim_shell_history', allow_cli_args=False, - use_ipython=True, auto_load_commands=False, command_sets=basic_commands) + use_ipython=True, auto_load_commands=False, command_sets=basic_commands, startup_script=script) self.intro = style('Welcome to pySim-shell!', fg=fg.red) self.default_category = 'pySim-shell built-in commands' self.card = card @@ -212,6 +212,10 @@ help="Socket path for Calypso (e.g. Motorola C1XX) based reader (via OsmocomBB)", default=None, ) + parser.add_option("--script", dest="script", metavar="PATH", + help="script with shell commands to be executed automatically", + default=None, + ) parser.add_option("-a", "--pin-adm", dest="pin_adm", help="ADM PIN used for provisioning (overwrites default)", @@ -258,7 +262,7 @@ rs.mf.add_file(DF_TELECOM()) rs.mf.add_file(DF_GSM()) - app = PysimApp(card, rs) + app = PysimApp(card, rs, opts.script) aids = card.read_aids() if aids: app.poutput("AIDs on card:") -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23474 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I69f5224087023650340fbfee74668e1850345f54 Gerrit-Change-Number: 23474 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 23 15:03:15 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 23 Mar 2021 15:03:15 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests: refactor and fix TC_pcu_socket_connect_multi In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23466 to look at the new patch set (#3). Change subject: BTS_Tests: refactor and fix TC_pcu_socket_connect_multi ...................................................................... BTS_Tests: refactor and fix TC_pcu_socket_connect_multi The expectations of this test case were wrong. The IUT would first accept() an additional connection and then close() it immediately. Since there may be other messages, like TIME.ind and DATA.ind, the 'alt' statement would not match successful connection result, and instead would unblock the flow due to timeout. The titan.TestPorts.UNIX_DOMAIN_SOCKETasp had to be changed [1] to send UD_connect_result with ERROR if recv() returns zero or a negative. [1] https://github.com/eclipse/titan.TestPorts.UNIX_DOMAIN_SOCKETasp/pull/4 Change-Id: I898b8b14515d79766b12d652ebb1ddf834e2863c --- M bts/BTS_Tests.ttcn M deps/Makefile 2 files changed, 21 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/66/23466/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23466 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I898b8b14515d79766b12d652ebb1ddf834e2863c Gerrit-Change-Number: 23466 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 23 15:20:08 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 23 Mar 2021 15:20:08 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Rename BSS-side states to include 'bss' in name In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23471 ) Change subject: gprs_ns2_sns: Rename BSS-side states to include 'bss' in name ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23471 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Iebc97637063b2676abff4a7dce50272d9b4e336b Gerrit-Change-Number: 23471 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 15: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 Tue Mar 23 15:20:42 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 23 Mar 2021 15:20:42 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests: refactor and fix TC_pcu_socket_connect_multi In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23466 ) Change subject: BTS_Tests: refactor and fix TC_pcu_socket_connect_multi ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23466 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I898b8b14515d79766b12d652ebb1ddf834e2863c Gerrit-Change-Number: 23466 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 15:20: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 Mar 23 15:51:36 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 23 Mar 2021 15:51:36 +0000 Subject: Change in pysim[master]: cards: don't use pyTLV References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/23475 ) Change subject: cards: don't use pyTLV ...................................................................... cards: don't use pyTLV To generate the the ims-hdomain, impi and impu TLV string it is not necessary to use pyTLV, a simple format string works just as well but without creating a dependency pyTLV. Change-Id: I17009223f55a9efadfde419c5514702496072cb9 Related: OS#4963 --- M pySim/cards.py 1 file changed, 3 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/75/23475/1 diff --git a/pySim/cards.py b/pySim/cards.py index c640591..4d02ac6 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -27,7 +27,6 @@ from pySim.ts_31_103 import EF_ISIM_ADF_map from pySim.utils import * from smartcard.util import toBytes -from pytlv.TLV import * class Card(object): @@ -367,8 +366,7 @@ hex_str = s2h('ims.' + plmn_str + '.3gppnetwork.org') # Build TLV - tlv = TLV(['80']) - content = tlv.build({'80': hex_str}) + content = ("80%02x%s" % (len(hex_str)//2, hex_str)).upper() bin_size_bytes = self._scc.binary_size(EF_ISIM_ADF_map['DOMAIN']) data, sw = self._scc.update_binary(EF_ISIM_ADF_map['DOMAIN'], rpad(content, bin_size_bytes*2)) @@ -389,8 +387,7 @@ if impi: hex_str = s2h(impi) # Build TLV - tlv = TLV(['80']) - content = tlv.build({'80': hex_str}) + content = ("80%02x%s" % (len(hex_str)//2, hex_str)).upper() bin_size_bytes = self._scc.binary_size(EF_ISIM_ADF_map['IMPI']) data, sw = self._scc.update_binary(EF_ISIM_ADF_map['IMPI'], rpad(content, bin_size_bytes*2)) @@ -415,8 +412,7 @@ if impu: hex_str = s2h(impu) # Build TLV - tlv = TLV(['80']) - content = tlv.build({'80': hex_str}) + content = ("80%02x%s" % (len(hex_str)//2, hex_str)).upper() rec_size_bytes = self._scc.record_size(EF_ISIM_ADF_map['IMPU']) impu_tlv = rpad(content, rec_size_bytes*2) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23475 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I17009223f55a9efadfde419c5514702496072cb9 Gerrit-Change-Number: 23475 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 23 16:38:55 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 23 Mar 2021 16:38:55 +0000 Subject: Change in pysim[master]: pySim-shell: add availability check for elementry files In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23403 ) Change subject: pySim-shell: add availability check for elementry files ...................................................................... Patch Set 6: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23403 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I9248e2fc067f822d9c4ccc4e48d378eea9ce3354 Gerrit-Change-Number: 23403 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 23 Mar 2021 16:38:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 23 16:40:13 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 23 Mar 2021 16:40:13 +0000 Subject: Change in pysim[master]: pySim-shell: add command to show file description In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23458 ) Change subject: pySim-shell: add command to show file description ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23458 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: If716cf3c6b09d53dca652b588671487d5343cf58 Gerrit-Change-Number: 23458 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 23 Mar 2021 16:40: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 Mar 23 16:41:31 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 23 Mar 2021 16:41:31 +0000 Subject: Change in pysim[master]: pySim-shell: output currently selected file using select command In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23459 ) Change subject: pySim-shell: output currently selected file using select command ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23459 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I541bd5ed14f240cd1c2bd63647c830f669d26130 Gerrit-Change-Number: 23459 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 23 Mar 2021 16:41:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 23 16:44:54 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 23 Mar 2021 16:44:54 +0000 Subject: Change in pysim[master]: pysim-shell: select MF on startup to make commands accessible In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23472 ) Change subject: pysim-shell: select MF on startup to make commands accessible ...................................................................... Patch Set 1: Code-Review+1 Just to clarify, it would be possible to select the MF manually in the shell? This is just a convenience you would want to do anyway? -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23472 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ib63191f44e7c8ae07b0128a9affba40b44957adc Gerrit-Change-Number: 23472 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 23 Mar 2021 16:44: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 Mar 23 16:50:03 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 23 Mar 2021 16:50:03 +0000 Subject: Change in pysim[master]: pySim-shell: add ADF.ISIM / ADF.USIM dynamically In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23473 ) Change subject: pySim-shell: add ADF.ISIM / ADF.USIM dynamically ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23473 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I42ee23375f98e6322708c1c4db6d65e1425feecd Gerrit-Change-Number: 23473 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 23 Mar 2021 16:50: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 Mar 23 16:55:30 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 23 Mar 2021 16:55:30 +0000 Subject: Change in pysim[master]: cards: don't use pyTLV In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23475 ) Change subject: cards: don't use pyTLV ...................................................................... Patch Set 1: What do we gain from this? Does that mean we can drop the pyTLV dependency completely? (was it only used here?) Why is that dependency bad? Many things can be expressed with a format string, but that doesn't mean we should do it. :-) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23475 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I17009223f55a9efadfde419c5514702496072cb9 Gerrit-Change-Number: 23475 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 16:55:30 +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 Mar 23 16:56:59 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 23 Mar 2021 16:56:59 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Add some more OSMO_ASSERT about BSS role In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23406 ) Change subject: gprs_ns2_sns: Add some more OSMO_ASSERT about BSS role ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23406 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I20d1bd8df62e0bb84696e291756e2d96acf49246 Gerrit-Change-Number: 23406 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 16:56: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 Mar 23 16:57:23 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 23 Mar 2021 16:57:23 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Rename BSS-side states to include 'bss' in name In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23471 ) Change subject: gprs_ns2_sns: Rename BSS-side states to include 'bss' in name ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23471 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Iebc97637063b2676abff4a7dce50272d9b4e336b Gerrit-Change-Number: 23471 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 16:57:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 23 16:58:22 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 23 Mar 2021 16:58:22 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Implement checks during processing of inbound SNS-SIZE In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23412 ) Change subject: gprs_ns2_sns: Implement checks during processing of inbound SNS-SIZE ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23412 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1638f04ba45fef3ba0b237948dff6022267141fb Gerrit-Change-Number: 23412 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 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 Tue Mar 23 16:59:20 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 23 Mar 2021 16:59:20 +0000 Subject: Change in libosmocore[master]: gprs_ns2: dynamic NS-VC + NSE creation for IP-SNS in SGSN role In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23414 ) Change subject: gprs_ns2: dynamic NS-VC + NSE creation for IP-SNS in SGSN role ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23414 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie10bb3531fae2e651da04f965d964de6eb1e7a97 Gerrit-Change-Number: 23414 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 16:59:20 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 23 17:05:11 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Tue, 23 Mar 2021 17:05:11 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Allow VTY configuration of default binds for IP-SNS In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23415 ) Change subject: gprs_ns2_sns: Allow VTY configuration of default binds for IP-SNS ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/23415/3/src/gb/gprs_ns2_vty.c File src/gb/gprs_ns2_vty.c: https://gerrit.osmocom.org/c/libosmocore/+/23415/3/src/gb/gprs_ns2_vty.c at 566 PS3, Line 566: llist_for_each_entry(vbind, &ip_sns_default_binds, list) { > how would that work? Not sure. We could have multiple IP-SNS BSS that each want to attach to a different IP/Port endpoint. But in that case just using the current bind (having no defaults) should be okay I guess? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23415 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id01c29b07e9203c9305f2129361a4f5aaefa2c52 Gerrit-Change-Number: 23415 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 17:05:11 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Comment-In-Reply-To: daniel Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 23 17:08:25 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 23 Mar 2021 17:08:25 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Implement checks during processing of inbound SNS-SIZE In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23412 ) Change subject: gprs_ns2_sns: Implement checks during processing of inbound SNS-SIZE ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23412 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1638f04ba45fef3ba0b237948dff6022267141fb Gerrit-Change-Number: 23412 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 17: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 Mar 23 17:12:34 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 23 Mar 2021 17:12:34 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vty: Allow creating NSE in sgsn-role In-Reply-To: References: Message-ID: lynxis lazus has removed a vote from this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23408 ) Change subject: gprs_ns2_vty: Allow creating NSE in sgsn-role ...................................................................... Removed Code-Review-2 by lynxis lazus -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23408 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I694fa6c80d04d13cb1afaae93a9ae43b6dfd2207 Gerrit-Change-Number: 23408 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: deleteVote -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 23 17:13:55 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 23 Mar 2021 17:13:55 +0000 Subject: Change in libosmocore[master]: gprs_ns2: dynamic NS-VC + NSE creation for IP-SNS in SGSN role In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23414 ) Change subject: gprs_ns2: dynamic NS-VC + NSE creation for IP-SNS in SGSN role ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23414 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie10bb3531fae2e651da04f965d964de6eb1e7a97 Gerrit-Change-Number: 23414 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 17:13:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 23 17:32:33 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 23 Mar 2021 17:32:33 +0000 Subject: Change in osmo-gsm-manuals[master]: common/chapters: extend gb/ns2 chapters In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/23393 ) Change subject: common/chapters: extend gb/ns2 chapters ...................................................................... Set Ready For Review -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/23393 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: I902b850528cbc04bd469590babd84cccf64300e8 Gerrit-Change-Number: 23393 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 17:32: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 Mar 23 17:39:21 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 23 Mar 2021 17:39:21 +0000 Subject: Change in osmo-pcu[master]: gprs_bssgp_pcu: ensure only known BVCI can be resetted by the SGSN In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23014 ) Change subject: gprs_bssgp_pcu: ensure only known BVCI can be resetted by the SGSN ...................................................................... Patch Set 5: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23014 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I04e36ce4a29e51d85e67a0d3a81aa0e1eb9e9c08 Gerrit-Change-Number: 23014 Gerrit-PatchSet: 5 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 17: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 Tue Mar 23 17:45:21 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 17:45:21 +0000 Subject: Change in osmo-gsm-manuals[master]: common/chapters: extend gb/ns2 chapters In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/23393 ) Change subject: common/chapters: extend gb/ns2 chapters ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/23393 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: I902b850528cbc04bd469590babd84cccf64300e8 Gerrit-Change-Number: 23393 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 17:45: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 Mar 23 17:47:07 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 17:47:07 +0000 Subject: Change in osmo-pcu[master]: gprs_bssgp_pcu: ensure only known BVCI can be resetted by the SGSN In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23014 ) Change subject: gprs_bssgp_pcu: ensure only known BVCI can be resetted by the SGSN ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23014 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I04e36ce4a29e51d85e67a0d3a81aa0e1eb9e9c08 Gerrit-Change-Number: 23014 Gerrit-PatchSet: 5 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 17:47: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 Mar 23 17:47:23 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 17:47:23 +0000 Subject: Change in osmo-pcu[master]: gprs_bssgp_pcu: ensure only known BVCI can be resetted by the SGSN In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23014 ) Change subject: gprs_bssgp_pcu: ensure only known BVCI can be resetted by the SGSN ...................................................................... gprs_bssgp_pcu: ensure only known BVCI can be resetted by the SGSN Related: OS#3879 Change-Id: I04e36ce4a29e51d85e67a0d3a81aa0e1eb9e9c08 --- M src/gprs_bssgp_pcu.c 1 file changed, 12 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/gprs_bssgp_pcu.c b/src/gprs_bssgp_pcu.c index fd3f0db..4170a66 100644 --- a/src/gprs_bssgp_pcu.c +++ b/src/gprs_bssgp_pcu.c @@ -415,6 +415,7 @@ struct tlv_parsed tp; enum bssgp_pdu_type pdu_type = (enum bssgp_pdu_type) bgph->pdu_type; uint16_t ns_bvci = msgb_bvci(msg), nsei = msgb_nsei(msg); + uint16_t bvci; int data_len; int rc = 0; struct bssgp_bvc_ctx *bctx; @@ -456,6 +457,17 @@ } if (pdu_type == BSSGP_PDUT_BVC_RESET) { + if (ns_bvci != BVCI_SIGNALLING || !TLVP_PRESENT(&tp, BSSGP_IE_BVCI)) { + LOGP(DBSSGP, LOGL_ERROR, "Rx an invalid BVC-RESET %s\n", msgb_hexdump(msg)); + return bssgp_tx_status(BSSGP_CAUSE_INV_MAND_INF, NULL, msg); + } + + bvci = tlvp_val16be(&tp, BSSGP_IE_BVCI); + if (bvci != BVCI_SIGNALLING && bvci != the_pcu->bssgp.bctx->bvci) { + LOGP(DBSSGP, LOGL_ERROR, "Rx BVC-RESET for an unknown BVCI %d\n", bvci); + return bssgp_tx_status(BSSGP_CAUSE_UNKNOWN_BVCI, &bvci, msg); + } + return bssgp_rcvmsg(msg); } -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23014 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I04e36ce4a29e51d85e67a0d3a81aa0e1eb9e9c08 Gerrit-Change-Number: 23014 Gerrit-PatchSet: 6 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 23 17:47:23 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 17:47:23 +0000 Subject: Change in osmo-pcu[master]: gprs_bssgp_pcu: add comments to the pcu states In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23015 ) Change subject: gprs_bssgp_pcu: add comments to the pcu states ...................................................................... gprs_bssgp_pcu: add comments to the pcu states Related: OS#3879 Change-Id: Iccf6508ce46162e6dfd6b00abd44e24cb425b346 --- M src/gprs_bssgp_pcu.h 1 file changed, 4 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/gprs_bssgp_pcu.h b/src/gprs_bssgp_pcu.h index db77cbb..6c6de1d 100644 --- a/src/gprs_bssgp_pcu.h +++ b/src/gprs_bssgp_pcu.h @@ -53,10 +53,14 @@ struct osmo_timer_list bvc_timer; + /* state: is the NSVC unblocked? */ int nsvc_unblocked; + /* state: true if bvc signalling needs to be reseted or waiting for reset ack */ int bvc_sig_reset; + /* state: true if bvc ptp needs to be reseted or waiting for reset ack */ int bvc_reset; + /* state: true if bvc ptp is unblocked */ int bvc_unblocked; /* Flow control */ -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23015 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Iccf6508ce46162e6dfd6b00abd44e24cb425b346 Gerrit-Change-Number: 23015 Gerrit-PatchSet: 6 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 23 17:48:39 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 17:48:39 +0000 Subject: Change in pysim[master]: cards: don't use pyTLV In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23475 ) Change subject: cards: don't use pyTLV ...................................................................... Patch Set 1: I would rather move away from pytlv (as needed in other places and then migrate over to whatever new we use instead. Moving to format-strings is hardly an improvement in terms of readability. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23475 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I17009223f55a9efadfde419c5514702496072cb9 Gerrit-Change-Number: 23475 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 17:48:39 +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 Mar 23 17:49:19 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 17:49:19 +0000 Subject: Change in pysim[master]: pysim-shell: select MF on startup to make commands accessible In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23472 ) Change subject: pysim-shell: select MF on startup to make commands accessible ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23472 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ib63191f44e7c8ae07b0128a9affba40b44957adc Gerrit-Change-Number: 23472 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 23 Mar 2021 17:49: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 Mar 23 17:54:28 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 17:54:28 +0000 Subject: Change in pysim[master]: pySim-shell: add ADF.ISIM / ADF.USIM dynamically In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23473 ) Change subject: pySim-shell: add ADF.ISIM / ADF.USIM dynamically ...................................................................... Patch Set 1: (2 comments) https://gerrit.osmocom.org/c/pysim/+/23473/1/pySim-shell.py File pySim-shell.py: https://gerrit.osmocom.org/c/pysim/+/23473/1/pySim-shell.py at a259 PS1, Line 259: # the fixme probably still applies to DF_TELECOM and DF_GSM, where it's currently unclear how to do that better. https://gerrit.osmocom.org/c/pysim/+/23473/1/pySim-shell.py at 266 PS1, Line 266: if "a0000000871002" in a: I would move this entire new block into a function / method, rather than only having it in 'main'. This way it can be used in the future from possibly other parts of the code. Also, please avoid hard-coding some specific AIDs here. The CardApplication classes should themselves "know" their AID and register somewhere with common infrastructure (either by explicit code or by some kind of syntactic sugar). This loop then should iterate over the AIDs in the EF_DIR and try to find an application registered for the AID. This way we can always easily add support for new applications by simply creating another [instance of] a derived class of CardApplication, and not have to change some kind of hard-coded duplicated aid list in this iterator function. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23473 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I42ee23375f98e6322708c1c4db6d65e1425feecd Gerrit-Change-Number: 23473 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 23 Mar 2021 17:54:28 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 23 17:55:39 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 17:55:39 +0000 Subject: Change in pysim[master]: pySim-shell: add option to execute script on startup In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23474 ) Change subject: pySim-shell: add option to execute script on startup ...................................................................... Patch Set 1: isn't this the same as stdin redirection of the script? -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23474 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I69f5224087023650340fbfee74668e1850345f54 Gerrit-Change-Number: 23474 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 23 Mar 2021 17:55:39 +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 Mar 23 17:55:57 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 17:55:57 +0000 Subject: Change in pysim[master]: pySim-shell: add option to execute script on startup In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23474 ) Change subject: pySim-shell: add option to execute script on startup ...................................................................... Patch Set 1: Code-Review+1 ah sorry, I recall. They don't do stdin redirection in cmd2, right? Only stduot... -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23474 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I69f5224087023650340fbfee74668e1850345f54 Gerrit-Change-Number: 23474 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 23 Mar 2021 17:55: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 Mar 23 19:52:11 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 19:52:11 +0000 Subject: Change in pysim[master]: pysim-shell: select MF on startup to make commands accessible In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/23472 ) Change subject: pysim-shell: select MF on startup to make commands accessible ...................................................................... pysim-shell: select MF on startup to make commands accessible On the cration of the PysimApp object only the basic commands in pySim-shell.py are registered, since the MF is only created but not selected, the file specific commands of the MF are not available. To make them available, select the MF once on startup before entering the cmdloop. Change-Id: Ib63191f44e7c8ae07b0128a9affba40b44957adc Related: OS#4963 --- M pySim-shell.py 1 file changed, 1 insertion(+), 0 deletions(-) Approvals: Jenkins Builder: Verified daniel: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/pySim-shell.py b/pySim-shell.py index 481bfc8..946b3e5 100755 --- a/pySim-shell.py +++ b/pySim-shell.py @@ -263,4 +263,5 @@ rs.mf.add_application(ADF_ISIM()) app = PysimApp(card, rs) + rs.select('MF', app) app.cmdloop() -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23472 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ib63191f44e7c8ae07b0128a9affba40b44957adc Gerrit-Change-Number: 23472 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 23 19:53:50 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 19:53:50 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vty: Allow creating NSE in sgsn-role In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23408 ) Change subject: gprs_ns2_vty: Allow creating NSE in sgsn-role ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/23408/4/src/gb/gprs_ns2_vty.c File src/gb/gprs_ns2_vty.c: https://gerrit.osmocom.org/c/libosmocore/+/23408/4/src/gb/gprs_ns2_vty.c at 273 PS4, Line 273: "nse <0-65535> [sgsn-role]", conclusion from a joint call with lynxis and dwillmann is that we at the very least want to rename this to ip-sns-role-sgsn and then also verify that users cannot add an "initial remote endpoint" in that case. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23408 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I694fa6c80d04d13cb1afaae93a9ae43b6dfd2207 Gerrit-Change-Number: 23408 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 19:53:50 +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 Mar 23 19:55:53 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 19:55:53 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Allow VTY configuration of default binds for IP-SNS In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23415 ) Change subject: gprs_ns2_sns: Allow VTY configuration of default binds for IP-SNS ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/23415/3/src/gb/gprs_ns2_vty.c File src/gb/gprs_ns2_vty.c: https://gerrit.osmocom.org/c/libosmocore/+/23415/3/src/gb/gprs_ns2_vty.c at 566 PS3, Line 566: llist_for_each_entry(vbind, &ip_sns_default_binds, list) { > Not sure. [?] I'm aware of this possible configuration. My questions is: How would it work? How would one configure it? I had the thought during implementation, but I couldn't see a way how to make it work in terms of our data structures / architecture. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23415 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id01c29b07e9203c9305f2129361a4f5aaefa2c52 Gerrit-Change-Number: 23415 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 19:55:53 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Comment-In-Reply-To: daniel Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 23 23:27:48 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 23:27:48 +0000 Subject: Change in libosmocore[master]: gprs_ns2: Introduce gprs_ns2_create_nse2() for SGSN side SNS In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, daniel, lynxis lazus, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/23407 to look at the new patch set (#5). Change subject: gprs_ns2: Introduce gprs_ns2_create_nse2() for SGSN side SNS ...................................................................... gprs_ns2: Introduce gprs_ns2_create_nse2() for SGSN side SNS gprs_ns2_create_nse() doesn't allow the caller to specify if the BSS or the SGSN role of IP-SNS shall be implemented. Add gprs_ns2_create_nse2() to fix that. Change-Id: I6db8c36f7c69b592d7d0fbcf323804f7e9912be2 Related: OS#3373 --- M include/osmocom/gprs/gprs_ns2.h M src/gb/gprs_ns2.c M src/gb/gprs_ns2_internal.h M src/gb/libosmogb.map 4 files changed, 26 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/07/23407/5 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23407 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6db8c36f7c69b592d7d0fbcf323804f7e9912be2 Gerrit-Change-Number: 23407 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 23 23:27:48 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 23:27:48 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vty: Allow creating NSE in sgsn-role In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, daniel, lynxis lazus, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/23408 to look at the new patch set (#5). Change subject: gprs_ns2_vty: Allow creating NSE in sgsn-role ...................................................................... gprs_ns2_vty: Allow creating NSE in sgsn-role Change-Id: I694fa6c80d04d13cb1afaae93a9ae43b6dfd2207 Related: OS#3373 --- M src/gb/gprs_ns2_vty.c M tests/gb/gprs_ns2_vty.vty 2 files changed, 10 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/08/23408/5 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23408 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I694fa6c80d04d13cb1afaae93a9ae43b6dfd2207 Gerrit-Change-Number: 23408 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 23 23:27:48 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 23:27:48 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vc_fsm: In IP-SNS/ALIVE mode, initial state is ALIVE/UNBLOCKED In-Reply-To: References: Message-ID: Hello Jenkins Builder, daniel, lynxis lazus, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/23468 to look at the new patch set (#3). Change subject: gprs_ns2_vc_fsm: In IP-SNS/ALIVE mode, initial state is ALIVE/UNBLOCKED ...................................................................... gprs_ns2_vc_fsm: In IP-SNS/ALIVE mode, initial state is ALIVE/UNBLOCKED Only when the ALIVE procedure fails, we mark a NS-VC as RECOVERING. Change-Id: Ieb860827c2149306b135c0e6c8b3cd3bbb78851e --- M src/gb/gprs_ns2_vc_fsm.c 1 file changed, 9 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/68/23468/3 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23468 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ieb860827c2149306b135c0e6c8b3cd3bbb78851e Gerrit-Change-Number: 23468 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 23 23:27:52 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 23:27:52 +0000 Subject: Change in libosmocore[master]: WIP: Actually start Tns-test after SNS-CONFIG creates NS-VC References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/23477 ) Change subject: WIP: Actually start Tns-test after SNS-CONFIG creates NS-VC ...................................................................... WIP: Actually start Tns-test after SNS-CONFIG creates NS-VC the previous commit fixed the state transition, but also caused neither Tns-alive nor Tns-test to run Change-Id: I07ea3fd5cec3d4acf4051930a1a3c746d6fd597c --- M src/gb/gprs_ns2_vc_fsm.c 1 file changed, 36 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/77/23477/1 diff --git a/src/gb/gprs_ns2_vc_fsm.c b/src/gb/gprs_ns2_vc_fsm.c index b7adaf9..83e7590 100644 --- a/src/gb/gprs_ns2_vc_fsm.c +++ b/src/gb/gprs_ns2_vc_fsm.c @@ -143,19 +143,38 @@ return priv->nsvc->nse->nsi; } -static void start_test_procedure(struct gprs_ns2_vc_priv *priv) +/* Start the NS-TEST procedure, either with transmitting a tx_alive, + * (start_tx_alive==true) or with starting tns-test */ +static void start_test_procedure(struct osmo_fsm_inst *fi, bool start_tx_alive) { + struct gprs_ns2_vc_priv *priv = fi->priv; struct gprs_ns2_inst *nsi = priv->nsvc->nse->nsi; + unsigned int tout_idx; - if (osmo_timer_pending(&priv->alive.timer)) - return; + if (osmo_timer_pending(&priv->alive.timer)) { + if (start_tx_alive) { + if (priv->alive.mode == NS_TOUT_TNS_ALIVE) + return; + } else { + if (priv->alive.mode == NS_TOUT_TNS_TEST) + return; + } + } - priv->alive.mode = NS_TOUT_TNS_ALIVE; priv->alive.N = 0; - osmo_clock_gettime(CLOCK_MONOTONIC, &priv->alive.timer_started); - ns2_tx_alive(priv->nsvc); - osmo_timer_schedule(&priv->alive.timer, nsi->timeout[NS_TOUT_TNS_ALIVE], 0); + if (start_tx_alive) { + priv->alive.mode = NS_TOUT_TNS_ALIVE; + osmo_clock_gettime(CLOCK_MONOTONIC, &priv->alive.timer_started); + ns2_tx_alive(priv->nsvc); + tout_idx = NS_TOUT_TNS_ALIVE; + } else { + priv->alive.mode = NS_TOUT_TNS_TEST; + tout_idx = NS_TOUT_TNS_TEST; + } + LOGPFSML(fi, LOGL_DEBUG, "Starting Tns-%s of %u seconds\n", + tout_idx == NS_TOUT_TNS_ALIVE ? "alive" : "test", nsi->timeout[tout_idx]); + osmo_timer_schedule(&priv->alive.timer, nsi->timeout[tout_idx], 0); } static void stop_test_procedure(struct gprs_ns2_vc_priv *priv) @@ -163,6 +182,7 @@ osmo_timer_del(&priv->alive.timer); } +/* how many milliseconds have expired since the last alive timer start? */ static int alive_timer_elapsed_ms(struct gprs_ns2_vc_priv *priv) { struct timespec now, elapsed; @@ -174,6 +194,7 @@ return elapsed.tv_sec * 1000 + (elapsed.tv_nsec / 1000000); } +/* we just received a NS-ALIVE-ACK; re-schedule after Tns-test */ static void recv_test_procedure(struct osmo_fsm_inst *fi) { struct gprs_ns2_vc_priv *priv = fi->priv; @@ -326,7 +347,7 @@ ns2_tx_unblock(priv->nsvc); } - start_test_procedure(priv); + start_test_procedure(fi, true); } static void ns2_st_blocked(struct osmo_fsm_inst *fi, uint32_t event, void *data) @@ -392,6 +413,12 @@ priv->accept_unitdata = true; ns2_nse_notify_unblocked(nsvc, true); ns2_prim_status_ind(nse, nsvc, 0, GPRS_NS2_AFF_CAUSE_VC_RECOVERY); + + /* the closest interpretation of the spec would start Tns-test here first, + * and only send a NS-ALIVE after Tns-test has expired (i.e. setting the + * second argument to 'false'. However, being quick in detecting unavailability + * of a NS-VC seems like a good idea */ + start_test_procedure(fi, true); } static void ns2_st_unblocked(struct osmo_fsm_inst *fi, uint32_t event, void *data) @@ -431,9 +458,8 @@ if (old_state != GPRS_NS2_ST_RECOVERING) priv->N = 0; - ns2_tx_alive(priv->nsvc); ns2_nse_notify_unblocked(priv->nsvc, false); - start_test_procedure(priv); + start_test_procedure(fi, true); } static const struct osmo_fsm_state ns2_vc_states[] = { -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23477 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I07ea3fd5cec3d4acf4051930a1a3c746d6fd597c Gerrit-Change-Number: 23477 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 Mar 23 23:28:51 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 23:28:51 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Support for SGSN-side IP-SNS In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23405 ) Change subject: gprs_ns2_sns: Support for SGSN-side IP-SNS ...................................................................... gprs_ns2_sns: Support for SGSN-side IP-SNS This adds the core functionality of implementing the SGSN-side of IP-SNS inside a new FSM. The SGSN-side FSM shares states, events, structures and code with the BSS-side whenever possible. Note that this commit does not yet use the SGSN-side FSM, that is part of subsequent commits. Closes: OS#3373 Change-Id: I780413ffacd9cb71f64cc38057aae781eeb59b2b --- M src/gb/gprs_ns2_internal.h M src/gb/gprs_ns2_sns.c 2 files changed, 276 insertions(+), 5 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve daniel: Looks good to me, approved diff --git a/src/gb/gprs_ns2_internal.h b/src/gb/gprs_ns2_internal.h index 688a587..9b138e5 100644 --- a/src/gb/gprs_ns2_internal.h +++ b/src/gb/gprs_ns2_internal.h @@ -364,6 +364,7 @@ int ns2_sns_rx(struct gprs_ns2_vc *nsvc, struct msgb *msg, struct tlv_parsed *tp); struct osmo_fsm_inst *ns2_sns_bss_fsm_alloc(struct gprs_ns2_nse *nse, const char *id); +struct osmo_fsm_inst *ns2_sns_sgsn_fsm_alloc(struct gprs_ns2_nse *nse, const char *id); void ns2_sns_replace_nsvc(struct gprs_ns2_vc *nsvc); void ns2_sns_notify_alive(struct gprs_ns2_nse *nse, struct gprs_ns2_vc *nsvc, bool alive); void ns2_sns_update_weights(struct gprs_ns2_vc_bind *bind); diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index 1df8fc0..c6e8642 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -61,12 +61,19 @@ IPv6, }; +enum ns2_sns_role { + GPRS_SNS_ROLE_BSS, + GPRS_SNS_ROLE_SGSN, +}; + enum gprs_sns_bss_state { GPRS_SNS_ST_UNCONFIGURED, GPRS_SNS_ST_SIZE, /*!< SNS-SIZE procedure ongoing */ GPRS_SNS_ST_CONFIG_BSS, /*!< SNS-CONFIG procedure (BSS->SGSN) ongoing */ GPRS_SNS_ST_CONFIG_SGSN, /*!< SNS-CONFIG procedure (SGSN->BSS) ongoing */ GPRS_SNS_ST_CONFIGURED, + GPRS_SNS_ST_SGSN_WAIT_CONFIG, /* !< SGSN role: Wait for CONFIG from BSS */ + GPRS_SNS_ST_SGSN_WAIT_CONFIG_ACK, /* !< SGSN role: Wait for CONFIG-ACK from BSS */ }; enum gprs_sns_event { @@ -118,6 +125,7 @@ struct gprs_ns2_nse *nse; enum ns2_sns_type ip; + enum ns2_sns_role role; /* local role: BSS or SGSN */ /* holds the list of initial SNS endpoints */ struct llist_head sns_endpoints; @@ -738,7 +746,7 @@ struct gprs_ns_ie_ip6_elem *ip6_elems; struct gprs_ns2_vc_bind *bind; struct ns2_sns_bind *sbind; - struct osmo_sockaddr *remote; + const struct osmo_sockaddr *remote; const struct osmo_sockaddr *sa; struct osmo_sockaddr local; int count; @@ -746,10 +754,12 @@ ns2_clear_ipv46_entries(gss); /* no initial available */ - if (!gss->initial) - return; - - remote = &gss->initial->saddr; + if (gss->role == GPRS_SNS_ROLE_BSS) { + if (!gss->initial) + return; + remote = &gss->initial->saddr; + } else + remote = gprs_ns2_ip_vc_remote(gss->sns_nsvc); /* count how many bindings are available (only UDP binds) */ count = llist_count(&gss->binds); @@ -1526,6 +1536,7 @@ fi->priv = gss; gss->nse = nse; + gss->role = GPRS_SNS_ROLE_BSS; INIT_LLIST_HEAD(&gss->sns_endpoints); INIT_LLIST_HEAD(&gss->binds); @@ -1545,6 +1556,7 @@ struct gprs_ns2_nse *nse = nsvc->nse; struct gprs_ns_hdr *nsh = (struct gprs_ns_hdr *) msg->l2h; uint16_t nsei = nsvc->nse->nsei; + struct ns2_sns_state *gss; struct osmo_fsm_inst *fi; if (!nse->bss_sns_fi) { @@ -1555,6 +1567,9 @@ /* FIXME: how to resolve SNS FSM Instance by NSEI (SGSN)? */ fi = nse->bss_sns_fi; + gss = (struct ns2_sns_state *) fi->priv; + if (!gss->sns_nsvc) + gss->sns_nsvc = nsvc; LOGPFSML(fi, LOGL_DEBUG, "NSEI=%u Rx SNS PDU type %s\n", nsei, get_value_string(gprs_ns_pdu_strings, nsh->pdu_type)); @@ -1920,8 +1935,263 @@ /* TODO: implement weights after binds per sns implemented */ } + + + +/*********************************************************************** + * SGSN role + ***********************************************************************/ + +static void ns2_sns_st_sgsn_unconfigured(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; + OSMO_ASSERT(gss->role == GPRS_SNS_ROLE_SGSN); + /* do nothing; Rx SNS-SIZE handled in ns2_sns_st_all_action_sgsn() */ +} + +/* We're waiting for inbound SNS-CONFIG from the BSS */ +static void ns2_sns_st_sgsn_wait_config(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; + struct gprs_ns2_nse *nse = nse_inst_from_fi(fi); + struct gprs_ns2_inst *nsi = nse->nsi; + uint8_t cause; + int rc; + + OSMO_ASSERT(gss->role == GPRS_SNS_ROLE_SGSN); + + switch (event) { + case GPRS_SNS_EV_RX_CONFIG: + case GPRS_SNS_EV_RX_CONFIG_END: + rc = ns_sns_append_remote_eps(fi, data); + if (rc < 0) { + cause = -rc; + ns2_tx_sns_config_ack(gss->sns_nsvc, &cause); + osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_UNCONFIGURED, 0, 0); + return; + } + /* only change state if last CONFIG was received */ + if (event == GPRS_SNS_EV_RX_CONFIG_END) { + /* ensure sum of data weight / sig weights is > 0 */ + if (nss_weight_sum_data(gss) == 0 || nss_weight_sum_sig(gss) == 0) { + cause = NS_CAUSE_INVAL_WEIGH; + ns2_tx_sns_config_ack(gss->sns_nsvc, &cause); + osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_UNCONFIGURED, 0, 0); + break; + } + ns2_tx_sns_config_ack(gss->sns_nsvc, NULL); + osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_SGSN_WAIT_CONFIG_ACK, nsi->timeout[NS_TOUT_TSNS_PROV], 3); + } else { + /* just send CONFIG-ACK */ + ns2_tx_sns_config_ack(gss->sns_nsvc, NULL); + osmo_timer_schedule(&fi->timer, nse->nsi->timeout[NS_TOUT_TSNS_PROV], 0); + } + break; + } +} + +static void ns2_sns_st_sgsn_wait_config_ack_onenter(struct osmo_fsm_inst *fi, uint32_t old_state) +{ + struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; + OSMO_ASSERT(gss->role == GPRS_SNS_ROLE_SGSN); + + ns2_sns_compute_local_ep_from_binds(fi); + /* transmit SGSN-oriented SNS-CONFIG */ + ns2_tx_sns_config(gss->sns_nsvc, true, gss->ip4_local, gss->num_ip4_local, + gss->ip6_local, gss->num_ip6_local); +} + +/* We're waiting for SNS-CONFIG-ACK from the BSS (in response to our outbound SNS-CONFIG) */ +static void ns2_sns_st_sgsn_wait_config_ack(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; + struct gprs_ns2_nse *nse = nse_inst_from_fi(fi); + struct tlv_parsed *tp = NULL; + + OSMO_ASSERT(gss->role == GPRS_SNS_ROLE_SGSN); + + switch (event) { + case GPRS_SNS_EV_RX_CONFIG_ACK: + tp = data; + if (TLVP_VAL_MINLEN(tp, NS_IE_CAUSE, 1)) { + LOGPFSML(fi, LOGL_ERROR, "Rx SNS-CONFIG-ACK with cause %s\n", + gprs_ns2_cause_str(*TLVP_VAL(tp, NS_IE_CAUSE))); + osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_UNCONFIGURED, 0, 0); + break; + } + /* we currently only send one SNS-CONFIG with END FLAG */ + if (true) { + create_missing_nsvcs(fi); + /* start the test procedure on ALL NSVCs! */ + gprs_ns2_start_alive_all_nsvcs(nse); + osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_CONFIGURED, ns_sns_configured_timeout(fi), 4); + } + break; + } +} + +/* SGSN-side SNS state machine */ +static const struct osmo_fsm_state ns2_sns_sgsn_states[] = { + [GPRS_SNS_ST_UNCONFIGURED] = { + .in_event_mask = 0, /* handled by all_state_action */ + .out_state_mask = S(GPRS_SNS_ST_UNCONFIGURED) | + S(GPRS_SNS_ST_SGSN_WAIT_CONFIG), + .name = "UNCONFIGURED", + .action = ns2_sns_st_sgsn_unconfigured, + }, + [GPRS_SNS_ST_SGSN_WAIT_CONFIG] = { + .in_event_mask = S(GPRS_SNS_EV_RX_CONFIG) | + S(GPRS_SNS_EV_RX_CONFIG_END), + .out_state_mask = S(GPRS_SNS_ST_UNCONFIGURED) | + S(GPRS_SNS_ST_SGSN_WAIT_CONFIG) | + S(GPRS_SNS_ST_SGSN_WAIT_CONFIG_ACK), + .name = "SGSN_WAIT_CONFIG", + .action = ns2_sns_st_sgsn_wait_config, + }, + [GPRS_SNS_ST_SGSN_WAIT_CONFIG_ACK] = { + .in_event_mask = S(GPRS_SNS_EV_RX_CONFIG_ACK), + .out_state_mask = S(GPRS_SNS_ST_UNCONFIGURED) | + S(GPRS_SNS_ST_SGSN_WAIT_CONFIG_ACK) | + S(GPRS_SNS_ST_CONFIGURED), + .name = "SGSN_WAIT_CONFIG_ACK", + .action = ns2_sns_st_sgsn_wait_config_ack, + .onenter = ns2_sns_st_sgsn_wait_config_ack_onenter, + }, + [GPRS_SNS_ST_CONFIGURED] = { + .in_event_mask = S(GPRS_SNS_EV_RX_ADD) | + S(GPRS_SNS_EV_RX_DELETE) | + S(GPRS_SNS_EV_RX_CHANGE_WEIGHT) | + S(GPRS_SNS_EV_REQ_NSVC_ALIVE), + .out_state_mask = S(GPRS_SNS_ST_UNCONFIGURED), + .name = "CONFIGURED", + /* shared with BSS side; once configured there's no difference */ + .action = ns2_sns_st_configured, + .onenter = ns2_sns_st_configured_onenter, + }, +}; + +static int ns2_sns_fsm_sgsn_timer_cb(struct osmo_fsm_inst *fi) +{ + struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; + struct gprs_ns2_nse *nse = nse_inst_from_fi(fi); + struct gprs_ns2_inst *nsi = nse->nsi; + + gss->N++; + switch (fi->T) { + case 3: + if (gss->N >= nsi->timeout[NS_TOUT_TSNS_CONFIG_RETRIES]) { + LOGPFSML(fi, LOGL_ERROR, "NSE %d: SGSN Config retries failed. Giving up.\n", nse->nsei); + osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_UNCONFIGURED, nsi->timeout[NS_TOUT_TSNS_PROV], 3); + } else { + osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_SGSN_WAIT_CONFIG_ACK, nsi->timeout[NS_TOUT_TSNS_PROV], 3); + } + break; + case 4: + LOGPFSML(fi, LOGL_ERROR, "NSE %d: Config succeeded but no NS-VC came online.\n", nse->nsei); + break; + } + return 0; +} + + +/* allstate-action for SGSN role */ +static void ns2_sns_st_all_action_sgsn(struct osmo_fsm_inst *fi, uint32_t event, void *data) +{ + struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; + struct tlv_parsed *tp = NULL; + uint8_t flag; + + OSMO_ASSERT(gss->role == GPRS_SNS_ROLE_SGSN); + + switch (event) { + case GPRS_SNS_EV_RX_SIZE: + tp = (struct tlv_parsed *) data; + if (!TLVP_PRES_LEN(tp, NS_IE_RESET_FLAG, 1)) { + uint8_t cause = NS_CAUSE_MISSING_ESSENT_IE; + ns2_tx_sns_size_ack(gss->sns_nsvc, &cause); + break; + } + flag = *TLVP_VAL(tp, NS_IE_RESET_FLAG); + if (flag & 1) { + struct gprs_ns2_vc *nsvc, *nsvc2; + /* clear all state */ + gss->N = 0; + ns2_clear_ipv46_entries(gss); + llist_for_each_entry_safe(nsvc, nsvc2, &gss->nse->nsvc, list) { + if (nsvc == gss->sns_nsvc) { + /* keep the NSVC we need for SNS, but unconfigure it */ + nsvc->sig_weight = 0; + nsvc->data_weight = 0; + ns2_vc_force_unconfigured(nsvc); + } else { + /* free all other NS-VCs */ + gprs_ns2_free_nsvc(nsvc); + } + } + } + /* send SIZE_ACK */ + ns2_tx_sns_size_ack(gss->sns_nsvc, NULL); + /* only wait for SNS-CONFIG in case of Reset flag */ + if (flag & 1) + osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_SGSN_WAIT_CONFIG, 0, 0); + break; + default: + ns2_sns_st_all_action(fi, event, data); + break; + } +} + +static struct osmo_fsm gprs_ns2_sns_sgsn_fsm = { + .name = "GPRS-NS2-SNS-SGSN", + .states = ns2_sns_sgsn_states, + .num_states = ARRAY_SIZE(ns2_sns_sgsn_states), + .allstate_event_mask = S(GPRS_SNS_EV_RX_SIZE) | + S(GPRS_SNS_EV_REQ_NO_NSVC) | + S(GPRS_SNS_EV_REQ_ADD_BIND) | + S(GPRS_SNS_EV_REQ_DELETE_BIND), + .allstate_action = ns2_sns_st_all_action_sgsn, + .cleanup = NULL, + .timer_cb = ns2_sns_fsm_sgsn_timer_cb, + .event_names = gprs_sns_event_names, + .pre_term = NULL, + .log_subsys = DLNS, +}; + +/*! Allocate an IP-SNS FSM for the SGSN side. + * \param[in] nse NS Entity in which the FSM runs + * \param[in] id string identifier + * \returns FSM instance on success; NULL on error */ +struct osmo_fsm_inst *ns2_sns_sgsn_fsm_alloc(struct gprs_ns2_nse *nse, const char *id) +{ + struct osmo_fsm_inst *fi; + struct ns2_sns_state *gss; + + fi = osmo_fsm_inst_alloc(&gprs_ns2_sns_sgsn_fsm, nse, NULL, LOGL_DEBUG, id); + if (!fi) + return fi; + + gss = talloc_zero(fi, struct ns2_sns_state); + if (!gss) + goto err; + + fi->priv = gss; + gss->nse = nse; + gss->role = GPRS_SNS_ROLE_SGSN; + INIT_LLIST_HEAD(&gss->sns_endpoints); + INIT_LLIST_HEAD(&gss->binds); + + return fi; +err: + osmo_fsm_inst_term(fi, OSMO_FSM_TERM_ERROR, NULL); + return NULL; +} + + + + /* initialize osmo_ctx on main tread */ static __attribute__((constructor)) void on_dso_load_ctx(void) { OSMO_ASSERT(osmo_fsm_register(&gprs_ns2_sns_bss_fsm) == 0); + OSMO_ASSERT(osmo_fsm_register(&gprs_ns2_sns_sgsn_fsm) == 0); } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23405 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I780413ffacd9cb71f64cc38057aae781eeb59b2b Gerrit-Change-Number: 23405 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 23 23:28:52 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 23:28:52 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Add some more OSMO_ASSERT about BSS role In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23406 ) Change subject: gprs_ns2_sns: Add some more OSMO_ASSERT about BSS role ...................................................................... gprs_ns2_sns: Add some more OSMO_ASSERT about BSS role Some functions are only to be called when operating in BSS role, let's enforce that by sprinkling some OSMO_ASSERT() around. Related: OS#3373 Change-Id: I20d1bd8df62e0bb84696e291756e2d96acf49246 --- M src/gb/gprs_ns2_sns.c 1 file changed, 17 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified daniel: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index c6e8642..51b3ea8 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -713,15 +713,20 @@ static void ns2_sns_st_unconfigured(struct osmo_fsm_inst *fi, uint32_t event, void *data) { + struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; + OSMO_ASSERT(gss->role == GPRS_SNS_ROLE_BSS); /* empty state - SNS Select will start by ns2_sns_st_all_action() */ } static void ns2_sns_st_size(struct osmo_fsm_inst *fi, uint32_t event, void *data) { + struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; struct gprs_ns2_nse *nse = nse_inst_from_fi(fi); struct gprs_ns2_inst *nsi = nse->nsi; struct tlv_parsed *tp = NULL; + OSMO_ASSERT(gss->role == GPRS_SNS_ROLE_BSS); + switch (event) { case GPRS_SNS_EV_RX_SIZE_ACK: tp = data; @@ -849,6 +854,8 @@ { struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; + OSMO_ASSERT(gss->role == GPRS_SNS_ROLE_BSS); + /* on a generic failure, the timer callback will recover */ if (old_state != GPRS_SNS_ST_UNCONFIGURED) ns2_prim_status_ind(gss->nse, NULL, 0, GPRS_NS2_AFF_CAUSE_SNS_FAILURE); @@ -890,8 +897,11 @@ static void ns2_sns_st_config_bss(struct osmo_fsm_inst *fi, uint32_t event, void *data) { - struct tlv_parsed *tp = NULL; + struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; struct gprs_ns2_nse *nse = nse_inst_from_fi(fi); + struct tlv_parsed *tp = NULL; + + OSMO_ASSERT(gss->role == GPRS_SNS_ROLE_BSS); switch (event) { case GPRS_SNS_EV_RX_CONFIG_ACK: @@ -913,6 +923,8 @@ { struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; + OSMO_ASSERT(gss->role == GPRS_SNS_ROLE_BSS); + if (old_state != GPRS_SNS_ST_CONFIG_BSS) gss->N = 0; @@ -998,6 +1010,8 @@ { struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; + OSMO_ASSERT(gss->role == GPRS_SNS_ROLE_BSS); + if (old_state != GPRS_SNS_ST_CONFIG_SGSN) gss->N = 0; } @@ -1009,6 +1023,8 @@ uint8_t cause; int rc; + OSMO_ASSERT(gss->role == GPRS_SNS_ROLE_BSS); + switch (event) { case GPRS_SNS_EV_RX_CONFIG_END: case GPRS_SNS_EV_RX_CONFIG: -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23406 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I20d1bd8df62e0bb84696e291756e2d96acf49246 Gerrit-Change-Number: 23406 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 23 23:28:53 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 23:28:53 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Rename BSS-side states to include 'bss' in name In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23471 ) Change subject: gprs_ns2_sns: Rename BSS-side states to include 'bss' in name ...................................................................... gprs_ns2_sns: Rename BSS-side states to include 'bss' in name Clearly separate those states that only occur on the BSS side from those of the SGSN side (which already have a prefix) Change-Id: Iebc97637063b2676abff4a7dce50272d9b4e336b Related: OS#3373 --- M src/gb/gprs_ns2_sns.c 1 file changed, 48 insertions(+), 47 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve daniel: Looks good to me, approved diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index 51b3ea8..2bcd0df 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -66,11 +66,12 @@ GPRS_SNS_ROLE_SGSN, }; +/* BSS-side-only states _ST_BSS_; SGSN-side only states _ST_SGSN_; others shared */ enum gprs_sns_bss_state { GPRS_SNS_ST_UNCONFIGURED, - GPRS_SNS_ST_SIZE, /*!< SNS-SIZE procedure ongoing */ - GPRS_SNS_ST_CONFIG_BSS, /*!< SNS-CONFIG procedure (BSS->SGSN) ongoing */ - GPRS_SNS_ST_CONFIG_SGSN, /*!< SNS-CONFIG procedure (SGSN->BSS) ongoing */ + GPRS_SNS_ST_BSS_SIZE, /*!< SNS-SIZE procedure ongoing */ + GPRS_SNS_ST_BSS_CONFIG_BSS, /*!< SNS-CONFIG procedure (BSS->SGSN) ongoing */ + GPRS_SNS_ST_BSS_CONFIG_SGSN, /*!< SNS-CONFIG procedure (SGSN->BSS) ongoing */ GPRS_SNS_ST_CONFIGURED, GPRS_SNS_ST_SGSN_WAIT_CONFIG, /* !< SGSN role: Wait for CONFIG from BSS */ GPRS_SNS_ST_SGSN_WAIT_CONFIG_ACK, /* !< SGSN role: Wait for CONFIG-ACK from BSS */ @@ -711,14 +712,14 @@ } -static void ns2_sns_st_unconfigured(struct osmo_fsm_inst *fi, uint32_t event, void *data) +static void ns2_sns_st_bss_unconfigured(struct osmo_fsm_inst *fi, uint32_t event, void *data) { struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; OSMO_ASSERT(gss->role == GPRS_SNS_ROLE_BSS); /* empty state - SNS Select will start by ns2_sns_st_all_action() */ } -static void ns2_sns_st_size(struct osmo_fsm_inst *fi, uint32_t event, void *data) +static void ns2_sns_st_bss_size(struct osmo_fsm_inst *fi, uint32_t event, void *data) { struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; struct gprs_ns2_nse *nse = nse_inst_from_fi(fi); @@ -735,7 +736,7 @@ gprs_ns2_cause_str(*TLVP_VAL(tp, NS_IE_CAUSE))); /* TODO: What to do? */ } else { - osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_CONFIG_BSS, + osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_BSS_CONFIG_BSS, nsi->timeout[NS_TOUT_TSNS_PROV], 2); } break; @@ -850,7 +851,7 @@ } /* setup all dynamic SNS settings, create a new nsvc and send the SIZE */ -static void ns2_sns_st_size_onenter(struct osmo_fsm_inst *fi, uint32_t old_state) +static void ns2_sns_st_bss_size_onenter(struct osmo_fsm_inst *fi, uint32_t old_state) { struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; @@ -859,7 +860,7 @@ /* on a generic failure, the timer callback will recover */ if (old_state != GPRS_SNS_ST_UNCONFIGURED) ns2_prim_status_ind(gss->nse, NULL, 0, GPRS_NS2_AFF_CAUSE_SNS_FAILURE); - if (old_state != GPRS_SNS_ST_SIZE) + if (old_state != GPRS_SNS_ST_BSS_SIZE) gss->N = 0; gss->alive = false; @@ -895,7 +896,7 @@ ns2_tx_sns_size(gss->sns_nsvc, true, gss->num_max_nsvcs, -1, gss->num_max_ip6_remote); } -static void ns2_sns_st_config_bss(struct osmo_fsm_inst *fi, uint32_t event, void *data) +static void ns2_sns_st_bss_config_bss(struct osmo_fsm_inst *fi, uint32_t event, void *data) { struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; struct gprs_ns2_nse *nse = nse_inst_from_fi(fi); @@ -911,7 +912,7 @@ gprs_ns2_cause_str(*TLVP_VAL(tp, NS_IE_CAUSE))); /* TODO: What to do? */ } else { - osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_CONFIG_SGSN, nse->nsi->timeout[NS_TOUT_TSNS_PROV], 3); + osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_BSS_CONFIG_SGSN, nse->nsi->timeout[NS_TOUT_TSNS_PROV], 3); } break; default: @@ -919,13 +920,13 @@ } } -static void ns2_sns_st_config_bss_onenter(struct osmo_fsm_inst *fi, uint32_t old_state) +static void ns2_sns_st_bss_config_bss_onenter(struct osmo_fsm_inst *fi, uint32_t old_state) { struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; OSMO_ASSERT(gss->role == GPRS_SNS_ROLE_BSS); - if (old_state != GPRS_SNS_ST_CONFIG_BSS) + if (old_state != GPRS_SNS_ST_BSS_CONFIG_BSS) gss->N = 0; /* Transmit SNS-CONFIG */ @@ -1006,17 +1007,17 @@ return 0; } -static void ns2_sns_st_config_sgsn_onenter(struct osmo_fsm_inst *fi, uint32_t old_state) +static void ns2_sns_st_bss_config_sgsn_onenter(struct osmo_fsm_inst *fi, uint32_t old_state) { struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; OSMO_ASSERT(gss->role == GPRS_SNS_ROLE_BSS); - if (old_state != GPRS_SNS_ST_CONFIG_SGSN) + if (old_state != GPRS_SNS_ST_BSS_CONFIG_SGSN) gss->N = 0; } -static void ns2_sns_st_config_sgsn(struct osmo_fsm_inst *fi, uint32_t event, void *data) +static void ns2_sns_st_bss_config_sgsn(struct osmo_fsm_inst *fi, uint32_t event, void *data) { struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; struct gprs_ns2_nse *nse = nse_inst_from_fi(fi); @@ -1326,39 +1327,39 @@ static const struct osmo_fsm_state ns2_sns_bss_states[] = { [GPRS_SNS_ST_UNCONFIGURED] = { .in_event_mask = 0, /* handled by all_state_action */ - .out_state_mask = S(GPRS_SNS_ST_SIZE), + .out_state_mask = S(GPRS_SNS_ST_BSS_SIZE), .name = "UNCONFIGURED", - .action = ns2_sns_st_unconfigured, + .action = ns2_sns_st_bss_unconfigured, }, - [GPRS_SNS_ST_SIZE] = { + [GPRS_SNS_ST_BSS_SIZE] = { .in_event_mask = S(GPRS_SNS_EV_RX_SIZE_ACK), .out_state_mask = S(GPRS_SNS_ST_UNCONFIGURED) | - S(GPRS_SNS_ST_SIZE) | - S(GPRS_SNS_ST_CONFIG_BSS), - .name = "SIZE", - .action = ns2_sns_st_size, - .onenter = ns2_sns_st_size_onenter, + S(GPRS_SNS_ST_BSS_SIZE) | + S(GPRS_SNS_ST_BSS_CONFIG_BSS), + .name = "BSS_SIZE", + .action = ns2_sns_st_bss_size, + .onenter = ns2_sns_st_bss_size_onenter, }, - [GPRS_SNS_ST_CONFIG_BSS] = { + [GPRS_SNS_ST_BSS_CONFIG_BSS] = { .in_event_mask = S(GPRS_SNS_EV_RX_CONFIG_ACK), .out_state_mask = S(GPRS_SNS_ST_UNCONFIGURED) | - S(GPRS_SNS_ST_CONFIG_BSS) | - S(GPRS_SNS_ST_CONFIG_SGSN) | - S(GPRS_SNS_ST_SIZE), - .name = "CONFIG_BSS", - .action = ns2_sns_st_config_bss, - .onenter = ns2_sns_st_config_bss_onenter, + S(GPRS_SNS_ST_BSS_CONFIG_BSS) | + S(GPRS_SNS_ST_BSS_CONFIG_SGSN) | + S(GPRS_SNS_ST_BSS_SIZE), + .name = "BSS_CONFIG_BSS", + .action = ns2_sns_st_bss_config_bss, + .onenter = ns2_sns_st_bss_config_bss_onenter, }, - [GPRS_SNS_ST_CONFIG_SGSN] = { + [GPRS_SNS_ST_BSS_CONFIG_SGSN] = { .in_event_mask = S(GPRS_SNS_EV_RX_CONFIG) | S(GPRS_SNS_EV_RX_CONFIG_END), .out_state_mask = S(GPRS_SNS_ST_UNCONFIGURED) | - S(GPRS_SNS_ST_CONFIG_SGSN) | + S(GPRS_SNS_ST_BSS_CONFIG_SGSN) | S(GPRS_SNS_ST_CONFIGURED) | - S(GPRS_SNS_ST_SIZE), - .name = "CONFIG_SGSN", - .action = ns2_sns_st_config_sgsn, - .onenter = ns2_sns_st_config_sgsn_onenter, + S(GPRS_SNS_ST_BSS_SIZE), + .name = "BSS_CONFIG_SGSN", + .action = ns2_sns_st_bss_config_sgsn, + .onenter = ns2_sns_st_bss_config_sgsn_onenter, }, [GPRS_SNS_ST_CONFIGURED] = { .in_event_mask = S(GPRS_SNS_EV_RX_ADD) | @@ -1366,7 +1367,7 @@ S(GPRS_SNS_EV_RX_CHANGE_WEIGHT) | S(GPRS_SNS_EV_REQ_NSVC_ALIVE), .out_state_mask = S(GPRS_SNS_ST_UNCONFIGURED) | - S(GPRS_SNS_ST_SIZE), + S(GPRS_SNS_ST_BSS_SIZE), .name = "CONFIGURED", .action = ns2_sns_st_configured, .onenter = ns2_sns_st_configured_onenter, @@ -1386,7 +1387,7 @@ LOGPFSML(fi, LOGL_ERROR, "NSE %d: Size retries failed. Selecting next IP-SNS endpoint.\n", nse->nsei); osmo_fsm_inst_dispatch(fi, GPRS_SNS_EV_REQ_SELECT_ENDPOINT, NULL); } else { - osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_SIZE, nsi->timeout[NS_TOUT_TSNS_PROV], 1); + osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_BSS_SIZE, nsi->timeout[NS_TOUT_TSNS_PROV], 1); } break; case 2: @@ -1394,7 +1395,7 @@ LOGPFSML(fi, LOGL_ERROR, "NSE %d: BSS Config retries failed. Selecting next IP-SNS endpoint.\n", nse->nsei); osmo_fsm_inst_dispatch(fi, GPRS_SNS_EV_REQ_SELECT_ENDPOINT, NULL); } else { - osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_CONFIG_BSS, nsi->timeout[NS_TOUT_TSNS_PROV], 2); + osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_BSS_CONFIG_BSS, nsi->timeout[NS_TOUT_TSNS_PROV], 2); } break; case 3: @@ -1402,7 +1403,7 @@ LOGPFSML(fi, LOGL_ERROR, "NSE %d: SGSN Config retries failed. Selecting next IP-SNS endpoint.\n", nse->nsei); osmo_fsm_inst_dispatch(fi, GPRS_SNS_EV_REQ_SELECT_ENDPOINT, NULL); } else { - osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_CONFIG_SGSN, nsi->timeout[NS_TOUT_TSNS_PROV], 3); + osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_BSS_CONFIG_SGSN, nsi->timeout[NS_TOUT_TSNS_PROV], 3); } break; case 4: @@ -1427,11 +1428,11 @@ case GPRS_SNS_ST_UNCONFIGURED: osmo_fsm_inst_dispatch(nse->bss_sns_fi, GPRS_SNS_EV_REQ_SELECT_ENDPOINT, NULL); break; - case GPRS_SNS_ST_SIZE: + case GPRS_SNS_ST_BSS_SIZE: /* TODO: add the ip4 element to the list */ break; - case GPRS_SNS_ST_CONFIG_BSS: - case GPRS_SNS_ST_CONFIG_SGSN: + case GPRS_SNS_ST_BSS_CONFIG_BSS: + case GPRS_SNS_ST_BSS_CONFIG_SGSN: case GPRS_SNS_ST_CONFIGURED: /* TODO: add to SNS-IP procedure queue & add nsvc() */ break; @@ -1442,7 +1443,7 @@ switch (fi->state) { case GPRS_SNS_ST_UNCONFIGURED: break; - case GPRS_SNS_ST_SIZE: + case GPRS_SNS_ST_BSS_SIZE: /* TODO: remove the ip4 element from the list */ llist_for_each_entry_safe(nsvc, nsvc2, &nse->nsvc, list) { if (nsvc->bind == sbind->bind) { @@ -1450,8 +1451,8 @@ } } break; - case GPRS_SNS_ST_CONFIG_BSS: - case GPRS_SNS_ST_CONFIG_SGSN: + case GPRS_SNS_ST_BSS_CONFIG_BSS: + case GPRS_SNS_ST_BSS_CONFIG_SGSN: case GPRS_SNS_ST_CONFIGURED: /* TODO: do an delete SNS-IP procedure */ /* TODO: remove the ip4 element to the list */ @@ -1508,7 +1509,7 @@ } gss->reselection_running = false; - osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_SIZE, nse->nsi->timeout[NS_TOUT_TSNS_PROV], 1); + osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_BSS_SIZE, nse->nsi->timeout[NS_TOUT_TSNS_PROV], 1); break; default: ns2_sns_st_all_action(fi, event, data); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23471 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Iebc97637063b2676abff4a7dce50272d9b4e336b Gerrit-Change-Number: 23471 Gerrit-PatchSet: 1 Gerrit-Owner: laforge 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 Mar 23 23:29:12 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 23:29:12 +0000 Subject: Change in libosmocore[master]: gprs_ns2: Introduce gprs_ns2_create_nse2() for SGSN side SNS In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23407 ) Change subject: gprs_ns2: Introduce gprs_ns2_create_nse2() for SGSN side SNS ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23407 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6db8c36f7c69b592d7d0fbcf323804f7e9912be2 Gerrit-Change-Number: 23407 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 23:29: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 Mar 23 23:30:27 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 23:30:27 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vty: Allow creating NSE in sgsn-role In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, daniel, lynxis lazus, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/23408 to look at the new patch set (#6). Change subject: gprs_ns2_vty: Allow creating NSE in sgsn-role ...................................................................... gprs_ns2_vty: Allow creating NSE in sgsn-role Change-Id: I694fa6c80d04d13cb1afaae93a9ae43b6dfd2207 Related: OS#3373 --- M src/gb/gprs_ns2_vty.c M tests/gb/gprs_ns2_vty.vty 2 files changed, 10 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/08/23408/6 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23408 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I694fa6c80d04d13cb1afaae93a9ae43b6dfd2207 Gerrit-Change-Number: 23408 Gerrit-PatchSet: 6 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 23 23:31:34 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 23:31:34 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Allow VTY configuration of default binds for IP-SNS In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23415 ) Change subject: gprs_ns2_sns: Allow VTY configuration of default binds for IP-SNS ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23415 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id01c29b07e9203c9305f2129361a4f5aaefa2c52 Gerrit-Change-Number: 23415 Gerrit-PatchSet: 6 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 23:31: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 Mar 23 23:31:56 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 23:31:56 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Fix memory leak when creating ip[46]_local arrays In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23417 ) Change subject: gprs_ns2_sns: Fix memory leak when creating ip[46]_local arrays ...................................................................... Set Ready For Review -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23417 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I12cb670e087c6d6190f3f5bf8483ea62008ae06f Gerrit-Change-Number: 23417 Gerrit-PatchSet: 6 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-CC: daniel Gerrit-CC: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 23:31: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 Tue Mar 23 23:32:14 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 23:32:14 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vty: Allow creating NSE in sgsn-role In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23408 ) Change subject: gprs_ns2_vty: Allow creating NSE in sgsn-role ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23408 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I694fa6c80d04d13cb1afaae93a9ae43b6dfd2207 Gerrit-Change-Number: 23408 Gerrit-PatchSet: 6 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 23 Mar 2021 23:32: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 Mar 23 23:32:20 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 23:32:20 +0000 Subject: Change in libosmocore[master]: gprs_ns2: Introduce gprs_ns2_create_nse2() for SGSN side SNS In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23407 ) Change subject: gprs_ns2: Introduce gprs_ns2_create_nse2() for SGSN side SNS ...................................................................... gprs_ns2: Introduce gprs_ns2_create_nse2() for SGSN side SNS gprs_ns2_create_nse() doesn't allow the caller to specify if the BSS or the SGSN role of IP-SNS shall be implemented. Add gprs_ns2_create_nse2() to fix that. Change-Id: I6db8c36f7c69b592d7d0fbcf323804f7e9912be2 Related: OS#3373 --- M include/osmocom/gprs/gprs_ns2.h M src/gb/gprs_ns2.c M src/gb/gprs_ns2_internal.h M src/gb/libosmogb.map 4 files changed, 26 insertions(+), 3 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/gprs/gprs_ns2.h b/include/osmocom/gprs/gprs_ns2.h index 56a9b4f..be59a67 100644 --- a/include/osmocom/gprs/gprs_ns2.h +++ b/include/osmocom/gprs/gprs_ns2.h @@ -158,6 +158,9 @@ struct gprs_ns2_nse *gprs_ns2_create_nse(struct gprs_ns2_inst *nsi, uint16_t nsei, enum gprs_ns2_ll linklayer, enum gprs_ns2_dialect dialect); +struct gprs_ns2_nse *gprs_ns2_create_nse2(struct gprs_ns2_inst *nsi, uint16_t nsei, + enum gprs_ns2_ll linklayer, + enum gprs_ns2_dialect dialect, bool local_sgsn_role); uint16_t gprs_ns2_nse_nsei(struct gprs_ns2_nse *nse); void gprs_ns2_free_nse(struct gprs_ns2_nse *nse); void gprs_ns2_free_nses(struct gprs_ns2_inst *nsi); diff --git a/src/gb/gprs_ns2.c b/src/gb/gprs_ns2.c index 93b7c3a..f2e6435 100644 --- a/src/gb/gprs_ns2.c +++ b/src/gb/gprs_ns2.c @@ -776,9 +776,11 @@ /*! Create a NS Entity within given NS instance. * \param[in] nsi NS instance in which to create NS Entity * \param[in] nsei NS Entity Identifier of to-be-created NSE + * \param[in] ip_sns_role_sgsn Does local side implement SGSN role? * \returns newly-allocated NS-E in successful case; NULL on error */ -struct gprs_ns2_nse *gprs_ns2_create_nse(struct gprs_ns2_inst *nsi, uint16_t nsei, - enum gprs_ns2_ll linklayer, enum gprs_ns2_dialect dialect) +struct gprs_ns2_nse *gprs_ns2_create_nse2(struct gprs_ns2_inst *nsi, uint16_t nsei, + enum gprs_ns2_ll linklayer, enum gprs_ns2_dialect dialect, + bool ip_sns_role_sgsn) { struct gprs_ns2_nse *nse; @@ -792,6 +794,7 @@ if (!nse) return NULL; nse->dialect = GPRS_NS2_DIALECT_UNDEF; + nse->ip_sns_role_sgsn = ip_sns_role_sgsn; if (ns2_nse_set_dialect(nse, dialect) < 0) { talloc_free(nse); @@ -820,7 +823,10 @@ case GPRS_NS2_DIALECT_UNDEF: if (dialect == GPRS_NS2_DIALECT_SNS) { snprintf(sns, sizeof(sns), "NSE%05u-SNS", nse->nsei); - nse->bss_sns_fi = ns2_sns_bss_fsm_alloc(nse, sns); + if (nse->ip_sns_role_sgsn) + nse->bss_sns_fi = ns2_sns_sgsn_fsm_alloc(nse, sns); + else + nse->bss_sns_fi = ns2_sns_bss_fsm_alloc(nse, sns); if (!nse->bss_sns_fi) return -1; } @@ -841,6 +847,16 @@ return 0; } +/*! Create a NS Entity within given NS instance. + * \param[in] nsi NS instance in which to create NS Entity + * \param[in] nsei NS Entity Identifier of to-be-created NSE + * \returns newly-allocated NS-E in successful case; NULL on error */ +struct gprs_ns2_nse *gprs_ns2_create_nse(struct gprs_ns2_inst *nsi, uint16_t nsei, + enum gprs_ns2_ll linklayer, enum gprs_ns2_dialect dialect) +{ + return gprs_ns2_create_nse2(nsi, nsei, linklayer, dialect, false); +} + /*! Return the NSEI * \param[in] nse NS Entity * \return the nsei. diff --git a/src/gb/gprs_ns2_internal.h b/src/gb/gprs_ns2_internal.h index 9b138e5..567e1c5 100644 --- a/src/gb/gprs_ns2_internal.h +++ b/src/gb/gprs_ns2_internal.h @@ -182,6 +182,9 @@ /*! MTU of a NS PDU. This is the lowest MTU of all NSVCs */ uint16_t mtu; + + /*! are we implementing the SGSN role? */ + bool ip_sns_role_sgsn; }; /*! Structure representing a single NS-VC */ diff --git a/src/gb/libosmogb.map b/src/gb/libosmogb.map index 588fabf..fc8ab45 100644 --- a/src/gb/libosmogb.map +++ b/src/gb/libosmogb.map @@ -139,6 +139,7 @@ gprs_ns2_bind_by_name; gprs_ns2_cause_strs; gprs_ns2_create_nse; +gprs_ns2_create_nse2; gprs_ns2_find_vc_by_sockaddr; gprs_ns2_free; gprs_ns2_free_bind; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23407 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I6db8c36f7c69b592d7d0fbcf323804f7e9912be2 Gerrit-Change-Number: 23407 Gerrit-PatchSet: 5 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 23 23:53:27 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 23:53:27 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vty: Allow creating NSE in sgsn-role In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23408 ) Change subject: gprs_ns2_vty: Allow creating NSE in sgsn-role ...................................................................... gprs_ns2_vty: Allow creating NSE in sgsn-role Change-Id: I694fa6c80d04d13cb1afaae93a9ae43b6dfd2207 Related: OS#3373 --- M src/gb/gprs_ns2_vty.c M tests/gb/gprs_ns2_vty.vty 2 files changed, 10 insertions(+), 4 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/gb/gprs_ns2_vty.c b/src/gb/gprs_ns2_vty.c index a769ad1..42ab2b2 100644 --- a/src/gb/gprs_ns2_vty.c +++ b/src/gb/gprs_ns2_vty.c @@ -270,15 +270,19 @@ } DEFUN(cfg_ns_nsei, cfg_ns_nsei_cmd, - "nse <0-65535>", + "nse <0-65535> [ip-sns-role-sgsn]", "Persistent NS Entity\n" "NS Entity ID (NSEI)\n" + "Create NSE in SGSN role (default: BSS)\n" ) { struct gprs_ns2_nse *nse; struct vty_nse *vnse; uint16_t nsei = atoi(argv[0]); + bool sgsn_role = false; bool free_vnse = false; + if (argc > 1 && !strcmp(argv[1], "ip-sns-role-sgsn")) + sgsn_role = true; vnse = vty_nse_by_nsei(nsei); if (!vnse) { @@ -292,7 +296,8 @@ nse = gprs_ns2_nse_by_nsei(vty_nsi, nsei); if (!nse) { - nse = gprs_ns2_create_nse(vty_nsi, nsei, GPRS_NS2_LL_UNDEF, GPRS_NS2_DIALECT_UNDEF); + nse = gprs_ns2_create_nse2(vty_nsi, nsei, GPRS_NS2_LL_UNDEF, GPRS_NS2_DIALECT_UNDEF, + sgsn_role); if (!nse) { vty_out(vty, "Failed to create NSE!%s", VTY_NEWLINE); goto err; @@ -526,7 +531,8 @@ OSMO_ASSERT(vnse); - vty_out(vty, " nse %u%s", nse->nsei, VTY_NEWLINE); + vty_out(vty, " nse %u%s%s", nse->nsei, + nse->ip_sns_role_sgsn ? " ip-sns-role-sgsn" : "", VTY_NEWLINE); switch (nse->dialect) { case GPRS_NS2_DIALECT_SNS: ns2_sns_write_vty(vty, nse); diff --git a/tests/gb/gprs_ns2_vty.vty b/tests/gb/gprs_ns2_vty.vty index f0253fc..f344bf3 100644 --- a/tests/gb/gprs_ns2_vty.vty +++ b/tests/gb/gprs_ns2_vty.vty @@ -18,7 +18,7 @@ OsmoNSdummy(config-ns)# list ... timer (tns-block|tns-block-retries|tns-reset|tns-reset-retries|tns-test|tns-alive|tns-alive-retries|tsns-prov|tsns-size-retries|tsns-config-retries) <0-65535> - nse <0-65535> + nse <0-65535> [ip-sns-role-sgsn] no nse <0-65535> bind (fr|udp) ID no bind ID -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23408 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I694fa6c80d04d13cb1afaae93a9ae43b6dfd2207 Gerrit-Change-Number: 23408 Gerrit-PatchSet: 6 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 23 23:53:28 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 23:53:28 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Don't clear remote IP endpoints in SGSN role In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23409 ) Change subject: gprs_ns2_sns: Don't clear remote IP endpoints in SGSN role ...................................................................... gprs_ns2_sns: Don't clear remote IP endpoints in SGSN role In BSS role, we can clear local + remote endpoints when sending SNS-CONFIG, as we are first. In SGSN role, we must not clear remote endpoints when sending SNS-CONFIG, as we are last, and the BSS has just previously told us its IP endpoints in the BSS-originated SNS-CONFIG. Change-Id: I58549707ac5a3a0aae5f9348ed76f16c09ad3e46 Related: OS#3373 --- M src/gb/gprs_ns2_sns.c 1 file changed, 15 insertions(+), 7 deletions(-) Approvals: Jenkins Builder: Verified daniel: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index 2bcd0df..f36e8d0 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -298,16 +298,21 @@ osmo_fsm_inst_dispatch(fi, GPRS_SNS_EV_REQ_NO_NSVC, NULL); } -static void ns2_clear_ipv46_entries(struct ns2_sns_state *gss) +static void ns2_clear_ipv46_entries_local(struct ns2_sns_state *gss) { TALLOC_FREE(gss->ip4_local); - TALLOC_FREE(gss->ip4_remote); TALLOC_FREE(gss->ip6_local); - TALLOC_FREE(gss->ip6_remote); gss->num_ip4_local = 0; - gss->num_ip4_remote = 0; gss->num_ip6_local = 0; +} + +static void ns2_clear_ipv46_entries_remote(struct ns2_sns_state *gss) +{ + TALLOC_FREE(gss->ip4_remote); + TALLOC_FREE(gss->ip6_remote); + + gss->num_ip4_remote = 0; gss->num_ip6_remote = 0; } @@ -757,7 +762,7 @@ struct osmo_sockaddr local; int count; - ns2_clear_ipv46_entries(gss); + ns2_clear_ipv46_entries_local(gss); /* no initial available */ if (gss->role == GPRS_SNS_ROLE_BSS) { @@ -1490,7 +1495,8 @@ * gprs_ns2_free_nsvcs() will trigger NO_NSVC, prevent this from triggering a reselection */ gss->reselection_running = true; gprs_ns2_free_nsvcs(nse); - ns2_clear_ipv46_entries(gss); + ns2_clear_ipv46_entries_local(gss); + ns2_clear_ipv46_entries_remote(gss); /* Choose the next sns endpoint. */ if (llist_empty(&gss->sns_endpoints) || llist_empty(&gss->binds)) { @@ -2132,8 +2138,10 @@ if (flag & 1) { struct gprs_ns2_vc *nsvc, *nsvc2; /* clear all state */ + osmo_fsm_inst_state_chg(fi, GPRS_SNS_ST_UNCONFIGURED, 0, 0); gss->N = 0; - ns2_clear_ipv46_entries(gss); + ns2_clear_ipv46_entries_local(gss); + ns2_clear_ipv46_entries_remote(gss); llist_for_each_entry_safe(nsvc, nsvc2, &gss->nse->nsvc, list) { if (nsvc == gss->sns_nsvc) { /* keep the NSVC we need for SNS, but unconfigure it */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23409 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I58549707ac5a3a0aae5f9348ed76f16c09ad3e46 Gerrit-Change-Number: 23409 Gerrit-PatchSet: 6 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 23 23:53:29 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 23:53:29 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Verify mandatory IE presence in incoming SNS-SIZE In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23410 ) Change subject: gprs_ns2_sns: Verify mandatory IE presence in incoming SNS-SIZE ...................................................................... gprs_ns2_sns: Verify mandatory IE presence in incoming SNS-SIZE Change-Id: I40571e313c3332d8cead8fb4aa9768d0d083804d --- M src/gb/gprs_ns2_sns.c 1 file changed, 11 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified daniel: Looks good to me, approved lynxis lazus: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index f36e8d0..b5b6677 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -2123,14 +2123,23 @@ struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; struct tlv_parsed *tp = NULL; uint8_t flag; + uint8_t cause; OSMO_ASSERT(gss->role == GPRS_SNS_ROLE_SGSN); switch (event) { case GPRS_SNS_EV_RX_SIZE: tp = (struct tlv_parsed *) data; - if (!TLVP_PRES_LEN(tp, NS_IE_RESET_FLAG, 1)) { - uint8_t cause = NS_CAUSE_MISSING_ESSENT_IE; + /* check for mandatory / conditional IEs */ + if (!TLVP_PRES_LEN(tp, NS_IE_RESET_FLAG, 1) || + !TLVP_PRES_LEN(tp, NS_IE_MAX_NR_NSVC, 2)) { + cause = NS_CAUSE_MISSING_ESSENT_IE; + ns2_tx_sns_size_ack(gss->sns_nsvc, &cause); + break; + } + if (!TLVP_PRES_LEN(tp, NS_IE_IPv4_EP_NR, 2) && + !TLVP_PRES_LEN(tp, NS_IE_IPv6_EP_NR, 2)) { + cause = NS_CAUSE_MISSING_ESSENT_IE; ns2_tx_sns_size_ack(gss->sns_nsvc, &cause); break; } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23410 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I40571e313c3332d8cead8fb4aa9768d0d083804d Gerrit-Change-Number: 23410 Gerrit-PatchSet: 6 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 23 23:53:30 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 23:53:30 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: SNS-SIZE contains the actual number of local endpoints In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23467 ) Change subject: gprs_ns2_sns: SNS-SIZE contains the actual number of local endpoints ...................................................................... gprs_ns2_sns: SNS-SIZE contains the actual number of local endpoints The SNS-SIZE sent from BSS to SGSN contains the actual number of local IP endpoints on the BSS side, and not the maximum number of remote IP endpoints supported. Change-Id: I62a8bca4a3f7c47bcb9f292b045fa867d8877a09 --- M src/gb/gprs_ns2_sns.c 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve daniel: Looks good to me, approved lynxis lazus: Looks good to me, approved diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index b5b6677..ec48eda 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -896,9 +896,9 @@ if (gss->num_max_ip4_remote > 0) - ns2_tx_sns_size(gss->sns_nsvc, true, gss->num_max_nsvcs, gss->num_max_ip4_remote, -1); + ns2_tx_sns_size(gss->sns_nsvc, true, gss->num_max_nsvcs, gss->num_ip4_local, -1); else - ns2_tx_sns_size(gss->sns_nsvc, true, gss->num_max_nsvcs, -1, gss->num_max_ip6_remote); + ns2_tx_sns_size(gss->sns_nsvc, true, gss->num_max_nsvcs, -1, gss->num_ip6_local); } static void ns2_sns_st_bss_config_bss(struct osmo_fsm_inst *fi, uint32_t event, void *data) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23467 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I62a8bca4a3f7c47bcb9f292b045fa867d8877a09 Gerrit-Change-Number: 23467 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 23 23:53:30 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 23:53:30 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Assume the SGSN has a very large number of max. NSVC In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23411 ) Change subject: gprs_ns2_sns: Assume the SGSN has a very large number of max. NSVC ...................................................................... gprs_ns2_sns: Assume the SGSN has a very large number of max. NSVC It is the SGSN's job to ensure sufficient NS-VC capacity. As the SGSN doesn't tell the BSS, we should not make assumptions of only 4. Change-Id: I41f493643cf51d7853959ab9c7bbc0ffae4e1f4b --- M src/gb/gprs_ns2_sns.c 1 file changed, 3 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified daniel: Looks good to me, approved lynxis lazus: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index ec48eda..1af9631 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -812,7 +812,6 @@ } gss->num_ip4_local = count; - gss->num_max_ip4_remote = 4; gss->num_max_nsvcs = OSMO_MAX(gss->num_max_ip4_remote * gss->num_ip4_local, 8); break; case IPv6: @@ -849,7 +848,6 @@ ip6_elems++; } gss->num_ip6_local = count; - gss->num_max_ip6_remote = 4; gss->num_max_nsvcs = OSMO_MAX(gss->num_max_ip6_remote * gss->num_ip6_local, 8); break; } @@ -1560,6 +1558,9 @@ fi->priv = gss; gss->nse = nse; gss->role = GPRS_SNS_ROLE_BSS; + /* The SGSN doesn't tell the BSS, so we assume there's always sufficient */ + gss->num_max_ip4_remote = 8192; + gss->num_max_ip6_remote = 8192; INIT_LLIST_HEAD(&gss->sns_endpoints); INIT_LLIST_HEAD(&gss->binds); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23411 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I41f493643cf51d7853959ab9c7bbc0ffae4e1f4b Gerrit-Change-Number: 23411 Gerrit-PatchSet: 6 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 23 23:53:31 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 23:53:31 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Implement checks during processing of inbound SNS-SIZE In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23412 ) Change subject: gprs_ns2_sns: Implement checks during processing of inbound SNS-SIZE ...................................................................... gprs_ns2_sns: Implement checks during processing of inbound SNS-SIZE As per 3GPP TS 48.016 section 6.2.4.1, we need to perform some consistency checks during the SNS-SIZE procedure. Let's implement them. Change-Id: I1638f04ba45fef3ba0b237948dff6022267141fb Related: OS#3373 --- M src/gb/gprs_ns2_sns.c 1 file changed, 59 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified daniel: Looks good to me, but someone else must approve lynxis lazus: Looks good to me, approved diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index 1af9631..11c5a8e 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -750,6 +750,31 @@ } } +static int ns2_sns_count_num_local_ep(struct osmo_fsm_inst *fi, enum ns2_sns_type stype) +{ + struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; + struct ns2_sns_bind *sbind; + int count = 0; + + llist_for_each_entry(sbind, &gss->binds, list) { + const struct osmo_sockaddr *sa = gprs_ns2_ip_bind_sockaddr(sbind->bind); + if (!sa) + continue; + + switch (stype) { + case IPv4: + if (sa->u.sas.ss_family == AF_INET) + count++; + break; + case IPv6: + if (sa->u.sas.ss_family == AF_INET6) + count++; + break; + } + } + return count; +} + static void ns2_sns_compute_local_ep_from_binds(struct osmo_fsm_inst *fi) { struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; @@ -2019,7 +2044,6 @@ struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; OSMO_ASSERT(gss->role == GPRS_SNS_ROLE_SGSN); - ns2_sns_compute_local_ep_from_binds(fi); /* transmit SGSN-oriented SNS-CONFIG */ ns2_tx_sns_config(gss->sns_nsvc, true, gss->ip4_local, gss->num_ip4_local, gss->ip6_local, gss->num_ip6_local); @@ -2123,6 +2147,7 @@ { struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; struct tlv_parsed *tp = NULL; + size_t num_local_eps, num_remote_eps; uint8_t flag; uint8_t cause; @@ -2144,6 +2169,39 @@ ns2_tx_sns_size_ack(gss->sns_nsvc, &cause); break; } + if (TLVP_PRES_LEN(tp, NS_IE_IPv4_EP_NR, 2)) + gss->num_max_ip4_remote = tlvp_val16be(tp, NS_IE_IPv4_EP_NR); + if (TLVP_PRES_LEN(tp, NS_IE_IPv6_EP_NR, 2)) + gss->num_max_ip6_remote = tlvp_val16be(tp, NS_IE_IPv6_EP_NR); + /* decide if we go for IPv4 or IPv6 */ + if (gss->num_max_ip6_remote && ns2_sns_count_num_local_ep(fi, IPv6)) { + gss->ip = IPv6; + num_local_eps = gss->num_ip6_local; + num_remote_eps = gss->num_max_ip6_remote; + } else if (gss->num_max_ip4_remote && ns2_sns_count_num_local_ep(fi, IPv4)) { + gss->ip = IPv4; + num_local_eps = gss->num_ip4_local; + num_remote_eps = gss->num_max_ip4_remote; + } else { + if (gss->num_ip4_local && !gss->num_max_ip4_remote) + cause = NS_CAUSE_INVAL_NR_IPv4_EP; + else + cause = NS_CAUSE_INVAL_NR_IPv6_EP; + ns2_tx_sns_size_ack(gss->sns_nsvc, &cause); + break; + } + ns2_sns_compute_local_ep_from_binds(fi); + /* ensure number of NS-VCs is sufficient for full mesh */ + gss->num_max_nsvcs = tlvp_val16be(tp, NS_IE_MAX_NR_NSVC); + if (gss->num_max_nsvcs < num_remote_eps * num_local_eps) { + LOGPFSML(fi, LOGL_ERROR, "%zu local and %zu remote EPs, requires %zu NS-VC, " + "but BSS supports only %zu maximum NS-VCs\n", num_local_eps, + num_remote_eps, num_local_eps * num_remote_eps, gss->num_max_nsvcs); + cause = NS_CAUSE_INVAL_NR_NS_VC; + ns2_tx_sns_size_ack(gss->sns_nsvc, &cause); + break; + } + /* perform state reset, if requested */ flag = *TLVP_VAL(tp, NS_IE_RESET_FLAG); if (flag & 1) { struct gprs_ns2_vc *nsvc, *nsvc2; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23412 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I1638f04ba45fef3ba0b237948dff6022267141fb Gerrit-Change-Number: 23412 Gerrit-PatchSet: 6 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 23 23:53:31 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 23:53:31 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vty: Permit VTY configuration of bind->accept_sns In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23413 ) Change subject: gprs_ns2_vty: Permit VTY configuration of bind->accept_sns ...................................................................... gprs_ns2_vty: Permit VTY configuration of bind->accept_sns Related: OS#3373 Change-Id: Ifb52cd245b10bf47d42d57d167d6d6c02b12ee12 --- M src/gb/gprs_ns2_vty.c 1 file changed, 49 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified daniel: Looks good to me, approved lynxis lazus: Looks good to me, approved pespin: Looks good to me, but someone else must approve diff --git a/src/gb/gprs_ns2_vty.c b/src/gb/gprs_ns2_vty.c index 42ab2b2..55509d2 100644 --- a/src/gb/gprs_ns2_vty.c +++ b/src/gb/gprs_ns2_vty.c @@ -462,6 +462,8 @@ } if (vbind->accept_ipaccess) vty_out(vty, " accept-ipaccess%s", VTY_NEWLINE); + if (vbind->accept_sns) + vty_out(vty, " accept-dynamic-ip-sns%s", VTY_NEWLINE); if (vbind->dscp) vty_out(vty, " dscp %u%s", vbind->dscp, VTY_NEWLINE); vty_out(vty, " ip-sns signalling-weight %u data-weight %u%s", @@ -758,6 +760,51 @@ return CMD_SUCCESS; } +DEFUN(cfg_ns_bind_accept_sns, cfg_ns_bind_accept_sns_cmd, + "accept-dynamic-ip-sns", + "Allow to create dynamic NS Entities by IP-SNS PDUs\n" + ) +{ + struct vty_bind *vbind = vty->index; + struct gprs_ns2_vc_bind *bind; + + if (vbind->ll != GPRS_NS2_LL_UDP) { + vty_out(vty, "accept-dynamic-ip-sns can be only used with UDP bind%s", + VTY_NEWLINE); + return CMD_WARNING; + } + + vbind->accept_sns = true; + bind = gprs_ns2_bind_by_name(vty_nsi, vbind->name); + if (bind) + bind->accept_sns = true; + + return CMD_SUCCESS; +} + +DEFUN(cfg_no_ns_bind_accept_sns, cfg_no_ns_bind_accept_sns_cmd, + "no accept-dynamic-ip-sns", + NO_STR + "Disable dynamic creation of NS Entities by IP-SNS PDUs\n" + ) +{ + struct vty_bind *vbind = vty->index; + struct gprs_ns2_vc_bind *bind; + + if (vbind->ll != GPRS_NS2_LL_UDP) { + vty_out(vty, "no accept-dynamic-ip-sns can be only used with UDP bind%s", + VTY_NEWLINE); + return CMD_WARNING; + } + + vbind->accept_sns = false; + bind = gprs_ns2_bind_by_name(vty_nsi, vbind->name); + if (bind) + bind->accept_sns = false; + + return CMD_SUCCESS; +} + DEFUN(cfg_ns_bind_ip_sns_weight, cfg_ns_bind_ip_sns_weight_cmd, "ip-sns signalling-weight <0-254> data-weight <0-254>", "IP SNS\n" @@ -2062,7 +2109,8 @@ install_lib_element(L_NS_BIND_NODE, &cfg_no_ns_bind_ipaccess_cmd); install_lib_element(L_NS_BIND_NODE, &cfg_ns_bind_fr_cmd); install_lib_element(L_NS_BIND_NODE, &cfg_no_ns_bind_fr_cmd); - /* TODO: accept-ip-sns when SGSN SNS has been implemented */ + install_lib_element(L_NS_BIND_NODE, &cfg_ns_bind_accept_sns_cmd); + install_lib_element(L_NS_BIND_NODE, &cfg_no_ns_bind_accept_sns_cmd); install_node(&ns_nse_node, NULL); install_lib_element(L_NS_NSE_NODE, &cfg_ns_nse_nsvc_fr_cmd); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23413 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ifb52cd245b10bf47d42d57d167d6d6c02b12ee12 Gerrit-Change-Number: 23413 Gerrit-PatchSet: 6 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 23 23:53:32 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 23:53:32 +0000 Subject: Change in libosmocore[master]: gprs_ns2: dynamic NS-VC + NSE creation for IP-SNS in SGSN role In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23414 ) Change subject: gprs_ns2: dynamic NS-VC + NSE creation for IP-SNS in SGSN role ...................................................................... gprs_ns2: dynamic NS-VC + NSE creation for IP-SNS in SGSN role Related: OS#3373 Change-Id: Ie10bb3531fae2e651da04f965d964de6eb1e7a97 --- M src/gb/gprs_ns2.c 1 file changed, 62 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified daniel: Looks good to me, but someone else must approve lynxis lazus: Looks good to me, approved diff --git a/src/gb/gprs_ns2.c b/src/gb/gprs_ns2.c index f2e6435..21a2d22 100644 --- a/src/gb/gprs_ns2.c +++ b/src/gb/gprs_ns2.c @@ -907,6 +907,54 @@ return rc; } +static enum ns2_cs ns2_create_vc_sns(struct gprs_ns2_vc_bind *bind, + const struct osmo_sockaddr *remote, + struct gprs_ns2_vc **success, uint16_t nsei) +{ + struct gprs_ns2_vc *nsvc; + struct gprs_ns2_nse *nse; + + nsvc = gprs_ns2_nsvc_by_sockaddr_bind(bind, remote); + /* ns2_create_vc() is only called if no NS-VC could be found */ + OSMO_ASSERT(!nsvc); + + nse = gprs_ns2_nse_by_nsei(bind->nsi, nsei); + if (!nse) { + if (!bind->accept_sns) { + struct osmo_sockaddr_str remote_str; + osmo_sockaddr_str_from_sockaddr(&remote_str, &remote->u.sas); + /* no dynamic creation of IP-SNS NSE permitted */ + LOGP(DLNS, LOGL_ERROR, "[%s]:%u: Dynamic creation of NSE(%05u) via IP-SNS not " + "permitted. Check your config.\n", remote_str.ip, remote_str.port, nsei); + return NS2_CS_ERROR; + } + nse = gprs_ns2_create_nse2(bind->nsi, nsei, bind->ll, GPRS_NS2_DIALECT_SNS, true); + if (!nse) { + LOGP(DLNS, LOGL_ERROR, "Failed to create NSE(%05u)\n", nsei); + return NS2_CS_ERROR; + } + gprs_ns2_sns_add_bind(nse, bind); + /* TODO: add (configured) list of other binds */ + } else { + /* nsei already known */ + if (nse->ll != bind->ll) { + LOGNSE(nse, LOGL_ERROR, "Received NS-RESET with wrong linklayer(%s)" + " for already known NSE(%s)\n", gprs_ns2_lltype_str(bind->ll), + gprs_ns2_lltype_str(nse->ll)); + return NS2_CS_SKIPPED; + } + } + + nsvc = ns2_ip_bind_connect(bind, nse, remote); + if (!nsvc) + return NS2_CS_SKIPPED; + + nsvc->nsvci_is_valid = false; + + *success = nsvc; + + return NS2_CS_CREATED; +} /*! Create a new NS-VC based on a [received] message. Depending on the bind it might create a NSE. * \param[in] bind the bind through which msg was received @@ -945,6 +993,20 @@ tlv = ns2_tlv_parse(&tp, nsh->data, msgb_l2len(msg) - sizeof(*nsh), 0, 0); + if (bind->ll == GPRS_NS2_LL_UDP && nsh->pdu_type == SNS_PDUT_SIZE && tlv >= 0) { + uint16_t nsei; + + if (!TLVP_PRES_LEN(&tp, NS_IE_NSEI, 2)) { + rc = reject_status_msg(msg, &tp, reject, NS_CAUSE_MISSING_ESSENT_IE); + if (rc < 0) + LOGP(DLNS, LOGL_ERROR, "Failed to generate reject message (%d)\n", rc); + return NS2_CS_REJECTED; + } + nsei = tlvp_val16be(&tp, NS_IE_NSEI); + /* Create NS-VC, and if required, even NSE dynamically */ + return ns2_create_vc_sns(bind, remote, success, nsei); + } + switch (nsh->pdu_type) { case NS_PDUT_STATUS: /* Do not respond, see 3GPP TS 08.16, 7.5.1 */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23414 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie10bb3531fae2e651da04f965d964de6eb1e7a97 Gerrit-Change-Number: 23414 Gerrit-PatchSet: 6 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 23 23:53:33 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 23:53:33 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Allow VTY configuration of default binds for IP-SNS In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23415 ) Change subject: gprs_ns2_sns: Allow VTY configuration of default binds for IP-SNS ...................................................................... gprs_ns2_sns: Allow VTY configuration of default binds for IP-SNS In the IP-SNS SGSN role, we need to inform the BSS of our local IP endpoints. For statically configured NSEs, those are explicitly stated on a per-NSE level. For dynamically created IP-SNS NSEs, we are adding a new VTY command, using which the administrator can configure which binds should be advertised as IP endpoints to such BSS. Change-Id: Id01c29b07e9203c9305f2129361a4f5aaefa2c52 Related: OS#3373 --- M src/gb/gprs_ns2.c M src/gb/gprs_ns2_internal.h M src/gb/gprs_ns2_vty.c 3 files changed, 106 insertions(+), 2 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/gb/gprs_ns2.c b/src/gb/gprs_ns2.c index 21a2d22..4d27333 100644 --- a/src/gb/gprs_ns2.c +++ b/src/gb/gprs_ns2.c @@ -933,8 +933,9 @@ LOGP(DLNS, LOGL_ERROR, "Failed to create NSE(%05u)\n", nsei); return NS2_CS_ERROR; } - gprs_ns2_sns_add_bind(nse, bind); - /* TODO: add (configured) list of other binds */ + /* add configured list of default binds; if that fails, use only current bind */ + if (!ns2_sns_add_sns_default_binds(nse)) + gprs_ns2_sns_add_bind(nse, bind); } else { /* nsei already known */ if (nse->ll != bind->ll) { diff --git a/src/gb/gprs_ns2_internal.h b/src/gb/gprs_ns2_internal.h index 567e1c5..29717c6 100644 --- a/src/gb/gprs_ns2_internal.h +++ b/src/gb/gprs_ns2_internal.h @@ -388,3 +388,6 @@ enum gprs_ns2_vc_mode ns2_dialect_to_vc_mode(enum gprs_ns2_dialect dialect); int ns2_count_transfer_cap(struct gprs_ns2_nse *nse, uint16_t bvci); + +/* vty */ +int ns2_sns_add_sns_default_binds(struct gprs_ns2_nse *nse); diff --git a/src/gb/gprs_ns2_vty.c b/src/gb/gprs_ns2_vty.c index 55509d2..681d1cb 100644 --- a/src/gb/gprs_ns2_vty.c +++ b/src/gb/gprs_ns2_vty.c @@ -3,6 +3,7 @@ /* (C) 2020 by sysmocom - s.f.m.c. GmbH * Author: Alexander Couzens + * (C) 2021 by Harald Welte * * All Rights Reserved * @@ -59,6 +60,7 @@ static struct osmo_fr_network *vty_fr_network = NULL; static struct llist_head binds; static struct llist_head nses; +static struct llist_head ip_sns_default_binds; struct vty_bind { struct llist_head list; @@ -577,6 +579,7 @@ static int config_write_ns(struct vty *vty) { + struct vty_nse_bind *vbind; unsigned int i; int ret; @@ -591,6 +594,10 @@ if (ret) return ret; + llist_for_each_entry(vbind, &ip_sns_default_binds, list) { + vty_out(vty, " ip-sns-default bind %s%s", vbind->vbind->name, VTY_NEWLINE); + } + ret = config_write_ns_nse(vty); if (ret) return ret; @@ -1584,6 +1591,95 @@ return CMD_SUCCESS; } +/* add all IP-SNS default binds to the given NSE */ +int ns2_sns_add_sns_default_binds(struct gprs_ns2_nse *nse) +{ + struct vty_nse_bind *vnse_bind; + int count = 0; + + OSMO_ASSERT(nse->ll == GPRS_NS2_LL_UDP); + OSMO_ASSERT(nse->dialect == GPRS_NS2_DIALECT_SNS); + + llist_for_each_entry(vnse_bind, &ip_sns_default_binds, list) { + struct gprs_ns2_vc_bind *bind = gprs_ns2_bind_by_name(vty_nsi, vnse_bind->vbind->name); + /* the bind might not yet created because "listen" is missing. */ + if (!bind) + continue; + gprs_ns2_sns_add_bind(nse, bind); + count++; + } + return count; +} + +DEFUN(cfg_ns_ip_sns_default_bind, cfg_ns_ip_sns_default_bind_cmd, + "ip-sns-default bind ID", + "Defaults for dynamically created NSEs created by IP-SNS in SGSN role\n" + "IP SNS binds\n" + "Name of NS udp bind whose IP endpoint will be used as IP-SNS local endpoint. Can be given multiple times.\n") +{ + struct vty_bind *vbind; + struct vty_nse_bind *vnse_bind; + const char *name = argv[0]; + + vbind = vty_bind_by_name(name); + if (!vbind) { + vty_out(vty, "Can not find the given bind '%s'%s", name, VTY_NEWLINE); + return CMD_WARNING; + } + + if (vbind->ll != GPRS_NS2_LL_UDP) { + vty_out(vty, "ip-sns-default bind can only be used with UDP bind%s", VTY_NEWLINE); + return CMD_WARNING; + } + + llist_for_each_entry(vnse_bind, &ip_sns_default_binds, list) { + if (vnse_bind->vbind == vbind) + return CMD_SUCCESS; + } + + vnse_bind = talloc(vty_nsi, struct vty_nse_bind); + if (!vnse_bind) + return CMD_WARNING; + vnse_bind->vbind = vbind; + + llist_add_tail(&vnse_bind->list, &ip_sns_default_binds); + + return CMD_SUCCESS; +} + +DEFUN(cfg_no_ns_ip_sns_default_bind, cfg_no_ns_ip_sns_default_bind_cmd, + "no ip-sns-default bind ID", + NO_STR "Defaults for dynamically created NSEs created by IP-SNS in SGSN role\n" + "IP SNS binds\n" + "Name of NS udp bind whose IP endpoint will be removed as IP-SNS local endpoint.\n") +{ + struct vty_bind *vbind; + struct vty_nse_bind *vnse_bind; + const char *name = argv[0]; + + vbind = vty_bind_by_name(name); + if (!vbind) { + vty_out(vty, "Can not find the given bind '%s'%s", name, VTY_NEWLINE); + return CMD_WARNING; + } + + if (vbind->ll != GPRS_NS2_LL_UDP) { + vty_out(vty, "ip-sns-default bind can only be used with UDP bind%s", VTY_NEWLINE); + return CMD_WARNING; + } + + llist_for_each_entry(vnse_bind, &ip_sns_default_binds, list) { + if (vnse_bind->vbind == vbind) { + llist_del(&vnse_bind->list); + talloc_free(vnse_bind); + return CMD_SUCCESS; + } + } + + vty_out(vty, "Bind '%s' was not an ip-sns-default bind%s", name, VTY_NEWLINE); + return CMD_WARNING; +} + DEFUN(cfg_ns_nse_ip_sns_bind, cfg_ns_nse_ip_sns_bind_cmd, "ip-sns-bind BINDID", "IP SNS binds\n" @@ -2060,6 +2156,7 @@ vty_nsi = nsi; INIT_LLIST_HEAD(&binds); INIT_LLIST_HEAD(&nses); + INIT_LLIST_HEAD(&ip_sns_default_binds); vty_fr_network = osmo_fr_network_alloc(nsi); if (!vty_fr_network) @@ -2099,6 +2196,9 @@ install_lib_element(L_NS_NODE, &cfg_ns_bind_cmd); install_lib_element(L_NS_NODE, &cfg_no_ns_bind_cmd); + install_lib_element(L_NS_NODE, &cfg_ns_ip_sns_default_bind_cmd); + install_lib_element(L_NS_NODE, &cfg_no_ns_ip_sns_default_bind_cmd); + install_node(&ns_bind_node, NULL); install_lib_element(L_NS_BIND_NODE, &cfg_ns_bind_listen_cmd); install_lib_element(L_NS_BIND_NODE, &cfg_no_ns_bind_listen_cmd); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23415 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id01c29b07e9203c9305f2129361a4f5aaefa2c52 Gerrit-Change-Number: 23415 Gerrit-PatchSet: 6 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 23 23:53:35 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 23:53:35 +0000 Subject: Change in libosmocore[master]: gprs_ns2: Add comments explaining the nsvc->sns_only field In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23416 ) Change subject: gprs_ns2: Add comments explaining the nsvc->sns_only field ...................................................................... gprs_ns2: Add comments explaining the nsvc->sns_only field Change-Id: I16009a1b03d8027de2be56b7d5013b755c9550fd --- M src/gb/gprs_ns2.c M src/gb/gprs_ns2_internal.h M src/gb/gprs_ns2_sns.c 3 files changed, 7 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve daniel: Looks good to me, approved lynxis lazus: Looks good to me, approved diff --git a/src/gb/gprs_ns2.c b/src/gb/gprs_ns2.c index 4d27333..3574f28 100644 --- a/src/gb/gprs_ns2.c +++ b/src/gb/gprs_ns2.c @@ -1422,6 +1422,9 @@ OSMO_ASSERT(nse); llist_for_each_entry(nsvc, &nse->nsvc, list) { + /* A pre-configured endpoint shall not be used for NSE data or signalling traffic + * (with the exception of Size and Configuration procedures) unless it is + * configured by the SGSN using the auto-configuration procedures */ if (nsvc->sns_only) continue; diff --git a/src/gb/gprs_ns2_internal.h b/src/gb/gprs_ns2_internal.h index 29717c6..b4d0a0d 100644 --- a/src/gb/gprs_ns2_internal.h +++ b/src/gb/gprs_ns2_internal.h @@ -220,6 +220,7 @@ void *priv; bool nsvci_is_valid; + /*! should this NS-VC only be used for SNS-SIZE and SNS-CONFIG? */ bool sns_only; struct rate_ctr_group *ctrg; diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index 11c5a8e..51e4e9e 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -914,6 +914,9 @@ gss->sns_nsvc = ns2_ip_bind_connect(bind, gss->nse, remote); if (!gss->sns_nsvc) return; + /* A pre-configured endpoint shall not be used for NSE data or signalling traffic + * (with the exception of Size and Configuration procedures) unless it is configured + * by the SGSN using the auto-configuration procedures */ gss->sns_nsvc->sns_only = true; } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23416 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I16009a1b03d8027de2be56b7d5013b755c9550fd Gerrit-Change-Number: 23416 Gerrit-PatchSet: 6 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 23 23:54:18 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 23:54:18 +0000 Subject: Change in libosmocore[master]: gprs_ns2: Actually start Tns-test after SNS-CONFIG creates NS-VC 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/+/23477 to look at the new patch set (#3). Change subject: gprs_ns2: Actually start Tns-test after SNS-CONFIG creates NS-VC ...................................................................... gprs_ns2: Actually start Tns-test after SNS-CONFIG creates NS-VC the previous commit fixed the state transition, but also caused neither Tns-alive nor Tns-test to run Change-Id: I07ea3fd5cec3d4acf4051930a1a3c746d6fd597c --- M src/gb/gprs_ns2_vc_fsm.c 1 file changed, 36 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/77/23477/3 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23477 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I07ea3fd5cec3d4acf4051930a1a3c746d6fd597c Gerrit-Change-Number: 23477 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 Tue Mar 23 23:57:43 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 23 Mar 2021 23:57:43 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RAW_NS: Ignore NS-UNITDATA while waiting for NS-ALIVE in oneshot mode References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23478 ) Change subject: RAW_NS: Ignore NS-UNITDATA while waiting for NS-ALIVE in oneshot mode ...................................................................... RAW_NS: Ignore NS-UNITDATA while waiting for NS-ALIVE in oneshot mode Change-Id: Id2738b055f860b4eee57d445944e0861b34151be --- M library/RAW_NS.ttcnpp 1 file changed, 7 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/78/23478/1 diff --git a/library/RAW_NS.ttcnpp b/library/RAW_NS.ttcnpp index 58910d9..76ac0a2 100644 --- a/library/RAW_NS.ttcnpp +++ b/library/RAW_NS.ttcnpp @@ -169,6 +169,13 @@ NSCP[idx].send(t_NS_ALIVE_ACK); if (not oneshot) { repeat; } } + /* in oneshot mode, ignore any NS-UNITDATA we receive meanwhile. This is + * particularly useful when waiting for the first NS-ALIVE after SNS-CONFIG, + * where there is a high chance of UNITDATA during the first Tns-test cycle + * before the peer sends its first NS-ALIVE after Tns-test expiration */ + [oneshot] NSCP[idx].receive(tr_NS_UNITDATA(?,?,?)) { + repeat; + } } /* Transmit BSSGP RESET for given BVCI and expect ACK */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23478 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id2738b055f860b4eee57d445944e0861b34151be Gerrit-Change-Number: 23478 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 Mar 24 00:04:31 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 24 Mar 2021 00:04:31 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vc_fsm: In IP-SNS/ALIVE mode, initial state is ALIVE/UNBLOCKED In-Reply-To: References: Message-ID: Hello Jenkins Builder, daniel, lynxis lazus, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/23468 to look at the new patch set (#6). Change subject: gprs_ns2_vc_fsm: In IP-SNS/ALIVE mode, initial state is ALIVE/UNBLOCKED ...................................................................... gprs_ns2_vc_fsm: In IP-SNS/ALIVE mode, initial state is ALIVE/UNBLOCKED Only when the ALIVE procedure fails, we mark a NS-VC as RECOVERING. Change-Id: Ieb860827c2149306b135c0e6c8b3cd3bbb78851e --- M src/gb/gprs_ns2_vc_fsm.c 1 file changed, 11 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/68/23468/6 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23468 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ieb860827c2149306b135c0e6c8b3cd3bbb78851e Gerrit-Change-Number: 23468 Gerrit-PatchSet: 6 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 24 00:59:01 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 24 Mar 2021 00:59:01 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Compute local endpoints before using them References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/23479 ) Change subject: gprs_ns2_sns: Compute local endpoints before using them ...................................................................... gprs_ns2_sns: Compute local endpoints before using them This fixes some bug introduced in Change-Id I1638f04ba45fef3ba0b237948dff6022267141fb Related: OS#3373 Change-Id: Ic0873e63f1f046b674c7898480ff070a18a7abc7 --- M src/gb/gprs_ns2_sns.c 1 file changed, 3 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/79/23479/1 diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index 51e4e9e..7268809 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -2179,10 +2179,12 @@ /* decide if we go for IPv4 or IPv6 */ if (gss->num_max_ip6_remote && ns2_sns_count_num_local_ep(fi, IPv6)) { gss->ip = IPv6; + ns2_sns_compute_local_ep_from_binds(fi); num_local_eps = gss->num_ip6_local; num_remote_eps = gss->num_max_ip6_remote; } else if (gss->num_max_ip4_remote && ns2_sns_count_num_local_ep(fi, IPv4)) { gss->ip = IPv4; + ns2_sns_compute_local_ep_from_binds(fi); num_local_eps = gss->num_ip4_local; num_remote_eps = gss->num_max_ip4_remote; } else { @@ -2193,7 +2195,6 @@ ns2_tx_sns_size_ack(gss->sns_nsvc, &cause); break; } - ns2_sns_compute_local_ep_from_binds(fi); /* ensure number of NS-VCs is sufficient for full mesh */ gss->num_max_nsvcs = tlvp_val16be(tp, NS_IE_MAX_NR_NSVC); if (gss->num_max_nsvcs < num_remote_eps * num_local_eps) { @@ -2224,6 +2225,7 @@ gprs_ns2_free_nsvc(nsvc); } } + ns2_sns_compute_local_ep_from_binds(fi); } /* send SIZE_ACK */ ns2_tx_sns_size_ack(gss->sns_nsvc, NULL); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23479 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic0873e63f1f046b674c7898480ff070a18a7abc7 Gerrit-Change-Number: 23479 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 Mar 24 00:59:07 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 24 Mar 2021 00:59:07 +0000 Subject: Change in libosmocore[master]: gprs_ns2: Actually start Tns-test after SNS-CONFIG creates NS-VC In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23477 ) Change subject: gprs_ns2: Actually start Tns-test after SNS-CONFIG creates NS-VC ...................................................................... Patch Set 4: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23477 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I07ea3fd5cec3d4acf4051930a1a3c746d6fd597c Gerrit-Change-Number: 23477 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 24 Mar 2021 00:59: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 Mar 24 00:59:10 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 24 Mar 2021 00:59:10 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vc_fsm: In IP-SNS/ALIVE mode, initial state is ALIVE/UNBLOCKED In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23468 ) Change subject: gprs_ns2_vc_fsm: In IP-SNS/ALIVE mode, initial state is ALIVE/UNBLOCKED ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23468 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ieb860827c2149306b135c0e6c8b3cd3bbb78851e Gerrit-Change-Number: 23468 Gerrit-PatchSet: 6 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Wed, 24 Mar 2021 00:59:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 24 00:59:13 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 24 Mar 2021 00:59:13 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vc_fsm: In IP-SNS/ALIVE mode, initial state is ALIVE/UNBLOCKED In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23468 ) Change subject: gprs_ns2_vc_fsm: In IP-SNS/ALIVE mode, initial state is ALIVE/UNBLOCKED ...................................................................... gprs_ns2_vc_fsm: In IP-SNS/ALIVE mode, initial state is ALIVE/UNBLOCKED Only when the ALIVE procedure fails, we mark a NS-VC as RECOVERING. Change-Id: Ieb860827c2149306b135c0e6c8b3cd3bbb78851e --- M src/gb/gprs_ns2_vc_fsm.c 1 file changed, 11 insertions(+), 9 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/gb/gprs_ns2_vc_fsm.c b/src/gb/gprs_ns2_vc_fsm.c index cca724f..65248ea 100644 --- a/src/gb/gprs_ns2_vc_fsm.c +++ b/src/gb/gprs_ns2_vc_fsm.c @@ -245,13 +245,18 @@ case GPRS_NS2_EV_REQ_START: switch (priv->nsvc->mode) { case GPRS_NS2_VC_MODE_ALIVE: - osmo_fsm_inst_state_chg(fi, GPRS_NS2_ST_RECOVERING, nsi->timeout[NS_TOUT_TNS_ALIVE], NS_TOUT_TNS_ALIVE); + if (priv->nsvc->nse->dialect == GPRS_NS2_DIALECT_SNS) { + /* In IP-SNS, the NS-VC are assumed initially alive, until the alive + * procedure should fail at some future point */ + osmo_fsm_inst_state_chg(fi, GPRS_NS2_ST_UNBLOCKED, 0, 0); + } else { + osmo_fsm_inst_state_chg(fi, GPRS_NS2_ST_RECOVERING, nsi->timeout[NS_TOUT_TNS_ALIVE], NS_TOUT_TNS_ALIVE); + } break; case GPRS_NS2_VC_MODE_BLOCKRESET: osmo_fsm_inst_state_chg(fi, GPRS_NS2_ST_RESET, nsi->timeout[NS_TOUT_TNS_RESET], NS_TOUT_TNS_RESET); break; } - break; default: OSMO_ASSERT(0); @@ -428,17 +433,15 @@ ns2_tx_alive(priv->nsvc); ns2_nse_notify_unblocked(priv->nsvc, false); -} - -static void ns2_st_alive_onleave(struct osmo_fsm_inst *fi, uint32_t next_state) -{ - start_test_procedure(fi->priv); + start_test_procedure(priv); } static const struct osmo_fsm_state ns2_vc_states[] = { [GPRS_NS2_ST_UNCONFIGURED] = { .in_event_mask = S(GPRS_NS2_EV_REQ_START), - .out_state_mask = S(GPRS_NS2_ST_RESET) | S(GPRS_NS2_ST_RECOVERING), + .out_state_mask = S(GPRS_NS2_ST_RESET) | + S(GPRS_NS2_ST_RECOVERING) | + S(GPRS_NS2_ST_UNBLOCKED), .name = "UNCONFIGURED", .action = ns2_st_unconfigured, .onenter = ns2_st_unconfigured_onenter, @@ -483,7 +486,6 @@ .name = "RECOVERING", .action = ns2_st_alive, .onenter = ns2_st_alive_onenter, - .onleave = ns2_st_alive_onleave, }, }; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23468 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ieb860827c2149306b135c0e6c8b3cd3bbb78851e Gerrit-Change-Number: 23468 Gerrit-PatchSet: 6 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 24 00:59:14 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 24 Mar 2021 00:59:14 +0000 Subject: Change in libosmocore[master]: gprs_ns2: Actually start Tns-test after SNS-CONFIG creates NS-VC In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23477 ) Change subject: gprs_ns2: Actually start Tns-test after SNS-CONFIG creates NS-VC ...................................................................... gprs_ns2: Actually start Tns-test after SNS-CONFIG creates NS-VC the previous commit fixed the state transition, but also caused neither Tns-alive nor Tns-test to run Change-Id: I07ea3fd5cec3d4acf4051930a1a3c746d6fd597c --- M src/gb/gprs_ns2_vc_fsm.c 1 file changed, 36 insertions(+), 10 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/gb/gprs_ns2_vc_fsm.c b/src/gb/gprs_ns2_vc_fsm.c index 65248ea..f4d88f4 100644 --- a/src/gb/gprs_ns2_vc_fsm.c +++ b/src/gb/gprs_ns2_vc_fsm.c @@ -143,19 +143,38 @@ return priv->nsvc->nse->nsi; } -static void start_test_procedure(struct gprs_ns2_vc_priv *priv) +/* Start the NS-TEST procedure, either with transmitting a tx_alive, + * (start_tx_alive==true) or with starting tns-test */ +static void start_test_procedure(struct osmo_fsm_inst *fi, bool start_tx_alive) { + struct gprs_ns2_vc_priv *priv = fi->priv; struct gprs_ns2_inst *nsi = priv->nsvc->nse->nsi; + unsigned int tout_idx; - if (osmo_timer_pending(&priv->alive.timer)) - return; + if (osmo_timer_pending(&priv->alive.timer)) { + if (start_tx_alive) { + if (priv->alive.mode == NS_TOUT_TNS_ALIVE) + return; + } else { + if (priv->alive.mode == NS_TOUT_TNS_TEST) + return; + } + } - priv->alive.mode = NS_TOUT_TNS_ALIVE; priv->alive.N = 0; - osmo_clock_gettime(CLOCK_MONOTONIC, &priv->alive.timer_started); - ns2_tx_alive(priv->nsvc); - osmo_timer_schedule(&priv->alive.timer, nsi->timeout[NS_TOUT_TNS_ALIVE], 0); + if (start_tx_alive) { + priv->alive.mode = NS_TOUT_TNS_ALIVE; + osmo_clock_gettime(CLOCK_MONOTONIC, &priv->alive.timer_started); + ns2_tx_alive(priv->nsvc); + tout_idx = NS_TOUT_TNS_ALIVE; + } else { + priv->alive.mode = NS_TOUT_TNS_TEST; + tout_idx = NS_TOUT_TNS_TEST; + } + LOGPFSML(fi, LOGL_DEBUG, "Starting Tns-%s of %u seconds\n", + tout_idx == NS_TOUT_TNS_ALIVE ? "alive" : "test", nsi->timeout[tout_idx]); + osmo_timer_schedule(&priv->alive.timer, nsi->timeout[tout_idx], 0); } static void stop_test_procedure(struct gprs_ns2_vc_priv *priv) @@ -163,6 +182,7 @@ osmo_timer_del(&priv->alive.timer); } +/* how many milliseconds have expired since the last alive timer start? */ static int alive_timer_elapsed_ms(struct gprs_ns2_vc_priv *priv) { struct timespec now, elapsed; @@ -174,6 +194,7 @@ return elapsed.tv_sec * 1000 + (elapsed.tv_nsec / 1000000); } +/* we just received a NS-ALIVE-ACK; re-schedule after Tns-test */ static void recv_test_procedure(struct osmo_fsm_inst *fi) { struct gprs_ns2_vc_priv *priv = fi->priv; @@ -326,7 +347,7 @@ ns2_tx_unblock(priv->nsvc); } - start_test_procedure(priv); + start_test_procedure(fi, true); } static void ns2_st_blocked(struct osmo_fsm_inst *fi, uint32_t event, void *data) @@ -392,6 +413,12 @@ priv->accept_unitdata = true; ns2_nse_notify_unblocked(nsvc, true); ns2_prim_status_ind(nse, nsvc, 0, GPRS_NS2_AFF_CAUSE_VC_RECOVERY); + + /* the closest interpretation of the spec would start Tns-test here first, + * and only send a NS-ALIVE after Tns-test has expired (i.e. setting the + * second argument to 'false'. However, being quick in detecting unavailability + * of a NS-VC seems like a good idea */ + start_test_procedure(fi, true); } static void ns2_st_unblocked(struct osmo_fsm_inst *fi, uint32_t event, void *data) @@ -431,9 +458,8 @@ if (old_state != GPRS_NS2_ST_RECOVERING) priv->N = 0; - ns2_tx_alive(priv->nsvc); ns2_nse_notify_unblocked(priv->nsvc, false); - start_test_procedure(priv); + start_test_procedure(fi, true); } static const struct osmo_fsm_state ns2_vc_states[] = { -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23477 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I07ea3fd5cec3d4acf4051930a1a3c746d6fd597c Gerrit-Change-Number: 23477 Gerrit-PatchSet: 4 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 Mar 24 00:59:29 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 24 Mar 2021 00:59:29 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Compute local endpoints before using them In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23479 ) Change subject: gprs_ns2_sns: Compute local endpoints before using them ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23479 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic0873e63f1f046b674c7898480ff070a18a7abc7 Gerrit-Change-Number: 23479 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Wed, 24 Mar 2021 00: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 Mar 24 01:04:13 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 24 Mar 2021 01:04:13 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Compute local endpoints before using them In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23479 ) Change subject: gprs_ns2_sns: Compute local endpoints before using them ...................................................................... gprs_ns2_sns: Compute local endpoints before using them This fixes some bug introduced in Change-Id I1638f04ba45fef3ba0b237948dff6022267141fb Related: OS#3373 Change-Id: Ic0873e63f1f046b674c7898480ff070a18a7abc7 --- M src/gb/gprs_ns2_sns.c 1 file changed, 3 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index 51e4e9e..7268809 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -2179,10 +2179,12 @@ /* decide if we go for IPv4 or IPv6 */ if (gss->num_max_ip6_remote && ns2_sns_count_num_local_ep(fi, IPv6)) { gss->ip = IPv6; + ns2_sns_compute_local_ep_from_binds(fi); num_local_eps = gss->num_ip6_local; num_remote_eps = gss->num_max_ip6_remote; } else if (gss->num_max_ip4_remote && ns2_sns_count_num_local_ep(fi, IPv4)) { gss->ip = IPv4; + ns2_sns_compute_local_ep_from_binds(fi); num_local_eps = gss->num_ip4_local; num_remote_eps = gss->num_max_ip4_remote; } else { @@ -2193,7 +2195,6 @@ ns2_tx_sns_size_ack(gss->sns_nsvc, &cause); break; } - ns2_sns_compute_local_ep_from_binds(fi); /* ensure number of NS-VCs is sufficient for full mesh */ gss->num_max_nsvcs = tlvp_val16be(tp, NS_IE_MAX_NR_NSVC); if (gss->num_max_nsvcs < num_remote_eps * num_local_eps) { @@ -2224,6 +2225,7 @@ gprs_ns2_free_nsvc(nsvc); } } + ns2_sns_compute_local_ep_from_binds(fi); } /* send SIZE_ACK */ ns2_tx_sns_size_ack(gss->sns_nsvc, NULL); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23479 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic0873e63f1f046b674c7898480ff070a18a7abc7 Gerrit-Change-Number: 23479 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 24 01:17:28 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 24 Mar 2021 01:17:28 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RAW_NS: Ignore NS-UNITDATA while waiting for NS-ALIVE in oneshot mode In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23478 ) Change subject: RAW_NS: Ignore NS-UNITDATA while waiting for NS-ALIVE in oneshot mode ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23478 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id2738b055f860b4eee57d445944e0861b34151be Gerrit-Change-Number: 23478 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 24 Mar 2021 01:17: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 Mar 24 01:17:30 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 24 Mar 2021 01:17:30 +0000 Subject: Change in osmo-ttcn3-hacks[master]: RAW_NS: Ignore NS-UNITDATA while waiting for NS-ALIVE in oneshot mode In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23478 ) Change subject: RAW_NS: Ignore NS-UNITDATA while waiting for NS-ALIVE in oneshot mode ...................................................................... RAW_NS: Ignore NS-UNITDATA while waiting for NS-ALIVE in oneshot mode Change-Id: Id2738b055f860b4eee57d445944e0861b34151be --- M library/RAW_NS.ttcnpp 1 file changed, 7 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/library/RAW_NS.ttcnpp b/library/RAW_NS.ttcnpp index 58910d9..76ac0a2 100644 --- a/library/RAW_NS.ttcnpp +++ b/library/RAW_NS.ttcnpp @@ -169,6 +169,13 @@ NSCP[idx].send(t_NS_ALIVE_ACK); if (not oneshot) { repeat; } } + /* in oneshot mode, ignore any NS-UNITDATA we receive meanwhile. This is + * particularly useful when waiting for the first NS-ALIVE after SNS-CONFIG, + * where there is a high chance of UNITDATA during the first Tns-test cycle + * before the peer sends its first NS-ALIVE after Tns-test expiration */ + [oneshot] NSCP[idx].receive(tr_NS_UNITDATA(?,?,?)) { + repeat; + } } /* Transmit BSSGP RESET for given BVCI and expect ACK */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23478 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id2738b055f860b4eee57d445944e0861b34151be Gerrit-Change-Number: 23478 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 Wed Mar 24 01:44:09 2021 From: admin at opensuse.org (OBS Notification) Date: Wed, 24 Mar 2021 01:44:09 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <605a997ba99e8_a602af4fbf7c5f4116335f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_20.04/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_20.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 186s] [COMPILING apps/dfu/main.c] [ 187s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 187s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 187s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 187s] Memory region Used Size Region Size %age Used [ 187s] rom: 16600 B 16 KB 101.32% [ 187s] ram: 11688 B 48 KB 23.78/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 187s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 187s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 187s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 187s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 187s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 187s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 216 bytes [ 187s] collect2: error: ld returned 1 exit status [ 187s] % [ 187s] make[2]: *** [Makefile:230: flash] Error 1 [ 187s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 187s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 187s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 187s] dh_auto_build: error: make -j1 returned exit code 2 [ 187s] make: *** [debian/rules:16: build] Error 25 [ 187s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 187s] ### VM INTERACTION START ### [ 190s] [ 173.230940] sysrq: Power Off [ 190s] [ 173.237996] reboot: Power down [ 190s] ### VM INTERACTION END ### [ 190s] [ 190s] lamb09 failed "build simtrace2_0.7.0.76.62ad.dsc" at Wed Mar 24 01:43:52 UTC 2021. [ 190s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Mar 24 01:46:43 2021 From: admin at opensuse.org (OBS Notification) Date: Wed, 24 Mar 2021 01:46:43 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.10/x86_64 In-Reply-To: References: Message-ID: <605a9a1050788_a602af4fbf7c5f411634be@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_20.10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_20.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 170s] [COMPILING libboard/qmod/source/board_qmod.c] [ 170s] [COMPILING libboard/qmod/source/card_pres.c] [ 170s] [COMPILING libboard/qmod/source/i2c.c] [ 170s] [COMPILING libboard/qmod/source/wwan_led.c] [ 171s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 171s] [COMPILING apps/dfu/main.c] [ 171s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 171s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 171s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 171s] Memory region Used Size Region Size %age Used [ 171s] rom: 16592 B 16 KB 101.27% [ 171s] ram: 11680 B 48 KB 23.76/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 171s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 208 bytes [ 171s] collect2: error: ld returned 1 exit status [ 171s] % [ 171s] make[2]: *** [Makefile:230: flash] Error 1 [ 171s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 171s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 171s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 171s] dh_auto_build: error: make -j1 returned exit code 2 [ 171s] make: *** [debian/rules:16: build] Error 25 [ 171s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 171s] ### VM INTERACTION START ### [ 174s] [ 161.156751] sysrq: Power Off [ 175s] [ 161.166901] reboot: Power down [ 175s] ### VM INTERACTION END ### [ 175s] [ 175s] lamb58 failed "build simtrace2_0.7.0.76.62ad.dsc" at Wed Mar 24 01:46:28 UTC 2021. [ 175s] -- 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 Mar 24 08:26:07 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 24 Mar 2021 08:26:07 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Fix memory leak when creating ip[46]_local arrays In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23417 ) Change subject: gprs_ns2_sns: Fix memory leak when creating ip[46]_local arrays ...................................................................... Patch Set 6: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23417 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I12cb670e087c6d6190f3f5bf8483ea62008ae06f Gerrit-Change-Number: 23417 Gerrit-PatchSet: 6 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 24 Mar 2021 08:26:07 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 24 11:21:35 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 24 Mar 2021 11:21:35 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Fix memory leak when creating ip[46]_local arrays In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23417 ) Change subject: gprs_ns2_sns: Fix memory leak when creating ip[46]_local arrays ...................................................................... Patch Set 6: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23417 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I12cb670e087c6d6190f3f5bf8483ea62008ae06f Gerrit-Change-Number: 23417 Gerrit-PatchSet: 6 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 24 Mar 2021 11:21: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 Mar 24 13:09:11 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 24 Mar 2021 13:09:11 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: remove code duplication in create_missing_nsvcs() References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/23480 ) Change subject: gprs_ns2_sns: remove code duplication in create_missing_nsvcs() ...................................................................... gprs_ns2_sns: remove code duplication in create_missing_nsvcs() Change-Id: I78d79c3bc92f0c0bebbbbe639b8406c4b188582f --- M src/gb/gprs_ns2_sns.c 1 file changed, 26 insertions(+), 22 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/80/23480/1 diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index 7268809..5470e43 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -367,6 +367,20 @@ ns2_vc_create_ip(fi, nse, &remote, ip6->sig_weight, ip6->data_weight); } +static bool do_we_have_nsvc_for_bind_and_remote(struct gprs_ns2_nse *nse, struct gprs_ns2_vc_bind *bind, + const struct osmo_sockaddr *remote) +{ + struct gprs_ns2_vc *nsvc; + + llist_for_each_entry(nsvc, &nse->nsvc, list) { + if (nsvc->bind != bind) + continue; + + if (!osmo_sockaddr_cmp(remote, gprs_ns2_ip_vc_remote(nsvc))) + return true; + } + return false; +} static int create_missing_nsvcs(struct osmo_fsm_inst *fi) { @@ -377,6 +391,7 @@ struct osmo_sockaddr remote = { }; unsigned int i; + /* iterate over all remote IPv4 endpoints */ for (i = 0; i < gss->num_ip4_remote; i++) { const struct gprs_ns_ie_ip4_elem *ip4 = &gss->ip4_remote[i]; @@ -384,21 +399,15 @@ remote.u.sin.sin_addr.s_addr = ip4->ip_addr; remote.u.sin.sin_port = ip4->udp_port; + /* iterate over all local binds */ llist_for_each_entry(bind, &nse->nsi->binding, list) { - bool found = false; + bool found; + + /* we only care about UDP binds */ if (bind->ll != GPRS_NS2_LL_UDP) continue; - llist_for_each_entry(nsvc, &nse->nsvc, list) { - if (nsvc->bind != bind) - continue; - - if (!osmo_sockaddr_cmp(&remote, gprs_ns2_ip_vc_remote(nsvc))) { - found = true; - break; - } - } - + found = do_we_have_nsvc_for_bind_and_remote(nse, bind, &remote); if (!found) { nsvc = gprs_ns2_ip_connect_inactive(bind, &remote, nse, 0); if (!nsvc) { @@ -414,6 +423,7 @@ } } + /* iterate over all remote IPv4 endpoints */ for (i = 0; i < gss->num_ip6_remote; i++) { const struct gprs_ns_ie_ip6_elem *ip6 = &gss->ip6_remote[i]; @@ -421,21 +431,15 @@ remote.u.sin6.sin6_addr = ip6->ip_addr; remote.u.sin6.sin6_port = ip6->udp_port; + /* iterate over all local binds */ llist_for_each_entry(bind, &nse->nsi->binding, list) { - bool found = false; + bool found; + if (bind->ll != GPRS_NS2_LL_UDP) continue; - llist_for_each_entry(nsvc, &nse->nsvc, list) { - if (nsvc->bind != bind) - continue; - - if (!osmo_sockaddr_cmp(&remote, gprs_ns2_ip_vc_remote(nsvc))) { - found = true; - break; - } - } - + /* we only care about UDP binds */ + found = do_we_have_nsvc_for_bind_and_remote(nse, bind, &remote); if (!found) { nsvc = gprs_ns2_ip_connect_inactive(bind, &remote, nse, 0); if (!nsvc) { -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23480 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I78d79c3bc92f0c0bebbbbe639b8406c4b188582f Gerrit-Change-Number: 23480 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 Mar 24 13:09:12 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 24 Mar 2021 13:09:12 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Don't create NS-VCs for binds outside the NSE References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/23481 ) Change subject: gprs_ns2_sns: Don't create NS-VCs for binds outside the NSE ...................................................................... gprs_ns2_sns: Don't create NS-VCs for binds outside the NSE We may very well have any number of binds configured, but which are not part of the current NSE. When creating the "full mesh" of NS-VCs after SNS-CONFIG, we must only iterate over those binds that are part of the NSE (or 'ipa-sns-default bind' in cae of SGSN role), but not over all the other binds that may exist in the system. Closes: OS#5092 Change-Id: Ida361fa02ad1d86844d54c8f0664c996ed28e30a --- M src/gb/gprs_ns2_sns.c 1 file changed, 7 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/81/23481/1 diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index 5470e43..00a6520 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -387,7 +387,7 @@ struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; struct gprs_ns2_nse *nse = nse_inst_from_fi(fi); struct gprs_ns2_vc *nsvc; - struct gprs_ns2_vc_bind *bind; + struct ns2_sns_bind *sbind; struct osmo_sockaddr remote = { }; unsigned int i; @@ -399,8 +399,9 @@ remote.u.sin.sin_addr.s_addr = ip4->ip_addr; remote.u.sin.sin_port = ip4->udp_port; - /* iterate over all local binds */ - llist_for_each_entry(bind, &nse->nsi->binding, list) { + /* iterate over all local binds within this SNS */ + llist_for_each_entry(sbind, &gss->binds, list) { + struct gprs_ns2_vc_bind *bind = sbind->bind; bool found; /* we only care about UDP binds */ @@ -431,8 +432,9 @@ remote.u.sin6.sin6_addr = ip6->ip_addr; remote.u.sin6.sin6_port = ip6->udp_port; - /* iterate over all local binds */ - llist_for_each_entry(bind, &nse->nsi->binding, list) { + /* iterate over all local binds within this SNS */ + llist_for_each_entry(sbind, &gss->binds, list) { + struct gprs_ns2_vc_bind *bind = sbind->bind; bool found; if (bind->ll != GPRS_NS2_LL_UDP) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23481 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ida361fa02ad1d86844d54c8f0664c996ed28e30a Gerrit-Change-Number: 23481 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 Mar 24 13:32:33 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 24 Mar 2021 13:32:33 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: remove code duplication in create_missing_nsvcs() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23480 ) Change subject: gprs_ns2_sns: remove code duplication in create_missing_nsvcs() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23480 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I78d79c3bc92f0c0bebbbbe639b8406c4b188582f Gerrit-Change-Number: 23480 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 24 Mar 2021 13:32: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 Mar 24 13:33:24 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 24 Mar 2021 13:33:24 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Don't create NS-VCs for binds outside the NSE In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23481 ) Change subject: gprs_ns2_sns: Don't create NS-VCs for binds outside the NSE ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23481 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ida361fa02ad1d86844d54c8f0664c996ed28e30a Gerrit-Change-Number: 23481 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 24 Mar 2021 13:33:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 24 14:49:18 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 24 Mar 2021 14:49:18 +0000 Subject: Change in osmo-bsc[master]: fix/refactor neighbor config In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/23360 to look at the new patch set (#2). Change subject: fix/refactor neighbor config ...................................................................... fix/refactor neighbor config The neighbor configuration storage is fundamentally broken: it requires all local cells to be configured before being able to list them as neighbors of each other. Upon config write-back, the neighbor config however is placed back inline with the other config, and hence a written-out neighbor config no longer works on program restart. The cause of this problem is that the config is stored as explicit pointers between local cells (struct gsm_bts), which of course requires the pointer to exist before being able to reference it. Instead, store the actual configuration that the user entered as-is, without pointers or references to objects that need to be ready. Resolve the neighbors every time a neighbor is needed. Hence the user may enter any config at any place in the config file, even non-working config (like a BTS number that doesn't exist), and the relation to actual local or remote neighbor cells is made at runtime. Abort program startup if the initial neighbor configuration contains errors. Related: OS#5018 Change-Id: I9ed992f8bfff888b3933733c0576f92d50f2625b --- M include/osmocom/bsc/bts.h M include/osmocom/bsc/gsm_data.h M include/osmocom/bsc/handover.h M include/osmocom/bsc/neighbor_ident.h M src/osmo-bsc/bsc_init.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/bts.c M src/osmo-bsc/handover_decision.c M src/osmo-bsc/handover_decision_2.c M src/osmo-bsc/handover_fsm.c M src/osmo-bsc/handover_logic.c M src/osmo-bsc/neighbor_ident.c M src/osmo-bsc/neighbor_ident_vty.c M src/osmo-bsc/osmo_bsc_main.c M src/osmo-bsc/system_information.c M tests/bsc/bsc_test.c M tests/ctrl/osmo-bsc-neigh-test.cfg M tests/gsm0408/gsm0408_test.c M tests/neighbor_ident.vty 19 files changed, 916 insertions(+), 1,024 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/60/23360/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23360 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9ed992f8bfff888b3933733c0576f92d50f2625b Gerrit-Change-Number: 23360 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 24 14:53:32 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 24 Mar 2021 14:53:32 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests: fix IPv4 matching in TC_pcu_socket_{nsvc_ipv4, two_nsvc} References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23482 ) Change subject: BTS_Tests: fix IPv4 matching in TC_pcu_socket_{nsvc_ipv4,two_nsvc} ...................................................................... BTS_Tests: fix IPv4 matching in TC_pcu_socket_{nsvc_ipv4,two_nsvc} This commit fixes a regression introduced in [1] Change-Id: I107039f1ff44ae8c41d690f5f293ed136c17586b Fixes: [1] Ia9f366ca1fdad700a90ca3367e43523f7bac39a1 --- M bts/BTS_Tests.ttcn 1 file changed, 5 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/82/23482/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 58947c5..c0ec728 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -5728,7 +5728,7 @@ var PCUIF_RemoteAddr remote_addr := g_pcu_last_info.u.info_ind.remote_addr; var template PCUIF_RemoteAddr tr_remote_addr := { addr_type := { PCUIF_ADDR_TYPE_IPV4, ? }, - addr := { f_inet_addr("127.127.127.127"), ? } + addr := { f_pad_oct(f_inet_addr("127.127.127.127"), 16, '00'O), ? } }; if (not match(remote_addr, tr_remote_addr)) { @@ -5778,7 +5778,10 @@ var PCUIF_RemoteAddr remote_addr := info_ind.remote_addr; var template PCUIF_RemoteAddr tr_remote_addr := { addr_type := { PCUIF_ADDR_TYPE_IPV4, PCUIF_ADDR_TYPE_IPV6 }, - addr := { f_inet_addr("127.127.127.127"), f_inet6_addr("fd00::ca:ff:ee") } + addr := { + f_pad_oct(f_inet_addr("127.127.127.127"), 16, '00'O), + f_inet6_addr("fd00::ca:ff:ee") + } }; if (not match(info_ind.nsvci, { 1234, 5678 })) -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23482 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I107039f1ff44ae8c41d690f5f293ed136c17586b Gerrit-Change-Number: 23482 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 Mar 24 14:57:13 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 24 Mar 2021 14:57:13 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests: fix IPv4 matching in TC_pcu_socket_{nsvc_ipv4, two_nsvc} In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23482 ) Change subject: BTS_Tests: fix IPv4 matching in TC_pcu_socket_{nsvc_ipv4,two_nsvc} ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23482 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I107039f1ff44ae8c41d690f5f293ed136c17586b Gerrit-Change-Number: 23482 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 24 Mar 2021 14:57: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 Mar 24 14:57:15 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 24 Mar 2021 14:57:15 +0000 Subject: Change in osmo-ttcn3-hacks[master]: BTS_Tests: fix IPv4 matching in TC_pcu_socket_{nsvc_ipv4, two_nsvc} In-Reply-To: References: Message-ID: fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23482 ) Change subject: BTS_Tests: fix IPv4 matching in TC_pcu_socket_{nsvc_ipv4,two_nsvc} ...................................................................... BTS_Tests: fix IPv4 matching in TC_pcu_socket_{nsvc_ipv4,two_nsvc} This commit fixes a regression introduced in [1] Change-Id: I107039f1ff44ae8c41d690f5f293ed136c17586b Fixes: [1] Ia9f366ca1fdad700a90ca3367e43523f7bac39a1 --- M bts/BTS_Tests.ttcn 1 file changed, 5 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 58947c5..c0ec728 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -5728,7 +5728,7 @@ var PCUIF_RemoteAddr remote_addr := g_pcu_last_info.u.info_ind.remote_addr; var template PCUIF_RemoteAddr tr_remote_addr := { addr_type := { PCUIF_ADDR_TYPE_IPV4, ? }, - addr := { f_inet_addr("127.127.127.127"), ? } + addr := { f_pad_oct(f_inet_addr("127.127.127.127"), 16, '00'O), ? } }; if (not match(remote_addr, tr_remote_addr)) { @@ -5778,7 +5778,10 @@ var PCUIF_RemoteAddr remote_addr := info_ind.remote_addr; var template PCUIF_RemoteAddr tr_remote_addr := { addr_type := { PCUIF_ADDR_TYPE_IPV4, PCUIF_ADDR_TYPE_IPV6 }, - addr := { f_inet_addr("127.127.127.127"), f_inet6_addr("fd00::ca:ff:ee") } + addr := { + f_pad_oct(f_inet_addr("127.127.127.127"), 16, '00'O), + f_inet6_addr("fd00::ca:ff:ee") + } }; if (not match(info_ind.nsvci, { 1234, 5678 })) -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23482 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I107039f1ff44ae8c41d690f5f293ed136c17586b Gerrit-Change-Number: 23482 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 Mar 24 15:19:15 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 24 Mar 2021 15:19:15 +0000 Subject: Change in osmo-bsc[master]: fix/refactor neighbor config In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23360 ) Change subject: fix/refactor neighbor config ...................................................................... Patch Set 2: (3 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/23360/2/include/osmocom/bsc/neighbor_ident.h File include/osmocom/bsc/neighbor_ident.h: https://gerrit.osmocom.org/c/osmo-bsc/+/23360/2/include/osmocom/bsc/neighbor_ident.h at 57 PS2, Line 57: int resolve_local_neighbor(struct gsm_bts **local_neighbor_p, struct gsm_bts *from_bts, from_bts can probably be const. https://gerrit.osmocom.org/c/osmo-bsc/+/23360/2/src/osmo-bsc/neighbor_ident.c File src/osmo-bsc/neighbor_ident.c: https://gerrit.osmocom.org/c/osmo-bsc/+/23360/2/src/osmo-bsc/neighbor_ident.c at 426 PS2, Line 426: if (local_neighbor) { AFAIU this will never be false since if resolve_neighbor fails, the pointer is NULL, otherwise it's not NULL (and btw you are not initializing the pointer to null at the start of the function, which *may* make some gcc versions unhappy). https://gerrit.osmocom.org/c/osmo-bsc/+/23360/2/src/osmo-bsc/neighbor_ident.c at 433 PS2, Line 433: && remote_neighbors.id_discr == CELL_IDENT_WHOLE_GLOBAL_PS) { I find interesting that you prefer putting the "&&" at the start of the line while I prefer putting them at the end :) (not asking you to change it) -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23360 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9ed992f8bfff888b3933733c0576f92d50f2625b Gerrit-Change-Number: 23360 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 24 Mar 2021 15:19: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 Wed Mar 24 15:23:13 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 24 Mar 2021 15:23:13 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: remove code duplication in create_missing_nsvcs() In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/23480 to look at the new patch set (#2). Change subject: gprs_ns2_sns: remove code duplication in create_missing_nsvcs() ...................................................................... gprs_ns2_sns: remove code duplication in create_missing_nsvcs() Change-Id: I78d79c3bc92f0c0bebbbbe639b8406c4b188582f --- M src/gb/gprs_ns2_sns.c 1 file changed, 25 insertions(+), 24 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/80/23480/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23480 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I78d79c3bc92f0c0bebbbbe639b8406c4b188582f Gerrit-Change-Number: 23480 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 Wed Mar 24 15:23:13 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 24 Mar 2021 15:23:13 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Don't create NS-VCs for binds outside the NSE In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/23481 to look at the new patch set (#2). Change subject: gprs_ns2_sns: Don't create NS-VCs for binds outside the NSE ...................................................................... gprs_ns2_sns: Don't create NS-VCs for binds outside the NSE We may very well have any number of binds configured, but which are not part of the current NSE. When creating the "full mesh" of NS-VCs after SNS-CONFIG, we must only iterate over those binds that are part of the NSE (or 'ipa-sns-default bind' in cae of SGSN role), but not over all the other binds that may exist in the system. Closes: OS#5092 Change-Id: Ida361fa02ad1d86844d54c8f0664c996ed28e30a --- M src/gb/gprs_ns2_sns.c 1 file changed, 9 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/81/23481/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23481 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ida361fa02ad1d86844d54c8f0664c996ed28e30a Gerrit-Change-Number: 23481 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 Wed Mar 24 15:29:24 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 24 Mar 2021 15:29:24 +0000 Subject: Change in libosmocore[master]: gprs_ns2: rework logging of Rx and Tx NS PDU In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/22294 ) Change subject: gprs_ns2: rework logging of Rx and Tx NS PDU ...................................................................... Patch Set 15: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/22294 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I34b8fde2955ecc010d1dcd9512e1bba9211e2c0d Gerrit-Change-Number: 22294 Gerrit-PatchSet: 15 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Wed, 24 Mar 2021 15: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 Wed Mar 24 15:30:44 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 24 Mar 2021 15:30:44 +0000 Subject: Change in libosmocore[master]: gprs_ns2: always use the same method to print NSVCs In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23450 ) Change subject: gprs_ns2: always use the same method to print NSVCs ...................................................................... Patch Set 1: Code-Review-1 (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/23450/1/tests/gb/gprs_ns2_vty.vty File tests/gb/gprs_ns2_vty.vty: https://gerrit.osmocom.org/c/libosmocore/+/23450/1/tests/gb/gprs_ns2_vty.vty at 46 PS1, Line 46: NSVCI none: RECOVERING PERSIST data_weight=1 sig_weight=1 udp)[127.0.0.14]:42999<>[127.0.0.15]:9496 the indent level is wrong here. The "1 NS-VC" is already indented two spaces, and the NSVCIs below should have at least 3 or 4 spaces indent -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23450 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If31ec6c1c07dc134ab1ddeb915bc89747c7be048 Gerrit-Change-Number: 23450 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 24 Mar 2021 15:30:44 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 24 15:31:07 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 24 Mar 2021 15:31:07 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vty: hide dynamic NSE information when ask for persistant only In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23451 ) Change subject: gprs_ns2_vty: hide dynamic NSE information when ask for persistant only ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23451 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibd2c6962eda39a850ab61cf347063934378d2fdc Gerrit-Change-Number: 23451 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 24 Mar 2021 15:31: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 Mar 24 15:31:32 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 24 Mar 2021 15:31:32 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vty: make the `show ns entities` and `show ns binds` look si... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23452 ) Change subject: gprs_ns2_vty: make the `show ns entities` and `show ns binds` look similiar ...................................................................... Patch Set 1: ACK, but relted to the wrong indenting? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23452 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I15c58a1c0fe94dda728afb29e7e5ca41e3fa8966 Gerrit-Change-Number: 23452 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 24 Mar 2021 15:31:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 24 15:31:49 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 24 Mar 2021 15:31:49 +0000 Subject: Change in libosmocore[master]: gprs_ns2: dump_nsvc: correct indention In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23453 ) Change subject: gprs_ns2: dump_nsvc: correct indention ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23453 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I55794188bec7e62f0341188dbf23ac04006974fe Gerrit-Change-Number: 23453 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 24 Mar 2021 15:31: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 Mar 24 15:31:59 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 24 Mar 2021 15:31:59 +0000 Subject: Change in libosmocore[master]: gprs_ns2: always use the same method to print NSVCs In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23450 ) Change subject: gprs_ns2: always use the same method to print NSVCs ...................................................................... Patch Set 1: Code-Review+2 just saw your follow-up fix. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23450 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If31ec6c1c07dc134ab1ddeb915bc89747c7be048 Gerrit-Change-Number: 23450 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 24 Mar 2021 15:31:59 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 24 15:32:11 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 24 Mar 2021 15:32:11 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vty: make the `show ns entities` and `show ns binds` look si... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23452 ) Change subject: gprs_ns2_vty: make the `show ns entities` and `show ns binds` look similiar ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23452 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I15c58a1c0fe94dda728afb29e7e5ca41e3fa8966 Gerrit-Change-Number: 23452 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 24 Mar 2021 15:32: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 Mar 24 15:32:32 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 24 Mar 2021 15:32:32 +0000 Subject: Change in libosmocore[master]: gprs_ns2: add vty command `nsvc reset` In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23454 ) Change subject: gprs_ns2: add vty command `nsvc reset` ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23454 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I436dd0367e83548acfc8f8e36ae4707496a252d9 Gerrit-Change-Number: 23454 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 24 Mar 2021 15:32: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 Mar 24 15:33:20 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 24 Mar 2021 15:33:20 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vty: print a response to vty `nsvc (block|unblock|re... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23455 ) Change subject: gprs_ns2_vty: print a response to vty `nsvc (block|unblock|reset) ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/23455/1/src/gb/gprs_ns2_vty.c File src/gb/gprs_ns2_vty.c: https://gerrit.osmocom.org/c/libosmocore/+/23455/1/src/gb/gprs_ns2_vty.c at 1918 PS1, Line 1918: vty_out(vty, "An unknown error happend%s", VTY_NEWLINE); might make sens to %d the 'rc' in this caese, rather than "unknown"? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23455 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Idbb83ea319bbdc94177febdd66e79c49fce7fdd2 Gerrit-Change-Number: 23455 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 24 Mar 2021 15:33: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 Wed Mar 24 15:33:33 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 24 Mar 2021 15:33:33 +0000 Subject: Change in libosmocore[master]: gprs_ns2: vty: remove a white space in `show binds` In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23456 ) Change subject: gprs_ns2: vty: remove a white space in `show binds` ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23456 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia3579ec5599f5f5c58eebab03f1ed9e17f171177 Gerrit-Change-Number: 23456 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 24 Mar 2021 15:33:33 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 24 15:37:11 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Wed, 24 Mar 2021 15:37:11 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Don't create NS-VCs for binds outside the NSE In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23481 ) Change subject: gprs_ns2_sns: Don't create NS-VCs for binds outside the NSE ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23481 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ida361fa02ad1d86844d54c8f0664c996ed28e30a Gerrit-Change-Number: 23481 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 24 Mar 2021 15:37: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 Mar 24 15:40:58 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 24 Mar 2021 15:40:58 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: remove code duplication in create_missing_nsvcs() In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23480 ) Change subject: gprs_ns2_sns: remove code duplication in create_missing_nsvcs() ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/23480/2/src/gb/gprs_ns2_sns.c File src/gb/gprs_ns2_sns.c: https://gerrit.osmocom.org/c/libosmocore/+/23480/2/src/gb/gprs_ns2_sns.c at 425 PS2, Line 425: IPv4 IPv6 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23480 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I78d79c3bc92f0c0bebbbbe639b8406c4b188582f Gerrit-Change-Number: 23480 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 24 Mar 2021 15:40:58 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 24 15:41:21 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 24 Mar 2021 15:41:21 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Don't create NS-VCs for binds outside the NSE In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23481 ) Change subject: gprs_ns2_sns: Don't create NS-VCs for binds outside the NSE ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23481 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ida361fa02ad1d86844d54c8f0664c996ed28e30a Gerrit-Change-Number: 23481 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 24 Mar 2021 15:41: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 Mar 24 15:42:17 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Wed, 24 Mar 2021 15:42:17 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: remove code duplication in create_missing_nsvcs() In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23480 ) Change subject: gprs_ns2_sns: remove code duplication in create_missing_nsvcs() ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23480 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I78d79c3bc92f0c0bebbbbe639b8406c4b188582f Gerrit-Change-Number: 23480 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 24 Mar 2021 15:42: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 Mar 24 15:42:45 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Wed, 24 Mar 2021 15:42:45 +0000 Subject: Change in libosmocore[master]: gprs_ns2: rework logging of Rx and Tx NS PDU In-Reply-To: References: Message-ID: lynxis lazus has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/22294 ) Change subject: gprs_ns2: rework logging of Rx and Tx NS PDU ...................................................................... gprs_ns2: rework logging of Rx and Tx NS PDU Introduce 2 new logging sub systems for signal and unit data. Unify log messages so all log messages look similiar. Log also Rx PDUs. Ensure dropped Tx packets (BLOCK/RESET on SNS) contain *Tx*. Change-Id: I34b8fde2955ecc010d1dcd9512e1bba9211e2c0d --- M include/osmocom/core/logging.h M src/gb/gprs_ns2.c M src/gb/gprs_ns2_internal.h M src/gb/gprs_ns2_message.c M src/gb/gprs_ns2_vc_fsm.c M src/logging.c M tests/logging/logging_vty_test.vty 7 files changed, 92 insertions(+), 70 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/core/logging.h b/include/osmocom/core/logging.h index 01850c4..343f976 100644 --- a/include/osmocom/core/logging.h +++ b/include/osmocom/core/logging.h @@ -122,7 +122,9 @@ #define DLRSPRO -19 /*!< Osmocom Remote SIM Protocol */ #define DLNS -20 /*!< Osmocom NS layer */ #define DLBSSGP -21 /*!< Osmocom BSSGP layer */ -#define OSMO_NUM_DLIB 21 /*!< Number of logging sub-systems in libraries */ +#define DLNSDATA -22 /*!< Osmocom NS layer data pdus */ +#define DLNSSIGNAL -23 /*!< Osmocom NS layer signal pdus */ +#define OSMO_NUM_DLIB 23 /*!< Number of logging sub-systems in libraries */ /* Colors that can be used in log_info_cat.color */ #define OSMO_LOGCOLOR_NORMAL NULL diff --git a/src/gb/gprs_ns2.c b/src/gb/gprs_ns2.c index 3574f28..507a5ac 100644 --- a/src/gb/gprs_ns2.c +++ b/src/gb/gprs_ns2.c @@ -1261,6 +1261,11 @@ if (msg->len < sizeof(struct gprs_ns_hdr)) return -EINVAL; + if (nsh->pdu_type != NS_PDUT_UNITDATA) + LOG_NS_RX_SIGNAL(nsvc, nsh->pdu_type); + else + LOG_NS_DATA(nsvc, "Rx", nsh->pdu_type, LOGL_INFO, "\n"); + switch (nsh->pdu_type) { case SNS_PDUT_CONFIG: /* one additional byte ('end flag') before the TLV part starts */ diff --git a/src/gb/gprs_ns2_internal.h b/src/gb/gprs_ns2_internal.h index b4d0a0d..df51ff5 100644 --- a/src/gb/gprs_ns2_internal.h +++ b/src/gb/gprs_ns2_internal.h @@ -5,6 +5,7 @@ #include #include +#include #include #include @@ -14,18 +15,30 @@ #define LOGBIND(bind, lvl, fmt, args ...) \ LOGP(DLNS, lvl, "BIND(%s) " fmt, (bind)->name, ## args) - -#define LOGNSVC(nsvc, lvl, fmt, args ...) \ +#define LOGNSVC_SS(ss, nsvc, lvl, fmt, args ...) \ do { \ if ((nsvc)->nsvci_is_valid) { \ - LOGP(DLNS, lvl, "NSE(%05u)-NSVC(%05u) " fmt, \ + LOGP(ss, lvl, "NSE(%05u)-NSVC(%05u) " fmt, \ (nsvc)->nse->nsei, (nsvc)->nsvci, ## args); \ } else { \ - LOGP(DLNS, lvl, "NSE(%05u)-NSVC(none) " fmt, \ + LOGP(ss, lvl, "NSE(%05u)-NSVC(none) " fmt, \ (nsvc)->nse->nsei, ## args); \ } \ } while (0) +#define LOGNSVC(nsvc, lvl, fmt, args ...) \ + LOGNSVC_SS(DLNS, nsvc, lvl, fmt, ## args) + +#define LOG_NS_SIGNAL(nsvc, direction, pdu_type, lvl, fmt, args ...) \ + LOGNSVC_SS(DLNSSIGNAL, nsvc, lvl, "%s %s" fmt, direction, get_value_string(gprs_ns_pdu_strings, pdu_type), ## args) + +#define LOG_NS_DATA(nsvc, direction, pdu_type, lvl, fmt, args ...) \ + LOGNSVC_SS(DLNSDATA, nsvc, lvl, "%s %s" fmt, direction, get_value_string(gprs_ns_pdu_strings, pdu_type), ## args) + +#define LOG_NS_RX_SIGNAL(nsvc, pdu_type) LOG_NS_SIGNAL(nsvc, "Rx", pdu_type, LOGL_INFO, "\n") +#define LOG_NS_TX_SIGNAL(nsvc, pdu_type) LOG_NS_SIGNAL(nsvc, "Tx", pdu_type, LOGL_INFO, "\n") + + struct osmo_fsm_inst; struct tlv_parsed; struct vty; diff --git a/src/gb/gprs_ns2_message.c b/src/gb/gprs_ns2_message.c index 535d5be..9fcd48c 100644 --- a/src/gb/gprs_ns2_message.c +++ b/src/gb/gprs_ns2_message.c @@ -198,9 +198,9 @@ msg->l2h = msgb_put(msg, sizeof(*nsh)); nsh = (struct gprs_ns_hdr *) msg->l2h; - nsh->pdu_type = pdu_type; + LOG_NS_TX_SIGNAL(nsvc, nsh->pdu_type); return ns_vc_tx(nsvc, msg); } @@ -223,8 +223,6 @@ if (!msg) return -ENOMEM; - LOGNSVC(nsvc, LOGL_INFO, "Tx NS BLOCK (cause=%s)\n", gprs_ns2_cause_str(cause)); - rate_ctr_inc(&nsvc->ctrg->ctr[NS_CTR_BLOCKED]); msg->l2h = msgb_put(msg, sizeof(*nsh)); @@ -234,6 +232,7 @@ msgb_tvlv_put(msg, NS_IE_CAUSE, 1, &cause); msgb_tvlv_put(msg, NS_IE_VCI, 2, (uint8_t *) &nsvci); + LOG_NS_SIGNAL(nsvc, "Tx", nsh->pdu_type, LOGL_INFO, " cause=%s\n", gprs_ns2_cause_str(cause)); return ns_vc_tx(nsvc, msg); } @@ -255,14 +254,13 @@ if (!msg) return -ENOMEM; - LOGNSVC(nsvc, LOGL_INFO, "Tx NS BLOCK ACK\n"); - msg->l2h = msgb_put(msg, sizeof(*nsh)); nsh = (struct gprs_ns_hdr *) msg->l2h; nsh->pdu_type = NS_PDUT_BLOCK_ACK; msgb_tvlv_put(msg, NS_IE_VCI, 2, (uint8_t *) &nsvci); + LOG_NS_TX_SIGNAL(nsvc, nsh->pdu_type); return ns_vc_tx(nsvc, msg); } @@ -286,8 +284,6 @@ if (!msg) return -ENOMEM; - LOGNSVC(nsvc, LOGL_INFO, "Tx NS RESET (cause=%s)\n", gprs_ns2_cause_str(cause)); - msg->l2h = msgb_put(msg, sizeof(*nsh)); nsh = (struct gprs_ns_hdr *) msg->l2h; nsh->pdu_type = NS_PDUT_RESET; @@ -296,6 +292,7 @@ msgb_tvlv_put(msg, NS_IE_VCI, 2, (uint8_t *) &nsvci); msgb_tvlv_put(msg, NS_IE_NSEI, 2, (uint8_t *) &nsei); + LOG_NS_SIGNAL(nsvc, "Tx", nsh->pdu_type, LOGL_INFO, " cause=%s\n", gprs_ns2_cause_str(cause)); return ns_vc_tx(nsvc, msg); } @@ -326,11 +323,10 @@ nsh->pdu_type = NS_PDUT_RESET_ACK; - LOGNSVC(nsvc, LOGL_INFO, "Tx NS RESET ACK\n"); - msgb_tvlv_put(msg, NS_IE_VCI, 2, (uint8_t *)&nsvci); msgb_tvlv_put(msg, NS_IE_NSEI, 2, (uint8_t *)&nsei); + LOG_NS_TX_SIGNAL(nsvc, nsh->pdu_type); return ns_vc_tx(nsvc, msg); } @@ -344,8 +340,6 @@ ERR_IF_NSVC_USES_SNS(nsvc, "transmit NS UNBLOCK"); - LOGNSVC(nsvc, LOGL_INFO, "Tx NS UNBLOCK\n"); - return ns2_tx_simple(nsvc, NS_PDUT_UNBLOCK); } @@ -360,8 +354,6 @@ ERR_IF_NSVC_USES_SNS(nsvc, "transmit NS UNBLOCK ACK"); - LOGNSVC(nsvc, LOGL_INFO, "Tx NS UNBLOCK_ACK\n"); - return ns2_tx_simple(nsvc, NS_PDUT_UNBLOCK_ACK); } @@ -372,7 +364,6 @@ { log_set_context(LOG_CTX_GB_NSE, nsvc->nse); log_set_context(LOG_CTX_GB_NSVC, nsvc); - LOGNSVC(nsvc, LOGL_DEBUG, "Tx NS ALIVE\n"); return ns2_tx_simple(nsvc, NS_PDUT_ALIVE); } @@ -384,7 +375,6 @@ { log_set_context(LOG_CTX_GB_NSE, nsvc->nse); log_set_context(LOG_CTX_GB_NSVC, nsvc); - LOGNSVC(nsvc, LOGL_DEBUG, "Tx NS ALIVE_ACK\n"); return ns2_tx_simple(nsvc, NS_PDUT_ALIVE_ACK); } @@ -417,6 +407,7 @@ nsh->data[1] = bvci >> 8; nsh->data[2] = bvci & 0xff; + LOG_NS_DATA(nsvc, "Tx", nsh->pdu_type, LOGL_INFO, "\n"); return ns_vc_tx(nsvc, msg); } @@ -442,8 +433,6 @@ if (!msg) return -ENOMEM; - LOGNSVC(nsvc, LOGL_NOTICE, "Tx NS STATUS (cause=%s)\n", gprs_ns2_cause_str(cause)); - msg->l2h = msgb_put(msg, sizeof(*nsh)); nsh = (struct gprs_ns_hdr *) msg->l2h; nsh->pdu_type = NS_PDUT_STATUS; @@ -478,6 +467,7 @@ break; } + LOG_NS_SIGNAL(nsvc, "Tx", nsh->pdu_type, LOGL_INFO, " cause=%s\n", gprs_ns2_cause_str(cause)); return ns_vc_tx(nsvc, msg); } @@ -515,8 +505,6 @@ return -EIO; } - LOGNSVC(nsvc, LOGL_INFO, "Tx SNS-ACK (trans_id=%u, cause=%s, num_ip4=%u, num_ip6=%u)\n", - trans_id, cause ? gprs_ns2_cause_str(*cause) : "NULL", num_ip4_elems, num_ip6_elems); nsei = osmo_htons(nsvc->nse->nsei); @@ -541,6 +529,9 @@ (const uint8_t *)ip6_elems); } + LOG_NS_SIGNAL(nsvc, "Tx", nsh->pdu_type, LOGL_INFO, + " (trans_id=%u, cause=%s, num_ip4=%u, num_ip6=%u)\n", + trans_id, cause ? gprs_ns2_cause_str(*cause) : "NULL", num_ip4_elems, num_ip6_elems); return ns_vc_tx(nsvc, msg); } @@ -576,9 +567,6 @@ return -EIO; } - LOGNSVC(nsvc, LOGL_INFO, "Tx SNS-CONFIG (end_flag=%u, num_ip4=%u, num_ip6=%u)\n", - end_flag, num_ip4_elems, num_ip6_elems); - nsei = osmo_htons(nsvc->nse->nsei); msg->l2h = msgb_put(msg, sizeof(*nsh)); @@ -599,6 +587,9 @@ (const uint8_t *)ip6_elems); } + LOG_NS_SIGNAL(nsvc, "Tx", nsh->pdu_type, LOGL_INFO, + " (end_flag=%u, num_ip4=%u, num_ip6=%u)\n", + end_flag, num_ip4_elems, num_ip6_elems); return ns_vc_tx(nsvc, msg); } @@ -627,9 +618,6 @@ return -EIO; } - LOGNSVC(nsvc, LOGL_INFO, "Tx SNS-CONFIG-ACK (cause=%s)\n", - cause ? gprs_ns2_cause_str(*cause) : "NULL"); - nsei = osmo_htons(nsvc->nse->nsei); msg->l2h = msgb_put(msg, sizeof(*nsh)); @@ -641,6 +629,9 @@ if (cause) msgb_tvlv_put(msg, NS_IE_CAUSE, 1, cause); + LOGNSVC(nsvc, LOGL_INFO, "Tx SNS-CONFIG-ACK (cause=%s)\n", + cause ? gprs_ns2_cause_str(*cause) : "NULL"); + LOG_NS_TX_SIGNAL(nsvc, nsh->pdu_type); return ns_vc_tx(nsvc, msg); } @@ -675,9 +666,6 @@ return -EIO; } - LOGNSVC(nsvc, LOGL_INFO, "Tx SNS-SIZE (reset=%u, max_nr_nsvc=%u, num_ip4=%u, num_ip6=%u)\n", - reset_flag, max_nr_nsvc, ip4_ep_nr, ip6_ep_nr); - nsei = osmo_htons(nsvc->nse->nsei); msg->l2h = msgb_put(msg, sizeof(*nsh)); @@ -693,6 +681,9 @@ if (ip6_ep_nr >= 0) msgb_tv16_put(msg, NS_IE_IPv6_EP_NR, ip6_ep_nr); + LOG_NS_SIGNAL(nsvc, "Tx", nsh->pdu_type, LOGL_INFO, + " (reset=%u, max_nr_nsvc=%u, num_ip4=%u, num_ip6=%u)\n", + reset_flag, max_nr_nsvc, ip4_ep_nr, ip6_ep_nr); return ns_vc_tx(nsvc, msg); } @@ -717,9 +708,6 @@ return -EIO; } - LOGNSVC(nsvc, LOGL_INFO, "Tx SNS-SIZE-ACK (cause=%s)\n", - cause ? gprs_ns2_cause_str(*cause) : "NULL"); - nsei = osmo_htons(nsvc->nse->nsei); msg->l2h = msgb_put(msg, sizeof(*nsh)); @@ -731,7 +719,7 @@ if (cause) msgb_tvlv_put(msg, NS_IE_CAUSE, 1, cause); + LOG_NS_SIGNAL(nsvc, "Tx", nsh->pdu_type, LOGL_INFO, " cause=%s\n", + cause ? gprs_ns2_cause_str(*cause) : "NULL"); return ns_vc_tx(nsvc, msg); } - - diff --git a/src/gb/gprs_ns2_vc_fsm.c b/src/gb/gprs_ns2_vc_fsm.c index f4d88f4..c64f60d 100644 --- a/src/gb/gprs_ns2_vc_fsm.c +++ b/src/gb/gprs_ns2_vc_fsm.c @@ -646,6 +646,8 @@ * the msg, the upper layer has to do it. * Otherwise the msg must be freed. */ + + LOG_NS_DATA(priv->nsvc, "Rx", NS_PDUT_UNITDATA, LOGL_INFO, "\n"); switch (fi->state) { case GPRS_NS2_ST_BLOCKED: /* 7.2.1: the BLOCKED_ACK might be lost */ @@ -812,8 +814,7 @@ if (nsh->pdu_type == NS_PDUT_RESET) ns2_tx_reset_ack(nsvc); - LOGNSVC(nsvc, LOGL_ERROR, "Rx %s with wrong NSEI=%05u. Ignoring PDU.\n", - get_value_string(gprs_ns_pdu_strings, nsh->pdu_type), nsei); + LOG_NS_SIGNAL(nsvc, "Rx", nsh->pdu_type, LOGL_ERROR, " with wrong NSEI=%05u. Ignoring PDU.\n", nsei); goto out; } } @@ -825,8 +826,7 @@ if (nsh->pdu_type == NS_PDUT_RESET) ns2_tx_reset_ack(nsvc); - LOGNSVC(nsvc, LOGL_ERROR, "Rx %s with wrong NSVCI=%05u. Ignoring PDU.\n", - get_value_string(gprs_ns_pdu_strings, nsh->pdu_type), nsvci); + LOG_NS_SIGNAL(nsvc, "Rx", nsh->pdu_type, LOGL_ERROR, " with wrong NSVCI=%05u. Ignoring PDU.\n", nsvci); goto out; } } diff --git a/src/logging.c b/src/logging.c index c2a0453..4517afc 100644 --- a/src/logging.c +++ b/src/logging.c @@ -277,6 +277,18 @@ .enabled = 1, .loglevel = LOGL_NOTICE, .color = "\033[38;5;59m", }, + [INT2IDX(DLNSDATA)] = { + .name = "DLNSDATA", + .description = "GPRS NS layer data PDU", + .enabled = 1, .loglevel = LOGL_NOTICE, + .color = "\033[38;5;61m", + }, + [INT2IDX(DLNSSIGNAL)] = { + .name = "DLNSSIGNAL", + .description = "GPRS NS layer signal PDU", + .enabled = 1, .loglevel = LOGL_NOTICE, + .color = "\033[38;5;63m", + }, }; void assert_loginfo(const char *src) diff --git a/tests/logging/logging_vty_test.vty b/tests/logging/logging_vty_test.vty index 82db2cc..91c2a48 100644 --- a/tests/logging/logging_vty_test.vty +++ b/tests/logging/logging_vty_test.vty @@ -54,7 +54,7 @@ logging print level (0|1) logging print file (0|1|basename) [last] logging set-log-mask MASK - logging level (aa|bb|ccc|dddd|eee|lglobal|llapd|linp|lmux|lmi|lmib|lsms|lctrl|lgtp|lstats|lgsup|loap|lss7|lsccp|lsua|lm3ua|lmgcp|ljibuf|lrspro|lns|lbssgp) (debug|info|notice|error|fatal) + logging level (aa|bb|ccc|dddd|eee|lglobal|llapd|linp|lmux|lmi|lmib|lsms|lctrl|lgtp|lstats|lgsup|loap|lss7|lsccp|lsua|lm3ua|lmgcp|ljibuf|lrspro|lns|lbssgp|lnsdata|lnssignal) (debug|info|notice|error|fatal) logging level set-all (debug|info|notice|error|fatal) logging level force-all (debug|info|notice|error|fatal) no logging level force-all @@ -472,39 +472,41 @@ logging_vty_test# list ... - logp (aa|bb|ccc|dddd|eee|lglobal|llapd|linp|lmux|lmi|lmib|lsms|lctrl|lgtp|lstats|lgsup|loap|lss7|lsccp|lsua|lm3ua|lmgcp|ljibuf|lrspro|lns|lbssgp) (debug|info|notice|error|fatal) .LOGMESSAGE + logp (aa|bb|ccc|dddd|eee|lglobal|llapd|linp|lmux|lmi|lmib|lsms|lctrl|lgtp|lstats|lgsup|loap|lss7|lsccp|lsua|lm3ua|lmgcp|ljibuf|lrspro|lns|lbssgp|lnsdata|lnssignal) (debug|info|notice|error|fatal) .LOGMESSAGE ... logging_vty_test# logp? logp Print a message on all log outputs; useful for placing markers in test logs logging_vty_test# logp ? - aa Antropomorphic Armadillos (AA) - bb Bidirectional Breadspread (BB) - ccc Chaos Communication Congress (CCC) - dddd Dehydrated Dribbling Duck Dunkers (DDDD) - eee Exhaustive Entropy Extraction (EEE) - lglobal Library-internal global log family - llapd LAPD in libosmogsm - linp A-bis Intput Subsystem - lmux A-bis B-Subchannel TRAU Frame Multiplex - lmi A-bis Input Driver for Signalling - lmib A-bis Input Driver for B-Channels (voice) - lsms Layer3 Short Message Service (SMS) - lctrl Control Interface - lgtp GPRS GTP library - lstats Statistics messages and logging - lgsup Generic Subscriber Update Protocol - loap Osmocom Authentication Protocol - lss7 libosmo-sigtran Signalling System 7 - lsccp libosmo-sigtran SCCP Implementation - lsua libosmo-sigtran SCCP User Adaptation - lm3ua libosmo-sigtran MTP3 User Adaptation - lmgcp libosmo-mgcp Media Gateway Control Protocol - ljibuf libosmo-netif Jitter Buffer - lrspro Remote SIM protocol - lns GPRS NS layer - lbssgp GPRS BSSGP layer + aa Antropomorphic Armadillos (AA) + bb Bidirectional Breadspread (BB) + ccc Chaos Communication Congress (CCC) + dddd Dehydrated Dribbling Duck Dunkers (DDDD) + eee Exhaustive Entropy Extraction (EEE) + lglobal Library-internal global log family + llapd LAPD in libosmogsm + linp A-bis Intput Subsystem + lmux A-bis B-Subchannel TRAU Frame Multiplex + lmi A-bis Input Driver for Signalling + lmib A-bis Input Driver for B-Channels (voice) + lsms Layer3 Short Message Service (SMS) + lctrl Control Interface + lgtp GPRS GTP library + lstats Statistics messages and logging + lgsup Generic Subscriber Update Protocol + loap Osmocom Authentication Protocol + lss7 libosmo-sigtran Signalling System 7 + lsccp libosmo-sigtran SCCP Implementation + lsua libosmo-sigtran SCCP User Adaptation + lm3ua libosmo-sigtran MTP3 User Adaptation + lmgcp libosmo-mgcp Media Gateway Control Protocol + ljibuf libosmo-netif Jitter Buffer + lrspro Remote SIM protocol + lns GPRS NS layer + lbssgp GPRS BSSGP layer + lnsdata GPRS NS layer data PDU + lnssignal GPRS NS layer signal PDU logging_vty_test# logp lglobal ? debug Log debug messages and higher levels -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/22294 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I34b8fde2955ecc010d1dcd9512e1bba9211e2c0d Gerrit-Change-Number: 22294 Gerrit-PatchSet: 16 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-CC: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 24 15:42:46 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Wed, 24 Mar 2021 15:42:46 +0000 Subject: Change in libosmocore[master]: gprs_ns2: always use the same method to print NSVCs In-Reply-To: References: Message-ID: lynxis lazus has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23450 ) Change subject: gprs_ns2: always use the same method to print NSVCs ...................................................................... gprs_ns2: always use the same method to print NSVCs The binds also print a list of associated NSVC when dumping the bind. However the binds using their own representation of printing the NSVC which is different to `show ns entities`. Use the same function to print NS-VC. Before: NSVCI 00000: udp)[127.0.0.1]:23000<>[127.0.0.1]:22000 After: NSVCI none: UNCONFIGURED DYNAMIC data_weight=1 sig_weight=1 udp)[127.0.0.1]:23000<>[127.0.0.1]:22000 Change-Id: If31ec6c1c07dc134ab1ddeb915bc89747c7be048 --- M src/gb/gprs_ns2_fr.c M src/gb/gprs_ns2_internal.h M src/gb/gprs_ns2_udp.c M src/gb/gprs_ns2_vty.c M tests/gb/gprs_ns2_vty.vty 5 files changed, 13 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/src/gb/gprs_ns2_fr.c b/src/gb/gprs_ns2_fr.c index 6ba2268..84f3784 100644 --- a/src/gb/gprs_ns2_fr.c +++ b/src/gb/gprs_ns2_fr.c @@ -135,7 +135,7 @@ nsvc->priv = NULL; } -static void dump_vty(const struct gprs_ns2_vc_bind *bind, struct vty *vty, bool _stats) +static void dump_vty(const struct gprs_ns2_vc_bind *bind, struct vty *vty, bool stats) { struct priv_bind *priv; struct gprs_ns2_vc *nsvc; @@ -151,7 +151,7 @@ osmo_fr_role_str(fr_link->role), priv->if_running ? "UP" : "DOWN", VTY_NEWLINE); llist_for_each_entry(nsvc, &bind->nsvc, blist) { - vty_out(vty, " NSVCI %05u: %s%s", nsvc->nsvci, gprs_ns2_ll_str(nsvc), VTY_NEWLINE); + ns2_vty_dump_nsvc(vty, nsvc, stats); } priv = bind->priv; diff --git a/src/gb/gprs_ns2_internal.h b/src/gb/gprs_ns2_internal.h index df51ff5..6cfef44 100644 --- a/src/gb/gprs_ns2_internal.h +++ b/src/gb/gprs_ns2_internal.h @@ -396,6 +396,7 @@ int ns2_vc_is_unblocked(struct gprs_ns2_vc *nsvc); int ns2_vc_block(struct gprs_ns2_vc *nsvc); int ns2_vc_unblock(struct gprs_ns2_vc *nsvc); +void ns2_vty_dump_nsvc(struct vty *vty, struct gprs_ns2_vc *nsvc, bool stats); /* nse */ void ns2_nse_notify_unblocked(struct gprs_ns2_vc *nsvc, bool unblocked); diff --git a/src/gb/gprs_ns2_udp.c b/src/gb/gprs_ns2_udp.c index 5765c77..4c986a2 100644 --- a/src/gb/gprs_ns2_udp.c +++ b/src/gb/gprs_ns2_udp.c @@ -85,7 +85,7 @@ } static void dump_vty(const struct gprs_ns2_vc_bind *bind, - struct vty *vty, bool _stats) + struct vty *vty, bool stats) { struct priv_bind *priv; struct gprs_ns2_vc *nsvc; @@ -109,7 +109,7 @@ vty_out(vty, " %lu NS-VC: %s", nsvcs, VTY_NEWLINE); llist_for_each_entry(nsvc, &bind->nsvc, blist) { - vty_out(vty, " NSVCI %05u: %s%s", nsvc->nsvci, gprs_ns2_ll_str(nsvc), VTY_NEWLINE); + ns2_vty_dump_nsvc(vty, nsvc, stats); } } diff --git a/src/gb/gprs_ns2_vty.c b/src/gb/gprs_ns2_vty.c index 681d1cb..7cb9ed9 100644 --- a/src/gb/gprs_ns2_vty.c +++ b/src/gb/gprs_ns2_vty.c @@ -1845,7 +1845,7 @@ } /* non-config commands */ -static void dump_nsvc(struct vty *vty, struct gprs_ns2_vc *nsvc, bool stats) +void ns2_vty_dump_nsvc(struct vty *vty, struct gprs_ns2_vc *nsvc, bool stats) { char nsvci_str[32]; @@ -1877,9 +1877,9 @@ llist_for_each_entry(nsvc, &nse->nsvc, list) { if (persistent_only) { if (nsvc->persistent) - dump_nsvc(vty, nsvc, stats); + ns2_vty_dump_nsvc(vty, nsvc, stats); } else { - dump_nsvc(vty, nsvc, stats); + ns2_vty_dump_nsvc(vty, nsvc, stats); } } } @@ -1989,7 +1989,7 @@ return CMD_WARNING; } - dump_nsvc(vty, nsvc, show_stats); + ns2_vty_dump_nsvc(vty, nsvc, show_stats); } return CMD_SUCCESS; diff --git a/tests/gb/gprs_ns2_vty.vty b/tests/gb/gprs_ns2_vty.vty index f344bf3..15e541d 100644 --- a/tests/gb/gprs_ns2_vty.vty +++ b/tests/gb/gprs_ns2_vty.vty @@ -43,7 +43,7 @@ UDP bind: 127.0.0.14:42999 DSCP: 0 IP-SNS signalling weight: 1 data weight: 1 1 NS-VC: - NSVCI 00000: udp)[127.0.0.14]:42999<>[127.0.0.15]:9496 + NSVCI none: RECOVERING PERSIST data_weight=1 sig_weight=1 udp)[127.0.0.14]:42999<>[127.0.0.15]:9496 OsmoNSdummy# configure terminal OsmoNSdummy(config)# ns OsmoNSdummy(config-ns)# nse 1234 @@ -58,9 +58,9 @@ UDP bind: 127.0.0.14:42999 DSCP: 0 IP-SNS signalling weight: 1 data weight: 1 3 NS-VC: - NSVCI 00000: udp)[127.0.0.14]:42999<>[127.0.0.17]:9496 - NSVCI 00000: udp)[127.0.0.14]:42999<>[127.0.0.16]:9496 - NSVCI 00000: udp)[127.0.0.14]:42999<>[127.0.0.15]:9496 + NSVCI none: RECOVERING PERSIST data_weight=0 sig_weight=0 udp)[127.0.0.14]:42999<>[127.0.0.17]:9496 + NSVCI none: RECOVERING PERSIST data_weight=9 sig_weight=0 udp)[127.0.0.14]:42999<>[127.0.0.16]:9496 + NSVCI none: RECOVERING PERSIST data_weight=1 sig_weight=1 udp)[127.0.0.14]:42999<>[127.0.0.15]:9496 OsmoNSdummy# configure terminal OsmoNSdummy(config)# ns OsmoNSdummy(config-ns)# nse 1234 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23450 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If31ec6c1c07dc134ab1ddeb915bc89747c7be048 Gerrit-Change-Number: 23450 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 24 15:42:47 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Wed, 24 Mar 2021 15:42:47 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vty: hide dynamic NSE information when ask for persistant only In-Reply-To: References: Message-ID: lynxis lazus has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23451 ) Change subject: gprs_ns2_vty: hide dynamic NSE information when ask for persistant only ...................................................................... gprs_ns2_vty: hide dynamic NSE information when ask for persistant only dump_nse() should only print persistant NSE when persistant_only argument is set. A NSE can be persistant or dynamic configured. Depending on the NSE all NS-VC must be the same as the NSE. Change-Id: Ibd2c6962eda39a850ab61cf347063934378d2fdc --- M src/gb/gprs_ns2_vty.c 1 file changed, 5 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/src/gb/gprs_ns2_vty.c b/src/gb/gprs_ns2_vty.c index 7cb9ed9..6d34e5a 100644 --- a/src/gb/gprs_ns2_vty.c +++ b/src/gb/gprs_ns2_vty.c @@ -1870,18 +1870,15 @@ { struct gprs_ns2_vc *nsvc; + if (persistent_only && !nse->persistent) + return; + vty_out(vty, "NSEI %05u: %s, %s%s", nse->nsei, gprs_ns2_lltype_str(nse->ll), nse->alive ? "ALIVE" : "DEAD", VTY_NEWLINE); ns2_sns_dump_vty(vty, " ", nse, stats); - llist_for_each_entry(nsvc, &nse->nsvc, list) { - if (persistent_only) { - if (nsvc->persistent) - ns2_vty_dump_nsvc(vty, nsvc, stats); - } else { - ns2_vty_dump_nsvc(vty, nsvc, stats); - } - } + llist_for_each_entry(nsvc, &nse->nsvc, list) + ns2_vty_dump_nsvc(vty, nsvc, stats); } static void dump_bind(struct vty *vty, const struct gprs_ns2_vc_bind *bind, bool stats) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23451 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ibd2c6962eda39a850ab61cf347063934378d2fdc Gerrit-Change-Number: 23451 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 24 15:42:47 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Wed, 24 Mar 2021 15:42:47 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vty: make the `show ns entities` and `show ns binds` look si... In-Reply-To: References: Message-ID: lynxis lazus has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23452 ) Change subject: gprs_ns2_vty: make the `show ns entities` and `show ns binds` look similiar ...................................................................... gprs_ns2_vty: make the `show ns entities` and `show ns binds` look similiar `show ns binds` prints a count of NSVCs. Add the same line to `show ns entities`. Change-Id: I15c58a1c0fe94dda728afb29e7e5ca41e3fa8966 --- M src/gb/gprs_ns2_vty.c M tests/gb/gprs_ns2_vty.vty 2 files changed, 7 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/gb/gprs_ns2_vty.c b/src/gb/gprs_ns2_vty.c index 6d34e5a..9309e9e 100644 --- a/src/gb/gprs_ns2_vty.c +++ b/src/gb/gprs_ns2_vty.c @@ -1869,6 +1869,7 @@ static void dump_nse(struct vty *vty, const struct gprs_ns2_nse *nse, bool stats, bool persistent_only) { struct gprs_ns2_vc *nsvc; + unsigned int nsvcs = 0; if (persistent_only && !nse->persistent) return; @@ -1877,6 +1878,10 @@ nse->alive ? "ALIVE" : "DEAD", VTY_NEWLINE); ns2_sns_dump_vty(vty, " ", nse, stats); + llist_for_each_entry(nsvc, &nse->nsvc, list) { + nsvcs++; + } + vty_out(vty, " %u NS-VC:%s", nsvcs, VTY_NEWLINE); llist_for_each_entry(nsvc, &nse->nsvc, list) ns2_vty_dump_nsvc(vty, nsvc, stats); } diff --git a/tests/gb/gprs_ns2_vty.vty b/tests/gb/gprs_ns2_vty.vty index 15e541d..a0b0a7e 100644 --- a/tests/gb/gprs_ns2_vty.vty +++ b/tests/gb/gprs_ns2_vty.vty @@ -39,6 +39,7 @@ OsmoNSdummy(config-ns-nse)# end OsmoNSdummy# show ns NSEI 01234: UDP, DEAD + 1 NS-VC: NSVCI none: RECOVERING PERSIST data_weight=1 sig_weight=1 udp)[127.0.0.14]:42999<>[127.0.0.15]:9496 UDP bind: 127.0.0.14:42999 DSCP: 0 IP-SNS signalling weight: 1 data weight: 1 @@ -52,6 +53,7 @@ OsmoNSdummy(config-ns-nse)# end OsmoNSdummy# show ns NSEI 01234: UDP, DEAD + 3 NS-VC: NSVCI none: RECOVERING PERSIST data_weight=0 sig_weight=0 udp)[127.0.0.14]:42999<>[127.0.0.17]:9496 NSVCI none: RECOVERING PERSIST data_weight=9 sig_weight=0 udp)[127.0.0.14]:42999<>[127.0.0.16]:9496 NSVCI none: RECOVERING PERSIST data_weight=1 sig_weight=1 udp)[127.0.0.14]:42999<>[127.0.0.15]:9496 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23452 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I15c58a1c0fe94dda728afb29e7e5ca41e3fa8966 Gerrit-Change-Number: 23452 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 24 15:42:48 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Wed, 24 Mar 2021 15:42:48 +0000 Subject: Change in libosmocore[master]: gprs_ns2: dump_nsvc: correct indention In-Reply-To: References: Message-ID: lynxis lazus has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23453 ) Change subject: gprs_ns2: dump_nsvc: correct indention ...................................................................... gprs_ns2: dump_nsvc: correct indention As both `show ns entities` and `show ns binds` looking similiar correct the indention. Change-Id: I55794188bec7e62f0341188dbf23ac04006974fe --- M src/gb/gprs_ns2_vty.c M tests/gb/gprs_ns2_vty.vty 2 files changed, 11 insertions(+), 11 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/gb/gprs_ns2_vty.c b/src/gb/gprs_ns2_vty.c index 9309e9e..68a14c2 100644 --- a/src/gb/gprs_ns2_vty.c +++ b/src/gb/gprs_ns2_vty.c @@ -1854,15 +1854,15 @@ else snprintf(nsvci_str, sizeof(nsvci_str), "none"); - vty_out(vty, " NSVCI %s: %s %s data_weight=%u sig_weight=%u %s%s", nsvci_str, + vty_out(vty, " NSVCI %s: %s %s data_weight=%u sig_weight=%u %s%s", nsvci_str, osmo_fsm_inst_state_name(nsvc->fi), nsvc->persistent ? "PERSIST" : "DYNAMIC", nsvc->data_weight, nsvc->sig_weight, gprs_ns2_ll_str(nsvc), VTY_NEWLINE); if (stats) { - vty_out_rate_ctr_group(vty, " ", nsvc->ctrg); - vty_out_stat_item_group(vty, " ", nsvc->statg); + vty_out_rate_ctr_group(vty, " ", nsvc->ctrg); + vty_out_stat_item_group(vty, " ", nsvc->statg); } } diff --git a/tests/gb/gprs_ns2_vty.vty b/tests/gb/gprs_ns2_vty.vty index a0b0a7e..63cf973 100644 --- a/tests/gb/gprs_ns2_vty.vty +++ b/tests/gb/gprs_ns2_vty.vty @@ -40,11 +40,11 @@ OsmoNSdummy# show ns NSEI 01234: UDP, DEAD 1 NS-VC: - NSVCI none: RECOVERING PERSIST data_weight=1 sig_weight=1 udp)[127.0.0.14]:42999<>[127.0.0.15]:9496 + NSVCI none: RECOVERING PERSIST data_weight=1 sig_weight=1 udp)[127.0.0.14]:42999<>[127.0.0.15]:9496 UDP bind: 127.0.0.14:42999 DSCP: 0 IP-SNS signalling weight: 1 data weight: 1 1 NS-VC: - NSVCI none: RECOVERING PERSIST data_weight=1 sig_weight=1 udp)[127.0.0.14]:42999<>[127.0.0.15]:9496 + NSVCI none: RECOVERING PERSIST data_weight=1 sig_weight=1 udp)[127.0.0.14]:42999<>[127.0.0.15]:9496 OsmoNSdummy# configure terminal OsmoNSdummy(config)# ns OsmoNSdummy(config-ns)# nse 1234 @@ -54,15 +54,15 @@ OsmoNSdummy# show ns NSEI 01234: UDP, DEAD 3 NS-VC: - NSVCI none: RECOVERING PERSIST data_weight=0 sig_weight=0 udp)[127.0.0.14]:42999<>[127.0.0.17]:9496 - NSVCI none: RECOVERING PERSIST data_weight=9 sig_weight=0 udp)[127.0.0.14]:42999<>[127.0.0.16]:9496 - NSVCI none: RECOVERING PERSIST data_weight=1 sig_weight=1 udp)[127.0.0.14]:42999<>[127.0.0.15]:9496 + NSVCI none: RECOVERING PERSIST data_weight=0 sig_weight=0 udp)[127.0.0.14]:42999<>[127.0.0.17]:9496 + NSVCI none: RECOVERING PERSIST data_weight=9 sig_weight=0 udp)[127.0.0.14]:42999<>[127.0.0.16]:9496 + NSVCI none: RECOVERING PERSIST data_weight=1 sig_weight=1 udp)[127.0.0.14]:42999<>[127.0.0.15]:9496 UDP bind: 127.0.0.14:42999 DSCP: 0 IP-SNS signalling weight: 1 data weight: 1 3 NS-VC: - NSVCI none: RECOVERING PERSIST data_weight=0 sig_weight=0 udp)[127.0.0.14]:42999<>[127.0.0.17]:9496 - NSVCI none: RECOVERING PERSIST data_weight=9 sig_weight=0 udp)[127.0.0.14]:42999<>[127.0.0.16]:9496 - NSVCI none: RECOVERING PERSIST data_weight=1 sig_weight=1 udp)[127.0.0.14]:42999<>[127.0.0.15]:9496 + NSVCI none: RECOVERING PERSIST data_weight=0 sig_weight=0 udp)[127.0.0.14]:42999<>[127.0.0.17]:9496 + NSVCI none: RECOVERING PERSIST data_weight=9 sig_weight=0 udp)[127.0.0.14]:42999<>[127.0.0.16]:9496 + NSVCI none: RECOVERING PERSIST data_weight=1 sig_weight=1 udp)[127.0.0.14]:42999<>[127.0.0.15]:9496 OsmoNSdummy# configure terminal OsmoNSdummy(config)# ns OsmoNSdummy(config-ns)# nse 1234 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23453 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I55794188bec7e62f0341188dbf23ac04006974fe Gerrit-Change-Number: 23453 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 24 15:42:48 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Wed, 24 Mar 2021 15:42:48 +0000 Subject: Change in libosmocore[master]: gprs_ns2: add vty command `nsvc reset` In-Reply-To: References: Message-ID: lynxis lazus has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23454 ) Change subject: gprs_ns2: add vty command `nsvc reset` ...................................................................... gprs_ns2: add vty command `nsvc reset` Change-Id: I436dd0367e83548acfc8f8e36ae4707496a252d9 --- M src/gb/gprs_ns2_internal.h M src/gb/gprs_ns2_vc_fsm.c M src/gb/gprs_ns2_vty.c 3 files changed, 27 insertions(+), 3 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/gb/gprs_ns2_internal.h b/src/gb/gprs_ns2_internal.h index 6cfef44..8e4ba9e 100644 --- a/src/gb/gprs_ns2_internal.h +++ b/src/gb/gprs_ns2_internal.h @@ -395,6 +395,7 @@ int ns2_vc_is_alive(struct gprs_ns2_vc *nsvc); int ns2_vc_is_unblocked(struct gprs_ns2_vc *nsvc); int ns2_vc_block(struct gprs_ns2_vc *nsvc); +int ns2_vc_reset(struct gprs_ns2_vc *nsvc); int ns2_vc_unblock(struct gprs_ns2_vc *nsvc); void ns2_vty_dump_nsvc(struct vty *vty, struct gprs_ns2_vc *nsvc, bool stats); diff --git a/src/gb/gprs_ns2_vc_fsm.c b/src/gb/gprs_ns2_vc_fsm.c index c64f60d..ad8d4db 100644 --- a/src/gb/gprs_ns2_vc_fsm.c +++ b/src/gb/gprs_ns2_vc_fsm.c @@ -115,6 +115,7 @@ GPRS_NS2_EV_RX_UNITDATA, GPRS_NS2_EV_REQ_FORCE_UNCONFIGURED, /* called via vty for tests */ + GPRS_NS2_EV_REQ_OM_RESET, /* vty cmd: reset */ GPRS_NS2_EV_REQ_OM_BLOCK, /* vty cmd: block */ GPRS_NS2_EV_REQ_OM_UNBLOCK, /* vty cmd: unblock*/ }; @@ -132,6 +133,7 @@ { GPRS_NS2_EV_RX_STATUS, "RX-STATUS" }, { GPRS_NS2_EV_RX_UNITDATA, "RX-UNITDATA" }, { GPRS_NS2_EV_REQ_FORCE_UNCONFIGURED, "REQ-FORCE_UNCONFIGURED" }, + { GPRS_NS2_EV_REQ_OM_RESET, "REQ-O&M-RESET"}, { GPRS_NS2_EV_REQ_OM_BLOCK, "REQ-O&M-BLOCK"}, { GPRS_NS2_EV_REQ_OM_UNBLOCK, "REQ-O&M-UNBLOCK"}, { 0, NULL } @@ -611,6 +613,15 @@ struct msgb *msg = data; switch (event) { + case GPRS_NS2_EV_REQ_OM_RESET: + if (priv->nsvc->mode != GPRS_NS2_VC_MODE_BLOCKRESET) + break; + /* move the FSM into reset */ + if (fi->state != GPRS_NS2_ST_RESET) { + priv->initiate_reset = true; + osmo_fsm_inst_state_chg(fi, GPRS_NS2_ST_RESET, nsi->timeout[NS_TOUT_TNS_RESET], NS_TOUT_TNS_RESET); + } + break; case GPRS_NS2_EV_RX_RESET: if (priv->nsvc->mode != GPRS_NS2_VC_MODE_BLOCKRESET) break; @@ -710,6 +721,7 @@ S(GPRS_NS2_EV_RX_ALIVE) | S(GPRS_NS2_EV_RX_ALIVE_ACK) | S(GPRS_NS2_EV_REQ_FORCE_UNCONFIGURED) | + S(GPRS_NS2_EV_REQ_OM_RESET) | S(GPRS_NS2_EV_REQ_OM_BLOCK) | S(GPRS_NS2_EV_REQ_OM_UNBLOCK), .allstate_action = ns2_vc_fsm_allstate_action, @@ -783,6 +795,14 @@ return osmo_fsm_inst_dispatch(nsvc->fi, GPRS_NS2_EV_REQ_OM_UNBLOCK, NULL); } +/*! Reset a NS-VC. + * \param nsvc the virtual circuit + * \return 0 on success; negative on error */ +int ns2_vc_reset(struct gprs_ns2_vc *nsvc) +{ + return osmo_fsm_inst_dispatch(nsvc->fi, GPRS_NS2_EV_REQ_OM_RESET, NULL); +} + /*! entry point for messages from the driver/VL * \param nsvc virtual circuit on which the message was received * \param msg message that was received diff --git a/src/gb/gprs_ns2_vty.c b/src/gb/gprs_ns2_vty.c index 68a14c2..fc060ae 100644 --- a/src/gb/gprs_ns2_vty.c +++ b/src/gb/gprs_ns2_vty.c @@ -2035,11 +2035,12 @@ } DEFUN(nsvc_block, nsvc_block_cmd, - "nsvc <0-65535> (block|unblock)", + "nsvc <0-65535> (block|unblock|reset)", "NS Virtual Connection\n" NSVCI_STR "Block a NSVC. As cause code O&M intervention will be used.\n" - "Unblock a NSVC. As cause code O&M intervention will be used.\n") + "Unblock a NSVC. As cause code O&M intervention will be used.\n" + "Reset a NSVC. As cause code O&M intervention will be used.\n") { struct gprs_ns2_inst *nsi = vty_nsi; struct gprs_ns2_vc *nsvc; @@ -2054,8 +2055,10 @@ if (!strcmp(argv[1], "block")) { ns2_vc_block(nsvc); - } else { + } else if (!strcmp(argv[1], "unblock")) { ns2_vc_unblock(nsvc); + } else { + ns2_vc_reset(nsvc); } return CMD_SUCCESS; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23454 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I436dd0367e83548acfc8f8e36ae4707496a252d9 Gerrit-Change-Number: 23454 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 24 15:42:49 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 24 Mar 2021 15:42:49 +0000 Subject: Change in pysim[master]: commands, ts_102_221: replace pytlv with uttlv References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/23483 ) Change subject: commands, ts_102_221: replace pytlv with uttlv ...................................................................... commands, ts_102_221: replace pytlv with uttlv pytlv requires to tell it all expected tags in a TLV string that is going to be parsed. This often causes problems since TLV is by design extensible, so newer specifications may add additional tags which our code then would not tolerate. uttlv does not have such a limitation, pre defining the tags in advance is optional here. Lets use uttlv from now on. Change-Id: I971b818836aff2fbeb6769f819d496cee4bfa7cf Related: OS#4963 --- M README.md M contrib/jenkins.sh M pySim/commands.py M pySim/ts_102_221.py M requirements.txt 5 files changed, 60 insertions(+), 45 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/83/23483/1 diff --git a/README.md b/README.md index 028a84a..8cce9ac 100644 --- a/README.md +++ b/README.md @@ -36,13 +36,13 @@ - pyscard - serial -- pytlv (for specific card types) +- uttlv (for specific card types) - cmd2 (for pySim-shell.py) Example for Debian: apt-get install python3-pyscard python3-serial python3-cmd2 python3-pip python3-yaml - pip3 install pytlv + pip3 install uttlv Alternatively, everything can be installed using pip: diff --git a/contrib/jenkins.sh b/contrib/jenkins.sh index e286047..db5a75e 100755 --- a/contrib/jenkins.sh +++ b/contrib/jenkins.sh @@ -11,7 +11,7 @@ virtualenv -p python3 venv --system-site-packages . venv/bin/activate -pip install pytlv +pip install uttlv pip install pyyaml pip install cmd2 diff --git a/pySim/commands.py b/pySim/commands.py index 9aed588..ef355e7 100644 --- a/pySim/commands.py +++ b/pySim/commands.py @@ -21,7 +21,7 @@ # along with this program. If not, see . # -from pySim.utils import rpad, b2h +from pySim.utils import rpad, b2h, h2b class SimCardCommands(object): def __init__(self, transport): @@ -33,11 +33,10 @@ def __parse_fcp(self, fcp): # see also: ETSI TS 102 221, chapter 11.1.1.3.1 Response for MF, # DF or ADF - from pytlv.TLV import TLV - tlvparser = TLV(['82', '83', '84', 'a5', '8a', '8b', '8c', '80', 'ab', 'c6', '81', '88']) - - # pytlv is case sensitive! - fcp = fcp.lower() + from uttlv import TLV + tlvparser = TLV() + tlvparser.tag_size = 1 + tlvparser.len_size = 1 if fcp[0:2] != '62': raise ValueError('Tag of the FCP template does not match, expected 62 but got %s'%fcp[0:2]) @@ -57,7 +56,8 @@ # Skip FCP tag and length tlv = fcp[skip:] - return tlvparser.parse(tlv) + tlvparser.parse_array(bytes(h2b(tlv))) + return tlvparser # Tell the length of a record by the card response # USIMs respond with an FCP template, which is different @@ -67,7 +67,7 @@ def __record_len(self, r): if self.sel_ctrl == "0004": tlv_parsed = self.__parse_fcp(r[-1]) - file_descriptor = tlv_parsed['82'] + file_descriptor = b2h(tlv_parsed[0x82]) # See also ETSI TS 102 221, chapter 11.1.1.4.3 File Descriptor return int(file_descriptor[4:8], 16) else: @@ -78,7 +78,7 @@ def __len(self, r): if self.sel_ctrl == "0004": tlv_parsed = self.__parse_fcp(r[-1]) - return int(tlv_parsed['80'], 16) + return int(b2h(tlv_parsed[0x80]), 16) else: return int(r[-1][4:8], 16) diff --git a/pySim/ts_102_221.py b/pySim/ts_102_221.py index 256a697..a8d67a1 100644 --- a/pySim/ts_102_221.py +++ b/pySim/ts_102_221.py @@ -17,7 +17,7 @@ along with this program. If not, see . """ -from pytlv.TLV import * +from uttlv import TLV from struct import pack, unpack from pySim.utils import * from pySim.filesystem import * @@ -122,18 +122,6 @@ '83': lambda x: int(x, 16), } -# pytlv unfortunately doesn't have a setting using which we can make it -# accept unknown tags. It also doesn't raise a specific exception type but -# just the generic ValueError, so we cannot ignore those either. Instead, -# we insert a dict entry for every possible proprietary tag permitted -def fixup_fcp_proprietary_tlv_map(tlv_map): - if 'D0' in tlv_map: - return - for i in range(0xd0, 0xff): - i_hex = i2h([i]).upper() - tlv_map[i_hex] = 'proprietary_' + i_hex - - def tlv_key_replace(inmap, indata): def newkey(inmap, key): if key in inmap: @@ -153,22 +141,39 @@ # ETSI TS 102 221 Section 11.1.1.3 def decode_select_response(resp_hex): - fixup_fcp_proprietary_tlv_map(FCP_Proprietary_TLV_MAP) - resp_hex = resp_hex.upper() # outer layer - fcp_base_tlv = TLV(['62']) - fcp_base = fcp_base_tlv.parse(resp_hex) + fcp_base_tlv = TLV() + fcp_base_tlv.tag_size = 1 + fcp_base_tlv.len_size = 1 + fcp_base_tlv.parse_array(bytes(h2b(resp_hex))) + # actual FCP - fcp_tlv = TLV(FCP_TLV_MAP) - fcp = fcp_tlv.parse(fcp_base['62']) + fcp_tlv = TLV() + fcp_tlv.tag_size = 1 + fcp_tlv.len_size = 1 + fcp_tlv.parse_array(fcp_base_tlv[0x62]) + # further decode the proprietary information - if fcp['A5']: - prop_tlv = TLV(FCP_Proprietary_TLV_MAP) - prop = prop_tlv.parse(fcp['A5']) - fcp['A5'] = tlv_val_interpret(FCP_prorietary_interpreter_map, prop) - fcp['A5'] = tlv_key_replace(FCP_Proprietary_TLV_MAP, fcp['A5']) + if fcp_tlv[0xA5]: + prop_tlv = TLV() + prop_tlv.tag_size = 1 + prop_tlv.len_size = 1 + prop_tlv.parse_array(fcp_tlv[0xA5]) + + fcp = fcp_tlv._items + prop = prop_tlv._items + + fcp_str = {} + for key in fcp: + fcp_str.update({("%02X" % key):b2h(fcp[key])}) + prop_str = {} + for key in prop: + prop_str.update({("%02X" % key):b2h(prop[key])}) + + fcp_str['A5'] = tlv_val_interpret(FCP_prorietary_interpreter_map, prop_str) + fcp_str['A5'] = tlv_key_replace(FCP_Proprietary_TLV_MAP, fcp_str['A5']) # finally make sure we get human-readable keys in the output dict - r = tlv_val_interpret(FCP_interpreter_map, fcp) + r = tlv_val_interpret(FCP_interpreter_map, fcp_str) return tlv_key_replace(FCP_TLV_MAP, r) @@ -178,14 +183,24 @@ super().__init__(fid, sfid=sfid, name=name, desc=desc, rec_len={5,54}) def _decode_record_hex(self, raw_hex_data): - raw_hex_data = raw_hex_data.upper() - atempl_base_tlv = TLV(['61']) - atempl_base = atempl_base_tlv.parse(raw_hex_data) - atempl_TLV_MAP = {'4F': 'aid_value', 50:'label'} - atempl_tlv = TLV(atempl_TLV_MAP) - atempl = atempl_tlv.parse(atempl_base['61']) + atempl_base_tlv = TLV() + atempl_base_tlv.tag_size = 1 + atempl_base_tlv.len_size = 1 + atempl_base_tlv.parse_array(bytes(h2b(raw_hex_data))) + + atempl_tlv = TLV() + atempl_tlv.tag_size = 1 + atempl_tlv.len_size = 1 + atempl_tlv.parse_array(atempl_base_tlv[0x61]) + + atempl = atempl_tlv._items + atempl_str = {} + for key in atempl: + atempl_str.update({("%02X" % key):b2h(atempl[key])}) + # FIXME: "All other Dos are according to ISO/IEC 7816-4" - return tlv_key_replace(atempl_TLV_MAP, atempl) + atempl_TLV_MAP = {'4F': 'aid_value', 50:'label'} + return tlv_key_replace(atempl_TLV_MAP, atempl_str) # TS 102 221 Section 13.2 class EF_ICCID(TransparentEF): diff --git a/requirements.txt b/requirements.txt index 978a3db..fb900b0 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ pyscard serial -pytlv +uttlv cmd2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23483 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I971b818836aff2fbeb6769f819d496cee4bfa7cf Gerrit-Change-Number: 23483 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 Mar 24 15:46:29 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Wed, 24 Mar 2021 15:46:29 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vty: print a response to vty `nsvc (block|unblock|re... In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/23455 to look at the new patch set (#2). Change subject: gprs_ns2_vty: print a response to vty `nsvc (block|unblock|reset) ...................................................................... gprs_ns2_vty: print a response to vty `nsvc (block|unblock|reset) The vty wasn't printing anything to the user if it was a success or not Change-Id: Idbb83ea319bbdc94177febdd66e79c49fce7fdd2 --- M src/gb/gprs_ns2_vc_fsm.c M src/gb/gprs_ns2_vty.c 2 files changed, 34 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/55/23455/2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23455 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Idbb83ea319bbdc94177febdd66e79c49fce7fdd2 Gerrit-Change-Number: 23455 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 24 15:46:36 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Wed, 24 Mar 2021 15:46:36 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vty: print a response to vty `nsvc (block|unblock|re... In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23455 ) Change subject: gprs_ns2_vty: print a response to vty `nsvc (block|unblock|reset) ...................................................................... Patch Set 2: (2 comments) https://gerrit.osmocom.org/c/libosmocore/+/23455/1/src/gb/gprs_ns2_vty.c File src/gb/gprs_ns2_vty.c: https://gerrit.osmocom.org/c/libosmocore/+/23455/1/src/gb/gprs_ns2_vty.c at 1918 PS1, Line 1918: vty_out(vty, "An unknown error happend%s", VTY_NEWLINE); > might make sens to %d the 'rc' in this caese, rather than "unknown"? Done https://gerrit.osmocom.org/c/libosmocore/+/23455/1/src/gb/gprs_ns2_vty.c at 1936 PS1, Line 1936: vty_out(vty, "The NS-VC %d has been resetted.%s", id, VTY_NEWLINE); > is resetted correct? or simply reset? the internet doesn't have a binary answer to this. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23455 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Idbb83ea319bbdc94177febdd66e79c49fce7fdd2 Gerrit-Change-Number: 23455 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Wed, 24 Mar 2021 15:46:36 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: laforge Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 24 16:18:10 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 24 Mar 2021 16:18:10 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: remove code duplication in create_missing_nsvcs() In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23480 ) Change subject: gprs_ns2_sns: remove code duplication in create_missing_nsvcs() ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23480 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I78d79c3bc92f0c0bebbbbe639b8406c4b188582f Gerrit-Change-Number: 23480 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 24 Mar 2021 16:18:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 24 16:18:15 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 24 Mar 2021 16:18:15 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: remove code duplication in create_missing_nsvcs() In-Reply-To: References: Message-ID: daniel has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23480 ) Change subject: gprs_ns2_sns: remove code duplication in create_missing_nsvcs() ...................................................................... gprs_ns2_sns: remove code duplication in create_missing_nsvcs() Change-Id: I78d79c3bc92f0c0bebbbbe639b8406c4b188582f --- M src/gb/gprs_ns2_sns.c 1 file changed, 25 insertions(+), 24 deletions(-) Approvals: daniel: Looks good to me, approved lynxis lazus: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index 7268809..2370f01 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -367,6 +367,21 @@ ns2_vc_create_ip(fi, nse, &remote, ip6->sig_weight, ip6->data_weight); } +static struct gprs_ns2_vc *nsvc_for_bind_and_remote(struct gprs_ns2_nse *nse, + struct gprs_ns2_vc_bind *bind, + const struct osmo_sockaddr *remote) +{ + struct gprs_ns2_vc *nsvc; + + llist_for_each_entry(nsvc, &nse->nsvc, list) { + if (nsvc->bind != bind) + continue; + + if (!osmo_sockaddr_cmp(remote, gprs_ns2_ip_vc_remote(nsvc))) + return nsvc; + } + return NULL; +} static int create_missing_nsvcs(struct osmo_fsm_inst *fi) { @@ -377,6 +392,7 @@ struct osmo_sockaddr remote = { }; unsigned int i; + /* iterate over all remote IPv4 endpoints */ for (i = 0; i < gss->num_ip4_remote; i++) { const struct gprs_ns_ie_ip4_elem *ip4 = &gss->ip4_remote[i]; @@ -384,22 +400,14 @@ remote.u.sin.sin_addr.s_addr = ip4->ip_addr; remote.u.sin.sin_port = ip4->udp_port; + /* iterate over all local binds */ llist_for_each_entry(bind, &nse->nsi->binding, list) { - bool found = false; + /* we only care about UDP binds */ if (bind->ll != GPRS_NS2_LL_UDP) continue; - llist_for_each_entry(nsvc, &nse->nsvc, list) { - if (nsvc->bind != bind) - continue; - - if (!osmo_sockaddr_cmp(&remote, gprs_ns2_ip_vc_remote(nsvc))) { - found = true; - break; - } - } - - if (!found) { + nsvc = nsvc_for_bind_and_remote(nse, bind, &remote); + if (!nsvc) { nsvc = gprs_ns2_ip_connect_inactive(bind, &remote, nse, 0); if (!nsvc) { /* TODO: add to a list to send back a NS-STATUS */ @@ -414,6 +422,7 @@ } } + /* iterate over all remote IPv4 endpoints */ for (i = 0; i < gss->num_ip6_remote; i++) { const struct gprs_ns_ie_ip6_elem *ip6 = &gss->ip6_remote[i]; @@ -421,22 +430,14 @@ remote.u.sin6.sin6_addr = ip6->ip_addr; remote.u.sin6.sin6_port = ip6->udp_port; + /* iterate over all local binds */ llist_for_each_entry(bind, &nse->nsi->binding, list) { - bool found = false; if (bind->ll != GPRS_NS2_LL_UDP) continue; - llist_for_each_entry(nsvc, &nse->nsvc, list) { - if (nsvc->bind != bind) - continue; - - if (!osmo_sockaddr_cmp(&remote, gprs_ns2_ip_vc_remote(nsvc))) { - found = true; - break; - } - } - - if (!found) { + /* we only care about UDP binds */ + nsvc = nsvc_for_bind_and_remote(nse, bind, &remote); + if (!nsvc) { nsvc = gprs_ns2_ip_connect_inactive(bind, &remote, nse, 0); if (!nsvc) { /* TODO: add to a list to send back a NS-STATUS */ -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23480 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I78d79c3bc92f0c0bebbbbe639b8406c4b188582f Gerrit-Change-Number: 23480 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 24 16:18:16 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 24 Mar 2021 16:18:16 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Don't create NS-VCs for binds outside the NSE In-Reply-To: References: Message-ID: daniel has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23481 ) Change subject: gprs_ns2_sns: Don't create NS-VCs for binds outside the NSE ...................................................................... gprs_ns2_sns: Don't create NS-VCs for binds outside the NSE We may very well have any number of binds configured, but which are not part of the current NSE. When creating the "full mesh" of NS-VCs after SNS-CONFIG, we must only iterate over those binds that are part of the NSE (or 'ipa-sns-default bind' in cae of SGSN role), but not over all the other binds that may exist in the system. Closes: OS#5092 Change-Id: Ida361fa02ad1d86844d54c8f0664c996ed28e30a --- M src/gb/gprs_ns2_sns.c 1 file changed, 9 insertions(+), 5 deletions(-) Approvals: daniel: Looks good to me, approved lynxis lazus: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index 2370f01..b07f010 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -388,7 +388,7 @@ struct ns2_sns_state *gss = (struct ns2_sns_state *) fi->priv; struct gprs_ns2_nse *nse = nse_inst_from_fi(fi); struct gprs_ns2_vc *nsvc; - struct gprs_ns2_vc_bind *bind; + struct ns2_sns_bind *sbind; struct osmo_sockaddr remote = { }; unsigned int i; @@ -400,8 +400,10 @@ remote.u.sin.sin_addr.s_addr = ip4->ip_addr; remote.u.sin.sin_port = ip4->udp_port; - /* iterate over all local binds */ - llist_for_each_entry(bind, &nse->nsi->binding, list) { + /* iterate over all local binds within this SNS */ + llist_for_each_entry(sbind, &gss->binds, list) { + struct gprs_ns2_vc_bind *bind = sbind->bind; + /* we only care about UDP binds */ if (bind->ll != GPRS_NS2_LL_UDP) continue; @@ -430,8 +432,10 @@ remote.u.sin6.sin6_addr = ip6->ip_addr; remote.u.sin6.sin6_port = ip6->udp_port; - /* iterate over all local binds */ - llist_for_each_entry(bind, &nse->nsi->binding, list) { + /* iterate over all local binds within this SNS */ + llist_for_each_entry(sbind, &gss->binds, list) { + struct gprs_ns2_vc_bind *bind = sbind->bind; + if (bind->ll != GPRS_NS2_LL_UDP) continue; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23481 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ida361fa02ad1d86844d54c8f0664c996ed28e30a Gerrit-Change-Number: 23481 Gerrit-PatchSet: 3 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 24 16:35:03 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Wed, 24 Mar 2021 16:35:03 +0000 Subject: Change in pysim[master]: commands, ts_102_221: replace pytlv with uttlv In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23483 ) Change subject: commands, ts_102_221: replace pytlv with uttlv ...................................................................... Patch Set 1: The API of uttlv looks much nicer (using bytes/ints and not hex-coded strings for the tags) Could you also change the *_TLV_MAP dicts to index with an int instead of a string? Then you wouldn't need to generate atempl_str/fcp_str/prop_str (note: I didn't really look much into it, so I'm not sure if this makes sense) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23483 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I971b818836aff2fbeb6769f819d496cee4bfa7cf Gerrit-Change-Number: 23483 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 24 Mar 2021 16:35: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 Mar 24 17:07:25 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Wed, 24 Mar 2021 17:07:25 +0000 Subject: Change in libosmocore[master]: gprs_ns2: fix memory leaks when receiving SNS or invalid packets References: Message-ID: lynxis lazus has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/23484 ) Change subject: gprs_ns2: fix memory leaks when receiving SNS or invalid packets ...................................................................... gprs_ns2: fix memory leaks when receiving SNS or invalid packets Change-Id: I8834d3f092e6cbe4f527e95e1eebd8133a386207 --- M src/gb/gprs_ns2.c M src/gb/gprs_ns2_sns.c M src/gb/gprs_ns2_vc_fsm.c 3 files changed, 25 insertions(+), 21 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/84/23484/1 diff --git a/src/gb/gprs_ns2.c b/src/gb/gprs_ns2.c index 3574f28..a10aed6 100644 --- a/src/gb/gprs_ns2.c +++ b/src/gb/gprs_ns2.c @@ -1243,7 +1243,7 @@ /*! Bottom-side entry-point for received NS PDU from the driver/bind * \param[in] nsvc NS-VC for which the message was received - * \param msg the received message. Ownership is trasnferred, caller must not free it! + * \param msg the received message. Ownership is transferred, caller must not free it! * \return 0 on success; negative on error */ int ns2_recv_vc(struct gprs_ns2_vc *nsvc, struct msgb *msg) @@ -1258,8 +1258,10 @@ rate_ctr_inc(&nsvc->ctrg->ctr[NS_CTR_PKTS_IN]); rate_ctr_add(&nsvc->ctrg->ctr[NS_CTR_BYTES_IN], msg->len); - if (msg->len < sizeof(struct gprs_ns_hdr)) - return -EINVAL; + if (msg->len < sizeof(struct gprs_ns_hdr)) { + rc = -EINVAL; + goto freemsg; + } switch (nsh->pdu_type) { case SNS_PDUT_CONFIG: @@ -1268,11 +1270,10 @@ msgb_l2len(msg) - sizeof(*nsh)-1, 0, 0); if (rc < 0) { LOGP(DLNS, LOGL_NOTICE, "Error during TLV Parse in %s\n", msgb_hexdump(msg)); - return rc; + goto freemsg; } /* All sub-network service related message types */ - rc = ns2_sns_rx(nsvc, msg, &tp); - break; + return ns2_sns_rx(nsvc, msg, &tp); case SNS_PDUT_ACK: case SNS_PDUT_ADD: case SNS_PDUT_CHANGE_WEIGHT: @@ -1282,14 +1283,13 @@ msgb_l2len(msg) - sizeof(*nsh)-5, 0, 0); if (rc < 0) { LOGP(DLNS, LOGL_NOTICE, "Error during TLV Parse in %s\n", msgb_hexdump(msg)); - return rc; + goto freemsg; } tp.lv[NS_IE_NSEI].val = nsh->data+2; tp.lv[NS_IE_NSEI].len = 2; tp.lv[NS_IE_TRANS_ID].val = nsh->data+4; tp.lv[NS_IE_TRANS_ID].len = 1; - rc = ns2_sns_rx(nsvc, msg, &tp); - break; + return ns2_sns_rx(nsvc, msg, &tp); case SNS_PDUT_CONFIG_ACK: case SNS_PDUT_SIZE: case SNS_PDUT_SIZE_ACK: @@ -1297,15 +1297,12 @@ msgb_l2len(msg) - sizeof(*nsh), 0, 0); if (rc < 0) { LOGP(DLNS, LOGL_NOTICE, "Error during TLV Parse in %s\n", msgb_hexdump(msg)); - return rc; + goto freemsg; } /* All sub-network service related message types */ - rc = ns2_sns_rx(nsvc, msg, &tp); - break; - + return ns2_sns_rx(nsvc, msg, &tp); case NS_PDUT_UNITDATA: - rc = ns2_vc_rx(nsvc, msg, &tp); - break; + return ns2_vc_rx(nsvc, msg, &tp); default: rc = ns2_tlv_parse(&tp, nsh->data, msgb_l2len(msg) - sizeof(*nsh), 0, 0); @@ -1315,9 +1312,10 @@ ns2_tx_status(nsvc, NS_CAUSE_PROTO_ERR_UNSPEC, 0, msg); return rc; } - rc = ns2_vc_rx(nsvc, msg, &tp); - break; + return ns2_vc_rx(nsvc, msg, &tp); } +freemsg: + msgb_free(msg); return rc; } diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index 7268809..58317d3 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -1610,11 +1610,13 @@ uint16_t nsei = nsvc->nse->nsei; struct ns2_sns_state *gss; struct osmo_fsm_inst *fi; + int rc = 0; if (!nse->bss_sns_fi) { LOGNSVC(nsvc, LOGL_NOTICE, "Rx %s for NS Instance that has no SNS!\n", get_value_string(gprs_ns_pdu_strings, nsh->pdu_type)); - return -EINVAL; + rc = -EINVAL; + goto out; } /* FIXME: how to resolve SNS FSM Instance by NSEI (SGSN)? */ @@ -1657,10 +1659,13 @@ default: LOGPFSML(fi, LOGL_ERROR, "NSEI=%u Rx unknown SNS PDU type %s\n", nsei, get_value_string(gprs_ns_pdu_strings, nsh->pdu_type)); - return -EINVAL; + rc = -EINVAL; } - return 0; +out: + msgb_free(msg); + + return rc; } #include diff --git a/src/gb/gprs_ns2_vc_fsm.c b/src/gb/gprs_ns2_vc_fsm.c index f4d88f4..7e4ec3c 100644 --- a/src/gb/gprs_ns2_vc_fsm.c +++ b/src/gb/gprs_ns2_vc_fsm.c @@ -863,7 +863,8 @@ default: LOGPFSML(fi, LOGL_ERROR, "NSEI=%u Rx unknown NS PDU type %s\n", nsvc->nse->nsei, get_value_string(gprs_ns_pdu_strings, nsh->pdu_type)); - return -EINVAL; + rc = -EINVAL; + break; } out: -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23484 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I8834d3f092e6cbe4f527e95e1eebd8133a386207 Gerrit-Change-Number: 23484 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 24 17:29:35 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 24 Mar 2021 17:29:35 +0000 Subject: Change in libosmocore[master]: gprs_ns2: fix memory leaks when receiving SNS or invalid packets In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23484 ) Change subject: gprs_ns2: fix memory leaks when receiving SNS or invalid packets ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23484 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I8834d3f092e6cbe4f527e95e1eebd8133a386207 Gerrit-Change-Number: 23484 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 24 Mar 2021 17:29: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 Mar 24 17:31:28 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 24 Mar 2021 17:31:28 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Avoid early TBF release due to N3101 in TC_multiplex_dl_gprs_egprs References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23485 ) Change subject: pcu: Avoid early TBF release due to N3101 in TC_multiplex_dl_gprs_egprs ...................................................................... pcu: Avoid early TBF release due to N3101 in TC_multiplex_dl_gprs_egprs Also change a bit expectancies, since it can actually happen that DL blocks for GPRS-only MS never signal USF for itself, which is still fine. Change-Id: Iedff87cedf55ab18b32bd0f159d1145901878203 --- M pcu/PCU_Tests.ttcn 1 file changed, 33 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/85/23485/1 diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index bea9ddd..5d0d2ec 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -3717,7 +3717,7 @@ var octetstring data := f_rnd_octstring(10); var RlcmacDlBlock dl_block; var integer tx_data_remain := 5; - var integer tgt_ms; + var integer tgt_ms, usf_ms; var integer ms_gprs_usf_count[num_ms] := { 0, 0 }; var integer ms_egprs_usf_count[num_ms] := { 0, 0 }; @@ -3799,6 +3799,8 @@ break; } + usf_ms := USF_UNUSED; + if (ischosen(dl_block.ctrl)) { setverdict(fail, "Unexpected DL CTRL block ", dl_block); f_shutdown(__BFILE__, __LINE__); @@ -3813,14 +3815,16 @@ setverdict(fail, "Signalling USF ", dl_block.data_egprs.mac_hdr.usf, " for GPRS-only MS using MCS > 4: ", dl_block); f_shutdown(__BFILE__, __LINE__); } - ms_egprs_usf_count[0] := ms_egprs_usf_count[0] + 1; + usf_ms := 0; + ms_egprs_usf_count[usf_ms] := ms_egprs_usf_count[usf_ms] + 1; } else { if (dl_block.data_egprs.mcs <= MCS_4) { setverdict(fail, "Using too-low MCS for EGPRS MS: ", dl_block.data_egprs.mcs); f_shutdown(__BFILE__, __LINE__); } if (match(dl_block.data_egprs.mac_hdr.usf, g_ms[1].ul_tbf.usf[7])) { - ms_egprs_usf_count[1] := ms_egprs_usf_count[1] + 1; + usf_ms := 1; + ms_egprs_usf_count[usf_ms] := ms_egprs_usf_count[usf_ms] + 1; } } } else { @@ -3830,9 +3834,11 @@ } tgt_ms := 0; if (match(dl_block.data.mac_hdr.mac_hdr.usf, g_ms[0].ul_tbf.usf[7])) { - ms_gprs_usf_count[0] := ms_gprs_usf_count[0] + 1; + usf_ms := 0; + ms_gprs_usf_count[usf_ms] := ms_gprs_usf_count[usf_ms] + 1; } else if (match(dl_block.data.mac_hdr.mac_hdr.usf, g_ms[1].ul_tbf.usf[7])) { - ms_gprs_usf_count[1] := ms_gprs_usf_count[1] + 1; + usf_ms := 1; + ms_gprs_usf_count[usf_ms] := ms_gprs_usf_count[usf_ms] + 1; } } @@ -3849,15 +3855,34 @@ BSSGP[0].send(ts_BSSGP_DL_UD(g_ms[1].tlli, data)); tx_data_remain := tx_data_remain - 1; } + } else if (tx_data_remain != 0) { + /* keep sending UL blocks when requested by USF to avoid + * UL TBF timeout and hence stop receival of USFs */ + f_ms_tx_ul_data_block(g_ms[usf_ms], f_rnd_octstring(10), cv := 15) } } log("results: ms_gprs_usf_count=", ms_gprs_usf_count, " / ms_egprs_usf_count=", ms_egprs_usf_count); - if (ms_gprs_usf_count[0] == 0 or ms_gprs_usf_count[1] == 0 or - ms_egprs_usf_count[0] == 0 or ms_egprs_usf_count[1] == 0) { - setverdict(fail, "USF thresholds not met!"); + /* He we check that DL blocks scheduled at GPRS can still request UL + * blocks for EGPRS MS, and the other way around. Furthermore, the 2nd + * condition also ensures the downgrade to <=MCS4 condition is tested + * above */ + if (ms_gprs_usf_count[1] == 0 or ms_egprs_usf_count[0] == 0) { + setverdict(fail, "USF exchange thresholds not met!"); f_shutdown(__BFILE__, __LINE__); } + /* Here check for some level of fairiness between them (at least ~40%): */ + var integer gprs_usf_cnt := ms_gprs_usf_count[0] + ms_egprs_usf_count[0]; + var integer egprs_usf_cnt := ms_gprs_usf_count[1] + ms_egprs_usf_count[1]; + var integer total_usf_cnt := gprs_usf_cnt + egprs_usf_cnt; + if (gprs_usf_cnt < total_usf_cnt * 4 / 10) { + setverdict(fail, "USF GPRS-only MS ", gprs_usf_cnt, " < ", total_usf_cnt * 4 / 10); + f_shutdown(__BFILE__, __LINE__); + } + if (egprs_usf_cnt < total_usf_cnt * 4 / 10) { + setverdict(fail, "USF EGPRS MS ", egprs_usf_cnt, " < ", total_usf_cnt * 4 / 10); + f_shutdown(__BFILE__, __LINE__); + } f_shutdown(__BFILE__, __LINE__, final := true); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23485 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iedff87cedf55ab18b32bd0f159d1145901878203 Gerrit-Change-Number: 23485 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 Mar 24 17:39:11 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 24 Mar 2021 17:39:11 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Avoid early TBF release due to N3101 in TC_multiplex_dl_gprs_egprs 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/+/23485 to look at the new patch set (#2). Change subject: pcu: Avoid early TBF release due to N3101 in TC_multiplex_dl_gprs_egprs ...................................................................... pcu: Avoid early TBF release due to N3101 in TC_multiplex_dl_gprs_egprs Also change a bit expectancies, since it can actually happen that DL blocks for GPRS-only MS never signal USF for itself, which is still fine. Change-Id: Iedff87cedf55ab18b32bd0f159d1145901878203 --- M pcu/PCU_Tests.ttcn 1 file changed, 35 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/85/23485/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23485 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iedff87cedf55ab18b32bd0f159d1145901878203 Gerrit-Change-Number: 23485 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 Mar 24 18:12:09 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 24 Mar 2021 18:12:09 +0000 Subject: Change in osmo-pcu[master]: Fix: left shift cannot be repesented in type int References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23486 ) Change subject: Fix: left shift cannot be repesented in type int ...................................................................... Fix: left shift cannot be repesented in type int Caught by ASan: runtime error: left shift of 1 by 31 places cannot be represented in type 'int' Change-Id: I30aed795d027dc063f06e08c8455bad2dd92cf24 --- M src/pcu_vty.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/86/23486/1 diff --git a/src/pcu_vty.c b/src/pcu_vty.c index c2de92c..abc3d8d 100644 --- a/src/pcu_vty.c +++ b/src/pcu_vty.c @@ -239,7 +239,7 @@ vty_out(vty, " pcu-socket %s%s", the_pcu->pcu_sock_path, VTY_NEWLINE); for (i = 0; i < 32; i++) { - unsigned int cs = (1 << i); + uint32_t cs = ((uint32_t)1 << i); if (the_pcu->gsmtap_categ_mask & cs) { vty_out(vty, " gsmtap-category %s%s", get_value_string(pcu_gsmtap_categ_names, i), VTY_NEWLINE); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23486 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I30aed795d027dc063f06e08c8455bad2dd92cf24 Gerrit-Change-Number: 23486 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 Mar 24 18:12:10 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 24 Mar 2021 18:12:10 +0000 Subject: Change in osmo-pcu[master]: sched: Fix scheduling UL TBF not matching conditions References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23487 ) Change subject: sched: Fix scheduling UL TBF not matching conditions ...................................................................... sched: Fix scheduling UL TBF not matching conditions With previous code, a skipped TBF could be returned despite not matching the conditions, since at the end of the loop the tbf pointer was returned. Related: OS#5020 Change-Id: If6dccec86c7a655bf1c62f333cfbc8d2c507c94f --- M src/gprs_rlcmac_sched.cpp 1 file changed, 3 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/87/23487/1 diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp index c63ed6e..c54f533 100644 --- a/src/gprs_rlcmac_sched.cpp +++ b/src/gprs_rlcmac_sched.cpp @@ -87,7 +87,7 @@ static struct gprs_rlcmac_ul_tbf *sched_select_uplink(uint8_t trx, uint8_t ts, uint32_t fn, uint8_t block_nr, struct gprs_rlcmac_pdch *pdch, bool require_gprs_only) { - struct gprs_rlcmac_ul_tbf *tbf = NULL; + struct gprs_rlcmac_ul_tbf *tbf; uint8_t i, tfi; /* select uplink resource */ @@ -114,10 +114,10 @@ block_nr, tbf->m_usf[ts], tfi); /* next TBF to handle resource is the next one */ pdch->next_ul_tfi = (tfi + 1) & 31; - break; + return tbf; } - return tbf; + return NULL; } struct msgb *sched_app_info(struct gprs_rlcmac_tbf *tbf) { -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23487 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: If6dccec86c7a655bf1c62f333cfbc8d2c507c94f Gerrit-Change-Number: 23487 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 Mar 24 18:12:10 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 24 Mar 2021 18:12:10 +0000 Subject: Change in osmo-pcu[master]: sched: Simplify usf selection code References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23488 ) Change subject: sched: Simplify usf selection code ...................................................................... sched: Simplify usf selection code Simply use the UL TBF pointer all along until the end, instead of setting both the UL TBF pointer plus the usf var. This commit is also a preparation for next commit which also selects UL TBF when a poll is available, to set its USF in the DL message instead of "USF_UNUSED". Change-Id: I3aa3886932ef87db18ed7ff6991ea315f481990b --- M src/gprs_rlcmac_sched.cpp 1 file changed, 6 insertions(+), 13 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/88/23488/1 diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp index c54f533..25a3766 100644 --- a/src/gprs_rlcmac_sched.cpp +++ b/src/gprs_rlcmac_sched.cpp @@ -421,7 +421,7 @@ struct gprs_rlcmac_pdch *pdch; struct tbf_sched_candidates tbf_cand = {0}; struct gprs_rlcmac_tbf *poll_tbf; - struct gprs_rlcmac_ul_tbf *usf_tbf; + struct gprs_rlcmac_ul_tbf *usf_tbf = NULL; struct gprs_rlcmac_sba *sba; uint8_t usf; struct msgb *msg = NULL; @@ -468,27 +468,19 @@ "TS=%d FN=%d block_nr=%d scheduling free USF for " "polling at FN=%d of %s\n", trx, ts, fn, block_nr, poll_fn, tbf_name(poll_tbf)); - usf = USF_UNUSED; /* else. check for sba */ } else if ((sba = pdch_ulc_get_sba(pdch->ulc, poll_fn))) { LOGPDCH(pdch, DRLCMACSCHED, LOGL_DEBUG, "Received RTS for PDCH: " "FN=%d block_nr=%d scheduling free USF for " "single block allocation at FN=%d\n", fn, block_nr, sba->fn); - usf = USF_UNUSED; /* else, we search for uplink resource */ } else { usf_tbf = sched_select_uplink(trx, ts, fn, block_nr, pdch, require_gprs_only); - if (usf_tbf) { - usf = usf_tbf->m_usf[ts]; - /* If MS selected for USF is GPRS-only, then it will - * only be able to read USF if dl block uses GMSK - * (CS1-4, MCS1-4) - */ - if (req_mcs_kind == EGPRS && ms_mode(usf_tbf->ms()) != EGPRS) + /* If MS selected for USF is GPRS-only, then it will only be + * able to read USF if dl block uses GMSK * (CS1-4, MCS1-4) + */ + if (usf_tbf && req_mcs_kind == EGPRS && ms_mode(usf_tbf->ms()) != EGPRS) req_mcs_kind = EGPRS_GMSK; - } else { - usf = USF_UNUSED; - } } get_tbf_candidates(bts, trx, ts, &tbf_cand); @@ -521,6 +513,7 @@ /* set USF */ OSMO_ASSERT(msgb_length(msg) > 0); + usf = usf_tbf ? usf_tbf->m_usf[ts] : USF_UNUSED; msg->data[0] = (msg->data[0] & 0xf8) | usf; /* Used to measure the leak rate, count all blocks */ -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23488 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I3aa3886932ef87db18ed7ff6991ea315f481990b Gerrit-Change-Number: 23488 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 Mar 24 18:12:10 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 24 Mar 2021 18:12:10 +0000 Subject: Change in osmo-pcu[master]: Set matching USF if available when polling a UL TBF References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23489 ) Change subject: Set matching USF if available when polling a UL TBF ...................................................................... Set matching USF if available when polling a UL TBF When the scheduler detects it's time to receive a UL block due to a scheduled poll, if that polling is done on a UL TBF, then use its USF if available instead of using USF_UNUSED (=7) when sending a DL block on that same FN. This is not really needed for correct work, since MS take care themselves of scheduling a UL block when they receive the poll (RRBP) some time before, and don't check the USF at the time of transmitting. In any case, it helps understand better when looking at pcap traces that indeed it a UL block from that MS was requested, instead of setting USF to 7. Related: OS#5033 Change-Id: I2ad9d8ea6afc8f83192033470bd27010a7474430 --- M src/gprs_rlcmac_sched.cpp M src/tbf_ul.cpp M src/tbf_ul.h 3 files changed, 23 insertions(+), 16 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/89/23489/1 diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp index 25a3766..c431d9c 100644 --- a/src/gprs_rlcmac_sched.cpp +++ b/src/gprs_rlcmac_sched.cpp @@ -461,27 +461,31 @@ /* polling for next uplink block */ poll_fn = rts_next_fn(fn, block_nr); - - /* check uplink resource for polling */ - if ((poll_tbf = pdch_ulc_get_tbf_poll(pdch->ulc, poll_fn))) { + /* check for sba */ + if ((sba = pdch_ulc_get_sba(pdch->ulc, poll_fn))) { + LOGPDCH(pdch, DRLCMACSCHED, LOGL_DEBUG, "Received RTS for PDCH: " + "FN=%d block_nr=%d scheduling free USF for " + "single block allocation at FN=%d\n", fn, block_nr, sba->fn); + /* else, check uplink resource for polling */ + } else if ((poll_tbf = pdch_ulc_get_tbf_poll(pdch->ulc, poll_fn))) { LOGP(DRLCMACSCHED, LOGL_DEBUG, "Received RTS for PDCH: TRX=%d " "TS=%d FN=%d block_nr=%d scheduling free USF for " "polling at FN=%d of %s\n", trx, ts, fn, block_nr, poll_fn, tbf_name(poll_tbf)); - /* else. check for sba */ - } else if ((sba = pdch_ulc_get_sba(pdch->ulc, poll_fn))) { - LOGPDCH(pdch, DRLCMACSCHED, LOGL_DEBUG, "Received RTS for PDCH: " - "FN=%d block_nr=%d scheduling free USF for " - "single block allocation at FN=%d\n", fn, block_nr, sba->fn); - /* else, we search for uplink resource */ + /* If POLL TBF is UL and already has a USF assigned on this TS, + * let's set its USF in the DL msg. This is not really needed, + * but it helps understand better the flow when looking at + * pcaps. */ + if (poll_tbf->direction == GPRS_RLCMAC_UL_TBF && as_ul_tbf(poll_tbf)->m_usf[ts] != USF_INVALID) + usf_tbf = as_ul_tbf(poll_tbf); + /* else, search for uplink tbf */ } else { usf_tbf = sched_select_uplink(trx, ts, fn, block_nr, pdch, require_gprs_only); - /* If MS selected for USF is GPRS-only, then it will only be - * able to read USF if dl block uses GMSK * (CS1-4, MCS1-4) - */ - if (usf_tbf && req_mcs_kind == EGPRS && ms_mode(usf_tbf->ms()) != EGPRS) - req_mcs_kind = EGPRS_GMSK; } + /* If MS selected for USF is GPRS-only, then it will only be + * able to read USF if dl block uses GMSK * (CS1-4, MCS1-4) */ + if (usf_tbf && req_mcs_kind == EGPRS && ms_mode(usf_tbf->ms()) != EGPRS) + req_mcs_kind = EGPRS_GMSK; get_tbf_candidates(bts, trx, ts, &tbf_cand); diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index 8ef600b..f226b29 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -213,7 +213,7 @@ m_ul_gprs_ctrs(NULL), m_ul_egprs_ctrs(NULL) { - memset(&m_usf, 0, sizeof(m_usf)); + memset(&m_usf, USF_INVALID, sizeof(m_usf)); } /* diff --git a/src/tbf_ul.h b/src/tbf_ul.h index 8713596..0c78e10 100644 --- a/src/tbf_ul.h +++ b/src/tbf_ul.h @@ -47,6 +47,9 @@ TBF_CTR_EGPRS_UL_MCS9, }; +/* Used in ul_tbf->m_usf[] to flag unassigned USF on a given TS: */ +#define USF_INVALID 0xFF + #define LOGPTBFUL(tbf, level, fmt, args...) LOGP(DTBFUL, level, "%s " fmt, tbf_name(tbf), ## args) struct gprs_rlcmac_ul_tbf : public gprs_rlcmac_tbf { @@ -90,7 +93,7 @@ * variables are in both (dl and ul) structs and not outside union. */ int32_t m_rx_counter; /* count all received blocks */ - uint8_t m_usf[8]; /* list USFs per PDCH (timeslot) */ + uint8_t m_usf[8]; /* list USFs per PDCH (timeslot), initialized to USF_INVALID */ uint8_t m_contention_resolution_done; /* set after done */ uint8_t m_final_ack_sent; /* set if we sent final ack */ -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23489 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I2ad9d8ea6afc8f83192033470bd27010a7474430 Gerrit-Change-Number: 23489 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 Mar 24 18:12:11 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 24 Mar 2021 18:12:11 +0000 Subject: Change in osmo-pcu[master]: pdch: Add mising pdch_ulc_release_node in Rx Cell Change Notif References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23490 ) Change subject: pdch: Add mising pdch_ulc_release_node in Rx Cell Change Notif ...................................................................... pdch: Add mising pdch_ulc_release_node in Rx Cell Change Notif All other RX CTRL block paths have it, this one was missing. Change-Id: Ief315d7b6d4fea946d43e5bd87cf8a0394adc855 --- M src/pdch.cpp 1 file changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/90/23490/1 diff --git a/src/pdch.cpp b/src/pdch.cpp index 727ffc6..5272f4b 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -754,6 +754,8 @@ ms = dl_tbf->ms(); } else { OSMO_ASSERT(0); } + pdch_ulc_release_fn(ulc, fn); + ms_update_l1_meas(ms, meas); ms_nacc_start(ms, notif); } -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23490 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ief315d7b6d4fea946d43e5bd87cf8a0394adc855 Gerrit-Change-Number: 23490 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 Mar 24 18:12:11 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 24 Mar 2021 18:12:11 +0000 Subject: Change in osmo-pcu[master]: pdch_ulc: Create helper API pdch_ulc_release_node References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23491 ) Change subject: pdch_ulc: Create helper API pdch_ulc_release_node ...................................................................... pdch_ulc: Create helper API pdch_ulc_release_node Change-Id: I6362ad7382c2b73e6fedb11182964be96e5c8d35 --- M src/pdch_ul_controller.c M src/pdch_ul_controller.h 2 files changed, 9 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/91/23491/1 diff --git a/src/pdch_ul_controller.c b/src/pdch_ul_controller.c index cd705d0..f7b2335 100644 --- a/src/pdch_ul_controller.c +++ b/src/pdch_ul_controller.c @@ -183,13 +183,18 @@ return pdch_ulc_add_node(ulc, item); } +void pdch_ulc_release_node(struct pdch_ulc *ulc, struct pdch_ulc_node *item) +{ + rb_erase(&item->node, &ulc->tree_root); + talloc_free(item); +} + int pdch_ulc_release_fn(struct pdch_ulc *ulc, uint32_t fn) { struct pdch_ulc_node *item = pdch_ulc_get_node(ulc, fn); if (!item) return -ENOKEY; - rb_erase(&item->node, &ulc->tree_root); - talloc_free(item); + pdch_ulc_release_node(ulc, item); return 0; } @@ -222,8 +227,7 @@ * search from start (to avoid traverse continue from * no-more existant node */ tree_modified = true; - rb_erase(&item->node, &ulc->tree_root); - talloc_free(item); + pdch_ulc_release_node(ulc, item); break; } } while (tree_modified); diff --git a/src/pdch_ul_controller.h b/src/pdch_ul_controller.h index eb93143..731cbe1 100644 --- a/src/pdch_ul_controller.h +++ b/src/pdch_ul_controller.h @@ -77,8 +77,8 @@ struct gprs_rlcmac_sba *pdch_ulc_get_sba(struct pdch_ulc *ulc, uint32_t fn); struct gprs_rlcmac_tbf *pdch_ulc_get_tbf_poll(struct pdch_ulc *ulc, uint32_t fn); +void pdch_ulc_release_node(struct pdch_ulc *ulc, struct pdch_ulc_node *item); void pdch_ulc_release_tbf(struct pdch_ulc *ulc, const struct gprs_rlcmac_tbf *tbf); - int pdch_ulc_release_fn(struct pdch_ulc *ulc, uint32_t fn); void pdch_ulc_expire_fn(struct pdch_ulc *ulc, uint32_t fn); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23491 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I6362ad7382c2b73e6fedb11182964be96e5c8d35 Gerrit-Change-Number: 23491 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 Mar 24 18:12:11 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 24 Mar 2021 18:12:11 +0000 Subject: Change in osmo-pcu[master]: Track scheduled UL blocks through USF References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23492 ) Change subject: Track scheduled UL blocks through USF ...................................................................... Track scheduled UL blocks through USF This way PCU can now detect whether scheduled UL blocks through USF were never received. This allows in a follow-up patch to start increasing N3101 properly. Related: OS#5033 Change-Id: Ia99c9edad6e5bd837e9baeb4fb2683b227887957 --- M src/gprs_rlcmac_sched.cpp M src/pdch.cpp M src/pdch_ul_controller.c M tests/tbf/TbfTest.err 4 files changed, 313 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/92/23492/1 diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp index c431d9c..ab7e57e 100644 --- a/src/gprs_rlcmac_sched.cpp +++ b/src/gprs_rlcmac_sched.cpp @@ -479,8 +479,8 @@ if (poll_tbf->direction == GPRS_RLCMAC_UL_TBF && as_ul_tbf(poll_tbf)->m_usf[ts] != USF_INVALID) usf_tbf = as_ul_tbf(poll_tbf); /* else, search for uplink tbf */ - } else { - usf_tbf = sched_select_uplink(trx, ts, fn, block_nr, pdch, require_gprs_only); + } else if ((usf_tbf = sched_select_uplink(trx, ts, fn, block_nr, pdch, require_gprs_only))) { + pdch_ulc_reserve_tbf_usf(pdch->ulc, poll_fn, usf_tbf); } /* If MS selected for USF is GPRS-only, then it will only be * able to read USF if dl block uses GMSK * (CS1-4, MCS1-4) */ diff --git a/src/pdch.cpp b/src/pdch.cpp index 5272f4b..45c7c98 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -713,6 +713,7 @@ if ((poll = pdch_ulc_get_node(ulc, fn))) { switch (poll->type) { case PDCH_ULC_NODE_TBF_USF: + pdch_ulc_release_fn(ulc, fn); break; case PDCH_ULC_NODE_TBF_POLL: LOGPDCH(this, DRLCMAC, LOGL_INFO, "FN=%" PRIu32 " Rx Meas Report " @@ -868,6 +869,7 @@ int rc; struct gprs_rlc_data_info rlc_dec; struct gprs_rlcmac_ul_tbf *tbf; + struct pdch_ulc_node *node; unsigned len = mcs_size_ul(cs); /* These are always data blocks, since EGPRS still uses CS-1 for @@ -910,6 +912,32 @@ return 0; } + node = pdch_ulc_get_node(ulc, fn); + if (node) { + switch (node->type) { + case PDCH_ULC_NODE_TBF_USF: + if (tbf != node->tbf_usf.ul_tbf) + LOGPDCH(this, DRLCMACUL, LOGL_NOTICE, "FN=%" PRIu32 " " + "Rx UL DATA from unexpected %s vs expected %s\n", + fn, tbf_name(tbf), tbf_name(node->tbf_usf.ul_tbf)); + break; + case PDCH_ULC_NODE_TBF_POLL: + LOGPDCH(this, DRLCMACUL, LOGL_NOTICE, "FN=%" PRIu32 " " + "Rx UL DATA from unexpected %s vs expected POLL %s\n", + fn, tbf_name(tbf), tbf_name(node->tbf_poll.poll_tbf)); + break; + case PDCH_ULC_NODE_SBA: + LOGPDCH(this, DRLCMACUL, LOGL_NOTICE, "FN=%" PRIu32 " " + "Rx UL DATA from unexpected %s vs expected SBA\n", + fn, tbf_name(tbf)); + break; + } + pdch_ulc_release_node(ulc, node); + } else { + LOGPDCH(this, DRLCMACUL, LOGL_NOTICE, "FN=%" PRIu32 " " + "Rx UL DATA from unexpected %s\n", fn, tbf_name(tbf)); + } + /* Reset N3101 counter: */ tbf->n_reset(N3101); diff --git a/src/pdch_ul_controller.c b/src/pdch_ul_controller.c index f7b2335..c865f59 100644 --- a/src/pdch_ul_controller.c +++ b/src/pdch_ul_controller.c @@ -164,7 +164,10 @@ int pdch_ulc_reserve_tbf_usf(struct pdch_ulc *ulc, uint32_t fn, struct gprs_rlcmac_ul_tbf *ul_tbf) { - return 0; /* TODO: implement */ + struct pdch_ulc_node *item = _alloc_node(ulc, fn); + item->type = PDCH_ULC_NODE_TBF_USF; + item->tbf_usf.ul_tbf = ul_tbf; + return pdch_ulc_add_node(ulc, item); } int pdch_ulc_reserve_tbf_poll(struct pdch_ulc *ulc, uint32_t fn, struct gprs_rlcmac_tbf *tbf) @@ -255,7 +258,10 @@ switch (item->type) { case PDCH_ULC_NODE_TBF_USF: - /* TODO: increase N3...*/ + LOGPDCH(ulc->pdch, DRLCMAC, LOGL_INFO, + "Timeout for registered USF (FN=%u): %s\n", + item->fn, tbf_name((struct gprs_rlcmac_tbf *)item->tbf_usf.ul_tbf)); + /* TODO: increase N3101 */ break; case PDCH_ULC_NODE_TBF_POLL: LOGPDCH(ulc->pdch, DRLCMAC, LOGL_NOTICE, diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index 5d4c9c9..181114f 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -1465,6 +1465,7 @@ TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654167 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=0 USF=0 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 +PDCH(bts=0,trx=0,ts=7) FN=2654167 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xffffffff, IMSI=, TA=7, 0/0, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: CS-1 -> CS-2 TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654167 @@ -1558,6 +1559,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes state from ASSIGN to FLOW Detected FN jump! 2654283 -> 2654275 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 @@ -1641,6 +1643,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes state from ASSIGN to FLOW Detected FN jump! 2654283 -> 2654275 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 @@ -1690,6 +1693,8 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) changes DL ASS state from GPRS_RLCMAC_DL_ASS_WAIT_ACK to GPRS_RLCMAC_DL_ASS_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) changes state from ASSIGN to FLOW TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) stopping timer T0 [control acked (DL-TBF)] +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654288 but previous FN=2654279 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654279): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Received RTS on disabled PDCH: TRX=0 TS=0 Received RTS on disabled PDCH: TRX=0 TS=1 Received RTS on disabled PDCH: TRX=0 TS=2 @@ -1713,6 +1718,8 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) starting timer T3191 [final block (DL-TBF)] with 5 sec. 0 microsec, cur_fn=2654288 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Scheduled Ack/Nack polling on FN=2654292, TS=7 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) msg block (BSN 0, CS-4): 0f 01 00 29 52 41 55 5f 41 43 43 45 50 54 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 00 +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654292 but previous FN=2654283 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654283): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) PDCH(bts=0,trx=0,ts=7) Timeout for registered POLL (FN=2654292): TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) poll timeout for FN=2654292, TS=7 (curr FN 2654292) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) N3101 0 => 1 (< MAX 10) @@ -1763,6 +1770,8 @@ TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654348 TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654348 but previous FN=2654301 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654301): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) PDCH(bts=0,trx=0,ts=7) Expiring FN=2654348 but previous FN=2654309 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered POLL (FN=2654309): TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) poll timeout for FN=2654309, TS=7 (curr FN 2654348) @@ -1783,8 +1792,11 @@ TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) [DOWNLINK] UPLINK ASSIGNED TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_WAIT_ACK to GPRS_RLCMAC_UL_ASS_NONE TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) changes state from ASSIGN to FLOW +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654361 but previous FN=2654353 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654353): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Detected FN jump! 2654361 -> 2654353 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=1, CPS=0, RSB=0, rc=184 +PDCH(bts=0,trx=0,ts=7) FN=2654353 Rx UL DATA from unexpected TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) UL DATA TFI=1 received (V(Q)=0 .. V(R)=0) TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654353 TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 @@ -1852,6 +1864,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes state from ASSIGN to FLOW Detected FN jump! 2654283 -> 2654275 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0, UL) Link quality 12dB (old 12dB) left window [5, 8], modifying uplink CS level: CS-2 -> CS-3 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 @@ -1937,6 +1950,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes state from ASSIGN to FLOW Detected FN jump! 2654340 -> 2654331 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 +PDCH(bts=0,trx=0,ts=7) FN=2654331 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654331 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 @@ -1996,6 +2010,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes state from ASSIGN to FLOW Detected FN jump! 2654283 -> 2654275 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0, UL) Link quality 12dB (old 12dB) left window [5, 8], modifying uplink CS level: CS-2 -> CS-3 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 @@ -2062,6 +2077,7 @@ TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654275 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=0 USF=0 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xffffffff, IMSI=, TA=7, 0/0, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: CS-1 -> CS-2 TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 @@ -2141,6 +2157,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes state from ASSIGN to FLOW Detected FN jump! 2654283 -> 2654275 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0, UL) Link quality 12dB (old 12dB) left window [5, 8], modifying uplink CS level: CS-2 -> CS-3 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 @@ -2230,6 +2247,8 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) changes DL ASS state from GPRS_RLCMAC_DL_ASS_WAIT_ACK to GPRS_RLCMAC_DL_ASS_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) changes state from ASSIGN to FLOW TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) stopping timer T0 [control acked (DL-TBF)] +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654288 but previous FN=2654279 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654279): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Received RTS on disabled PDCH: TRX=0 TS=0 Received RTS on disabled PDCH: TRX=0 TS=1 Received RTS on disabled PDCH: TRX=0 TS=2 @@ -2808,6 +2827,50 @@ TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=2654379 +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654283 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654283): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654288 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654288): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654292 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654292): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654296 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654296): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654301 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654301): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654305 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654305): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654309 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654309): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654314 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654314): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654318 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654318): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654322 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654322): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654327 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654327): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654331 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654331): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654335 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654335): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654340 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654340): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654344 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654344): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654348 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654348): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654353 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654353): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654357 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654357): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654361 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654361): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654366 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654366): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654370 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654370): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654374 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654374): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Received RTS for PDCH: TRX=0 TS=7 FN=2654400 block_nr=2 scheduling USF=0 for required uplink resource of UL TFI=0 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ @@ -2829,6 +2892,18 @@ ********** DL-TBF ends here ********** TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) changes state from ASSIGN to FLOW TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) stopping timer T0 [control acked (DL-TBF)] +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654413 but previous FN=2654383 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654383): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654413 but previous FN=2654387 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654387): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654413 but previous FN=2654392 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654392): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654413 but previous FN=2654396 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654396): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654413 but previous FN=2654400 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654400): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654413 but previous FN=2654405 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654405): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Received RTS on disabled PDCH: TRX=0 TS=0 Received RTS on disabled PDCH: TRX=0 TS=1 Received RTS on disabled PDCH: TRX=0 TS=2 @@ -3191,6 +3266,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes state from ASSIGN to FLOW Detected FN jump! 2654283 -> 2654275 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [5, 8], modifying uplink CS level: MCS-2 -> MCS-3 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 @@ -3282,6 +3358,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes state from ASSIGN to FLOW Detected FN jump! 2654283 -> 2654275 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [5, 8], modifying uplink CS level: MCS-2 -> MCS-3 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 @@ -3292,6 +3369,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Frame 1 starts at offset 0, length=20, is_complete=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) No gaps in received block, last block: BSN=0 CV=15 PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=1) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=1, SPB=2, PI=0, E=1, TI=0, bitoffs=33 @@ -3299,6 +3377,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(2) cs(MCS-3) data block with BSN (1), TFI(0). TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) First seg is received second seg is not received set the status to first seg received PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=1) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=1, SPB=3, PI=0, E=1, TI=0, bitoffs=33 @@ -3313,6 +3392,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because MS is stalled. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) changes UL ACK state from GPRS_RLCMAC_UL_ACK_NONE to GPRS_RLCMAC_UL_ACK_SEND_ACK PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=2 .. V(R)=2) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=2, SPB=3, PI=0, E=1, TI=0, bitoffs=33 @@ -3320,6 +3400,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(3) cs(MCS-3) data block with BSN (2), TFI(0). TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Second seg is received first seg is not received set the status to second seg received PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=2 .. V(R)=2) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=2, SPB=2, PI=0, E=1, TI=0, bitoffs=33 @@ -3334,6 +3415,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because MS is stalled. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=3 .. V(R)=3) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=3, SPB=1, PI=0, E=1, TI=0, bitoffs=33 @@ -3341,6 +3423,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(1) cs(MCS-3) data block with BSN (3), TFI(0). TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) spb(1) Not supported SPB for this EGPRS configuration PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=3 .. V(R)=3) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=3, SPB=2, PI=0, E=1, TI=0, bitoffs=33 @@ -3348,6 +3431,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(2) cs(MCS-3) data block with BSN (3), TFI(0). TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) First seg is received second seg is not received set the status to first seg received PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=3 .. V(R)=3) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=3, SPB=3, PI=0, E=1, TI=0, bitoffs=33 @@ -3362,6 +3446,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because MS is stalled. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=4 .. V(R)=4) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=4, SPB=2, PI=0, E=1, TI=0, bitoffs=33 @@ -3369,12 +3454,14 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(2) cs(MCS-3) data block with BSN (4), TFI(0). TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) First seg is received second seg is not received set the status to first seg received PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=4 .. V(R)=4) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=4, SPB=2, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 4 storing in window (4..67) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(2) cs(MCS-3) data block with BSN (4), TFI(0). PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=4 .. V(R)=4) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=4, SPB=3, PI=0, E=1, TI=0, bitoffs=33 @@ -3389,6 +3476,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because MS is stalled. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=5 .. V(R)=5) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=5, SPB=3, PI=0, E=1, TI=0, bitoffs=33 @@ -3396,6 +3484,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(3) cs(MCS-3) data block with BSN (5), TFI(0). TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Second seg is received first seg is not received set the status to second seg received PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=5 .. V(R)=5) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=5, SPB=2, PI=0, E=1, TI=0, bitoffs=33 @@ -5949,6 +6038,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes state from ASSIGN to FLOW Detected FN jump! 2654283 -> 2654275 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [5, 8], modifying uplink CS level: MCS-2 -> MCS-3 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 @@ -5959,6 +6049,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Frame 1 starts at offset 0, length=20, is_complete=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) No gaps in received block, last block: BSN=0 CV=15 PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=0, TFI=0, CPS=5, RSB=0, rc=329 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=1) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=1, SPB=0, PI=0, E=1, TI=0, bitoffs=33 @@ -5969,6 +6060,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) No gaps in received block, last block: BSN=1 CV=7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) changes UL ACK state from GPRS_RLCMAC_UL_ACK_NONE to GPRS_RLCMAC_UL_ACK_NONE PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=0, TFI=0, CPS=5, RSB=0, rc=329 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=2 .. V(R)=2) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=4, SPB=0, PI=0, E=1, TI=0, bitoffs=33 @@ -6111,6 +6203,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes state from ASSIGN to FLOW Detected FN jump! 2654283 -> 2654275 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=1, SI=0, TFI=0, CPS=5, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [5, 8], modifying uplink CS level: MCS-2 -> MCS-3 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 @@ -6121,6 +6214,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Frame 1 starts at offset 0, length=44, is_complete=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) No gaps in received block, last block: BSN=0 CV=7 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=1, SI=0, TFI=0, CPS=5, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=1) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=7, BSN=1, SPB=0, PI=0, E=0, TI=0, bitoffs=33 @@ -6434,6 +6528,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes state from ASSIGN to FLOW Detected FN jump! 2654283 -> 2654275 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [5, 8], modifying uplink CS level: MCS-2 -> MCS-3 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 @@ -6444,114 +6539,133 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Frame 1 starts at offset 0, length=44, is_complete=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) No gaps in received block, last block: BSN=0 CV=10 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=1) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=2, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 2 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=3) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=4, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 4 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=5) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=6, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 6 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=7) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=8, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 8 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=9) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=10, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 10 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=11) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=12, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 12 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=13) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=14, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 14 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=15) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=16, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 16 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=17) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=18, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 18 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=19) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=20, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 20 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=21) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=22, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 22 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=23) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=24, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 24 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=25) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=26, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 26 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=27) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=28, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 28 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=29) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=30, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 30 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=31) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=32, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 32 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=33) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=34, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 34 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=35) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=36, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 36 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=37) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=38, SPB=0, PI=0, E=1, TI=0, bitoffs=33 @@ -6560,120 +6674,140 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because 20 frames received. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) changes UL ACK state from GPRS_RLCMAC_UL_ACK_NONE to GPRS_RLCMAC_UL_ACK_SEND_ACK PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=39) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=40, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 40 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=41) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=42, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 42 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=43) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=44, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 44 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=45) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=46, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 46 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=47) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=48, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 48 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=49) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=50, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 50 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=51) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=52, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 52 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=53) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=54, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 54 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=55) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=56, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 56 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=57) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=58, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 58 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=59) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=60, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 60 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=61) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=62, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 62 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=64, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 64 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=65) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=66, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 66 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=67) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=68, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 68 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=69) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=70, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 70 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=71) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=72, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 72 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=73) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=74, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 74 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=75) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=76, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 76 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=77) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=78, SPB=0, PI=0, E=1, TI=0, bitoffs=33 @@ -6682,120 +6816,140 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because 20 frames received. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=79) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=80, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 80 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=81) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=82, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 82 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=83) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=84, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 84 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=85) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=86, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 86 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=87) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=88, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 88 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=89) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=90, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 90 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=91) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=92, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 92 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=93) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=94, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 94 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=95) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=96, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 96 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=97) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=98, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 98 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=99) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=100, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 100 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=101) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=102, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 102 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=103) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=104, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 104 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=105) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=106, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 106 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=107) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=108, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 108 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=109) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=110, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 110 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=111) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=112, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 112 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=113) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=114, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 114 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=115) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=116, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 116 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=117) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=118, SPB=0, PI=0, E=1, TI=0, bitoffs=33 @@ -6804,120 +6958,140 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because 20 frames received. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=119) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=120, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 120 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=121) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=122, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 122 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=123) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=124, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 124 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=125) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=126, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 126 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=127) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=128, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 128 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=129) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=130, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 130 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=131) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=132, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 132 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=133) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=134, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 134 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=135) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=136, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 136 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=137) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=138, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 138 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=139) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=140, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 140 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=141) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=142, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 142 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=143) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=144, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 144 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=145) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=146, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 146 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=147) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=148, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 148 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=149) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=150, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 150 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=151) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=152, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 152 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=153) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=154, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 154 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=155) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=156, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 156 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=157) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=158, SPB=0, PI=0, E=1, TI=0, bitoffs=33 @@ -6927,6 +7101,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) changes UL ACK state from GPRS_RLCMAC_UL_ACK_SEND_ACK to GPRS_RLCMAC_UL_ACK_NONE PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=159) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=0, BSN=64, SPB=0, PI=0, E=1, TI=0, bitoffs=33 @@ -6970,108 +7145,126 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Frame 1 starts at offset 0, length=44, is_complete=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) No gaps in received block, last block: BSN=0 CV=10 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=1) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=2, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 2 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=3) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=4, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 4 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=5) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=6, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 6 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=7) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=8, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 8 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=9) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=10, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 10 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=11) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=12, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 12 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=13) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=14, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 14 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=15) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=16, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 16 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=17) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=18, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 18 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=19) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=20, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 20 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=21) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=22, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 22 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=23) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=24, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 24 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=25) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=26, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 26 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=27) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=28, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 28 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=29) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=30, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 30 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=31) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=32, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 32 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=33) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=34, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 34 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=35) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=36, SPB=0, PI=0, E=1, TI=0, bitoffs=33 @@ -7080,6 +7273,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because 20 frames received. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) changes UL ACK state from GPRS_RLCMAC_UL_ACK_NONE to GPRS_RLCMAC_UL_ACK_SEND_ACK PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=37) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=38, SPB=0, PI=0, E=1, TI=0, bitoffs=33 @@ -7087,6 +7281,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) changes UL ACK state from GPRS_RLCMAC_UL_ACK_SEND_ACK to GPRS_RLCMAC_UL_ACK_NONE PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=39) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=0, BSN=64, SPB=0, PI=0, E=1, TI=0, bitoffs=33 @@ -7111,102 +7306,119 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 80 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=81) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=81, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 81 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=82) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=82, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 82 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=83) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=83, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 83 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=84) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=84, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 84 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=85) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=85, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 85 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=86) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=86, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 86 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=87) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=87, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 87 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=88) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=88, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 88 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=89) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=89, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 89 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=90) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=90, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 90 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=91) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=91, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 91 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=92) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=92, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 92 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=93) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=93, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 93 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=94) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=94, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 94 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=95) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=95, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 95 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=96) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=96, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 96 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=97) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=97, SPB=0, PI=0, E=1, TI=0, bitoffs=33 @@ -7215,120 +7427,140 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because 20 frames received. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) changes UL ACK state from GPRS_RLCMAC_UL_ACK_NONE to GPRS_RLCMAC_UL_ACK_SEND_ACK PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=98) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=98, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 98 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=99) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=99, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 99 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=100) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=100, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 100 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=101) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=101, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 101 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=102) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=102, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 102 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=103) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=103, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 103 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=104) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=104, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 104 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=105) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=105, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 105 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=106) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=106, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 106 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=107) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=107, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 107 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=108) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=108, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 108 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=109) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=109, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 109 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=110) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=110, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 110 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=111) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=111, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 111 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=112) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=112, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 112 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=113) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=113, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 113 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=114) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=114, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 114 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=115) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=115, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 115 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=116) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=116, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 116 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=117) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=117, SPB=0, PI=0, E=1, TI=0, bitoffs=33 @@ -7337,120 +7569,140 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because 20 frames received. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=118) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=118, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 118 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=119) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=119, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 119 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=120) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=120, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 120 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=121) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=121, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 121 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=122) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=122, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 122 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=123) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=123, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 123 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=124) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=124, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 124 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=125) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=125, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 125 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=126) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=126, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 126 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=127) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=127, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 127 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=128) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=128, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 128 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=129) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=129, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 129 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=130) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=130, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 130 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=131) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=131, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 131 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=132) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=132, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 132 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=133) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=133, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 133 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=134) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=134, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 134 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=135) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=135, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 135 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=136) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=136, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 136 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=137) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=137, SPB=0, PI=0, E=1, TI=0, bitoffs=33 @@ -7459,120 +7711,140 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because 20 frames received. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=138) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=138, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 138 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=139) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=139, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 139 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=140) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=140, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 140 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=141) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=141, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 141 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=142) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=142, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 142 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=143) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=143, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 143 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=144) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=144, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 144 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=145) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=145, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 145 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=146) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=146, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 146 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=147) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=147, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 147 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=148) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=148, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 148 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=149) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=149, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 149 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=150) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=150, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 150 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=151) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=151, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 151 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=152) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=152, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 152 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=153) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=153, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 153 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=154) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=154, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 154 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=155) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=155, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 155 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=156) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=156, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 156 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=157) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=157, SPB=0, PI=0, E=1, TI=0, bitoffs=33 @@ -7581,12 +7853,14 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because 20 frames received. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=158) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=158, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 158 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=159) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=159, SPB=0, PI=0, E=1, TI=0, bitoffs=33 @@ -7594,6 +7868,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) changes UL ACK state from GPRS_RLCMAC_UL_ACK_SEND_ACK to GPRS_RLCMAC_UL_ACK_NONE PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=160) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=0, BSN=64, SPB=0, PI=0, E=1, TI=0, bitoffs=33 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23492 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia99c9edad6e5bd837e9baeb4fb2683b227887957 Gerrit-Change-Number: 23492 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 Mar 24 18:12:12 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 24 Mar 2021 18:12:12 +0000 Subject: Change in osmo-pcu[master]: Properly implement N3101 References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23493 ) Change subject: Properly implement N3101 ...................................................................... Properly implement N3101 N3101 is incremented by unanswered USF requests, not from unanswered POLLs. Related: OS#5033 Change-Id: I1a55bdd39db8843976915b9f74fadb0942298413 --- M src/pdch_ul_controller.c M src/tbf.cpp M src/tbf_ul.cpp M src/tbf_ul.h M tests/tbf/TbfTest.err 5 files changed, 91 insertions(+), 76 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/93/23493/1 diff --git a/src/pdch_ul_controller.c b/src/pdch_ul_controller.c index c865f59..3f3776d 100644 --- a/src/pdch_ul_controller.c +++ b/src/pdch_ul_controller.c @@ -26,6 +26,7 @@ #include "sba.h" #include "pdch.h" #include "pcu_utils.h" +#include "tbf_ul.h" /* TS 44.060 Table 10.4.5.1 states maximum RRBP is N + 26. Give extra space for time diff between Tx and Rx? */ #define MAX_FN_RESERVED (27 + 50) @@ -261,7 +262,7 @@ LOGPDCH(ulc->pdch, DRLCMAC, LOGL_INFO, "Timeout for registered USF (FN=%u): %s\n", item->fn, tbf_name((struct gprs_rlcmac_tbf *)item->tbf_usf.ul_tbf)); - /* TODO: increase N3101 */ + tbf_usf_timeout(item->tbf_usf.ul_tbf); break; case PDCH_ULC_NODE_TBF_POLL: LOGPDCH(ulc->pdch, DRLCMAC, LOGL_NOTICE, diff --git a/src/tbf.cpp b/src/tbf.cpp index 7237f58..a24f536 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -637,12 +637,6 @@ poll_state = GPRS_RLCMAC_POLL_NONE; - if (n_inc(N3101)) { - TBF_SET_STATE(this, GPRS_RLCMAC_RELEASING); - T_START(this, T3169, 3169, "MAX N3101 reached", false); - return; - } - if (ul_tbf && ul_tbf->handle_ctrl_ack()) { if (!ul_tbf->ctrl_ack_to_toggle()) { LOGPTBF(this, LOGL_NOTICE, diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index f226b29..ba491f6 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -772,6 +772,15 @@ return &m_window; } +void gprs_rlcmac_ul_tbf::usf_timeout() +{ + if (n_inc(N3101)) { + TBF_SET_STATE(this, GPRS_RLCMAC_RELEASING); + T_START(this, T3169, 3169, "MAX N3101 reached", false); + return; + } +} + struct gprs_rlcmac_ul_tbf *as_ul_tbf(struct gprs_rlcmac_tbf *tbf) { if (tbf && tbf->direction == GPRS_RLCMAC_UL_TBF) @@ -779,3 +788,8 @@ else return NULL; } + +void tbf_usf_timeout(struct gprs_rlcmac_ul_tbf *tbf) +{ + tbf->usf_timeout(); +} diff --git a/src/tbf_ul.h b/src/tbf_ul.h index 0c78e10..e3de1da 100644 --- a/src/tbf_ul.h +++ b/src/tbf_ul.h @@ -86,6 +86,7 @@ uint16_t window_size() const; void set_window_size(); void update_coding_scheme_counter_ul(enum CodingScheme cs); + void usf_timeout(); /* Please note that all variables here will be reset when changing * from WAIT RELEASE back to FLOW state (re-use of TBF). @@ -133,6 +134,7 @@ void update_tbf_ta(struct gprs_rlcmac_ul_tbf *tbf, int8_t ta_delta); void set_tbf_ta(struct gprs_rlcmac_ul_tbf *tbf, uint8_t ta); struct gprs_rlcmac_ul_tbf *as_ul_tbf(struct gprs_rlcmac_tbf *tbf); +void tbf_usf_timeout(struct gprs_rlcmac_ul_tbf *tbf); #ifdef __cplusplus } #endif diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index 181114f..3b57d6a 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -1695,6 +1695,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) stopping timer T0 [control acked (DL-TBF)] PDCH(bts=0,trx=0,ts=7) Expiring FN=2654288 but previous FN=2654279 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654279): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) N3101 0 => 1 (< MAX 10) Received RTS on disabled PDCH: TRX=0 TS=0 Received RTS on disabled PDCH: TRX=0 TS=1 Received RTS on disabled PDCH: TRX=0 TS=2 @@ -1720,9 +1721,9 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) msg block (BSN 0, CS-4): 0f 01 00 29 52 41 55 5f 41 43 43 45 50 54 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 00 PDCH(bts=0,trx=0,ts=7) Expiring FN=2654292 but previous FN=2654283 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654283): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) N3101 1 => 2 (< MAX 10) PDCH(bts=0,trx=0,ts=7) Timeout for registered POLL (FN=2654292): TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) poll timeout for FN=2654292, TS=7 (curr FN 2654292) -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) N3101 0 => 1 (< MAX 10) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) N3105 0 => 1 (< MAX 8) Received RTS for PDCH: TRX=0 TS=7 FN=2654296 block_nr=2 scheduling USF=0 for required uplink resource of UL TFI=0 @@ -1772,10 +1773,10 @@ TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS PDCH(bts=0,trx=0,ts=7) Expiring FN=2654348 but previous FN=2654301 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654301): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) N3101 2 => 3 (< MAX 10) PDCH(bts=0,trx=0,ts=7) Expiring FN=2654348 but previous FN=2654309 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered POLL (FN=2654309): TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) poll timeout for FN=2654309, TS=7 (curr FN 2654348) -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) N3101 1 => 2 (< MAX 10) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) N3105 1 => 2 (< MAX 8) Received RTS for PDCH: TRX=0 TS=7 FN=2654348 block_nr=2 scheduling USF=0 for required uplink resource of UL TFI=0 @@ -1794,6 +1795,7 @@ TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) changes state from ASSIGN to FLOW PDCH(bts=0,trx=0,ts=7) Expiring FN=2654361 but previous FN=2654353 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654353): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) N3101 3 => 4 (< MAX 10) Detected FN jump! 2654361 -> 2654353 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=1, CPS=0, RSB=0, rc=184 PDCH(bts=0,trx=0,ts=7) FN=2654353 Rx UL DATA from unexpected TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) @@ -2249,6 +2251,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) stopping timer T0 [control acked (DL-TBF)] PDCH(bts=0,trx=0,ts=7) Expiring FN=2654288 but previous FN=2654279 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654279): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) N3101 0 => 1 (< MAX 10) Received RTS on disabled PDCH: TRX=0 TS=0 Received RTS on disabled PDCH: TRX=0 TS=1 Received RTS on disabled PDCH: TRX=0 TS=2 @@ -2829,49 +2832,71 @@ TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=2654379 PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654283 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654283): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) N3101 1 => 2 (< MAX 10) PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654288 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654288): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) N3101 2 => 3 (< MAX 10) PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654292 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654292): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) N3101 3 => 4 (< MAX 10) PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654296 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654296): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) N3101 4 => 5 (< MAX 10) PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654301 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654301): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) N3101 5 => 6 (< MAX 10) PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654305 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654305): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) N3101 6 => 7 (< MAX 10) PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654309 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654309): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) N3101 7 => 8 (< MAX 10) PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654314 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654314): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) N3101 8 => 9 (< MAX 10) PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654318 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654318): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) N3101 exceeded MAX (10) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) changes state from FLOW to RELEASING PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654322 is still reserved! -PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654322): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654322): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 10 => 11 (< MAX 10) PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654327 is still reserved! -PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654327): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654327): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 11 => 12 (< MAX 10) PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654331 is still reserved! -PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654331): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654331): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 12 => 13 (< MAX 10) PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654335 is still reserved! -PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654335): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654335): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 13 => 14 (< MAX 10) PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654340 is still reserved! -PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654340): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654340): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 14 => 15 (< MAX 10) PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654344 is still reserved! -PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654344): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654344): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 15 => 16 (< MAX 10) PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654348 is still reserved! -PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654348): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654348): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 16 => 17 (< MAX 10) PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654353 is still reserved! -PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654353): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654353): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 17 => 18 (< MAX 10) PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654357 is still reserved! -PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654357): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654357): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 18 => 19 (< MAX 10) PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654361 is still reserved! -PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654361): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654361): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 19 => 20 (< MAX 10) PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654366 is still reserved! -PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654366): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654366): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 20 => 21 (< MAX 10) PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654370 is still reserved! -PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654370): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654370): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 21 => 22 (< MAX 10) PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654374 is still reserved! -PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654374): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) -Received RTS for PDCH: TRX=0 TS=7 FN=2654400 block_nr=2 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654374): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 22 => 23 (< MAX 10) TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- @@ -2893,17 +2918,20 @@ TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) changes state from ASSIGN to FLOW TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) stopping timer T0 [control acked (DL-TBF)] PDCH(bts=0,trx=0,ts=7) Expiring FN=2654413 but previous FN=2654383 is still reserved! -PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654383): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654383): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 23 => 24 (< MAX 10) PDCH(bts=0,trx=0,ts=7) Expiring FN=2654413 but previous FN=2654387 is still reserved! -PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654387): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654387): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 24 => 25 (< MAX 10) PDCH(bts=0,trx=0,ts=7) Expiring FN=2654413 but previous FN=2654392 is still reserved! -PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654392): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654392): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 25 => 26 (< MAX 10) PDCH(bts=0,trx=0,ts=7) Expiring FN=2654413 but previous FN=2654396 is still reserved! -PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654396): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654396): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 26 => 27 (< MAX 10) PDCH(bts=0,trx=0,ts=7) Expiring FN=2654413 but previous FN=2654400 is still reserved! -PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654400): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) -PDCH(bts=0,trx=0,ts=7) Expiring FN=2654413 but previous FN=2654405 is still reserved! -PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654405): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654400): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 27 => 28 (< MAX 10) Received RTS on disabled PDCH: TRX=0 TS=0 Received RTS on disabled PDCH: TRX=0 TS=1 Received RTS on disabled PDCH: TRX=0 TS=2 @@ -2911,9 +2939,8 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654405 block_nr=3 scheduling USF=0 for required uplink resource of UL TFI=0 -PDCH(bts=0,trx=0,ts=7) FN=2654405 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS_GMSK-only -TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654405 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS +TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 0, CS=CS-1 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Dequeue next LLC (len=21) TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) data block (BSN 0, CS-1): 4c 4c 43 20 50 41 43 4b 45 54 20 30 30 20 28 54 42 46 20 32 @@ -2928,9 +2955,8 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654409 block_nr=4 scheduling USF=0 for required uplink resource of UL TFI=0 -PDCH(bts=0,trx=0,ts=7) FN=2654409 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS_GMSK-only -TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654409 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS +TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 1, CS=CS-1 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=21 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Dequeue next LLC (len=21) @@ -2946,9 +2972,8 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654413 block_nr=5 scheduling USF=0 for required uplink resource of UL TFI=0 -PDCH(bts=0,trx=0,ts=7) FN=2654413 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS_GMSK-only -TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654413 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS +TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 2, CS=CS-1 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=21 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Dequeue next LLC (len=21) @@ -2964,9 +2989,8 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654418 block_nr=6 scheduling USF=0 for required uplink resource of UL TFI=0 -PDCH(bts=0,trx=0,ts=7) FN=2654418 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS_GMSK-only -TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==3) mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654418 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS +TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==3) mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 3, CS=CS-1 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=21 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Dequeue next LLC (len=21) @@ -2982,9 +3006,8 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654422 block_nr=7 scheduling USF=0 for required uplink resource of UL TFI=0 -PDCH(bts=0,trx=0,ts=7) FN=2654422 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS_GMSK-only -TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==4) mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654422 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS +TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==4) mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 4, CS=CS-1 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=21 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Dequeue next LLC (len=21) @@ -3000,9 +3023,8 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654426 block_nr=8 scheduling USF=0 for required uplink resource of UL TFI=0 -PDCH(bts=0,trx=0,ts=7) FN=2654426 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS_GMSK-only -TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==5) mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654426 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS +TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==5) mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 5, CS=CS-1 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=21 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Dequeue next LLC (len=21) @@ -3018,9 +3040,8 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654431 block_nr=9 scheduling USF=0 for required uplink resource of UL TFI=0 -PDCH(bts=0,trx=0,ts=7) FN=2654431 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS_GMSK-only -TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==6) mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654431 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS +TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==6) mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 6, CS=CS-1 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=21 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Dequeue next LLC (len=21) @@ -3036,9 +3057,8 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654435 block_nr=10 scheduling USF=0 for required uplink resource of UL TFI=0 -PDCH(bts=0,trx=0,ts=7) FN=2654435 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS_GMSK-only -TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==7) mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654435 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS +TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==7) mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 7, CS=CS-1 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=21 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Dequeue next LLC (len=21) @@ -3054,9 +3074,8 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654439 block_nr=11 scheduling USF=0 for required uplink resource of UL TFI=0 -PDCH(bts=0,trx=0,ts=7) FN=2654439 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS_GMSK-only -TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==8) mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654439 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS +TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==8) mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 8, CS=CS-1 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=21 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Dequeue next LLC (len=21) @@ -3072,9 +3091,8 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654444 block_nr=0 scheduling USF=0 for required uplink resource of UL TFI=0 -PDCH(bts=0,trx=0,ts=7) FN=2654444 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS_GMSK-only -TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==9) mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654444 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS +TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==9) mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 9, CS=CS-1 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=21 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Dequeue next LLC (len=21) @@ -3090,9 +3108,8 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654448 block_nr=1 scheduling USF=0 for required uplink resource of UL TFI=0 -PDCH(bts=0,trx=0,ts=7) FN=2654448 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS_GMSK-only -TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==10) mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654448 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS +TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==10) mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 10, CS=CS-1 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=21 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) changes state from FLOW to FINISHED @@ -3827,7 +3844,6 @@ PDCH(bts=0,trx=0,ts=4) Expiring FN=112 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 112) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3101 0 => 1 (< MAX 10) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge @@ -4091,7 +4107,6 @@ PDCH(bts=0,trx=0,ts=4) Expiring FN=91 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 91) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3101 0 => 1 (< MAX 10) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge @@ -4305,7 +4320,6 @@ PDCH(bts=0,trx=0,ts=4) Expiring FN=69 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 69) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3101 0 => 1 (< MAX 10) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge @@ -4499,7 +4513,6 @@ PDCH(bts=0,trx=0,ts=4) Expiring FN=60 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 60) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3101 0 => 1 (< MAX 10) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge @@ -4673,7 +4686,6 @@ PDCH(bts=0,trx=0,ts=4) Expiring FN=52 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 52) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3101 0 => 1 (< MAX 10) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge @@ -4817,7 +4829,6 @@ PDCH(bts=0,trx=0,ts=4) Expiring FN=39 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 39) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3101 0 => 1 (< MAX 10) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge @@ -4968,7 +4979,6 @@ PDCH(bts=0,trx=0,ts=4) Expiring FN=34 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 34) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3101 0 => 1 (< MAX 10) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge @@ -5108,7 +5118,6 @@ PDCH(bts=0,trx=0,ts=4) Expiring FN=30 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 30) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3101 0 => 1 (< MAX 10) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge @@ -5235,7 +5244,6 @@ PDCH(bts=0,trx=0,ts=4) Expiring FN=26 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 26) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3101 0 => 1 (< MAX 10) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge @@ -5481,7 +5489,6 @@ PDCH(bts=0,trx=0,ts=4) Expiring FN=63 but previous FN=21 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=21): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=21, TS=4 (curr FN 63) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3101 0 => 1 (< MAX 10) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge @@ -5558,7 +5565,6 @@ PDCH(bts=0,trx=0,ts=4) Expiring FN=63 but previous FN=21 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=21): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=21, TS=4 (curr FN 63) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3101 0 => 1 (< MAX 10) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge @@ -5635,7 +5641,6 @@ PDCH(bts=0,trx=0,ts=4) Expiring FN=63 but previous FN=17 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=17, TS=4 (curr FN 63) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3101 0 => 1 (< MAX 10) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge @@ -5712,7 +5717,6 @@ PDCH(bts=0,trx=0,ts=4) Expiring FN=63 but previous FN=17 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=17, TS=4 (curr FN 63) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3101 0 => 1 (< MAX 10) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23493 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I1a55bdd39db8843976915b9f74fadb0942298413 Gerrit-Change-Number: 23493 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 Mar 24 18:17:04 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 24 Mar 2021 18:17:04 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Adapt N3101_MAX verification expectancies References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23494 ) Change subject: pcu: Adapt N3101_MAX verification expectancies ...................................................................... pcu: Adapt N3101_MAX verification expectancies There's some offset between Tx and Rx path, so we need to account for differences counting and finding out USF blocks didn't arrive. Change-Id: I868e7d24c8bdc9b85797f8fe4f9ee1bc5a3d1adb --- M pcu/PCU_Tests.ttcn 1 file changed, 3 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/94/23494/1 diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 5f60cef..187e2f1 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -1365,12 +1365,11 @@ if (rx_usf == ms.ul_tbf.usf[valueof(nr.ts_nr)]) { log("PCU requests our USF ", rx_usf, ", n3101=", n3101); n3101 := n3101 + 1; - //"if (n3101 > N3101_MAX) {" -> start timer T3169 - if (n3101 > N3101_MAX) { - setverdict(fail, "Reached ", n3101, " > ", N3101_MAX, " (N3101_MAX) and PCU still sends us USFs"); + if (n3101 > N3101_MAX + 1) { //+1: DL<->UL FN offset + setverdict(fail, "Reached ", n3101, " > ", N3101_MAX + 1, " (N3101_MAX+1) and PCU still sends us USFs"); f_shutdown(__BFILE__, __LINE__); } - } else if (rx_usf == USF_UNUSED and n3101 == N3101_MAX) { + } else if (rx_usf == USF_UNUSED and n3101 == N3101_MAX + 1) { /* If we already received USFs for us and we don't receive them anymore, that means the TBF entered T3169 */ log("PCU stopped requesting USF ", ms.ul_tbf.usf[valueof(nr.ts_nr)]); if (not T_3169.running) { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23494 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I868e7d24c8bdc9b85797f8fe4f9ee1bc5a3d1adb Gerrit-Change-Number: 23494 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 Mar 24 18:17:40 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 24 Mar 2021 18:17:40 +0000 Subject: Change in osmo-pcu[master]: Track scheduled UL blocks through USF In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23492 ) Change subject: Track scheduled UL blocks through USF ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/23492/1/src/gprs_rlcmac_sched.cpp File src/gprs_rlcmac_sched.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/23492/1/src/gprs_rlcmac_sched.cpp at 463 PS1, Line 463: poll_fn = rts_next_fn(fn, block_nr); I'm not totally understanding why this rts_next_fn is needed here TBH. According to this: 1- RTS.req FN=13 sends DL message with USF=0 2- DATA.ind FN=17 we receive an UL block from MS managing USF=0 So that means that whenever we request USF on FN = x, the PCU expects the response on FN = x + 1. However, I always though that requesting USF on FN = x meant the MS would send the UL block on FN = x too (because there's a UL/DL delay opf a few TS iirc). Someone willing to shed some light on this would be great. Related: See also https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23494 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23492 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia99c9edad6e5bd837e9baeb4fb2683b227887957 Gerrit-Change-Number: 23492 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Wed, 24 Mar 2021 18:17:40 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 24 20:14:07 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 24 Mar 2021 20:14:07 +0000 Subject: Change in osmo-bsc[master]: fix/refactor neighbor config In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/23360 to look at the new patch set (#3). Change subject: fix/refactor neighbor config ...................................................................... fix/refactor neighbor config The neighbor configuration storage is fundamentally broken: it requires all local cells to be configured before being able to list them as neighbors of each other. Upon config write-back, the neighbor config however is placed back inline with the other config, and hence a written-out neighbor config no longer works on program restart. The cause of this problem is that the config is stored as explicit pointers between local cells (struct gsm_bts), which of course requires the pointer to exist before being able to reference it. Instead, store the actual configuration that the user entered as-is, without pointers or references to objects that need to be ready. Resolve the neighbors every time a neighbor is needed. Hence the user may enter any config at any place in the config file, even non-working config (like a BTS number that doesn't exist), and the relation to actual local or remote neighbor cells is made at runtime. Abort program startup if the initial neighbor configuration contains errors. Related: OS#5018 Change-Id: I9ed992f8bfff888b3933733c0576f92d50f2625b --- M include/osmocom/bsc/bts.h M include/osmocom/bsc/gsm_data.h M include/osmocom/bsc/handover.h M include/osmocom/bsc/neighbor_ident.h M src/osmo-bsc/bsc_init.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/bts.c M src/osmo-bsc/handover_decision.c M src/osmo-bsc/handover_decision_2.c M src/osmo-bsc/handover_fsm.c M src/osmo-bsc/handover_logic.c M src/osmo-bsc/neighbor_ident.c M src/osmo-bsc/neighbor_ident_vty.c M src/osmo-bsc/osmo_bsc_main.c M src/osmo-bsc/system_information.c M tests/bsc/bsc_test.c M tests/ctrl/osmo-bsc-neigh-test.cfg M tests/gsm0408/gsm0408_test.c M tests/neighbor_ident.vty 19 files changed, 921 insertions(+), 1,024 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/60/23360/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23360 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9ed992f8bfff888b3933733c0576f92d50f2625b Gerrit-Change-Number: 23360 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 24 20:14:23 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 24 Mar 2021 20:14:23 +0000 Subject: Change in osmo-bsc[master]: fix/refactor neighbor config In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23360 ) Change subject: fix/refactor neighbor config ...................................................................... Patch Set 2: (2 comments) https://gerrit.osmocom.org/c/osmo-bsc/+/23360/2/src/osmo-bsc/neighbor_ident.c File src/osmo-bsc/neighbor_ident.c: https://gerrit.osmocom.org/c/osmo-bsc/+/23360/2/src/osmo-bsc/neighbor_ident.c at 426 PS2, Line 426: if (local_neighbor) { > AFAIU this will never be false since if resolve_neighbor fails, the pointer is NULL, otherwise it's [?] resolve_neighbors() returns either a local_neighbor or remote_neighbors, so it may be NULL. IIUC gcc shouldn't complain because resolve_neighbors() always initializes the pointer? but fine. https://gerrit.osmocom.org/c/osmo-bsc/+/23360/2/src/osmo-bsc/neighbor_ident.c at 433 PS2, Line 433: && remote_neighbors.id_discr == CELL_IDENT_WHOLE_GLOBAL_PS) { > I find interesting that you prefer putting the "&&" at the start of the line while I prefer putting [?] yes, it's a way of easily reading the logical relation: the && / || is always in the same place right at the start of the line. If it is at the end, the eyes need to scan around for the line ending to find the logical relation. Also when put at the start, the sub-condition indenting comes naturally. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23360 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9ed992f8bfff888b3933733c0576f92d50f2625b Gerrit-Change-Number: 23360 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 24 Mar 2021 20:14:23 +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 Mar 24 20:15:41 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 24 Mar 2021 20:15:41 +0000 Subject: Change in osmo-bsc[master]: fix/refactor neighbor config In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23360 ) Change subject: fix/refactor neighbor config ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/23360/2/src/osmo-bsc/neighbor_ident.c File src/osmo-bsc/neighbor_ident.c: https://gerrit.osmocom.org/c/osmo-bsc/+/23360/2/src/osmo-bsc/neighbor_ident.c at 426 PS2, Line 426: if (local_neighbor) { > resolve_neighbors() returns either a local_neighbor or remote_neighbors, so it may be NULL. [?] whoops, it doesn't. fixing. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23360 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9ed992f8bfff888b3933733c0576f92d50f2625b Gerrit-Change-Number: 23360 Gerrit-PatchSet: 3 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 24 Mar 2021 20:15:41 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: neels Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 24 20:24:21 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Wed, 24 Mar 2021 20:24:21 +0000 Subject: Change in osmo-bsc[master]: fix/refactor neighbor config In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/23360 to look at the new patch set (#4). Change subject: fix/refactor neighbor config ...................................................................... fix/refactor neighbor config The neighbor configuration storage is fundamentally broken: it requires all local cells to be configured before being able to list them as neighbors of each other. Upon config write-back, the neighbor config however is placed back inline with the other config, and hence a written-out neighbor config no longer works on program restart. The cause of this problem is that the config is stored as explicit pointers between local cells (struct gsm_bts), which of course requires the pointer to exist before being able to reference it. Instead, store the actual configuration that the user entered as-is, without pointers or references to objects that need to be ready. Resolve the neighbors every time a neighbor is needed. Hence the user may enter any config at any place in the config file, even non-working config (like a BTS number that doesn't exist), and the relation to actual local or remote neighbor cells is made at runtime. Abort program startup if the initial neighbor configuration contains errors. Related: OS#5018 Change-Id: I9ed992f8bfff888b3933733c0576f92d50f2625b --- M include/osmocom/bsc/bts.h M include/osmocom/bsc/gsm_data.h M include/osmocom/bsc/handover.h M include/osmocom/bsc/neighbor_ident.h M src/osmo-bsc/bsc_init.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/bts.c M src/osmo-bsc/handover_decision.c M src/osmo-bsc/handover_decision_2.c M src/osmo-bsc/handover_fsm.c M src/osmo-bsc/handover_logic.c M src/osmo-bsc/neighbor_ident.c M src/osmo-bsc/neighbor_ident_vty.c M src/osmo-bsc/osmo_bsc_main.c M src/osmo-bsc/system_information.c M tests/bsc/bsc_test.c M tests/ctrl/osmo-bsc-neigh-test.cfg M tests/gsm0408/gsm0408_test.c M tests/neighbor_ident.vty 19 files changed, 924 insertions(+), 1,024 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/60/23360/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23360 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9ed992f8bfff888b3933733c0576f92d50f2625b Gerrit-Change-Number: 23360 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 24 23:29:04 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 24 Mar 2021 23:29:04 +0000 Subject: Change in osmo-pcu[master]: Fix: left shift cannot be repesented in type int In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23486 ) Change subject: Fix: left shift cannot be repesented in type int ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23486 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I30aed795d027dc063f06e08c8455bad2dd92cf24 Gerrit-Change-Number: 23486 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 24 Mar 2021 23:29: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 Mar 24 23:29:47 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 24 Mar 2021 23:29:47 +0000 Subject: Change in osmo-pcu[master]: sched: Fix scheduling UL TBF not matching conditions In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23487 ) Change subject: sched: Fix scheduling UL TBF not matching conditions ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23487 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: If6dccec86c7a655bf1c62f333cfbc8d2c507c94f Gerrit-Change-Number: 23487 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 24 Mar 2021 23:29:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 24 23:31:36 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 24 Mar 2021 23:31:36 +0000 Subject: Change in osmo-pcu[master]: sched: Simplify usf selection code In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23488 ) Change subject: sched: Simplify usf selection code ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23488 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I3aa3886932ef87db18ed7ff6991ea315f481990b Gerrit-Change-Number: 23488 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 24 Mar 2021 23:31: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 Mar 25 00:13:06 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 25 Mar 2021 00:13:06 +0000 Subject: Change in osmo-pcu[master]: Set matching USF if available when polling a UL TBF In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23489 ) Change subject: Set matching USF if available when polling a UL TBF ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23489 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I2ad9d8ea6afc8f83192033470bd27010a7474430 Gerrit-Change-Number: 23489 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 25 Mar 2021 00:13: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 Mar 25 00:13:30 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 25 Mar 2021 00:13:30 +0000 Subject: Change in osmo-pcu[master]: pdch: Add mising pdch_ulc_release_node in Rx Cell Change Notif In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23490 ) Change subject: pdch: Add mising pdch_ulc_release_node in Rx Cell Change Notif ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23490 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ief315d7b6d4fea946d43e5bd87cf8a0394adc855 Gerrit-Change-Number: 23490 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 25 Mar 2021 00:13:30 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 25 00:15:03 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 25 Mar 2021 00:15:03 +0000 Subject: Change in osmo-pcu[master]: pdch_ulc: Create helper API pdch_ulc_release_node In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23491 ) Change subject: pdch_ulc: Create helper API pdch_ulc_release_node ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23491 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I6362ad7382c2b73e6fedb11182964be96e5c8d35 Gerrit-Change-Number: 23491 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 25 Mar 2021 00:15:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 25 01:34:50 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 25 Mar 2021 01:34:50 +0000 Subject: Change in osmo-pcu[master]: Track scheduled UL blocks through USF In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23492 ) Change subject: Track scheduled UL blocks through USF ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/23492/1/src/gprs_rlcmac_sched.cpp File src/gprs_rlcmac_sched.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/23492/1/src/gprs_rlcmac_sched.cpp at 463 PS1, Line 463: poll_fn = rts_next_fn(fn, block_nr); > So that means that whenever we request USF on FN = x, the PCU expects the response on FN = x + 1. > However, I always though that requesting USF on FN = x meant the MS would send the UL block on FN = x too (because there's a UL/DL delay opf a few TS iirc). So if I understand correctly, the question is why do we get an Uplink block on FN = x + 1 and not FN = x? I guess you meant x + 4, or basically the next block here, because FN = x + 1 is where the network would send the 2nd burst of the PDTCH/D block. Indeed, the Uplink is delayed by 3 timeslot periods from Downlink, but the purpose of this delay is to give the MS some time for tuning from a Downlink frequency to the Uplink frequency. I don't think this applies to (E)GPRS capable phones with full-duplex, but still, this is the general assumption. What's more important is that the MS needs to receive complete PDTCH block in order to decode it and parse USF from there, this is 4 consecutive bursts on Downlink, and thus 4 consecutive TDMA frames (because there are other timeslots too). Let's me try to explain graphically, so below is a time diagram for one PDCH timeslot. The numbers in squares correspond to 'bid' - the number of burst within a PDTCH block. +--{ Fn = x: PCU sends first burst of a PDTCH/D block with USF=0. } | | +--{ Fn = x + 3: MS decodes PDTCH/D block and parses USF=0. } | | +---+---+---+---+---+---+---+---+ | 0 | 1 | 2 | 3 | 0 | 1 | 2 | 3 | +---+---+---+---+---+---+---+---+ | | | +--{ Fn = x + 4: MS actually sends first burst of PDTCH/U block here. } | +--{ Fn = x: This is where the MS is expected to Tx according to your assumption, but this is one TDMA frame earlier than it gets the last bid=3 of the Downlink frame with USF=0, so too early. } To put differently, the UL/DL delay of 3 TDMA timeslot periods is insignificant for what you're describing. You would need a delay of 4 TDMA frames to achieve that ;) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23492 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia99c9edad6e5bd837e9baeb4fb2683b227887957 Gerrit-Change-Number: 23492 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Thu, 25 Mar 2021 01:34:50 +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 Thu Mar 25 01:36:38 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 25 Mar 2021 01:36:38 +0000 Subject: Change in osmo-pcu[master]: Properly implement N3101 In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23493 ) Change subject: Properly implement N3101 ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23493 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I1a55bdd39db8843976915b9f74fadb0942298413 Gerrit-Change-Number: 23493 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 25 Mar 2021 01:36:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Thu Mar 25 01:42:44 2021 From: admin at opensuse.org (OBS Notification) Date: Thu, 25 Mar 2021 01:42:44 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <605bea9d7462b_a602af4fbf7c5f41898517@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_20.04/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_20.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 118s] [COMPILING apps/dfu/main.c] [ 118s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 118s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 118s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 118s] Memory region Used Size Region Size %age Used [ 118s] rom: 16600 B 16 KB 101.32% [ 118s] ram: 11688 B 48 KB 23.78/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 118s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 118s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 118s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 118s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 118s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 118s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 216 bytes [ 118s] collect2: error: ld returned 1 exit status [ 118s] % [ 118s] make[2]: *** [Makefile:230: flash] Error 1 [ 118s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 118s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 118s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 118s] dh_auto_build: error: make -j1 returned exit code 2 [ 118s] make: *** [debian/rules:16: build] Error 25 [ 118s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 118s] ### VM INTERACTION START ### [ 121s] [ 111.008040] sysrq: Power Off [ 121s] [ 111.012653] reboot: Power down [ 121s] ### VM INTERACTION END ### [ 121s] [ 121s] sheep86 failed "build simtrace2_0.7.0.76.62ad.dsc" at Thu Mar 25 01:42:33 UTC 2021. [ 121s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Mar 25 01:46:26 2021 From: admin at opensuse.org (OBS Notification) Date: Thu, 25 Mar 2021 01:46:26 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.10/x86_64 In-Reply-To: References: Message-ID: <605beb88333af_a602af4fbf7c5f41900018@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_20.10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_20.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 161s] [COMPILING libboard/qmod/source/board_qmod.c] [ 162s] [COMPILING libboard/qmod/source/card_pres.c] [ 162s] [COMPILING libboard/qmod/source/i2c.c] [ 162s] [COMPILING libboard/qmod/source/wwan_led.c] [ 162s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 162s] [COMPILING apps/dfu/main.c] [ 162s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 162s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 162s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 163s] Memory region Used Size Region Size %age Used [ 163s] rom: 16592 B 16 KB 101.27% [ 163s] ram: 11680 B 48 KB 23.76/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 163s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 208 bytes [ 163s] collect2: error: ld returned 1 exit status [ 163s] % [ 163s] make[2]: *** [Makefile:230: flash] Error 1 [ 163s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 163s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 163s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 163s] dh_auto_build: error: make -j1 returned exit code 2 [ 163s] make: *** [debian/rules:16: build] Error 25 [ 163s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 163s] ### VM INTERACTION START ### [ 166s] [ 152.804226] sysrq: Power Off [ 166s] [ 152.810865] reboot: Power down [ 166s] ### VM INTERACTION END ### [ 166s] [ 166s] lamb12 failed "build simtrace2_0.7.0.76.62ad.dsc" at Thu Mar 25 01:46:13 UTC 2021. [ 166s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Mar 25 09:50:01 2021 From: admin at opensuse.org (OBS Notification) Date: Thu, 25 Mar 2021 09:50:01 +0000 Subject: Build failure of network:osmocom:nightly/osmo-mgw in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <605c5ce4d7693_a602af4fbf7c5f420657f2@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-mgw/openSUSE_Factory_ARM/armv7l Package network:osmocom:nightly/osmo-mgw failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-mgw Last lines of build log: getbinaries: missing packages: libsemanage1 libsepol1 (worker was obs-arm-6:12) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Mar 25 09:52:54 2021 From: admin at opensuse.org (OBS Notification) Date: Thu, 25 Mar 2021 09:52:54 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-sccp in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <605c5d80f152e_a602af4fbf7c5f420665e4@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-sccp/openSUSE_Factory_ARM/armv7l Package network:osmocom:nightly/libosmo-sccp failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:nightly libosmo-sccp Last lines of build log: getbinaries: missing packages: libsemanage1 libsepol1 (worker was armbuild16:1) -- 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 Mar 25 11:33:52 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 25 Mar 2021 11:33:52 +0000 Subject: Change in osmo-bsc[master]: fix/refactor neighbor config In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23360 ) Change subject: fix/refactor neighbor config ...................................................................... Patch Set 4: (1 comment) https://gerrit.osmocom.org/c/osmo-bsc/+/23360/2/src/osmo-bsc/neighbor_ident.c File src/osmo-bsc/neighbor_ident.c: https://gerrit.osmocom.org/c/osmo-bsc/+/23360/2/src/osmo-bsc/neighbor_ident.c at 426 PS2, Line 426: if (local_neighbor) { > whoops, it doesn't. fixing. Ah I see what you mean, I didn't see there's 2 different out pointers. -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23360 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9ed992f8bfff888b3933733c0576f92d50f2625b Gerrit-Change-Number: 23360 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 25 Mar 2021 11:33:52 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: neels Comment-In-Reply-To: pespin Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 25 11:35:13 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 25 Mar 2021 11:35:13 +0000 Subject: Change in osmo-bsc[master]: fix/refactor neighbor config In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23360 ) Change subject: fix/refactor neighbor config ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23360 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9ed992f8bfff888b3933733c0576f92d50f2625b Gerrit-Change-Number: 23360 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 25 Mar 2021 11:35:13 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 25 11:36:25 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 25 Mar 2021 11:36:25 +0000 Subject: Change in osmo-pcu[master]: Fix: left shift cannot be repesented in type int In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23486 ) Change subject: Fix: left shift cannot be repesented in type int ...................................................................... Fix: left shift cannot be repesented in type int Caught by ASan: runtime error: left shift of 1 by 31 places cannot be represented in type 'int' Change-Id: I30aed795d027dc063f06e08c8455bad2dd92cf24 --- M src/pcu_vty.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/src/pcu_vty.c b/src/pcu_vty.c index c2de92c..abc3d8d 100644 --- a/src/pcu_vty.c +++ b/src/pcu_vty.c @@ -239,7 +239,7 @@ vty_out(vty, " pcu-socket %s%s", the_pcu->pcu_sock_path, VTY_NEWLINE); for (i = 0; i < 32; i++) { - unsigned int cs = (1 << i); + uint32_t cs = ((uint32_t)1 << i); if (the_pcu->gsmtap_categ_mask & cs) { vty_out(vty, " gsmtap-category %s%s", get_value_string(pcu_gsmtap_categ_names, i), VTY_NEWLINE); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23486 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I30aed795d027dc063f06e08c8455bad2dd92cf24 Gerrit-Change-Number: 23486 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 Mar 25 11:36:25 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 25 Mar 2021 11:36:25 +0000 Subject: Change in osmo-pcu[master]: sched: Fix scheduling UL TBF not matching conditions In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23487 ) Change subject: sched: Fix scheduling UL TBF not matching conditions ...................................................................... sched: Fix scheduling UL TBF not matching conditions With previous code, a skipped TBF could be returned despite not matching the conditions, since at the end of the loop the tbf pointer was returned. Related: OS#5020 Change-Id: If6dccec86c7a655bf1c62f333cfbc8d2c507c94f --- M src/gprs_rlcmac_sched.cpp 1 file changed, 3 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp index c63ed6e..c54f533 100644 --- a/src/gprs_rlcmac_sched.cpp +++ b/src/gprs_rlcmac_sched.cpp @@ -87,7 +87,7 @@ static struct gprs_rlcmac_ul_tbf *sched_select_uplink(uint8_t trx, uint8_t ts, uint32_t fn, uint8_t block_nr, struct gprs_rlcmac_pdch *pdch, bool require_gprs_only) { - struct gprs_rlcmac_ul_tbf *tbf = NULL; + struct gprs_rlcmac_ul_tbf *tbf; uint8_t i, tfi; /* select uplink resource */ @@ -114,10 +114,10 @@ block_nr, tbf->m_usf[ts], tfi); /* next TBF to handle resource is the next one */ pdch->next_ul_tfi = (tfi + 1) & 31; - break; + return tbf; } - return tbf; + return NULL; } struct msgb *sched_app_info(struct gprs_rlcmac_tbf *tbf) { -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23487 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: If6dccec86c7a655bf1c62f333cfbc8d2c507c94f Gerrit-Change-Number: 23487 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 Mar 25 11:36:25 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 25 Mar 2021 11:36:25 +0000 Subject: Change in osmo-pcu[master]: sched: Simplify usf selection code In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23488 ) Change subject: sched: Simplify usf selection code ...................................................................... sched: Simplify usf selection code Simply use the UL TBF pointer all along until the end, instead of setting both the UL TBF pointer plus the usf var. This commit is also a preparation for next commit which also selects UL TBF when a poll is available, to set its USF in the DL message instead of "USF_UNUSED". Change-Id: I3aa3886932ef87db18ed7ff6991ea315f481990b --- M src/gprs_rlcmac_sched.cpp 1 file changed, 6 insertions(+), 13 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp index c54f533..25a3766 100644 --- a/src/gprs_rlcmac_sched.cpp +++ b/src/gprs_rlcmac_sched.cpp @@ -421,7 +421,7 @@ struct gprs_rlcmac_pdch *pdch; struct tbf_sched_candidates tbf_cand = {0}; struct gprs_rlcmac_tbf *poll_tbf; - struct gprs_rlcmac_ul_tbf *usf_tbf; + struct gprs_rlcmac_ul_tbf *usf_tbf = NULL; struct gprs_rlcmac_sba *sba; uint8_t usf; struct msgb *msg = NULL; @@ -468,27 +468,19 @@ "TS=%d FN=%d block_nr=%d scheduling free USF for " "polling at FN=%d of %s\n", trx, ts, fn, block_nr, poll_fn, tbf_name(poll_tbf)); - usf = USF_UNUSED; /* else. check for sba */ } else if ((sba = pdch_ulc_get_sba(pdch->ulc, poll_fn))) { LOGPDCH(pdch, DRLCMACSCHED, LOGL_DEBUG, "Received RTS for PDCH: " "FN=%d block_nr=%d scheduling free USF for " "single block allocation at FN=%d\n", fn, block_nr, sba->fn); - usf = USF_UNUSED; /* else, we search for uplink resource */ } else { usf_tbf = sched_select_uplink(trx, ts, fn, block_nr, pdch, require_gprs_only); - if (usf_tbf) { - usf = usf_tbf->m_usf[ts]; - /* If MS selected for USF is GPRS-only, then it will - * only be able to read USF if dl block uses GMSK - * (CS1-4, MCS1-4) - */ - if (req_mcs_kind == EGPRS && ms_mode(usf_tbf->ms()) != EGPRS) + /* If MS selected for USF is GPRS-only, then it will only be + * able to read USF if dl block uses GMSK * (CS1-4, MCS1-4) + */ + if (usf_tbf && req_mcs_kind == EGPRS && ms_mode(usf_tbf->ms()) != EGPRS) req_mcs_kind = EGPRS_GMSK; - } else { - usf = USF_UNUSED; - } } get_tbf_candidates(bts, trx, ts, &tbf_cand); @@ -521,6 +513,7 @@ /* set USF */ OSMO_ASSERT(msgb_length(msg) > 0); + usf = usf_tbf ? usf_tbf->m_usf[ts] : USF_UNUSED; msg->data[0] = (msg->data[0] & 0xf8) | usf; /* Used to measure the leak rate, count all blocks */ -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23488 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I3aa3886932ef87db18ed7ff6991ea315f481990b Gerrit-Change-Number: 23488 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 Mar 25 11:43:34 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 25 Mar 2021 11:43:34 +0000 Subject: Change in osmo-pcu[master]: Track scheduled UL blocks through USF In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23492 ) Change subject: Track scheduled UL blocks through USF ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/23492/1/src/gprs_rlcmac_sched.cpp File src/gprs_rlcmac_sched.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/23492/1/src/gprs_rlcmac_sched.cpp at 463 PS1, Line 463: poll_fn = rts_next_fn(fn, block_nr); > > So that means that whenever we request USF on FN = x, the PCU expects the response on FN = x + 1. [?] Yes, I meant x+4 actually, or x+1 as in full blocks. Ok I get it now, I was indeed not thinking about the fact that each block is actually 4 frames (or 5 sometimes?) and hence of course the MS cannot answer until it fully received it, hence why the 4-5 FN offset. So that means the implementation is correct here, only my assumptions were confusing. Thanks for the explanation! -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23492 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia99c9edad6e5bd837e9baeb4fb2683b227887957 Gerrit-Change-Number: 23492 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Thu, 25 Mar 2021 11:43:34 +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 Mar 25 11:58:31 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 25 Mar 2021 11:58:31 +0000 Subject: Change in libosmocore[master]: gprs_ns2: fix memory leaks when receiving SNS or invalid packets In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23484 ) Change subject: gprs_ns2: fix memory leaks when receiving SNS or invalid packets ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23484 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I8834d3f092e6cbe4f527e95e1eebd8133a386207 Gerrit-Change-Number: 23484 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 25 Mar 2021 11:58: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 Mar 25 12:08:20 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 25 Mar 2021 12:08:20 +0000 Subject: Change in osmo-pcu[master]: Track scheduled UL blocks through USF In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23492 ) Change subject: Track scheduled UL blocks through USF ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/23492/1/src/pdch.cpp File src/pdch.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/23492/1/src/pdch.cpp at 924 PS1, Line 924: case PDCH_ULC_NODE_TBF_POLL: Shouldn't you compare for tbf != node->tbf_poll.poll_tbf in this case? -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23492 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia99c9edad6e5bd837e9baeb4fb2683b227887957 Gerrit-Change-Number: 23492 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Thu, 25 Mar 2021 12:08: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 Thu Mar 25 12:10:19 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 25 Mar 2021 12:10:19 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Fix memory leak when creating ip[46]_local arrays In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23417 ) Change subject: gprs_ns2_sns: Fix memory leak when creating ip[46]_local arrays ...................................................................... Patch Set 6: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23417 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I12cb670e087c6d6190f3f5bf8483ea62008ae06f Gerrit-Change-Number: 23417 Gerrit-PatchSet: 6 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 25 Mar 2021 12:10:19 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 25 12:14:23 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 25 Mar 2021 12:14:23 +0000 Subject: Change in pysim[master]: pySim-shell: add filesystem exporter In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23210 ) Change subject: pySim-shell: add filesystem exporter ...................................................................... Patch Set 10: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23210 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I82f3ce92cd91a5ed3c4884d62f6b22e9589c8a49 Gerrit-Change-Number: 23210 Gerrit-PatchSet: 10 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-CC: dexter Gerrit-Comment-Date: Thu, 25 Mar 2021 12:14: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 Mar 25 12:15:10 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 25 Mar 2021 12:15:10 +0000 Subject: Change in pysim[master]: pySim-shell: add option to execute script on startup In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23474 ) Change subject: pySim-shell: add option to execute script on startup ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23474 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I69f5224087023650340fbfee74668e1850345f54 Gerrit-Change-Number: 23474 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 25 Mar 2021 12:15: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 Mar 25 12:17:07 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 25 Mar 2021 12:17:07 +0000 Subject: Change in libosmocore[master]: gprs_ns2: add vty `nse <0-65535> restart sns` In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23184 ) Change subject: gprs_ns2: add vty `nse <0-65535> restart sns` ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/23184/1/src/gb/gprs_ns2_vty.c File src/gb/gprs_ns2_vty.c: https://gerrit.osmocom.org/c/libosmocore/+/23184/1/src/gb/gprs_ns2_vty.c at 1920 PS1, Line 1920: gprs_ns2_free_nsvcs(nse); Will this actually restart the SIZE/CONFIG procedure? Since we now have IP-SNS in both SGSN and BSS role is there anything that can go wrong with calling restart sns on an NSE with ip-sns-role-sgsn? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23184 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Icb55d8449908d348ab10572eebcf971737fba00d Gerrit-Change-Number: 23184 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 25 Mar 2021 12:17:07 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 25 12:17:07 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 25 Mar 2021 12:17:07 +0000 Subject: Change in osmo-bts[master]: sched_lchan_tchh: fix frame number and fill FACCH gap In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/21329 ) Change subject: sched_lchan_tchh: fix frame number and fill FACCH gap ...................................................................... Patch Set 3: trying to unblock this: Do we have a test case for this that can show the problem is fixed by this patch? dexter? If so, then I think we should merge the patch as-is, asap. -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/21329 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1ad9fa3815feb2b4da608ab7df716a87ba1f2f91 Gerrit-Change-Number: 21329 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 25 Mar 2021 12:17: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 Mar 25 12:19:03 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 25 Mar 2021 12:19:03 +0000 Subject: Change in osmocom-bb[master]: trx_toolkit: check in simple declarative codec In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/23135 ) Change subject: trx_toolkit: check in simple declarative codec ...................................................................... Patch Set 3: build fails with ImportError: Failed to import test module: test_codec Traceback (most recent call last): File "/usr/lib/python3.5/unittest/loader.py", line 428, in _find_test_path module = self._get_module_from_name(name) File "/usr/lib/python3.5/unittest/loader.py", line 369, in _get_module_from_name __import__(name) File "/build/src/target/trx_toolkit/test_codec.py", line 29, in import codec File "/build/src/target/trx_toolkit/codec.py", line 60 DEF_LEN: int = 0 ^ SyntaxError: invalid syntax is this due to using a too-new python language version? -- To view, visit https://gerrit.osmocom.org/c/osmocom-bb/+/23135 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmocom-bb Gerrit-Branch: master Gerrit-Change-Id: I7ff46b278c59af3720ee7f3950ea5a8b2f1313e1 Gerrit-Change-Number: 23135 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Thu, 25 Mar 2021 12:19:03 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 25 12:19:36 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 25 Mar 2021 12:19:36 +0000 Subject: Change in osmo-pcu[master]: Track scheduled UL blocks through USF In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23492 ) Change subject: Track scheduled UL blocks through USF ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/23492/1/src/pdch.cpp File src/pdch.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/23492/1/src/pdch.cpp at 924 PS1, Line 924: case PDCH_ULC_NODE_TBF_POLL: > Shouldn't you compare for tbf != node->tbf_poll. [?] We don't expect an answer to a POLL here at all, since we are receiving a DATA block. Polling (RRBP) always involve the MS answering with a CTRL message (be it DL ACK/NACK, or CTRL ACK, etc.). So it's fine printing a warning here regardless of the TBF. We expected a CTRL message here but we received a data one. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23492 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia99c9edad6e5bd837e9baeb4fb2683b227887957 Gerrit-Change-Number: 23492 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Thu, 25 Mar 2021 12:19:36 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: daniel Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Thu Mar 25 12:20:10 2021 From: admin at opensuse.org (OBS Notification) Date: Thu, 25 Mar 2021 12:20:10 +0000 Subject: Build failure of network:osmocom:latest/osmo-pcu in Raspbian_9.0/armv7l In-Reply-To: References: Message-ID: <605c80173d2b3_a602af4fbf7c5f421280c0@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-pcu/Raspbian_9.0/armv7l Package network:osmocom:latest/osmo-pcu failed to build in Raspbian_9.0/armv7l Check out the package for editing: osc checkout network:osmocom:latest osmo-pcu Last lines of build log: [ 639s] dpkg-genchanges >../osmo-pcu_0.9.0_armhf.changes [ 640s] dpkg-genchanges: info: including full source code in upload [ 640s] dpkg-source --after-build BUILD [ 640s] dpkg-buildpackage: info: full upload; Debian-native package (full source is included) [ 640s] ln: failed to create hard link '///usr/src/packages/DEBS/osmo-pcu_0.9.0.dsc': File exists [ 640s] ln: failed to create hard link '///usr/src/packages/DEBS/osmo-pcu_0.9.0.tar.xz': File exists [ 640s] Warning: mkbaselibs missing in build root, skipping baselibs [ 640s] ... saving statistics [ 640s] ... saving built packages [ 640s] DEBS/osmo-pcu_0.9.0_armhf.deb [ 640s] DEBS/osmo-pcu_0.9.0_armhf.changes [ 640s] DEBS/osmo-pcu-dbg_0.9.0_armhf.deb [ 640s] DEBS/osmo-pcu_0.9.0.dsc [ 640s] DEBS/osmo-pcu-doc_0.9.0_all.deb [ 640s] DEBS/osmo-pcu_0.9.0.tar.xz [ 640s] DEBS/osmo-pcu_0.9.0_armhf.buildinfo [ 640s] OTHER/_statistics [ 640s] [ 640s] armbuild04 finished "build osmo-pcu_0.9.0.dsc" at Thu Mar 25 12:19:57 UTC 2021. [ 640s] [ 640s] ### VM INTERACTION START ### [ 643s] [ 625.939293] sysrq: SysRq : Power Off [ 643s] [ 625.940967] reboot: Power down [ 644s] ### VM INTERACTION END ### [ 644s] mkdir: cannot create directory '/var/cache/obs/worker/root_1/.mount/.build.packages': Structure needs cleaning [ 644s] /var/run/obs/worker/1/build/build-vm: line 1025: cd: /var/cache/obs/worker/root_1/.mount/.build.packages: Structure needs cleaning [ 644s] [ 644s] armbuild04 failed "build osmo-pcu_0.9.0.dsc" at Thu Mar 25 12:20:01 UTC 2021. [ 644s] -- 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 Mar 25 12:55:35 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 25 Mar 2021 12:55:35 +0000 Subject: Change in osmo-gsm-manuals[master]: common/chapters: extend gb/ns2 chapters In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/23393 ) Change subject: common/chapters: extend gb/ns2 chapters ...................................................................... Patch Set 3: (18 comments) https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/23393/3/common/chapters/gb-ns2-configuration.adoc File common/chapters/gb-ns2-configuration.adoc: https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/23393/3/common/chapters/gb-ns2-configuration.adoc at 18 PS3, Line 18: hdlcnet1 Change all hdlcnetx device names to hdlcx which is the default device name (even if you operate your card in frnet). hdlcx/hdlcnetx is only created for the virtual loopback device pairs https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/23393/3/common/chapters/gb-ns2-configuration.adoc at 29 PS3, Line 29: sidea1 s/sidex/sitex/ ? Not sure if you actually meant side, site makes more sense to me, maybe even bss? https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/23393/3/common/chapters/gb-ns2-configuration.adoc at 70 PS3, Line 70: In difference the dynamic configuration allows the SGSN to have only a reduced configuration. In contrast? https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/23393/3/common/chapters/gb-ns2-configuration.adoc at 141 PS3, Line 141: <2> bind to 10.100.0.1 :23000 https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/23393/3/common/chapters/gb-ns2-configuration.adoc at 142 PS3, Line 142: <3> NSE 1001 with 2 NSVC "add NSE 1001..." https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/23393/3/common/chapters/gb-ns2-configuration.adoc at 145 PS3, Line 145: BSS as BSS https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/23393/3/common/chapters/gb-ns2-configuration.adoc at 147 PS3, Line 147: do remove do https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/23393/3/common/chapters/gb-ns2-configuration.adoc at 168 PS3, Line 168: <2> bind to 10.100.0.1 :23000 https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/23393/2/common/chapters/gb-ns2.adoc File common/chapters/gb-ns2.adoc: https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/23393/2/common/chapters/gb-ns2.adoc at 54 PS2, Line 54: The Osmocom NS/FR support currently requires the individual Frame Relay > s/support/implementation/ ? ACK https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/23393/3/common/chapters/gb-ns2.adoc File common/chapters/gb-ns2.adoc: https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/23393/3/common/chapters/gb-ns2.adoc at 42 PS3, Line 42: a an https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/23393/3/common/chapters/gb-ns2.adoc at 42 PS3, Line 42: a an https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/23393/3/common/chapters/gb-ns2.adoc at 79 PS3, Line 79: NOTE: GRE/IP has been removed from Osmocom NS code. Do we want to be so blunt or rather mention that GRE has not been reimplemented so far? https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/23393/3/common/chapters/gb-ns2.adoc at 105 PS3, Line 105: This is the only official, 3GPP-standardized way of speaking a Gb "...speaking a Gb interface" sounds strange "speaking Gb over IP-based transports"? https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/23393/3/common/chapters/gb-ns2.adoc at 113 PS3, Line 113: ===== Gb over IP 3GPP auto-configuration Should this heading be here? The differences mentioned below apply to static as well as dynamic configuration, don't they? https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/23393/3/common/chapters/gb-ns2.adoc at 115 PS3, Line 115: allow allows https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/23393/3/common/chapters/gb-ns2.adoc at 121 PS3, Line 121: IP based Gb "IP-based Gb protocol" (in ns2 we call it dialect, so maybe that?) https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/23393/3/common/chapters/gb-ns2.adoc at 143 PS3, Line 143: a an https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/23393/3/common/chapters/gb-ns2.adoc at 171 PS3, Line 171: persistant s/persistant/persistent/, also twice below -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-manuals/+/23393 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: I902b850528cbc04bd469590babd84cccf64300e8 Gerrit-Change-Number: 23393 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-CC: pespin Gerrit-Comment-Date: Thu, 25 Mar 2021 12:55:35 +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 Mar 25 12:56:56 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 25 Mar 2021 12:56:56 +0000 Subject: Change in osmo-pcu[master]: Track scheduled UL blocks through USF In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23492 ) Change subject: Track scheduled UL blocks through USF ...................................................................... Patch Set 1: Code-Review+2 (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/23492/1/src/pdch.cpp File src/pdch.cpp: https://gerrit.osmocom.org/c/osmo-pcu/+/23492/1/src/pdch.cpp at 924 PS1, Line 924: case PDCH_ULC_NODE_TBF_POLL: > We don't expect an answer to a POLL here at all, since we are receiving a DATA block. [?] Ok, thanks for clarifying -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23492 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia99c9edad6e5bd837e9baeb4fb2683b227887957 Gerrit-Change-Number: 23492 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Thu, 25 Mar 2021 12:56:56 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Comment-In-Reply-To: pespin Comment-In-Reply-To: daniel Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 25 14:55:30 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 25 Mar 2021 14:55:30 +0000 Subject: Change in osmo-sgsn[master]: ranap: log ranap iu event type name instead of number References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/23495 ) Change subject: ranap: log ranap iu event type name instead of number ...................................................................... ranap: log ranap iu event type name instead of number Change-Id: If66e9d5989b46abe01855a5c1183d567d358abeb --- M src/sgsn/gprs_ranap.c 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/95/23495/1 diff --git a/src/sgsn/gprs_ranap.c b/src/sgsn/gprs_ranap.c index 1f8ed97..2d2d3aa 100644 --- a/src/sgsn/gprs_ranap.c +++ b/src/sgsn/gprs_ranap.c @@ -120,7 +120,8 @@ mm = sgsn_mm_ctx_by_ue_ctx(ctx); if (!mm) { - LOGIUP(ctx, LOGL_NOTICE, "Cannot find mm ctx for IU event %d\n", type); + LOGIUP(ctx, LOGL_NOTICE, "Cannot find mm ctx for IU event %s\n", + ranap_iu_event_type_str(type)); ranap_iu_free_ue(ctx); return rc; } -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/23495 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: If66e9d5989b46abe01855a5c1183d567d358abeb Gerrit-Change-Number: 23495 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 Mar 25 15:03:10 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 25 Mar 2021 15:03:10 +0000 Subject: Change in osmo-sgsn[master]: gmm: log GMM msg type name instead of number References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/23496 ) Change subject: gmm: log GMM msg type name instead of number ...................................................................... gmm: log GMM msg type name instead of number Change-Id: I2dc6eb5bfb0f44caf2687e582d660f71fdd647a2 --- M src/sgsn/gprs_gmm.c 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/96/23496/1 diff --git a/src/sgsn/gprs_gmm.c b/src/sgsn/gprs_gmm.c index 2367338..2ba6d08 100644 --- a/src/sgsn/gprs_gmm.c +++ b/src/sgsn/gprs_gmm.c @@ -2111,9 +2111,9 @@ null_mmctx: LOGGBIUP(llme, msg, LOGL_ERROR, - "Received GSM 04.08 message type 0x%02x," + "Received GSM 04.08 message type %s," " but no MM context available\n", - gh->msg_type); + get_value_string(gprs_msgt_gmm_names, gh->msg_type)); return -EINVAL; } -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/23496 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I2dc6eb5bfb0f44caf2687e582d660f71fdd647a2 Gerrit-Change-Number: 23496 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 Mar 25 15:14:24 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 25 Mar 2021 15:14:24 +0000 Subject: Change in osmo-pcu[master]: Set matching USF if available when polling a UL TBF In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23489 ) Change subject: Set matching USF if available when polling a UL TBF ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23489 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I2ad9d8ea6afc8f83192033470bd27010a7474430 Gerrit-Change-Number: 23489 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Thu, 25 Mar 2021 15:14: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 Mar 25 15:21:28 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 25 Mar 2021 15:21:28 +0000 Subject: Change in osmo-pcu[master]: pdch_ulc: Create helper API pdch_ulc_release_node In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23491 ) Change subject: pdch_ulc: Create helper API pdch_ulc_release_node ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23491 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I6362ad7382c2b73e6fedb11182964be96e5c8d35 Gerrit-Change-Number: 23491 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 25 Mar 2021 15:21:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 25 15:23:49 2021 From: gerrit-no-reply at lists.osmocom.org (daniel) Date: Thu, 25 Mar 2021 15:23:49 +0000 Subject: Change in osmo-pcu[master]: Properly implement N3101 In-Reply-To: References: Message-ID: daniel has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23493 ) Change subject: Properly implement N3101 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23493 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I1a55bdd39db8843976915b9f74fadb0942298413 Gerrit-Change-Number: 23493 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Thu, 25 Mar 2021 15:23: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 Mar 25 15:31:26 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 25 Mar 2021 15:31:26 +0000 Subject: Change in pysim[master]: ts_102_221: fix fixup_fcp_proprietary_tlv_map() In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23211 ) Change subject: ts_102_221: fix fixup_fcp_proprietary_tlv_map() ...................................................................... Patch Set 4: Since we migrate to uttlv this patch is no longer needed and can be abandoned. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23211 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ib06041361851f05dd990576fff47048dc1aa6290 Gerrit-Change-Number: 23211 Gerrit-PatchSet: 4 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: dexter Gerrit-Comment-Date: Thu, 25 Mar 2021 15:31:26 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 25 15:39:53 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 25 Mar 2021 15:39:53 +0000 Subject: Change in osmo-sgsn[master]: gmm: Expect E_VLR_ANSWERED when in ST_IU_SECURITY_CMD References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/23497 ) Change subject: gmm: Expect E_VLR_ANSWERED when in ST_IU_SECURITY_CMD ...................................................................... gmm: Expect E_VLR_ANSWERED when in ST_IU_SECURITY_CMD GSUP message is sent immediately before moving onto state ST_IU_SECURITY_CMD, so it's expected to receive a response for it, which will trigger event E_VLR_ANSWERED being sent. See following log showing the scenario: """ GMM_ATTACH_REQ_FSM(gb_gmm_req)[0x8137b88]{Authenticate}: Received Event E_AUTH_RESP_RECV_SUCCESS MM(001010123456789/f8bab3dc) Requesting authorization MM(001010123456789/f8bab3dc) Missing information, requesting subscriber data MM(001010123456789/f8bab3dc) Requesting subscriber data update SUBSCR(001010123456789) subscriber data is not available SUBSCR(001010123456789) Sending GSUP, will send: 04 01 08 00 01 01 21 43 65 60 f3 28 01 01 GMM_ATTACH_REQ_FSM(gb_gmm_req)[0x8137b88]{Authenticate}: state_chg to IuSecurityCommand SUBSCR(001010123456789) Received GSUP message OSMO_GSUP_MSGT_INSERT_DATA_REQUEST SUBSCR(001010123456789) Will set PDP info, context id = 1, APN = 01 2a SUBSCR(001010123456789) Updating subscriber data MM(001010123456789/f8bab3dc) Subscriber data update MM(001010123456789/f8bab3dc) Updating authorization (authenticate -> accepted) MM(001010123456789/f8bab3dc) Got authorization update: state authenticate -> accepted MM(001010123456789/f8bab3dc) Authorized, continuing procedure, IMSI=001010123456789 GMM_ATTACH_REQ_FSM(gb_gmm_req)[0x8137b88]{IuSecurityCommand}: Received Event E_VLR_ANSWERED GMM_ATTACH_REQ_FSM(gb_gmm_req)[0x8137b88]{IuSecurityCommand}: Event E_VLR_ANSWERED not permitted SUBSCR(001010123456789) Sending GSUP, will send: 12 01 08 00 01 01 21 43 65 60 f3 28 01 01 SUBSCR(001010123456789) Received GSUP message OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT SUBSCR(001010123456789) Updating subscriber data MM(001010123456789/f8bab3dc) Subscriber data update MM(001010123456789/f8bab3dc) Updating authorization (accepted -> accepted) sccp_sap_up(N-DATA.indication) N-DATA.ind(2, 20 06 00 08 00 00 01 00 06 00 01 00 ) handle_co(dir=2, proc=6) Transmitting RANAP CommonID (SCCP conn_id 2) GMM_ATTACH_REQ_FSM(gb_gmm_req)[0x8137b88]{IuSecurityCommand}: Received Event E_IU_SECURITY_CMD_COMPLETE GMM_ATTACH_REQ_FSM(gb_gmm_req)[0x8137b88]{IuSecurityCommand}: state_chg to WaitAttachComplete """ Related: SYS#5389 Change-Id: If348ff32faa4a709b59ee1b9b043883a7d46cf93 --- M src/sgsn/gprs_gmm_attach.c 1 file changed, 8 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/97/23497/1 diff --git a/src/sgsn/gprs_gmm_attach.c b/src/sgsn/gprs_gmm_attach.c index c903a01..629cc53 100644 --- a/src/sgsn/gprs_gmm_attach.c +++ b/src/sgsn/gprs_gmm_attach.c @@ -272,6 +272,13 @@ static void st_iu_security_cmd(struct osmo_fsm_inst *fi, uint32_t event, void *data) { switch(event) { + case E_VLR_ANSWERED: + /* We may receive an event due to rx + * OSMO_GSUP_MSGT_INSERT_DATA_REQUEST here. Do nothing, update of + * subscriber is done by lower layers before event is signalled. + * In this state we simply wait for E_IU_SECURITY_CMD_COMPLETE + */ + break; case E_IU_SECURITY_CMD_COMPLETE: gmm_attach_fsm_state_chg(fi, ST_ACCEPT); break; @@ -308,7 +315,7 @@ .action = st_auth, }, [ST_IU_SECURITY_CMD] = { - .in_event_mask = X(E_IU_SECURITY_CMD_COMPLETE), + .in_event_mask = X(E_IU_SECURITY_CMD_COMPLETE) | X(E_VLR_ANSWERED), .out_state_mask = X(ST_INIT) | X(ST_AUTH) | X(ST_ACCEPT) | X(ST_REJECT), .name = "IuSecurityCommand", .onenter = st_iu_security_cmd_on_enter, -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/23497 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: If348ff32faa4a709b59ee1b9b043883a7d46cf93 Gerrit-Change-Number: 23497 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 Mar 25 15:40:26 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 25 Mar 2021 15:40:26 +0000 Subject: Change in osmo-pcu[master]: Set matching USF if available when polling a UL TBF In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23489 ) Change subject: Set matching USF if available when polling a UL TBF ...................................................................... Set matching USF if available when polling a UL TBF When the scheduler detects it's time to receive a UL block due to a scheduled poll, if that polling is done on a UL TBF, then use its USF if available instead of using USF_UNUSED (=7) when sending a DL block on that same FN. This is not really needed for correct work, since MS take care themselves of scheduling a UL block when they receive the poll (RRBP) some time before, and don't check the USF at the time of transmitting. In any case, it helps understand better when looking at pcap traces that indeed it a UL block from that MS was requested, instead of setting USF to 7. Related: OS#5033 Change-Id: I2ad9d8ea6afc8f83192033470bd27010a7474430 --- M src/gprs_rlcmac_sched.cpp M src/tbf_ul.cpp M src/tbf_ul.h 3 files changed, 23 insertions(+), 16 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve daniel: Looks good to me, approved diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp index 25a3766..c431d9c 100644 --- a/src/gprs_rlcmac_sched.cpp +++ b/src/gprs_rlcmac_sched.cpp @@ -461,27 +461,31 @@ /* polling for next uplink block */ poll_fn = rts_next_fn(fn, block_nr); - - /* check uplink resource for polling */ - if ((poll_tbf = pdch_ulc_get_tbf_poll(pdch->ulc, poll_fn))) { + /* check for sba */ + if ((sba = pdch_ulc_get_sba(pdch->ulc, poll_fn))) { + LOGPDCH(pdch, DRLCMACSCHED, LOGL_DEBUG, "Received RTS for PDCH: " + "FN=%d block_nr=%d scheduling free USF for " + "single block allocation at FN=%d\n", fn, block_nr, sba->fn); + /* else, check uplink resource for polling */ + } else if ((poll_tbf = pdch_ulc_get_tbf_poll(pdch->ulc, poll_fn))) { LOGP(DRLCMACSCHED, LOGL_DEBUG, "Received RTS for PDCH: TRX=%d " "TS=%d FN=%d block_nr=%d scheduling free USF for " "polling at FN=%d of %s\n", trx, ts, fn, block_nr, poll_fn, tbf_name(poll_tbf)); - /* else. check for sba */ - } else if ((sba = pdch_ulc_get_sba(pdch->ulc, poll_fn))) { - LOGPDCH(pdch, DRLCMACSCHED, LOGL_DEBUG, "Received RTS for PDCH: " - "FN=%d block_nr=%d scheduling free USF for " - "single block allocation at FN=%d\n", fn, block_nr, sba->fn); - /* else, we search for uplink resource */ + /* If POLL TBF is UL and already has a USF assigned on this TS, + * let's set its USF in the DL msg. This is not really needed, + * but it helps understand better the flow when looking at + * pcaps. */ + if (poll_tbf->direction == GPRS_RLCMAC_UL_TBF && as_ul_tbf(poll_tbf)->m_usf[ts] != USF_INVALID) + usf_tbf = as_ul_tbf(poll_tbf); + /* else, search for uplink tbf */ } else { usf_tbf = sched_select_uplink(trx, ts, fn, block_nr, pdch, require_gprs_only); - /* If MS selected for USF is GPRS-only, then it will only be - * able to read USF if dl block uses GMSK * (CS1-4, MCS1-4) - */ - if (usf_tbf && req_mcs_kind == EGPRS && ms_mode(usf_tbf->ms()) != EGPRS) - req_mcs_kind = EGPRS_GMSK; } + /* If MS selected for USF is GPRS-only, then it will only be + * able to read USF if dl block uses GMSK * (CS1-4, MCS1-4) */ + if (usf_tbf && req_mcs_kind == EGPRS && ms_mode(usf_tbf->ms()) != EGPRS) + req_mcs_kind = EGPRS_GMSK; get_tbf_candidates(bts, trx, ts, &tbf_cand); diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index 8ef600b..f226b29 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -213,7 +213,7 @@ m_ul_gprs_ctrs(NULL), m_ul_egprs_ctrs(NULL) { - memset(&m_usf, 0, sizeof(m_usf)); + memset(&m_usf, USF_INVALID, sizeof(m_usf)); } /* diff --git a/src/tbf_ul.h b/src/tbf_ul.h index 8713596..0c78e10 100644 --- a/src/tbf_ul.h +++ b/src/tbf_ul.h @@ -47,6 +47,9 @@ TBF_CTR_EGPRS_UL_MCS9, }; +/* Used in ul_tbf->m_usf[] to flag unassigned USF on a given TS: */ +#define USF_INVALID 0xFF + #define LOGPTBFUL(tbf, level, fmt, args...) LOGP(DTBFUL, level, "%s " fmt, tbf_name(tbf), ## args) struct gprs_rlcmac_ul_tbf : public gprs_rlcmac_tbf { @@ -90,7 +93,7 @@ * variables are in both (dl and ul) structs and not outside union. */ int32_t m_rx_counter; /* count all received blocks */ - uint8_t m_usf[8]; /* list USFs per PDCH (timeslot) */ + uint8_t m_usf[8]; /* list USFs per PDCH (timeslot), initialized to USF_INVALID */ uint8_t m_contention_resolution_done; /* set after done */ uint8_t m_final_ack_sent; /* set if we sent final ack */ -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23489 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I2ad9d8ea6afc8f83192033470bd27010a7474430 Gerrit-Change-Number: 23489 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 25 15:40:27 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 25 Mar 2021 15:40:27 +0000 Subject: Change in osmo-pcu[master]: pdch: Add mising pdch_ulc_release_node in Rx Cell Change Notif In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23490 ) Change subject: pdch: Add mising pdch_ulc_release_node in Rx Cell Change Notif ...................................................................... pdch: Add mising pdch_ulc_release_node in Rx Cell Change Notif All other RX CTRL block paths have it, this one was missing. Change-Id: Ief315d7b6d4fea946d43e5bd87cf8a0394adc855 --- M src/pdch.cpp 1 file changed, 2 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/src/pdch.cpp b/src/pdch.cpp index 727ffc6..5272f4b 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -754,6 +754,8 @@ ms = dl_tbf->ms(); } else { OSMO_ASSERT(0); } + pdch_ulc_release_fn(ulc, fn); + ms_update_l1_meas(ms, meas); ms_nacc_start(ms, notif); } -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23490 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ief315d7b6d4fea946d43e5bd87cf8a0394adc855 Gerrit-Change-Number: 23490 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 Mar 25 15:40:28 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 25 Mar 2021 15:40:28 +0000 Subject: Change in osmo-pcu[master]: pdch_ulc: Create helper API pdch_ulc_release_node In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23491 ) Change subject: pdch_ulc: Create helper API pdch_ulc_release_node ...................................................................... pdch_ulc: Create helper API pdch_ulc_release_node Change-Id: I6362ad7382c2b73e6fedb11182964be96e5c8d35 --- M src/pdch_ul_controller.c M src/pdch_ul_controller.h 2 files changed, 9 insertions(+), 5 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved daniel: Looks good to me, approved diff --git a/src/pdch_ul_controller.c b/src/pdch_ul_controller.c index cd705d0..f7b2335 100644 --- a/src/pdch_ul_controller.c +++ b/src/pdch_ul_controller.c @@ -183,13 +183,18 @@ return pdch_ulc_add_node(ulc, item); } +void pdch_ulc_release_node(struct pdch_ulc *ulc, struct pdch_ulc_node *item) +{ + rb_erase(&item->node, &ulc->tree_root); + talloc_free(item); +} + int pdch_ulc_release_fn(struct pdch_ulc *ulc, uint32_t fn) { struct pdch_ulc_node *item = pdch_ulc_get_node(ulc, fn); if (!item) return -ENOKEY; - rb_erase(&item->node, &ulc->tree_root); - talloc_free(item); + pdch_ulc_release_node(ulc, item); return 0; } @@ -222,8 +227,7 @@ * search from start (to avoid traverse continue from * no-more existant node */ tree_modified = true; - rb_erase(&item->node, &ulc->tree_root); - talloc_free(item); + pdch_ulc_release_node(ulc, item); break; } } while (tree_modified); diff --git a/src/pdch_ul_controller.h b/src/pdch_ul_controller.h index eb93143..731cbe1 100644 --- a/src/pdch_ul_controller.h +++ b/src/pdch_ul_controller.h @@ -77,8 +77,8 @@ struct gprs_rlcmac_sba *pdch_ulc_get_sba(struct pdch_ulc *ulc, uint32_t fn); struct gprs_rlcmac_tbf *pdch_ulc_get_tbf_poll(struct pdch_ulc *ulc, uint32_t fn); +void pdch_ulc_release_node(struct pdch_ulc *ulc, struct pdch_ulc_node *item); void pdch_ulc_release_tbf(struct pdch_ulc *ulc, const struct gprs_rlcmac_tbf *tbf); - int pdch_ulc_release_fn(struct pdch_ulc *ulc, uint32_t fn); void pdch_ulc_expire_fn(struct pdch_ulc *ulc, uint32_t fn); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23491 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I6362ad7382c2b73e6fedb11182964be96e5c8d35 Gerrit-Change-Number: 23491 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel 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 Mar 25 15:40:28 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 25 Mar 2021 15:40:28 +0000 Subject: Change in osmo-pcu[master]: Track scheduled UL blocks through USF In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23492 ) Change subject: Track scheduled UL blocks through USF ...................................................................... Track scheduled UL blocks through USF This way PCU can now detect whether scheduled UL blocks through USF were never received. This allows in a follow-up patch to start increasing N3101 properly. Related: OS#5033 Change-Id: Ia99c9edad6e5bd837e9baeb4fb2683b227887957 --- M src/gprs_rlcmac_sched.cpp M src/pdch.cpp M src/pdch_ul_controller.c M tests/tbf/TbfTest.err 4 files changed, 313 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve daniel: Looks good to me, approved diff --git a/src/gprs_rlcmac_sched.cpp b/src/gprs_rlcmac_sched.cpp index c431d9c..ab7e57e 100644 --- a/src/gprs_rlcmac_sched.cpp +++ b/src/gprs_rlcmac_sched.cpp @@ -479,8 +479,8 @@ if (poll_tbf->direction == GPRS_RLCMAC_UL_TBF && as_ul_tbf(poll_tbf)->m_usf[ts] != USF_INVALID) usf_tbf = as_ul_tbf(poll_tbf); /* else, search for uplink tbf */ - } else { - usf_tbf = sched_select_uplink(trx, ts, fn, block_nr, pdch, require_gprs_only); + } else if ((usf_tbf = sched_select_uplink(trx, ts, fn, block_nr, pdch, require_gprs_only))) { + pdch_ulc_reserve_tbf_usf(pdch->ulc, poll_fn, usf_tbf); } /* If MS selected for USF is GPRS-only, then it will only be * able to read USF if dl block uses GMSK * (CS1-4, MCS1-4) */ diff --git a/src/pdch.cpp b/src/pdch.cpp index 5272f4b..45c7c98 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -713,6 +713,7 @@ if ((poll = pdch_ulc_get_node(ulc, fn))) { switch (poll->type) { case PDCH_ULC_NODE_TBF_USF: + pdch_ulc_release_fn(ulc, fn); break; case PDCH_ULC_NODE_TBF_POLL: LOGPDCH(this, DRLCMAC, LOGL_INFO, "FN=%" PRIu32 " Rx Meas Report " @@ -868,6 +869,7 @@ int rc; struct gprs_rlc_data_info rlc_dec; struct gprs_rlcmac_ul_tbf *tbf; + struct pdch_ulc_node *node; unsigned len = mcs_size_ul(cs); /* These are always data blocks, since EGPRS still uses CS-1 for @@ -910,6 +912,32 @@ return 0; } + node = pdch_ulc_get_node(ulc, fn); + if (node) { + switch (node->type) { + case PDCH_ULC_NODE_TBF_USF: + if (tbf != node->tbf_usf.ul_tbf) + LOGPDCH(this, DRLCMACUL, LOGL_NOTICE, "FN=%" PRIu32 " " + "Rx UL DATA from unexpected %s vs expected %s\n", + fn, tbf_name(tbf), tbf_name(node->tbf_usf.ul_tbf)); + break; + case PDCH_ULC_NODE_TBF_POLL: + LOGPDCH(this, DRLCMACUL, LOGL_NOTICE, "FN=%" PRIu32 " " + "Rx UL DATA from unexpected %s vs expected POLL %s\n", + fn, tbf_name(tbf), tbf_name(node->tbf_poll.poll_tbf)); + break; + case PDCH_ULC_NODE_SBA: + LOGPDCH(this, DRLCMACUL, LOGL_NOTICE, "FN=%" PRIu32 " " + "Rx UL DATA from unexpected %s vs expected SBA\n", + fn, tbf_name(tbf)); + break; + } + pdch_ulc_release_node(ulc, node); + } else { + LOGPDCH(this, DRLCMACUL, LOGL_NOTICE, "FN=%" PRIu32 " " + "Rx UL DATA from unexpected %s\n", fn, tbf_name(tbf)); + } + /* Reset N3101 counter: */ tbf->n_reset(N3101); diff --git a/src/pdch_ul_controller.c b/src/pdch_ul_controller.c index f7b2335..c865f59 100644 --- a/src/pdch_ul_controller.c +++ b/src/pdch_ul_controller.c @@ -164,7 +164,10 @@ int pdch_ulc_reserve_tbf_usf(struct pdch_ulc *ulc, uint32_t fn, struct gprs_rlcmac_ul_tbf *ul_tbf) { - return 0; /* TODO: implement */ + struct pdch_ulc_node *item = _alloc_node(ulc, fn); + item->type = PDCH_ULC_NODE_TBF_USF; + item->tbf_usf.ul_tbf = ul_tbf; + return pdch_ulc_add_node(ulc, item); } int pdch_ulc_reserve_tbf_poll(struct pdch_ulc *ulc, uint32_t fn, struct gprs_rlcmac_tbf *tbf) @@ -255,7 +258,10 @@ switch (item->type) { case PDCH_ULC_NODE_TBF_USF: - /* TODO: increase N3...*/ + LOGPDCH(ulc->pdch, DRLCMAC, LOGL_INFO, + "Timeout for registered USF (FN=%u): %s\n", + item->fn, tbf_name((struct gprs_rlcmac_tbf *)item->tbf_usf.ul_tbf)); + /* TODO: increase N3101 */ break; case PDCH_ULC_NODE_TBF_POLL: LOGPDCH(ulc->pdch, DRLCMAC, LOGL_NOTICE, diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index 5d4c9c9..181114f 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -1465,6 +1465,7 @@ TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654167 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=0 USF=0 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 +PDCH(bts=0,trx=0,ts=7) FN=2654167 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xffffffff, IMSI=, TA=7, 0/0, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: CS-1 -> CS-2 TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654167 @@ -1558,6 +1559,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes state from ASSIGN to FLOW Detected FN jump! 2654283 -> 2654275 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 @@ -1641,6 +1643,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes state from ASSIGN to FLOW Detected FN jump! 2654283 -> 2654275 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 @@ -1690,6 +1693,8 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) changes DL ASS state from GPRS_RLCMAC_DL_ASS_WAIT_ACK to GPRS_RLCMAC_DL_ASS_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) changes state from ASSIGN to FLOW TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) stopping timer T0 [control acked (DL-TBF)] +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654288 but previous FN=2654279 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654279): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Received RTS on disabled PDCH: TRX=0 TS=0 Received RTS on disabled PDCH: TRX=0 TS=1 Received RTS on disabled PDCH: TRX=0 TS=2 @@ -1713,6 +1718,8 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) starting timer T3191 [final block (DL-TBF)] with 5 sec. 0 microsec, cur_fn=2654288 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Scheduled Ack/Nack polling on FN=2654292, TS=7 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) msg block (BSN 0, CS-4): 0f 01 00 29 52 41 55 5f 41 43 43 45 50 54 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 00 +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654292 but previous FN=2654283 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654283): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) PDCH(bts=0,trx=0,ts=7) Timeout for registered POLL (FN=2654292): TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) poll timeout for FN=2654292, TS=7 (curr FN 2654292) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) N3101 0 => 1 (< MAX 10) @@ -1763,6 +1770,8 @@ TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654348 TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654348 but previous FN=2654301 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654301): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) PDCH(bts=0,trx=0,ts=7) Expiring FN=2654348 but previous FN=2654309 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered POLL (FN=2654309): TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) poll timeout for FN=2654309, TS=7 (curr FN 2654348) @@ -1783,8 +1792,11 @@ TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) [DOWNLINK] UPLINK ASSIGNED TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_WAIT_ACK to GPRS_RLCMAC_UL_ASS_NONE TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) changes state from ASSIGN to FLOW +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654361 but previous FN=2654353 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654353): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Detected FN jump! 2654361 -> 2654353 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=1, CPS=0, RSB=0, rc=184 +PDCH(bts=0,trx=0,ts=7) FN=2654353 Rx UL DATA from unexpected TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) UL DATA TFI=1 received (V(Q)=0 .. V(R)=0) TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654353 TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 @@ -1852,6 +1864,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes state from ASSIGN to FLOW Detected FN jump! 2654283 -> 2654275 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0, UL) Link quality 12dB (old 12dB) left window [5, 8], modifying uplink CS level: CS-2 -> CS-3 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 @@ -1937,6 +1950,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes state from ASSIGN to FLOW Detected FN jump! 2654340 -> 2654331 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 +PDCH(bts=0,trx=0,ts=7) FN=2654331 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654331 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Got CS-1 RLC data block: CV=15, BSN=0, SPB=0, PI=0, E=1, TI=0, bitoffs=24 @@ -1996,6 +2010,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes state from ASSIGN to FLOW Detected FN jump! 2654283 -> 2654275 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0, UL) Link quality 12dB (old 12dB) left window [5, 8], modifying uplink CS level: CS-2 -> CS-3 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 @@ -2062,6 +2077,7 @@ TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) starting timer T3169 [RACH (new UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654275 Tx Immediate Assignment on AGCH: TRX=0 (ARFCN 0) TS=7 TA=7 TSC=0 TFI=0 USF=0 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xffffffff, IMSI=, TA=7, 0/0, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: CS-1 -> CS-2 TBF(TFI=0 TLLI=0xffffffff DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 @@ -2141,6 +2157,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes state from ASSIGN to FLOW Detected FN jump! 2654283 -> 2654275 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0, UL) Link quality 12dB (old 12dB) left window [5, 8], modifying uplink CS level: CS-2 -> CS-3 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 @@ -2230,6 +2247,8 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) changes DL ASS state from GPRS_RLCMAC_DL_ASS_WAIT_ACK to GPRS_RLCMAC_DL_ASS_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) changes state from ASSIGN to FLOW TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) stopping timer T0 [control acked (DL-TBF)] +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654288 but previous FN=2654279 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654279): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Received RTS on disabled PDCH: TRX=0 TS=0 Received RTS on disabled PDCH: TRX=0 TS=1 Received RTS on disabled PDCH: TRX=0 TS=2 @@ -2808,6 +2827,50 @@ TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) set ass. type PACCH [prev CCCH:0, PACCH:0] TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=2654379 +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654283 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654283): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654288 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654288): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654292 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654292): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654296 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654296): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654301 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654301): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654305 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654305): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654309 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654309): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654314 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654314): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654318 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654318): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654322 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654322): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654327 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654327): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654331 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654331): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654335 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654335): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654340 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654340): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654344 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654344): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654348 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654348): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654353 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654353): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654357 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654357): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654361 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654361): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654366 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654366): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654370 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654370): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654374 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654374): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Received RTS for PDCH: TRX=0 TS=7 FN=2654400 block_nr=2 scheduling USF=0 for required uplink resource of UL TFI=0 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ @@ -2829,6 +2892,18 @@ ********** DL-TBF ends here ********** TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) changes state from ASSIGN to FLOW TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) stopping timer T0 [control acked (DL-TBF)] +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654413 but previous FN=2654383 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654383): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654413 but previous FN=2654387 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654387): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654413 but previous FN=2654392 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654392): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654413 but previous FN=2654396 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654396): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654413 but previous FN=2654400 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654400): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654413 but previous FN=2654405 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654405): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) Received RTS on disabled PDCH: TRX=0 TS=0 Received RTS on disabled PDCH: TRX=0 TS=1 Received RTS on disabled PDCH: TRX=0 TS=2 @@ -3191,6 +3266,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes state from ASSIGN to FLOW Detected FN jump! 2654283 -> 2654275 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [5, 8], modifying uplink CS level: MCS-2 -> MCS-3 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 @@ -3282,6 +3358,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes state from ASSIGN to FLOW Detected FN jump! 2654283 -> 2654275 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [5, 8], modifying uplink CS level: MCS-2 -> MCS-3 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 @@ -3292,6 +3369,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Frame 1 starts at offset 0, length=20, is_complete=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) No gaps in received block, last block: BSN=0 CV=15 PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=1) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=1, SPB=2, PI=0, E=1, TI=0, bitoffs=33 @@ -3299,6 +3377,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(2) cs(MCS-3) data block with BSN (1), TFI(0). TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) First seg is received second seg is not received set the status to first seg received PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=1) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=1, SPB=3, PI=0, E=1, TI=0, bitoffs=33 @@ -3313,6 +3392,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because MS is stalled. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) changes UL ACK state from GPRS_RLCMAC_UL_ACK_NONE to GPRS_RLCMAC_UL_ACK_SEND_ACK PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=2 .. V(R)=2) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=2, SPB=3, PI=0, E=1, TI=0, bitoffs=33 @@ -3320,6 +3400,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(3) cs(MCS-3) data block with BSN (2), TFI(0). TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Second seg is received first seg is not received set the status to second seg received PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=2 .. V(R)=2) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=2, SPB=2, PI=0, E=1, TI=0, bitoffs=33 @@ -3334,6 +3415,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because MS is stalled. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=3 .. V(R)=3) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=3, SPB=1, PI=0, E=1, TI=0, bitoffs=33 @@ -3341,6 +3423,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(1) cs(MCS-3) data block with BSN (3), TFI(0). TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) spb(1) Not supported SPB for this EGPRS configuration PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=3 .. V(R)=3) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=3, SPB=2, PI=0, E=1, TI=0, bitoffs=33 @@ -3348,6 +3431,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(2) cs(MCS-3) data block with BSN (3), TFI(0). TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) First seg is received second seg is not received set the status to first seg received PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=3 .. V(R)=3) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=3, SPB=3, PI=0, E=1, TI=0, bitoffs=33 @@ -3362,6 +3446,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because MS is stalled. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=4 .. V(R)=4) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=4, SPB=2, PI=0, E=1, TI=0, bitoffs=33 @@ -3369,12 +3454,14 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(2) cs(MCS-3) data block with BSN (4), TFI(0). TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) First seg is received second seg is not received set the status to first seg received PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=4 .. V(R)=4) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=4, SPB=2, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 4 storing in window (4..67) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(2) cs(MCS-3) data block with BSN (4), TFI(0). PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=4 .. V(R)=4) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=4, SPB=3, PI=0, E=1, TI=0, bitoffs=33 @@ -3389,6 +3476,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because MS is stalled. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=5 .. V(R)=5) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=5, SPB=3, PI=0, E=1, TI=0, bitoffs=33 @@ -3396,6 +3484,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got SPB(3) cs(MCS-3) data block with BSN (5), TFI(0). TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Second seg is received first seg is not received set the status to second seg received PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=1, TFI=0, CPS=5, RSB=0, rc=329 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=5 .. V(R)=5) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=5, SPB=2, PI=0, E=1, TI=0, bitoffs=33 @@ -5949,6 +6038,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes state from ASSIGN to FLOW Detected FN jump! 2654283 -> 2654275 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=184 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [5, 8], modifying uplink CS level: MCS-2 -> MCS-3 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 @@ -5959,6 +6049,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Frame 1 starts at offset 0, length=20, is_complete=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) No gaps in received block, last block: BSN=0 CV=15 PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=0, TFI=0, CPS=5, RSB=0, rc=329 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=1) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=1, SPB=0, PI=0, E=1, TI=0, bitoffs=33 @@ -5969,6 +6060,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) No gaps in received block, last block: BSN=1 CV=7 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) changes UL ACK state from GPRS_RLCMAC_UL_ACK_NONE to GPRS_RLCMAC_UL_ACK_NONE PDCH(bts=0,trx=0,ts=7) Got MCS-3 RLC block: R=1, SI=0, TFI=0, CPS=5, RSB=0, rc=329 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=2 .. V(R)=2) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-3 RLC data block: CV=7, BSN=4, SPB=0, PI=0, E=1, TI=0, bitoffs=33 @@ -6111,6 +6203,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes state from ASSIGN to FLOW Detected FN jump! 2654283 -> 2654275 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=1, SI=0, TFI=0, CPS=5, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [5, 8], modifying uplink CS level: MCS-2 -> MCS-3 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 @@ -6121,6 +6214,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Frame 1 starts at offset 0, length=44, is_complete=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) No gaps in received block, last block: BSN=0 CV=7 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=1, SI=0, TFI=0, CPS=5, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=1) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=7, BSN=1, SPB=0, PI=0, E=0, TI=0, bitoffs=33 @@ -6434,6 +6528,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes state from ASSIGN to FLOW Detected FN jump! 2654283 -> 2654275 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=0) MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [5, 8], modifying uplink CS level: MCS-2 -> MCS-3 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 @@ -6444,114 +6539,133 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Frame 1 starts at offset 0, length=44, is_complete=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) No gaps in received block, last block: BSN=0 CV=10 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=1) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=2, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 2 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=3) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=4, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 4 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=5) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=6, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 6 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=7) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=8, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 8 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=9) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=10, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 10 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=11) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=12, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 12 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=13) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=14, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 14 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=15) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=16, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 16 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=17) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=18, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 18 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=19) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=20, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 20 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=21) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=22, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 22 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=23) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=24, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 24 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=25) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=26, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 26 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=27) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=28, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 28 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=29) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=30, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 30 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=31) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=32, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 32 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=33) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=34, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 34 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=35) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=36, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 36 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=37) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=38, SPB=0, PI=0, E=1, TI=0, bitoffs=33 @@ -6560,120 +6674,140 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because 20 frames received. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) changes UL ACK state from GPRS_RLCMAC_UL_ACK_NONE to GPRS_RLCMAC_UL_ACK_SEND_ACK PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=39) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=40, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 40 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=41) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=42, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 42 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=43) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=44, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 44 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=45) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=46, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 46 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=47) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=48, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 48 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=49) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=50, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 50 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=51) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=52, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 52 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=53) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=54, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 54 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=55) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=56, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 56 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=57) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=58, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 58 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=59) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=60, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 60 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=61) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=62, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 62 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=63) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=64, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 64 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=65) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=66, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 66 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=67) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=68, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 68 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=69) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=70, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 70 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=71) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=72, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 72 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=73) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=74, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 74 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=75) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=76, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 76 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=77) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=78, SPB=0, PI=0, E=1, TI=0, bitoffs=33 @@ -6682,120 +6816,140 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because 20 frames received. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=79) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=80, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 80 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=81) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=82, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 82 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=83) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=84, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 84 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=85) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=86, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 86 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=87) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=88, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 88 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=89) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=90, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 90 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=91) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=92, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 92 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=93) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=94, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 94 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=95) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=96, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 96 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=97) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=98, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 98 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=99) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=100, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 100 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=101) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=102, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 102 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=103) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=104, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 104 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=105) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=106, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 106 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=107) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=108, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 108 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=109) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=110, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 110 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=111) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=112, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 112 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=113) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=114, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 114 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=115) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=116, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 116 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=117) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=118, SPB=0, PI=0, E=1, TI=0, bitoffs=33 @@ -6804,120 +6958,140 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because 20 frames received. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=119) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=120, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 120 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=121) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=122, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 122 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=123) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=124, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 124 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=125) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=126, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 126 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=127) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=128, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 128 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=129) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=130, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 130 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=131) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=132, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 132 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=133) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=134, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 134 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=135) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=136, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 136 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=137) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=138, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 138 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=139) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=140, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 140 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=141) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=142, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 142 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=143) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=144, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 144 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=145) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=146, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 146 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=147) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=148, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 148 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=149) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=150, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 150 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=151) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=152, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 152 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=153) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=154, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 154 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=155) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=156, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 156 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=157) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=158, SPB=0, PI=0, E=1, TI=0, bitoffs=33 @@ -6927,6 +7101,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) changes UL ACK state from GPRS_RLCMAC_UL_ACK_SEND_ACK to GPRS_RLCMAC_UL_ACK_NONE PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654275 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=159) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654275 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=0, BSN=64, SPB=0, PI=0, E=1, TI=0, bitoffs=33 @@ -6970,108 +7145,126 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Frame 1 starts at offset 0, length=44, is_complete=0 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) No gaps in received block, last block: BSN=0 CV=10 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=1) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=2, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 2 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=3) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=4, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 4 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=5) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=6, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 6 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=7) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=8, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 8 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=9) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=10, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 10 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=11) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=12, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 12 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=13) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=14, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 14 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=15) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=16, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 16 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=17) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=18, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 18 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=19) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=20, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 20 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=21) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=22, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 22 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=23) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=24, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 24 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=25) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=26, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 26 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=27) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=28, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 28 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=29) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=30, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 30 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=31) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=32, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 32 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=33) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=34, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 34 storing in window (1..192) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=35) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=36, SPB=0, PI=0, E=1, TI=0, bitoffs=33 @@ -7080,6 +7273,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because 20 frames received. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) changes UL ACK state from GPRS_RLCMAC_UL_ACK_NONE to GPRS_RLCMAC_UL_ACK_SEND_ACK PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=37) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=38, SPB=0, PI=0, E=1, TI=0, bitoffs=33 @@ -7087,6 +7281,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) changes UL ACK state from GPRS_RLCMAC_UL_ACK_SEND_ACK to GPRS_RLCMAC_UL_ACK_NONE PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654279 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=1 .. V(R)=39) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654279 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=0, BSN=64, SPB=0, PI=0, E=1, TI=0, bitoffs=33 @@ -7111,102 +7306,119 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 80 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=81) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=81, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 81 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=82) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=82, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 82 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=83) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=83, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 83 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=84) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=84, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 84 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=85) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=85, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 85 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=86) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=86, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 86 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=87) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=87, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 87 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=88) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=88, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 88 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=89) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=89, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 89 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=90) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=90, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 90 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=91) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=91, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 91 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=92) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=92, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 92 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=93) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=93, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 93 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=94) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=94, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 94 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=95) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=95, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 95 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=96) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=96, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 96 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=97) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=97, SPB=0, PI=0, E=1, TI=0, bitoffs=33 @@ -7215,120 +7427,140 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because 20 frames received. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) changes UL ACK state from GPRS_RLCMAC_UL_ACK_NONE to GPRS_RLCMAC_UL_ACK_SEND_ACK PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=98) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=98, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 98 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=99) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=99, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 99 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=100) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=100, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 100 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=101) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=101, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 101 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=102) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=102, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 102 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=103) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=103, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 103 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=104) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=104, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 104 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=105) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=105, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 105 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=106) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=106, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 106 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=107) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=107, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 107 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=108) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=108, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 108 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=109) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=109, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 109 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=110) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=110, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 110 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=111) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=111, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 111 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=112) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=112, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 112 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=113) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=113, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 113 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=114) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=114, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 114 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=115) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=115, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 115 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=116) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=116, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 116 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=117) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=117, SPB=0, PI=0, E=1, TI=0, bitoffs=33 @@ -7337,120 +7569,140 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because 20 frames received. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=118) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=118, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 118 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=119) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=119, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 119 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=120) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=120, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 120 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=121) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=121, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 121 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=122) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=122, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 122 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=123) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=123, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 123 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=124) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=124, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 124 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=125) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=125, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 125 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=126) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=126, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 126 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=127) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=127, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 127 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=128) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=128, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 128 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=129) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=129, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 129 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=130) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=130, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 130 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=131) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=131, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 131 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=132) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=132, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 132 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=133) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=133, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 133 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=134) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=134, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 134 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=135) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=135, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 135 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=136) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=136, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 136 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=137) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=137, SPB=0, PI=0, E=1, TI=0, bitoffs=33 @@ -7459,120 +7711,140 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because 20 frames received. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=138) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=138, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 138 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=139) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=139, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 139 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=140) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=140, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 140 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=141) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=141, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 141 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=142) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=142, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 142 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=143) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=143, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 143 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=144) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=144, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 144 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=145) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=145, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 145 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=146) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=146, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 146 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=147) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=147, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 147 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=148) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=148, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 148 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=149) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=149, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 149 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=150) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=150, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 150 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=151) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=151, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 151 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=152) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=152, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 152 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=153) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=153, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 153 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=154) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=154, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 154 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=155) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=155, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 155 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=156) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=156, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 156 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=157) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=157, SPB=0, PI=0, E=1, TI=0, bitoffs=33 @@ -7581,12 +7853,14 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Scheduling Ack/Nack, because 20 frames received. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Sending Ack/Nack already scheduled, no need to re-schedule PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=158) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=158, SPB=0, PI=0, E=1, TI=0, bitoffs=33 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) BSN 158 storing in window (0..191) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=159) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=10, BSN=159, SPB=0, PI=0, E=1, TI=0, bitoffs=33 @@ -7594,6 +7868,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) data_length=44, data=00 80 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 95 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) changes UL ACK state from GPRS_RLCMAC_UL_ACK_SEND_ACK to GPRS_RLCMAC_UL_ACK_NONE PDCH(bts=0,trx=0,ts=7) Got MCS-4 RLC block: R=0, SI=0, TFI=0, CPS=0, RSB=0, rc=385 +PDCH(bts=0,trx=0,ts=7) FN=2654283 Rx UL DATA from unexpected TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) UL DATA TFI=0 received (V(Q)=0 .. V(R)=160) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) restarting timer T3169 [acked (data)] with 5 sec. 0 microsec, cur_fn=2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) Got MCS-4 RLC data block: CV=0, BSN=64, SPB=0, PI=0, E=1, TI=0, bitoffs=33 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23492 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia99c9edad6e5bd837e9baeb4fb2683b227887957 Gerrit-Change-Number: 23492 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 25 15:40:29 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 25 Mar 2021 15:40:29 +0000 Subject: Change in osmo-pcu[master]: Properly implement N3101 In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23493 ) Change subject: Properly implement N3101 ...................................................................... Properly implement N3101 N3101 is incremented by unanswered USF requests, not from unanswered POLLs. Related: OS#5033 Change-Id: I1a55bdd39db8843976915b9f74fadb0942298413 --- M src/pdch_ul_controller.c M src/tbf.cpp M src/tbf_ul.cpp M src/tbf_ul.h M tests/tbf/TbfTest.err 5 files changed, 91 insertions(+), 76 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve daniel: Looks good to me, approved diff --git a/src/pdch_ul_controller.c b/src/pdch_ul_controller.c index c865f59..3f3776d 100644 --- a/src/pdch_ul_controller.c +++ b/src/pdch_ul_controller.c @@ -26,6 +26,7 @@ #include "sba.h" #include "pdch.h" #include "pcu_utils.h" +#include "tbf_ul.h" /* TS 44.060 Table 10.4.5.1 states maximum RRBP is N + 26. Give extra space for time diff between Tx and Rx? */ #define MAX_FN_RESERVED (27 + 50) @@ -261,7 +262,7 @@ LOGPDCH(ulc->pdch, DRLCMAC, LOGL_INFO, "Timeout for registered USF (FN=%u): %s\n", item->fn, tbf_name((struct gprs_rlcmac_tbf *)item->tbf_usf.ul_tbf)); - /* TODO: increase N3101 */ + tbf_usf_timeout(item->tbf_usf.ul_tbf); break; case PDCH_ULC_NODE_TBF_POLL: LOGPDCH(ulc->pdch, DRLCMAC, LOGL_NOTICE, diff --git a/src/tbf.cpp b/src/tbf.cpp index 7237f58..a24f536 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -637,12 +637,6 @@ poll_state = GPRS_RLCMAC_POLL_NONE; - if (n_inc(N3101)) { - TBF_SET_STATE(this, GPRS_RLCMAC_RELEASING); - T_START(this, T3169, 3169, "MAX N3101 reached", false); - return; - } - if (ul_tbf && ul_tbf->handle_ctrl_ack()) { if (!ul_tbf->ctrl_ack_to_toggle()) { LOGPTBF(this, LOGL_NOTICE, diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index f226b29..ba491f6 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -772,6 +772,15 @@ return &m_window; } +void gprs_rlcmac_ul_tbf::usf_timeout() +{ + if (n_inc(N3101)) { + TBF_SET_STATE(this, GPRS_RLCMAC_RELEASING); + T_START(this, T3169, 3169, "MAX N3101 reached", false); + return; + } +} + struct gprs_rlcmac_ul_tbf *as_ul_tbf(struct gprs_rlcmac_tbf *tbf) { if (tbf && tbf->direction == GPRS_RLCMAC_UL_TBF) @@ -779,3 +788,8 @@ else return NULL; } + +void tbf_usf_timeout(struct gprs_rlcmac_ul_tbf *tbf) +{ + tbf->usf_timeout(); +} diff --git a/src/tbf_ul.h b/src/tbf_ul.h index 0c78e10..e3de1da 100644 --- a/src/tbf_ul.h +++ b/src/tbf_ul.h @@ -86,6 +86,7 @@ uint16_t window_size() const; void set_window_size(); void update_coding_scheme_counter_ul(enum CodingScheme cs); + void usf_timeout(); /* Please note that all variables here will be reset when changing * from WAIT RELEASE back to FLOW state (re-use of TBF). @@ -133,6 +134,7 @@ void update_tbf_ta(struct gprs_rlcmac_ul_tbf *tbf, int8_t ta_delta); void set_tbf_ta(struct gprs_rlcmac_ul_tbf *tbf, uint8_t ta); struct gprs_rlcmac_ul_tbf *as_ul_tbf(struct gprs_rlcmac_tbf *tbf); +void tbf_usf_timeout(struct gprs_rlcmac_ul_tbf *tbf); #ifdef __cplusplus } #endif diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index 181114f..3b57d6a 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -1695,6 +1695,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) stopping timer T0 [control acked (DL-TBF)] PDCH(bts=0,trx=0,ts=7) Expiring FN=2654288 but previous FN=2654279 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654279): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) N3101 0 => 1 (< MAX 10) Received RTS on disabled PDCH: TRX=0 TS=0 Received RTS on disabled PDCH: TRX=0 TS=1 Received RTS on disabled PDCH: TRX=0 TS=2 @@ -1720,9 +1721,9 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) msg block (BSN 0, CS-4): 0f 01 00 29 52 41 55 5f 41 43 43 45 50 54 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 00 PDCH(bts=0,trx=0,ts=7) Expiring FN=2654292 but previous FN=2654283 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654283): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) N3101 1 => 2 (< MAX 10) PDCH(bts=0,trx=0,ts=7) Timeout for registered POLL (FN=2654292): TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) poll timeout for FN=2654292, TS=7 (curr FN 2654292) -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) N3101 0 => 1 (< MAX 10) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) N3105 0 => 1 (< MAX 8) Received RTS for PDCH: TRX=0 TS=7 FN=2654296 block_nr=2 scheduling USF=0 for required uplink resource of UL TFI=0 @@ -1772,10 +1773,10 @@ TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS PDCH(bts=0,trx=0,ts=7) Expiring FN=2654348 but previous FN=2654301 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654301): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) N3101 2 => 3 (< MAX 10) PDCH(bts=0,trx=0,ts=7) Expiring FN=2654348 but previous FN=2654309 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered POLL (FN=2654309): TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) poll timeout for FN=2654309, TS=7 (curr FN 2654348) -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) N3101 1 => 2 (< MAX 10) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) N3105 1 => 2 (< MAX 8) Received RTS for PDCH: TRX=0 TS=7 FN=2654348 block_nr=2 scheduling USF=0 for required uplink resource of UL TFI=0 @@ -1794,6 +1795,7 @@ TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) changes state from ASSIGN to FLOW PDCH(bts=0,trx=0,ts=7) Expiring FN=2654361 but previous FN=2654353 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654353): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) N3101 3 => 4 (< MAX 10) Detected FN jump! 2654361 -> 2654353 PDCH(bts=0,trx=0,ts=7) Got CS-1 RLC block: R=0, SI=0, TFI=1, CPS=0, RSB=0, rc=184 PDCH(bts=0,trx=0,ts=7) FN=2654353 Rx UL DATA from unexpected TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=FLOW) @@ -2249,6 +2251,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) stopping timer T0 [control acked (DL-TBF)] PDCH(bts=0,trx=0,ts=7) Expiring FN=2654288 but previous FN=2654279 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654279): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) N3101 0 => 1 (< MAX 10) Received RTS on disabled PDCH: TRX=0 TS=0 Received RTS on disabled PDCH: TRX=0 TS=1 Received RTS on disabled PDCH: TRX=0 TS=2 @@ -2829,49 +2832,71 @@ TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=2654379 PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654283 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654283): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) N3101 1 => 2 (< MAX 10) PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654288 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654288): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) N3101 2 => 3 (< MAX 10) PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654292 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654292): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) N3101 3 => 4 (< MAX 10) PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654296 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654296): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) N3101 4 => 5 (< MAX 10) PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654301 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654301): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) N3101 5 => 6 (< MAX 10) PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654305 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654305): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) N3101 6 => 7 (< MAX 10) PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654309 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654309): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) N3101 7 => 8 (< MAX 10) PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654314 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654314): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) N3101 8 => 9 (< MAX 10) PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654318 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654318): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) N3101 exceeded MAX (10) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) changes state from FLOW to RELEASING PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654322 is still reserved! -PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654322): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654322): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 10 => 11 (< MAX 10) PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654327 is still reserved! -PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654327): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654327): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 11 => 12 (< MAX 10) PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654331 is still reserved! -PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654331): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654331): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 12 => 13 (< MAX 10) PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654335 is still reserved! -PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654335): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654335): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 13 => 14 (< MAX 10) PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654340 is still reserved! -PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654340): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654340): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 14 => 15 (< MAX 10) PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654344 is still reserved! -PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654344): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654344): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 15 => 16 (< MAX 10) PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654348 is still reserved! -PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654348): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654348): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 16 => 17 (< MAX 10) PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654353 is still reserved! -PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654353): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654353): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 17 => 18 (< MAX 10) PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654357 is still reserved! -PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654357): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654357): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 18 => 19 (< MAX 10) PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654361 is still reserved! -PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654361): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654361): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 19 => 20 (< MAX 10) PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654366 is still reserved! -PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654366): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654366): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 20 => 21 (< MAX 10) PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654370 is still reserved! -PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654370): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654370): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 21 => 22 (< MAX 10) PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654374 is still reserved! -PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654374): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) -Received RTS for PDCH: TRX=0 TS=7 FN=2654400 block_nr=2 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654374): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 22 => 23 (< MAX 10) TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- @@ -2893,17 +2918,20 @@ TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) changes state from ASSIGN to FLOW TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) stopping timer T0 [control acked (DL-TBF)] PDCH(bts=0,trx=0,ts=7) Expiring FN=2654413 but previous FN=2654383 is still reserved! -PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654383): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654383): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 23 => 24 (< MAX 10) PDCH(bts=0,trx=0,ts=7) Expiring FN=2654413 but previous FN=2654387 is still reserved! -PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654387): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654387): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 24 => 25 (< MAX 10) PDCH(bts=0,trx=0,ts=7) Expiring FN=2654413 but previous FN=2654392 is still reserved! -PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654392): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654392): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 25 => 26 (< MAX 10) PDCH(bts=0,trx=0,ts=7) Expiring FN=2654413 but previous FN=2654396 is still reserved! -PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654396): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654396): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 26 => 27 (< MAX 10) PDCH(bts=0,trx=0,ts=7) Expiring FN=2654413 but previous FN=2654400 is still reserved! -PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654400): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) -PDCH(bts=0,trx=0,ts=7) Expiring FN=2654413 but previous FN=2654405 is still reserved! -PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654405): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654400): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 27 => 28 (< MAX 10) Received RTS on disabled PDCH: TRX=0 TS=0 Received RTS on disabled PDCH: TRX=0 TS=1 Received RTS on disabled PDCH: TRX=0 TS=2 @@ -2911,9 +2939,8 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654405 block_nr=3 scheduling USF=0 for required uplink resource of UL TFI=0 -PDCH(bts=0,trx=0,ts=7) FN=2654405 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS_GMSK-only -TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654405 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS +TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 0, CS=CS-1 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Dequeue next LLC (len=21) TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) data block (BSN 0, CS-1): 4c 4c 43 20 50 41 43 4b 45 54 20 30 30 20 28 54 42 46 20 32 @@ -2928,9 +2955,8 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654409 block_nr=4 scheduling USF=0 for required uplink resource of UL TFI=0 -PDCH(bts=0,trx=0,ts=7) FN=2654409 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS_GMSK-only -TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654409 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS +TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 1, CS=CS-1 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=21 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Dequeue next LLC (len=21) @@ -2946,9 +2972,8 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654413 block_nr=5 scheduling USF=0 for required uplink resource of UL TFI=0 -PDCH(bts=0,trx=0,ts=7) FN=2654413 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS_GMSK-only -TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654413 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS +TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 2, CS=CS-1 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=21 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Dequeue next LLC (len=21) @@ -2964,9 +2989,8 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654418 block_nr=6 scheduling USF=0 for required uplink resource of UL TFI=0 -PDCH(bts=0,trx=0,ts=7) FN=2654418 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS_GMSK-only -TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==3) mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654418 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS +TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==3) mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 3, CS=CS-1 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=21 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Dequeue next LLC (len=21) @@ -2982,9 +3006,8 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654422 block_nr=7 scheduling USF=0 for required uplink resource of UL TFI=0 -PDCH(bts=0,trx=0,ts=7) FN=2654422 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS_GMSK-only -TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==4) mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654422 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS +TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==4) mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 4, CS=CS-1 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=21 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Dequeue next LLC (len=21) @@ -3000,9 +3023,8 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654426 block_nr=8 scheduling USF=0 for required uplink resource of UL TFI=0 -PDCH(bts=0,trx=0,ts=7) FN=2654426 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS_GMSK-only -TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==5) mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654426 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS +TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==5) mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 5, CS=CS-1 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=21 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Dequeue next LLC (len=21) @@ -3018,9 +3040,8 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654431 block_nr=9 scheduling USF=0 for required uplink resource of UL TFI=0 -PDCH(bts=0,trx=0,ts=7) FN=2654431 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS_GMSK-only -TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==6) mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654431 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS +TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==6) mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 6, CS=CS-1 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=21 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Dequeue next LLC (len=21) @@ -3036,9 +3057,8 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654435 block_nr=10 scheduling USF=0 for required uplink resource of UL TFI=0 -PDCH(bts=0,trx=0,ts=7) FN=2654435 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS_GMSK-only -TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==7) mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654435 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS +TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==7) mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 7, CS=CS-1 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=21 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Dequeue next LLC (len=21) @@ -3054,9 +3074,8 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654439 block_nr=11 scheduling USF=0 for required uplink resource of UL TFI=0 -PDCH(bts=0,trx=0,ts=7) FN=2654439 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS_GMSK-only -TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==8) mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654439 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS +TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==8) mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 8, CS=CS-1 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=21 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Dequeue next LLC (len=21) @@ -3072,9 +3091,8 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654444 block_nr=0 scheduling USF=0 for required uplink resource of UL TFI=0 -PDCH(bts=0,trx=0,ts=7) FN=2654444 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS_GMSK-only -TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==9) mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654444 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS +TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==9) mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 9, CS=CS-1 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=21 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Dequeue next LLC (len=21) @@ -3090,9 +3108,8 @@ Received RTS on disabled PDCH: TRX=0 TS=4 Received RTS on disabled PDCH: TRX=0 TS=5 Received RTS on disabled PDCH: TRX=0 TS=6 -Received RTS for PDCH: TRX=0 TS=7 FN=2654448 block_nr=1 scheduling USF=0 for required uplink resource of UL TFI=0 -PDCH(bts=0,trx=0,ts=7) FN=2654448 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS_GMSK-only -TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==10) mcs_mode_restrict=EGPRS_GMSK-only +PDCH(bts=0,trx=0,ts=7) FN=2654448 Scheduling data message at RTS for DL TFI=1 prio=3 mcs_mode_restrict=EGPRS +TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==10) mcs_mode_restrict=EGPRS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Sending new block at BSN 10, CS=CS-1 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) Complete DL frame, len=21 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) changes state from FLOW to FINISHED @@ -3827,7 +3844,6 @@ PDCH(bts=0,trx=0,ts=4) Expiring FN=112 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 112) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3101 0 => 1 (< MAX 10) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge @@ -4091,7 +4107,6 @@ PDCH(bts=0,trx=0,ts=4) Expiring FN=91 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 91) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3101 0 => 1 (< MAX 10) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge @@ -4305,7 +4320,6 @@ PDCH(bts=0,trx=0,ts=4) Expiring FN=69 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 69) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3101 0 => 1 (< MAX 10) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge @@ -4499,7 +4513,6 @@ PDCH(bts=0,trx=0,ts=4) Expiring FN=60 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 60) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3101 0 => 1 (< MAX 10) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge @@ -4673,7 +4686,6 @@ PDCH(bts=0,trx=0,ts=4) Expiring FN=52 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 52) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3101 0 => 1 (< MAX 10) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge @@ -4817,7 +4829,6 @@ PDCH(bts=0,trx=0,ts=4) Expiring FN=39 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 39) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3101 0 => 1 (< MAX 10) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge @@ -4968,7 +4979,6 @@ PDCH(bts=0,trx=0,ts=4) Expiring FN=34 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 34) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3101 0 => 1 (< MAX 10) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge @@ -5108,7 +5118,6 @@ PDCH(bts=0,trx=0,ts=4) Expiring FN=30 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 30) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3101 0 => 1 (< MAX 10) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge @@ -5235,7 +5244,6 @@ PDCH(bts=0,trx=0,ts=4) Expiring FN=26 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 26) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3101 0 => 1 (< MAX 10) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge @@ -5481,7 +5489,6 @@ PDCH(bts=0,trx=0,ts=4) Expiring FN=63 but previous FN=21 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=21): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=21, TS=4 (curr FN 63) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3101 0 => 1 (< MAX 10) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge @@ -5558,7 +5565,6 @@ PDCH(bts=0,trx=0,ts=4) Expiring FN=63 but previous FN=21 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=21): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=21, TS=4 (curr FN 63) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3101 0 => 1 (< MAX 10) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge @@ -5635,7 +5641,6 @@ PDCH(bts=0,trx=0,ts=4) Expiring FN=63 but previous FN=17 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=17, TS=4 (curr FN 63) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3101 0 => 1 (< MAX 10) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge @@ -5712,7 +5717,6 @@ PDCH(bts=0,trx=0,ts=4) Expiring FN=63 but previous FN=17 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=17, TS=4 (curr FN 63) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3101 0 => 1 (< MAX 10) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23493 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I1a55bdd39db8843976915b9f74fadb0942298413 Gerrit-Change-Number: 23493 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 25 15:49:39 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 25 Mar 2021 15:49:39 +0000 Subject: Change in libosmocore[master]: gprs_ns2: fix memory leaks when receiving SNS or invalid packets In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23484 ) Change subject: gprs_ns2: fix memory leaks when receiving SNS or invalid packets ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23484 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I8834d3f092e6cbe4f527e95e1eebd8133a386207 Gerrit-Change-Number: 23484 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 25 Mar 2021 15:49:39 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Thu Mar 25 15:55:06 2021 From: admin at opensuse.org (OBS Notification) Date: Thu, 25 Mar 2021 15:55:06 +0000 Subject: Build failure of network:osmocom:nightly/osmo-fl2k in Raspbian_10/armv7l In-Reply-To: References: Message-ID: <605cb26c147ed_a602af4fbf7c5f4219618f@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-fl2k/Raspbian_10/armv7l Package network:osmocom:nightly/osmo-fl2k failed to build in Raspbian_10/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-fl2k Last lines of build log: [ 69s] No diversion 'diversion of /usr/share/man/man1/sh.1.gz by bash', none removed. [ 69s] Adding 'diversion of /usr/share/man/man1/sh.1.gz to /usr/share/man/man1/sh.distrib.1.gz by dash' [ 69s] [166/205] installing g++-4:8.3.0-1+rpi2 [ 69s] update-alternatives: using /usr/bin/g++ to provide /usr/bin/c++ (c++) in auto mode [ 69s] [167/205] installing gawk-1:4.2.1+dfsg-1 [ 69s] [168/205] installing libtool-2.4.6-9 [ 70s] [169/205] installing libperl5.28-5.28.1-6 [ 71s] Processing triggers for libc-bin (2.28-10+rpi1) ... [ 71s] [170/205] installing procps-2:3.3.15-2 [ 71s] update-alternatives: using /usr/bin/w.procps to provide /usr/bin/w (w) in auto mode [ 71s] insserv: FATAL: service mountkernfs has to be enabled to use service procps [ 71s] [171/205] installing man-db-2.8.5-2 [ 72s] Building database of manual pages ... [ 83s] [172/205] installing libkmod2-26-1 [ 83s] dpkg-deb (subprocess): decompressing archive member: lzma error: compressed data is corrupt [ 83s] dpkg-deb: error: subprocess returned error exit status 2 [ 83s] dpkg: error processing archive .init_b_cache/libkmod2.deb (--install): [ 83s] cannot copy extracted data for './usr/lib/arm-linux-gnueabihf/libkmod.so.2.3.4' to '/usr/lib/arm-linux-gnueabihf/libkmod.so.2.3.4.dpkg-new': unexpected end of file or stream [ 83s] Processing triggers for libc-bin (2.28-10+rpi1) ... [ 83s] Errors were encountered while processing: [ 83s] .init_b_cache/libkmod2.deb [ 83s] exit ... [ 83s] ### VM INTERACTION START ### [ 86s] [ 68.495043] sysrq: SysRq : Power Off [ 86s] [ 68.496551] reboot: Power down [ 86s] ### VM INTERACTION END ### [ 86s] [ 86s] armbuild04 failed "build osmo-fl2k_0.1.1.28.197f.dsc" at Thu Mar 25 15:54:49 UTC 2021. [ 86s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Mar 25 15:59:57 2021 From: admin at opensuse.org (OBS Notification) Date: Thu, 25 Mar 2021 15:59:57 +0000 Subject: Build failure of network:osmocom:latest/libosmocore in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <605cb3985e821_a602af4fbf7c5f42198786@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/libosmocore/openSUSE_Factory_ARM/armv7l Package network:osmocom:latest/libosmocore failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:latest libosmocore Last lines of build log: [ 292s] RPMS/armv7hl/libosmovty9-1.5.1-2.5.armv7hl.rpm [ 292s] RPMS/armv7hl/libosmocoding0-1.5.1-2.5.armv7hl.rpm [ 292s] RPMS/armv7hl/libosmosim2-1.5.1-2.5.armv7hl.rpm [ 292s] RPMS/armv7hl/libosmogb-devel-1.5.1-2.5.armv7hl.rpm [ 292s] RPMS/armv7hl/libosmocore-tools-1.5.1-2.5.armv7hl.rpm [ 292s] RPMS/armv7hl/libosmoctrl0-1.5.1-2.5.armv7hl.rpm [ 292s] RPMS/armv7hl/libosmovty-devel-1.5.1-2.5.armv7hl.rpm [ 292s] RPMS/armv7hl/libosmousb0-1.5.1-2.5.armv7hl.rpm [ 292s] RPMS/armv7hl/libosmocodec0-1.5.1-2.5.armv7hl.rpm [ 292s] RPMS/armv7hl/libosmosim-devel-1.5.1-2.5.armv7hl.rpm [ 292s] RPMS/armv7hl/libosmoctrl-devel-1.5.1-2.5.armv7hl.rpm [ 292s] RPMS/armv7hl/libosmocoding-devel-1.5.1-2.5.armv7hl.rpm [ 292s] RPMS/armv7hl/libosmocodec-devel-1.5.1-2.5.armv7hl.rpm [ 292s] RPMS/armv7hl/libosmousb-devel-1.5.1-2.5.armv7hl.rpm [ 292s] SRPMS/libosmocore-1.5.1-2.5.src.rpm [ 292s] OTHER/_statistics [ 292s] OTHER/rpmlint.log [ 292s] [ 292s] armbuild04 finished "build libosmocore.spec" at Thu Mar 25 15:59:48 UTC 2021. [ 292s] [ 292s] ### VM INTERACTION START ### [ 295s] [ 283.737583] sysrq: Power Off [ 295s] [ 283.756625] reboot: Power down [ 296s] ### VM INTERACTION END ### [ 296s] mkdir: cannot create directory '/var/cache/obs/worker/root_1/.mount/.build.packages': Structure needs cleaning [ 296s] /var/run/obs/worker/1/build/build-vm: line 1025: cd: /var/cache/obs/worker/root_1/.mount/.build.packages: Structure needs cleaning [ 296s] [ 296s] armbuild04 failed "build libosmocore.spec" at Thu Mar 25 15:59:52 UTC 2021. [ 296s] -- 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 Mar 25 16:02:50 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 25 Mar 2021 16:02:50 +0000 Subject: Change in osmo-sgsn[master]: gmm_fsm: Expect E_GMM_COMMON_PROC_INIT_REQ when in ST_GMM_COMMON_PROC... References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/23498 ) Change subject: gmm_fsm: Expect E_GMM_COMMON_PROC_INIT_REQ when in ST_GMM_COMMON_PROC_INIT ...................................................................... gmm_fsm: Expect E_GMM_COMMON_PROC_INIT_REQ when in ST_GMM_COMMON_PROC_INIT Due to whatever errors, the MS may re-init the Common Procedure by retransmitting a GPRS Attach Request while we are for instance aiting for Identity to be resolved. See this log: MM(---/ffffffff) -> GMM ATTACH REQUEST MI(3903513414) type="GPRS attach" GMM(gmm_fsm)[0x8136110]{Deregistered}: Allocated GMM_ATTACH_REQ_FSM(gb_gmm_req)[0x81383c0]{Init}: Allocated MM_STATE_Gb[0x8138ac0]{Idle}: Allocated MM_STATE_Iu[0x8138bb0]{Detached}: Allocated GMM(gmm_fsm)[0x8136110]{Deregistered}: Received Event E_GMM_COMMON_PROC_INIT_REQ GMM(gmm_fsm)[0x8136110]{Deregistered}: state_chg to CommonProcedureInitiated GMM_ATTACH_REQ_FSM(gb_gmm_req)[0x81383c0]{Init}: Received Event E_ATTACH_REQ_RECV GMM_ATTACH_REQ_FSM(gb_gmm_req)[0x81383c0]{Init}: state_chg to CheckIdentity MM(/fba673a2) <- GPRS IDENTITY REQUEST: mi_type=IMEI UE(0x2){001-01-10422-99} Received GSM 04.08 message type 0x16, but no MM context available GMM_ATTACH_REQ_FSM(gb_gmm_req)[0x81383c0]{CheckIdentity}: Timeout of T3370 MM(/fba673a2) <- GPRS IDENTITY REQUEST: mi_type=IMEI [Failure to handle GSM48_MT_GMM_ID_RESP and subsequent retransmission of GPRS IDENTITY REQUEST happens a couple times here] MM(---/ffffffff) -> GMM ATTACH REQUEST MI(3903513414) type="GPRS attach" GMM(gmm_fsm)[0x8136110]{CommonProcedureInitiated}: Received Event E_GMM_COMMON_PROC_INIT_REQ GMM(gmm_fsm)[0x8136110]{CommonProcedureInitiated}: Event E_GMM_COMMON_PROC_INIT_REQ not permitted GMM_ATTACH_REQ_FSM(gb_gmm_req)[0x81383c0]{CheckIdentity}: Received Event E_ATTACH_REQ_RECV [Here IDENTITY REQUEST is sent again, and this time MS answers ID RESPONSE back and goes forward] Related: SYS#5389 Change-Id: I93d7d6bc694c84223a11d075d24c234b82b73389 --- M src/sgsn/gprs_gmm_fsm.c 1 file changed, 6 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/98/23498/1 diff --git a/src/sgsn/gprs_gmm_fsm.c b/src/sgsn/gprs_gmm_fsm.c index 886726c..caec586 100644 --- a/src/sgsn/gprs_gmm_fsm.c +++ b/src/sgsn/gprs_gmm_fsm.c @@ -57,6 +57,10 @@ static void st_gmm_common_proc_init(struct osmo_fsm_inst *fi, uint32_t event, void *data) { switch(event) { + case E_GMM_COMMON_PROC_INIT_REQ: + /* MS may retransmit GPRS Attach Request if for some reason + * CommonProcedure didn't go forward correctly */ + break; /* TODO: events not used case E_GMM_LOWER_LAYER_FAILED: case E_GMM_COMMON_PROC_FAILED: @@ -126,7 +130,8 @@ /* X(E_GMM_LOWER_LAYER_FAILED) | */ /* X(E_GMM_COMMON_PROC_FAILED) | */ X(E_GMM_COMMON_PROC_SUCCESS) | - X(E_GMM_ATTACH_SUCCESS), + X(E_GMM_ATTACH_SUCCESS) | + X(E_GMM_COMMON_PROC_INIT_REQ), .out_state_mask = X(ST_GMM_DEREGISTERED) | X(ST_GMM_REGISTERED_NORMAL), -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/23498 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I93d7d6bc694c84223a11d075d24c234b82b73389 Gerrit-Change-Number: 23498 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 Mar 25 16:04:15 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 25 Mar 2021 16:04:15 +0000 Subject: Change in osmo-sgsn[master]: gmm: log GMM msg type name instead of number In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/23496 ) Change subject: gmm: log GMM msg type name instead of number ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/23496 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I2dc6eb5bfb0f44caf2687e582d660f71fdd647a2 Gerrit-Change-Number: 23496 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Comment-Date: Thu, 25 Mar 2021 16:04:15 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 25 16:17:28 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 25 Mar 2021 16:17:28 +0000 Subject: Change in osmo-sgsn[master]: ranap: log ranap iu event type name instead of number In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/23495 ) Change subject: ranap: log ranap iu event type name instead of number ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/23495 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: If66e9d5989b46abe01855a5c1183d567d358abeb Gerrit-Change-Number: 23495 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 25 Mar 2021 16:17:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 25 16:17:44 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 25 Mar 2021 16:17:44 +0000 Subject: Change in osmo-sgsn[master]: gmm: log GMM msg type name instead of number In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/23496 ) Change subject: gmm: log GMM msg type name instead of number ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/23496 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I2dc6eb5bfb0f44caf2687e582d660f71fdd647a2 Gerrit-Change-Number: 23496 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 25 Mar 2021 16:17: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 Mar 25 16:18:24 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 25 Mar 2021 16:18:24 +0000 Subject: Change in osmo-sgsn[master]: gmm: Expect E_VLR_ANSWERED when in ST_IU_SECURITY_CMD In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/23497 ) Change subject: gmm: Expect E_VLR_ANSWERED when in ST_IU_SECURITY_CMD ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/23497 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: If348ff32faa4a709b59ee1b9b043883a7d46cf93 Gerrit-Change-Number: 23497 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 25 Mar 2021 16:18:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 25 16:18:43 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 25 Mar 2021 16:18:43 +0000 Subject: Change in osmo-sgsn[master]: gmm_fsm: Expect E_GMM_COMMON_PROC_INIT_REQ when in ST_GMM_COMMON_PROC... In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/23498 ) Change subject: gmm_fsm: Expect E_GMM_COMMON_PROC_INIT_REQ when in ST_GMM_COMMON_PROC_INIT ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/23498 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I93d7d6bc694c84223a11d075d24c234b82b73389 Gerrit-Change-Number: 23498 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Thu, 25 Mar 2021 16: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 Thu Mar 25 16:21:34 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 25 Mar 2021 16:21:34 +0000 Subject: Change in osmo-bsc[master]: fix/refactor neighbor config In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23360 ) Change subject: fix/refactor neighbor config ...................................................................... Patch Set 4: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23360 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9ed992f8bfff888b3933733c0576f92d50f2625b Gerrit-Change-Number: 23360 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Thu, 25 Mar 2021 16:21: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 Thu Mar 25 16:23:26 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 25 Mar 2021 16:23:26 +0000 Subject: Change in pysim[master]: cards: don't use pyTLV In-Reply-To: References: Message-ID: dexter has abandoned this change. ( https://gerrit.osmocom.org/c/pysim/+/23475 ) Change subject: cards: don't use pyTLV ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23475 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I17009223f55a9efadfde419c5514702496072cb9 Gerrit-Change-Number: 23475 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 25 16:26:59 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 25 Mar 2021 16:26:59 +0000 Subject: Change in osmo-sgsn[master]: ranap: log ranap iu event type name instead of number In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/23495 ) Change subject: ranap: log ranap iu event type name instead of number ...................................................................... ranap: log ranap iu event type name instead of number Change-Id: If66e9d5989b46abe01855a5c1183d567d358abeb --- M src/sgsn/gprs_ranap.c 1 file changed, 2 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/src/sgsn/gprs_ranap.c b/src/sgsn/gprs_ranap.c index 1f8ed97..2d2d3aa 100644 --- a/src/sgsn/gprs_ranap.c +++ b/src/sgsn/gprs_ranap.c @@ -120,7 +120,8 @@ mm = sgsn_mm_ctx_by_ue_ctx(ctx); if (!mm) { - LOGIUP(ctx, LOGL_NOTICE, "Cannot find mm ctx for IU event %d\n", type); + LOGIUP(ctx, LOGL_NOTICE, "Cannot find mm ctx for IU event %s\n", + ranap_iu_event_type_str(type)); ranap_iu_free_ue(ctx); return rc; } -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/23495 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: If66e9d5989b46abe01855a5c1183d567d358abeb Gerrit-Change-Number: 23495 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 Mar 25 16:27:00 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 25 Mar 2021 16:27:00 +0000 Subject: Change in osmo-sgsn[master]: gmm: log GMM msg type name instead of number In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/23496 ) Change subject: gmm: log GMM msg type name instead of number ...................................................................... gmm: log GMM msg type name instead of number Change-Id: I2dc6eb5bfb0f44caf2687e582d660f71fdd647a2 --- M src/sgsn/gprs_gmm.c 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified dexter: Looks good to me, but someone else must approve fixeria: Looks good to me, approved diff --git a/src/sgsn/gprs_gmm.c b/src/sgsn/gprs_gmm.c index 2367338..2ba6d08 100644 --- a/src/sgsn/gprs_gmm.c +++ b/src/sgsn/gprs_gmm.c @@ -2111,9 +2111,9 @@ null_mmctx: LOGGBIUP(llme, msg, LOGL_ERROR, - "Received GSM 04.08 message type 0x%02x," + "Received GSM 04.08 message type %s," " but no MM context available\n", - gh->msg_type); + get_value_string(gprs_msgt_gmm_names, gh->msg_type)); return -EINVAL; } -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/23496 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I2dc6eb5bfb0f44caf2687e582d660f71fdd647a2 Gerrit-Change-Number: 23496 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 25 16:27:46 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 25 Mar 2021 16:27:46 +0000 Subject: Change in osmo-bts[master]: sched_lchan_tchh: fix frame number and fill FACCH gap In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/21329 ) Change subject: sched_lchan_tchh: fix frame number and fill FACCH gap ...................................................................... Patch Set 3: (1 comment) > Patch Set 3: > > trying to unblock this: Do we have a test case for this that can show the problem is fixed by this patch? dexter? If so, then I think we should merge the patch as-is, asap. Yes, there is a TTCN3 testcase that triggers the problem: TC_meas_res_speech_tchh_facch should pass after the patch is merged. https://gerrit.osmocom.org/c/osmo-bts/+/21329/2/src/osmo-bts-trx/sched_lchan_tchh.c File src/osmo-bts-trx/sched_lchan_tchh.c: https://gerrit.osmocom.org/c/osmo-bts/+/21329/2/src/osmo-bts-trx/sched_lchan_tchh.c at 71 PS2, Line 71: unsigned int fn_tch_end; > ws Done -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/21329 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1ad9fa3815feb2b4da608ab7df716a87ba1f2f91 Gerrit-Change-Number: 21329 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Thu, 25 Mar 2021 16:27:46 +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 Mar 25 16:53:16 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 25 Mar 2021 16:53:16 +0000 Subject: Change in pysim[master]: cards: don't use pyTLV In-Reply-To: References: Message-ID: dexter has restored this change. ( https://gerrit.osmocom.org/c/pysim/+/23475 ) Change subject: cards: don't use pyTLV ...................................................................... Restored -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23475 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I17009223f55a9efadfde419c5514702496072cb9 Gerrit-Change-Number: 23475 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: restore -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 25 16:57:52 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 25 Mar 2021 16:57:52 +0000 Subject: Change in osmo-sgsn[master]: gmm: Send event E_PMM_PS_CONN_ESTABLISH upon rx GMM SERVICE REQUEST References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/23499 ) Change subject: gmm: Send event E_PMM_PS_CONN_ESTABLISH upon rx GMM SERVICE REQUEST ...................................................................... gmm: Send event E_PMM_PS_CONN_ESTABLISH upon rx GMM SERVICE REQUEST Attach event should only be triggered by rx Attach Request, not other messages. Furthermore, currently E_PMM_PS_CONN_ESTABLISH is defined and expected in FSM but not sent by anyone. Also, The opposite transition is done by E_PMM_PS_CONN_RELEASE: """ MM_STATE_Iu(0)[0x81379b0]{Connected}: Received Event E_PMM_PS_CONN_RELEASE MM_STATE_Iu(0)[0x81379b0]{Connected}: state_chg to Idle ... MM(001010123456063/c8b8bd08) -> GMM SERVICE REQUEST MI(3367550216) type="signalling" MM_STATE_Iu(0)[0x81379b0]{Idle}: Received Event E_PMM_PS_ATTACH MM_STATE_Iu(0)[0x81379b0]{Idle}: Event E_PMM_PS_ATTACH not permitted """ Related: SYS#5389 Change-Id: Ica00891f91834522f4dea2508b62af34e4c4eca7 --- M src/sgsn/gprs_gmm.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/99/23499/1 diff --git a/src/sgsn/gprs_gmm.c b/src/sgsn/gprs_gmm.c index 2ba6d08..545c8e7 100644 --- a/src/sgsn/gprs_gmm.c +++ b/src/sgsn/gprs_gmm.c @@ -936,7 +936,7 @@ #ifdef BUILD_IU case GSM48_MT_GMM_SERVICE_REQ: ctx->pending_req = 0; - osmo_fsm_inst_dispatch(ctx->iu.mm_state_fsm, E_PMM_PS_ATTACH, NULL); + osmo_fsm_inst_dispatch(ctx->iu.mm_state_fsm, E_PMM_PS_CONN_ESTABLISH, NULL); rc = gsm48_tx_gmm_service_ack(ctx); if (ctx->iu.service.type != GPRS_SERVICE_T_SIGNALLING) -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/23499 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ica00891f91834522f4dea2508b62af34e4c4eca7 Gerrit-Change-Number: 23499 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 Mar 25 16:57:52 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 25 Mar 2021 16:57:52 +0000 Subject: Change in osmo-sgsn[master]: mm_iu: Expect E_PMM_PS_ATTACH when in ST_PMM_IDLE References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/23500 ) Change subject: mm_iu: Expect E_PMM_PS_ATTACH when in ST_PMM_IDLE ...................................................................... mm_iu: Expect E_PMM_PS_ATTACH when in ST_PMM_IDLE It can happen that the MS tries to attach while SGSN's MM Iu state is ST_PMM_IDLE (eg because UE was hard rebooted). Since Attach is a specific case of getting a Connection Established, also allow it as a trigger to transit to state ST_PMM_CONNECTED. Related: SYS#5389 Change-Id: Ia74a062ddc3052faad569f1428f0ddd02e5b188d --- M src/sgsn/gprs_mm_state_iu_fsm.c 1 file changed, 5 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/00/23500/1 diff --git a/src/sgsn/gprs_mm_state_iu_fsm.c b/src/sgsn/gprs_mm_state_iu_fsm.c index e571026..69b4ef0 100644 --- a/src/sgsn/gprs_mm_state_iu_fsm.c +++ b/src/sgsn/gprs_mm_state_iu_fsm.c @@ -81,6 +81,7 @@ static void st_pmm_idle(struct osmo_fsm_inst *fi, uint32_t event, void *data) { switch(event) { + case E_PMM_PS_ATTACH: case E_PMM_PS_CONN_ESTABLISH: mm_state_iu_fsm_state_chg(fi, ST_PMM_CONNECTED); break; @@ -117,7 +118,10 @@ .action = st_pmm_connected, }, [ST_PMM_IDLE] = { - .in_event_mask = X(E_PMM_IMPLICIT_DETACH) | X(E_PMM_PS_CONN_ESTABLISH), + .in_event_mask = + X(E_PMM_IMPLICIT_DETACH) | + X(E_PMM_PS_CONN_ESTABLISH) | + X(E_PMM_PS_ATTACH), .out_state_mask = X(ST_PMM_DETACHED) | X(ST_PMM_CONNECTED), .name = "Idle", .onenter = st_pmm_idle_on_enter, -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/23500 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ia74a062ddc3052faad569f1428f0ddd02e5b188d Gerrit-Change-Number: 23500 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 Mar 25 16:58:09 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 25 Mar 2021 16:58:09 +0000 Subject: Change in osmo-sgsn[master]: mm_iu: Send event E_PMM_PS_CONN_ESTABLISH upon rx GMM SERVICE REQUEST In-Reply-To: References: Message-ID: pespin has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-sgsn/+/23499 ) Change subject: mm_iu: Send event E_PMM_PS_CONN_ESTABLISH upon rx GMM SERVICE REQUEST ...................................................................... mm_iu: Send event E_PMM_PS_CONN_ESTABLISH upon rx GMM SERVICE REQUEST Attach event should only be triggered by rx Attach Request, not other messages. Furthermore, currently E_PMM_PS_CONN_ESTABLISH is defined and expected in FSM but not sent by anyone. Also, The opposite transition is done by E_PMM_PS_CONN_RELEASE: """ MM_STATE_Iu(0)[0x81379b0]{Connected}: Received Event E_PMM_PS_CONN_RELEASE MM_STATE_Iu(0)[0x81379b0]{Connected}: state_chg to Idle ... MM(001010123456063/c8b8bd08) -> GMM SERVICE REQUEST MI(3367550216) type="signalling" MM_STATE_Iu(0)[0x81379b0]{Idle}: Received Event E_PMM_PS_ATTACH MM_STATE_Iu(0)[0x81379b0]{Idle}: Event E_PMM_PS_ATTACH not permitted """ Related: SYS#5389 Change-Id: Ica00891f91834522f4dea2508b62af34e4c4eca7 --- M src/sgsn/gprs_gmm.c 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/99/23499/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/23499 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ica00891f91834522f4dea2508b62af34e4c4eca7 Gerrit-Change-Number: 23499 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 Thu Mar 25 16:58:09 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 25 Mar 2021 16:58:09 +0000 Subject: Change in osmo-sgsn[master]: mm_iu: Expect E_PMM_PS_ATTACH when in ST_PMM_IDLE In-Reply-To: References: Message-ID: pespin has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/osmo-sgsn/+/23500 ) Change subject: mm_iu: Expect E_PMM_PS_ATTACH when in ST_PMM_IDLE ...................................................................... mm_iu: Expect E_PMM_PS_ATTACH when in ST_PMM_IDLE It can happen that the MS tries to attach while SGSN's MM Iu state is ST_PMM_IDLE (eg because UE was hard rebooted). Since Attach is a specific case of getting a Connection Established, also allow it as a trigger to transit to state ST_PMM_CONNECTED. Related: SYS#5389 Change-Id: Ia74a062ddc3052faad569f1428f0ddd02e5b188d --- M src/sgsn/gprs_mm_state_iu_fsm.c 1 file changed, 5 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-sgsn refs/changes/00/23500/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/23500 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ia74a062ddc3052faad569f1428f0ddd02e5b188d Gerrit-Change-Number: 23500 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 Thu Mar 25 17:04:39 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 25 Mar 2021 17:04:39 +0000 Subject: Change in pysim[master]: commands, ts_102_221: replace pytlv with uttlv In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, daniel, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/23483 to look at the new patch set (#2). Change subject: commands, ts_102_221: replace pytlv with uttlv ...................................................................... commands, ts_102_221: replace pytlv with uttlv pytlv requires to tell it all expected tags in a TLV string that is going to be parsed. This often causes problems since TLV is by design extensible, so newer specifications may add additional tags which our code then would not tolerate. uttlv does not have such a limitation, pre defining the tags in advance is optional here. Lets use uttlv from now on. Change-Id: I971b818836aff2fbeb6769f819d496cee4bfa7cf Related: OS#4963 --- M README.md M contrib/jenkins.sh M pySim/cards.py M pySim/commands.py M pySim/ts_102_221.py M requirements.txt 6 files changed, 66 insertions(+), 48 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/83/23483/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23483 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I971b818836aff2fbeb6769f819d496cee4bfa7cf Gerrit-Change-Number: 23483 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 25 17:09:19 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 25 Mar 2021 17:09:19 +0000 Subject: Change in pysim[master]: commands, ts_102_221: replace pytlv with uttlv In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, daniel, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/23483 to look at the new patch set (#3). Change subject: commands, ts_102_221: replace pytlv with uttlv ...................................................................... commands, ts_102_221: replace pytlv with uttlv pytlv requires to tell it all expected tags in a TLV string that is going to be parsed. This often causes problems since TLV is by design extensible, so newer specifications may add additional tags which our code then would not tolerate. uttlv does not have such a limitation, pre defining the tags in advance is optional here. Lets use uttlv from now on. Change-Id: I971b818836aff2fbeb6769f819d496cee4bfa7cf Related: OS#4963 --- M README.md M contrib/jenkins.sh M pySim/cards.py M pySim/commands.py M pySim/ts_102_221.py M requirements.txt 6 files changed, 78 insertions(+), 52 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/83/23483/3 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23483 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I971b818836aff2fbeb6769f819d496cee4bfa7cf Gerrit-Change-Number: 23483 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 25 17:09:33 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 25 Mar 2021 17:09:33 +0000 Subject: Change in pysim[master]: cards: don't use pyTLV In-Reply-To: References: Message-ID: dexter has abandoned this change. ( https://gerrit.osmocom.org/c/pysim/+/23475 ) Change subject: cards: don't use pyTLV ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23475 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I17009223f55a9efadfde419c5514702496072cb9 Gerrit-Change-Number: 23475 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 25 17:18:16 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 25 Mar 2021 17:18:16 +0000 Subject: Change in osmo-sgsn[master]: gmm: Expect E_VLR_ANSWERED when in ST_IU_SECURITY_CMD In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/23497 ) Change subject: gmm: Expect E_VLR_ANSWERED when in ST_IU_SECURITY_CMD ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/23497 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: If348ff32faa4a709b59ee1b9b043883a7d46cf93 Gerrit-Change-Number: 23497 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Thu, 25 Mar 2021 17:18:16 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 25 17:18:40 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 25 Mar 2021 17:18:40 +0000 Subject: Change in osmo-sgsn[master]: gmm_fsm: Expect E_GMM_COMMON_PROC_INIT_REQ when in ST_GMM_COMMON_PROC... In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/23498 ) Change subject: gmm_fsm: Expect E_GMM_COMMON_PROC_INIT_REQ when in ST_GMM_COMMON_PROC_INIT ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/23498 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I93d7d6bc694c84223a11d075d24c234b82b73389 Gerrit-Change-Number: 23498 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Thu, 25 Mar 2021 17:18:40 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 25 17:19:14 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 25 Mar 2021 17:19:14 +0000 Subject: Change in osmo-sgsn[master]: mm_iu: Send event E_PMM_PS_CONN_ESTABLISH upon rx GMM SERVICE REQUEST In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/23499 ) Change subject: mm_iu: Send event E_PMM_PS_CONN_ESTABLISH upon rx GMM SERVICE REQUEST ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/23499 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ica00891f91834522f4dea2508b62af34e4c4eca7 Gerrit-Change-Number: 23499 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Thu, 25 Mar 2021 17:19:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 25 17:19:51 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Thu, 25 Mar 2021 17:19:51 +0000 Subject: Change in osmo-sgsn[master]: mm_iu: Expect E_PMM_PS_ATTACH when in ST_PMM_IDLE In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/23500 ) Change subject: mm_iu: Expect E_PMM_PS_ATTACH when in ST_PMM_IDLE ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/23500 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ia74a062ddc3052faad569f1428f0ddd02e5b188d Gerrit-Change-Number: 23500 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Thu, 25 Mar 2021 17:19: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 Mar 25 17:23:43 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 25 Mar 2021 17:23:43 +0000 Subject: Change in osmo-sgsn[master]: gmm: Expect E_VLR_ANSWERED when in ST_IU_SECURITY_CMD In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/23497 ) Change subject: gmm: Expect E_VLR_ANSWERED when in ST_IU_SECURITY_CMD ...................................................................... gmm: Expect E_VLR_ANSWERED when in ST_IU_SECURITY_CMD GSUP message is sent immediately before moving onto state ST_IU_SECURITY_CMD, so it's expected to receive a response for it, which will trigger event E_VLR_ANSWERED being sent. See following log showing the scenario: """ GMM_ATTACH_REQ_FSM(gb_gmm_req)[0x8137b88]{Authenticate}: Received Event E_AUTH_RESP_RECV_SUCCESS MM(001010123456789/f8bab3dc) Requesting authorization MM(001010123456789/f8bab3dc) Missing information, requesting subscriber data MM(001010123456789/f8bab3dc) Requesting subscriber data update SUBSCR(001010123456789) subscriber data is not available SUBSCR(001010123456789) Sending GSUP, will send: 04 01 08 00 01 01 21 43 65 60 f3 28 01 01 GMM_ATTACH_REQ_FSM(gb_gmm_req)[0x8137b88]{Authenticate}: state_chg to IuSecurityCommand SUBSCR(001010123456789) Received GSUP message OSMO_GSUP_MSGT_INSERT_DATA_REQUEST SUBSCR(001010123456789) Will set PDP info, context id = 1, APN = 01 2a SUBSCR(001010123456789) Updating subscriber data MM(001010123456789/f8bab3dc) Subscriber data update MM(001010123456789/f8bab3dc) Updating authorization (authenticate -> accepted) MM(001010123456789/f8bab3dc) Got authorization update: state authenticate -> accepted MM(001010123456789/f8bab3dc) Authorized, continuing procedure, IMSI=001010123456789 GMM_ATTACH_REQ_FSM(gb_gmm_req)[0x8137b88]{IuSecurityCommand}: Received Event E_VLR_ANSWERED GMM_ATTACH_REQ_FSM(gb_gmm_req)[0x8137b88]{IuSecurityCommand}: Event E_VLR_ANSWERED not permitted SUBSCR(001010123456789) Sending GSUP, will send: 12 01 08 00 01 01 21 43 65 60 f3 28 01 01 SUBSCR(001010123456789) Received GSUP message OSMO_GSUP_MSGT_UPDATE_LOCATION_RESULT SUBSCR(001010123456789) Updating subscriber data MM(001010123456789/f8bab3dc) Subscriber data update MM(001010123456789/f8bab3dc) Updating authorization (accepted -> accepted) sccp_sap_up(N-DATA.indication) N-DATA.ind(2, 20 06 00 08 00 00 01 00 06 00 01 00 ) handle_co(dir=2, proc=6) Transmitting RANAP CommonID (SCCP conn_id 2) GMM_ATTACH_REQ_FSM(gb_gmm_req)[0x8137b88]{IuSecurityCommand}: Received Event E_IU_SECURITY_CMD_COMPLETE GMM_ATTACH_REQ_FSM(gb_gmm_req)[0x8137b88]{IuSecurityCommand}: state_chg to WaitAttachComplete """ Related: SYS#5389 Change-Id: If348ff32faa4a709b59ee1b9b043883a7d46cf93 --- M src/sgsn/gprs_gmm_attach.c 1 file changed, 8 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/sgsn/gprs_gmm_attach.c b/src/sgsn/gprs_gmm_attach.c index c903a01..629cc53 100644 --- a/src/sgsn/gprs_gmm_attach.c +++ b/src/sgsn/gprs_gmm_attach.c @@ -272,6 +272,13 @@ static void st_iu_security_cmd(struct osmo_fsm_inst *fi, uint32_t event, void *data) { switch(event) { + case E_VLR_ANSWERED: + /* We may receive an event due to rx + * OSMO_GSUP_MSGT_INSERT_DATA_REQUEST here. Do nothing, update of + * subscriber is done by lower layers before event is signalled. + * In this state we simply wait for E_IU_SECURITY_CMD_COMPLETE + */ + break; case E_IU_SECURITY_CMD_COMPLETE: gmm_attach_fsm_state_chg(fi, ST_ACCEPT); break; @@ -308,7 +315,7 @@ .action = st_auth, }, [ST_IU_SECURITY_CMD] = { - .in_event_mask = X(E_IU_SECURITY_CMD_COMPLETE), + .in_event_mask = X(E_IU_SECURITY_CMD_COMPLETE) | X(E_VLR_ANSWERED), .out_state_mask = X(ST_INIT) | X(ST_AUTH) | X(ST_ACCEPT) | X(ST_REJECT), .name = "IuSecurityCommand", .onenter = st_iu_security_cmd_on_enter, -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/23497 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: If348ff32faa4a709b59ee1b9b043883a7d46cf93 Gerrit-Change-Number: 23497 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Thu Mar 25 17:23:44 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Thu, 25 Mar 2021 17:23:44 +0000 Subject: Change in osmo-sgsn[master]: gmm_fsm: Expect E_GMM_COMMON_PROC_INIT_REQ when in ST_GMM_COMMON_PROC... In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/23498 ) Change subject: gmm_fsm: Expect E_GMM_COMMON_PROC_INIT_REQ when in ST_GMM_COMMON_PROC_INIT ...................................................................... gmm_fsm: Expect E_GMM_COMMON_PROC_INIT_REQ when in ST_GMM_COMMON_PROC_INIT Due to whatever errors, the MS may re-init the Common Procedure by retransmitting a GPRS Attach Request while we are for instance aiting for Identity to be resolved. See this log: MM(---/ffffffff) -> GMM ATTACH REQUEST MI(3903513414) type="GPRS attach" GMM(gmm_fsm)[0x8136110]{Deregistered}: Allocated GMM_ATTACH_REQ_FSM(gb_gmm_req)[0x81383c0]{Init}: Allocated MM_STATE_Gb[0x8138ac0]{Idle}: Allocated MM_STATE_Iu[0x8138bb0]{Detached}: Allocated GMM(gmm_fsm)[0x8136110]{Deregistered}: Received Event E_GMM_COMMON_PROC_INIT_REQ GMM(gmm_fsm)[0x8136110]{Deregistered}: state_chg to CommonProcedureInitiated GMM_ATTACH_REQ_FSM(gb_gmm_req)[0x81383c0]{Init}: Received Event E_ATTACH_REQ_RECV GMM_ATTACH_REQ_FSM(gb_gmm_req)[0x81383c0]{Init}: state_chg to CheckIdentity MM(/fba673a2) <- GPRS IDENTITY REQUEST: mi_type=IMEI UE(0x2){001-01-10422-99} Received GSM 04.08 message type 0x16, but no MM context available GMM_ATTACH_REQ_FSM(gb_gmm_req)[0x81383c0]{CheckIdentity}: Timeout of T3370 MM(/fba673a2) <- GPRS IDENTITY REQUEST: mi_type=IMEI [Failure to handle GSM48_MT_GMM_ID_RESP and subsequent retransmission of GPRS IDENTITY REQUEST happens a couple times here] MM(---/ffffffff) -> GMM ATTACH REQUEST MI(3903513414) type="GPRS attach" GMM(gmm_fsm)[0x8136110]{CommonProcedureInitiated}: Received Event E_GMM_COMMON_PROC_INIT_REQ GMM(gmm_fsm)[0x8136110]{CommonProcedureInitiated}: Event E_GMM_COMMON_PROC_INIT_REQ not permitted GMM_ATTACH_REQ_FSM(gb_gmm_req)[0x81383c0]{CheckIdentity}: Received Event E_ATTACH_REQ_RECV [Here IDENTITY REQUEST is sent again, and this time MS answers ID RESPONSE back and goes forward] Related: SYS#5389 Change-Id: I93d7d6bc694c84223a11d075d24c234b82b73389 --- M src/sgsn/gprs_gmm_fsm.c 1 file changed, 6 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/sgsn/gprs_gmm_fsm.c b/src/sgsn/gprs_gmm_fsm.c index 886726c..caec586 100644 --- a/src/sgsn/gprs_gmm_fsm.c +++ b/src/sgsn/gprs_gmm_fsm.c @@ -57,6 +57,10 @@ static void st_gmm_common_proc_init(struct osmo_fsm_inst *fi, uint32_t event, void *data) { switch(event) { + case E_GMM_COMMON_PROC_INIT_REQ: + /* MS may retransmit GPRS Attach Request if for some reason + * CommonProcedure didn't go forward correctly */ + break; /* TODO: events not used case E_GMM_LOWER_LAYER_FAILED: case E_GMM_COMMON_PROC_FAILED: @@ -126,7 +130,8 @@ /* X(E_GMM_LOWER_LAYER_FAILED) | */ /* X(E_GMM_COMMON_PROC_FAILED) | */ X(E_GMM_COMMON_PROC_SUCCESS) | - X(E_GMM_ATTACH_SUCCESS), + X(E_GMM_ATTACH_SUCCESS) | + X(E_GMM_COMMON_PROC_INIT_REQ), .out_state_mask = X(ST_GMM_DEREGISTERED) | X(ST_GMM_REGISTERED_NORMAL), -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/23498 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: I93d7d6bc694c84223a11d075d24c234b82b73389 Gerrit-Change-Number: 23498 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Thu Mar 25 17:50:01 2021 From: admin at opensuse.org (OBS Notification) Date: Thu, 25 Mar 2021 17:50:01 +0000 Subject: Build failure of network:osmocom:nightly/osmo-fl2k in Debian_10/armv7l In-Reply-To: References: Message-ID: <605ccd5caed58_a602af4fbf7c5f42235243@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-fl2k/Debian_10/armv7l Package network:osmocom:nightly/osmo-fl2k failed to build in Debian_10/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-fl2k Last lines of build log: [ 118s] dpkg-source --after-build . [ 118s] dpkg-buildpackage: info: full upload; Debian-native package (full source is included) [ 118s] ln: failed to create hard link '///usr/src/packages/DEBS/osmo-fl2k_0.1.1.28.197f.dsc': File exists [ 118s] ln: failed to create hard link '///usr/src/packages/DEBS/osmo-fl2k_0.1.1.28.197f.tar.xz': File exists [ 119s] Warning: mkbaselibs missing in build root, skipping baselibs [ 119s] ... saving statistics [ 119s] ... saving built packages [ 119s] DEBS/osmo-fl2k_0.1.1.28.197f_armhf.buildinfo [ 119s] DEBS/osmo-fl2k-dbgsym_0.1.1.28.197f_armhf.deb [ 119s] DEBS/osmo-fl2k_0.1.1.28.197f.dsc [ 119s] DEBS/osmo-fl2k_0.1.1.28.197f.tar.xz [ 119s] DEBS/libosmo-fl2k0-dbgsym_0.1.1.28.197f_armhf.deb [ 119s] DEBS/libosmo-fl2k0_0.1.1.28.197f_armhf.deb [ 119s] DEBS/osmo-fl2k_0.1.1.28.197f_armhf.changes [ 119s] DEBS/libosmo-fl2k-dev_0.1.1.28.197f_armhf.deb [ 119s] DEBS/osmo-fl2k_0.1.1.28.197f_armhf.deb [ 119s] OTHER/_statistics [ 119s] [ 119s] armbuild04 finished "build osmo-fl2k_0.1.1.28.197f.dsc" at Thu Mar 25 17:49:55 UTC 2021. [ 119s] [ 119s] ### VM INTERACTION START ### [ 122s] [ 107.009411] sysrq: SysRq : Power Off [ 122s] [ 107.029136] reboot: Power down [ 122s] ### VM INTERACTION END ### [ 122s] mkdir: cannot create directory '/var/cache/obs/worker/root_1/.mount/.build.packages': Structure needs cleaning [ 122s] /var/run/obs/worker/1/build/build-vm: line 1025: cd: /var/cache/obs/worker/root_1/.mount/.build.packages: Structure needs cleaning [ 122s] [ 122s] armbuild04 failed "build osmo-fl2k_0.1.1.28.197f.dsc" at Thu Mar 25 17:49:59 UTC 2021. [ 122s] -- 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 Mar 25 19:37:06 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 25 Mar 2021 19:37:06 +0000 Subject: Change in pysim[master]: pySim-shell: fix verify_chv command References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/23501 ) Change subject: pySim-shell: fix verify_chv command ...................................................................... pySim-shell: fix verify_chv command The verify_chv command passes the code directly to _scc.verify_chv(), but this method accepts bytes not an ascii string. Like with verfy_adm we need to run the code through sanitize_pin_adm() and h2b() first. Change-Id: I3a003fc57bcf6c4f0a1ea8142e08b3183e655fad Related: OS#4963 --- M pySim-shell.py 1 file changed, 2 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/01/23501/1 diff --git a/pySim-shell.py b/pySim-shell.py index 946b3e5..078a5d3 100755 --- a/pySim-shell.py +++ b/pySim-shell.py @@ -109,7 +109,8 @@ @cmd2.with_argparser(verify_chv_parser) def do_verify_chv(self, opts): """Verify (authenticate) using specified CHV (PIN)""" - (data, sw) = self._cmd.card._scc.verify_chv(opts.chv_nr, opts.code) + chv = sanitize_pin_adm(opts.code) + (data, sw) = self._cmd.card._scc.verify_chv(opts.chv_nr, h2b(chv)) self._cmd.poutput(data) dir_parser = argparse.ArgumentParser() -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23501 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I3a003fc57bcf6c4f0a1ea8142e08b3183e655fad Gerrit-Change-Number: 23501 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 Mar 25 19:37:07 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Thu, 25 Mar 2021 19:37:07 +0000 Subject: Change in pysim[master]: commands: improve exception string of verify_chv() References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/23502 ) Change subject: commands: improve exception string of verify_chv() ...................................................................... commands: improve exception string of verify_chv() The execption string in verify_chv() is ADM centric, but since pySim-shell also allows the user to verify a regular chv (PIN), this string also appears when the verify_chv command is used with a wrong PIN. Lets make it more generic and lets also output the CHV number so that the user knows which CHV type was tried. Change-Id: I41602de8edd22bea30ac68cb1c41e20ea1e4549c Related: OS#4963 --- M pySim/commands.py 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/02/23502/1 diff --git a/pySim/commands.py b/pySim/commands.py index 9aed588..cd045c9 100644 --- a/pySim/commands.py +++ b/pySim/commands.py @@ -207,5 +207,5 @@ fc = rpad(b2h(code), 16) data, sw = self._tp.send_apdu(self.cla_byte + '2000' + ('%02X' % chv_no) + '08' + fc) if (sw != '9000'): - raise RuntimeError('Failed to authenticate with ADM key %s, %i tries left.' % (code, int(sw[3]))) + raise RuntimeError('Failed to authenticate chv_no 0x%02X with code 0x%s, %i tries left.' % (chv_no, b2h(code).upper(), int(sw[3]))) return (data,sw) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23502 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I41602de8edd22bea30ac68cb1c41e20ea1e4549c Gerrit-Change-Number: 23502 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 Mar 25 21:49:30 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Thu, 25 Mar 2021 21:49:30 +0000 Subject: Change in pysim[master]: pySim-shell: fix verify_chv command In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23501 ) Change subject: pySim-shell: fix verify_chv command ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/pysim/+/23501/1/pySim-shell.py File pySim-shell.py: https://gerrit.osmocom.org/c/pysim/+/23501/1/pySim-shell.py at 112 PS1, Line 112: sanitize_pin_adm Does the same set of limitations apply to CHV-PIN as for ADM-PIN? Maybe the function can be generalized to handle all kinds of PIN... -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23501 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I3a003fc57bcf6c4f0a1ea8142e08b3183e655fad Gerrit-Change-Number: 23501 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-Comment-Date: Thu, 25 Mar 2021 21:49:30 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Thu Mar 25 23:29:50 2021 From: admin at opensuse.org (OBS Notification) Date: Thu, 25 Mar 2021 23:29:50 +0000 Subject: Build failure of network:osmocom:latest/libusrp in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <605d1cf65186d_a602af4fbf7c5f423544f3@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/libusrp/openSUSE_Factory_ARM/armv7l Package network:osmocom:latest/libusrp failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:latest libusrp Last lines of build log: getbinaries: missing packages: libsepol1 libsemanage1 (worker was obs-arm-5:13) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Mar 25 23:31:49 2021 From: admin at opensuse.org (OBS Notification) Date: Thu, 25 Mar 2021 23:31:49 +0000 Subject: Build failure of network:osmocom:latest/ulfius in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <605d1d88e91b_a602af4fbf7c5f423551ac@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/ulfius/openSUSE_Factory_ARM/armv7l Package network:osmocom:latest/ulfius failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:latest ulfius Last lines of build log: getbinaries: missing packages: libsemanage1 libsepol1 (worker was obs-arm-6:4) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Thu Mar 25 23:33:31 2021 From: admin at opensuse.org (OBS Notification) Date: Thu, 25 Mar 2021 23:33:31 +0000 Subject: Build failure of network:osmocom:latest/osmo-ggsn in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <605d1de323214_a602af4fbf7c5f42355598@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-ggsn/openSUSE_Factory_ARM/armv7l Package network:osmocom:latest/osmo-ggsn failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:latest osmo-ggsn Last lines of build log: getbinaries: missing packages: libsemanage1 libsepol1 (worker was armbuild10:2) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 26 01:30:52 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 26 Mar 2021 01:30:52 +0000 Subject: Build failure of network:osmocom:latest/osmo-pcap in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <605d3958ebdbd_a602af4fbf7c5f423944a2@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-pcap/openSUSE_Factory_ARM/armv7l Package network:osmocom:latest/osmo-pcap failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:latest osmo-pcap Last lines of build log: getbinaries: missing packages: libsemanage1 libsepol1 (worker was obs-arm-6:6) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 26 01:33:14 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 26 Mar 2021 01:33:14 +0000 Subject: Build failure of network:osmocom:latest/osmo-gbproxy in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <605d39e3e8522_a602af4fbf7c5f423953df@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-gbproxy/openSUSE_Factory_ARM/armv7l Package network:osmocom:latest/osmo-gbproxy failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:latest osmo-gbproxy Last lines of build log: getbinaries: missing packages: libsemanage1 libsepol1 (worker was armbuild10:2) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 26 01:35:25 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 26 Mar 2021 01:35:25 +0000 Subject: Build failure of network:osmocom:latest/osmo-pcu in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <605d3a677e11c_a602af4fbf7c5f423961c1@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-pcu/openSUSE_Factory_ARM/armv7l Package network:osmocom:latest/osmo-pcu failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:latest osmo-pcu Last lines of build log: getbinaries: missing packages: libsemanage1 libsepol1 (worker was armbuild02:4) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 26 01:37:07 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 26 Mar 2021 01:37:07 +0000 Subject: Build failure of network:osmocom:latest/osmo-sip-connector in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <605d3ad3aa83f_a602af4fbf7c5f423974be@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-sip-connector/openSUSE_Factory_ARM/armv7l Package network:osmocom:latest/osmo-sip-connector failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:latest osmo-sip-connector Last lines of build log: getbinaries: missing packages: libsemanage1 libsepol1 (worker was armbuild01:1) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 26 01:39:57 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 26 Mar 2021 01:39:57 +0000 Subject: Build failure of network:osmocom:latest/osmo-bts in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <605d3b8b985c6_a602af4fbf7c5f423982a9@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-bts/openSUSE_Factory_ARM/armv7l Package network:osmocom:latest/osmo-bts failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:latest osmo-bts Last lines of build log: getbinaries: missing packages: libsemanage1 libsepol1 (worker was obs-arm-6:14) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 26 01:40:49 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 26 Mar 2021 01:40:49 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.10/x86_64 In-Reply-To: References: Message-ID: <605d3ba9c8369_a602af4fbf7c5f42398574@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_20.10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_20.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 183s] [COMPILING libboard/qmod/source/board_qmod.c] [ 183s] [COMPILING libboard/qmod/source/card_pres.c] [ 183s] [COMPILING libboard/qmod/source/i2c.c] [ 184s] [COMPILING libboard/qmod/source/wwan_led.c] [ 184s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 184s] [COMPILING apps/dfu/main.c] [ 184s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 184s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 184s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 185s] Memory region Used Size Region Size %age Used [ 185s] rom: 16592 B 16 KB 101.27% [ 185s] ram: 11680 B 48 KB 23.76/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 185s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 208 bytes [ 185s] collect2: error: ld returned 1 exit status [ 185s] % [ 185s] make[2]: *** [Makefile:230: flash] Error 1 [ 185s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 185s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 185s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 185s] dh_auto_build: error: make -j1 returned exit code 2 [ 185s] make: *** [debian/rules:16: build] Error 25 [ 185s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 185s] ### VM INTERACTION START ### [ 188s] [ 175.561374] sysrq: Power Off [ 188s] [ 175.579623] reboot: Power down [ 188s] ### VM INTERACTION END ### [ 188s] [ 188s] lamb53 failed "build simtrace2_0.7.0.76.62ad.dsc" at Fri Mar 26 01:40:41 UTC 2021. [ 188s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 26 01:42:14 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 26 Mar 2021 01:42:14 +0000 Subject: Build failure of network:osmocom:latest/osmo-smlc in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <605d3c03e6e5b_a602af4fbf7c5f4239937b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-smlc/openSUSE_Factory_ARM/armv7l Package network:osmocom:latest/osmo-smlc failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:latest osmo-smlc Last lines of build log: getbinaries: missing packages: libsemanage1 libsepol1 (worker was obs-arm-5:17) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 26 01:44:09 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 26 Mar 2021 01:44:09 +0000 Subject: Build failure of network:osmocom:latest/osmo-bsc in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <605d3c8bf3f9c_a602af4fbf7c5f42400195@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-bsc/openSUSE_Factory_ARM/armv7l Package network:osmocom:latest/osmo-bsc failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:latest osmo-bsc Last lines of build log: getbinaries: missing packages: libsemanage1 libsepol1 (worker was obs-arm-5:19) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 26 01:45:30 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 26 Mar 2021 01:45:30 +0000 Subject: Build failure of network:osmocom:latest/osmo-msc in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <605d3cc792082_a602af4fbf7c5f42400682@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:latest/osmo-msc/openSUSE_Factory_ARM/armv7l Package network:osmocom:latest/osmo-msc failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:latest osmo-msc Last lines of build log: getbinaries: missing packages: libsemanage1 libsepol1 (worker was armbuild24:1) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Fri Mar 26 01:53:13 2021 From: admin at opensuse.org (OBS Notification) Date: Fri, 26 Mar 2021 01:53:13 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <605d3eaa84f69_a602af4fbf7c5f42403673@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_20.04/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_20.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 162s] [COMPILING apps/dfu/main.c] [ 162s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 162s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 162s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 163s] Memory region Used Size Region Size %age Used [ 163s] rom: 16600 B 16 KB 101.32% [ 163s] ram: 11688 B 48 KB 23.78/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 163s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 163s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 163s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 163s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 163s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 163s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 216 bytes [ 163s] collect2: error: ld returned 1 exit status [ 163s] % [ 163s] make[2]: *** [Makefile:230: flash] Error 1 [ 163s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 163s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 163s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 163s] dh_auto_build: error: make -j1 returned exit code 2 [ 163s] make: *** [debian/rules:16: build] Error 25 [ 163s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 163s] ### VM INTERACTION START ### [ 166s] [ 154.429833] sysrq: Power Off [ 166s] [ 154.435511] reboot: Power down [ 166s] ### VM INTERACTION END ### [ 166s] [ 166s] lamb16 failed "build simtrace2_0.7.0.76.62ad.dsc" at Fri Mar 26 01:52:59 UTC 2021. [ 166s] -- 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 Mar 26 08:31:12 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 26 Mar 2021 08:31:12 +0000 Subject: Change in osmo-e1d[master]: e1d: fix ASSERT during "write terminal" References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-e1d/+/23503 ) Change subject: e1d: fix ASSERT during "write terminal" ...................................................................... e1d: fix ASSERT during "write terminal" There was some wrong ordering in config_write_e1d() regarding resolving the vpair 'peer' devices. We can only call e1d_vpair_intf_peer() _after_ we have established that the given interface actually is of type VPAIR. Assert failed intf->drv == E1_DRIVER_VPAIR vpair.c:96 Change-Id: If494d77ed1df5cda655d3b4a60868154dc2b355e --- M src/vty.c 1 file changed, 5 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-e1d refs/changes/03/23503/1 diff --git a/src/vty.c b/src/vty.c index 0d8ab2b..563950d 100644 --- a/src/vty.c +++ b/src/vty.c @@ -185,12 +185,16 @@ /* find all vpair interfaces */ llist_for_each_entry(intf, &vty_e1d->interfaces, list) { - struct e1_intf *peer = e1d_vpair_intf_peer(intf); + struct e1_intf *peer; unsigned int line_count = 0; struct e1_line *line; if (intf->drv != E1_DRIVER_VPAIR) continue; + + peer = e1d_vpair_intf_peer(intf); + OSMO_ASSERT(peer); + /* skip the 'mirror' interfaces */ if (intf->id > peer->id) continue; -- To view, visit https://gerrit.osmocom.org/c/osmo-e1d/+/23503 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-e1d Gerrit-Branch: master Gerrit-Change-Id: If494d77ed1df5cda655d3b4a60868154dc2b355e Gerrit-Change-Number: 23503 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 Mar 26 08:32:37 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 26 Mar 2021 08:32:37 +0000 Subject: Change in osmo-e1d[master]: e1d: fix ASSERT during "write terminal" In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-e1d/+/23503 ) Change subject: e1d: fix ASSERT during "write terminal" ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-e1d/+/23503 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-e1d Gerrit-Branch: master Gerrit-Change-Id: If494d77ed1df5cda655d3b4a60868154dc2b355e Gerrit-Change-Number: 23503 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 26 Mar 2021 08:32:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 26 08:32:39 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 26 Mar 2021 08:32:39 +0000 Subject: Change in osmo-e1d[master]: e1d: fix ASSERT during "write terminal" In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-e1d/+/23503 ) Change subject: e1d: fix ASSERT during "write terminal" ...................................................................... e1d: fix ASSERT during "write terminal" There was some wrong ordering in config_write_e1d() regarding resolving the vpair 'peer' devices. We can only call e1d_vpair_intf_peer() _after_ we have established that the given interface actually is of type VPAIR. Assert failed intf->drv == E1_DRIVER_VPAIR vpair.c:96 Change-Id: If494d77ed1df5cda655d3b4a60868154dc2b355e --- M src/vty.c 1 file changed, 5 insertions(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/src/vty.c b/src/vty.c index 0d8ab2b..563950d 100644 --- a/src/vty.c +++ b/src/vty.c @@ -185,12 +185,16 @@ /* find all vpair interfaces */ llist_for_each_entry(intf, &vty_e1d->interfaces, list) { - struct e1_intf *peer = e1d_vpair_intf_peer(intf); + struct e1_intf *peer; unsigned int line_count = 0; struct e1_line *line; if (intf->drv != E1_DRIVER_VPAIR) continue; + + peer = e1d_vpair_intf_peer(intf); + OSMO_ASSERT(peer); + /* skip the 'mirror' interfaces */ if (intf->id > peer->id) continue; -- To view, visit https://gerrit.osmocom.org/c/osmo-e1d/+/23503 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-e1d Gerrit-Branch: master Gerrit-Change-Id: If494d77ed1df5cda655d3b4a60868154dc2b355e Gerrit-Change-Number: 23503 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 Mar 26 08:35:02 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 26 Mar 2021 08:35:02 +0000 Subject: =?UTF-8?Q?Change_in_osmo-e1d=5Bmaster=5D=3A_Bump_version=3A_0=2E2=2E0=2E1-4fea-dirty_=E2=86=92_0=2E2=2E1?= References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-e1d/+/23504 ) Change subject: Bump version: 0.2.0.1-4fea-dirty ? 0.2.1 ...................................................................... Bump version: 0.2.0.1-4fea-dirty ? 0.2.1 Change-Id: Icf86d5df9705c13b75970e2950ad95614e545ef0 --- M debian/changelog 1 file changed, 7 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-e1d refs/changes/04/23504/1 diff --git a/debian/changelog b/debian/changelog index e9687ac..2bd31b3 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +osmo-e1d (0.2.1) unstable; urgency=medium + + * add README.md describing what this repository is about + * e1d: fix ASSERT during "write terminal" + + -- Harald Welte Fri, 26 Mar 2021 09:34:49 +0100 + osmo-e1d (0.2.0) unstable; urgency=medium [ Harald Welte ] -- To view, visit https://gerrit.osmocom.org/c/osmo-e1d/+/23504 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-e1d Gerrit-Branch: master Gerrit-Change-Id: Icf86d5df9705c13b75970e2950ad95614e545ef0 Gerrit-Change-Number: 23504 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 Mar 26 08:39:25 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 26 Mar 2021 08:39:25 +0000 Subject: =?UTF-8?Q?Change_in_osmo-e1d=5Bmaster=5D=3A_Bump_version=3A_0=2E2=2E0=2E1-4fea-dirty_=E2=86=92_0=2E2=2E1?= In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-e1d/+/23504 ) Change subject: Bump version: 0.2.0.1-4fea-dirty ? 0.2.1 ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-e1d/+/23504 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-e1d Gerrit-Branch: master Gerrit-Change-Id: Icf86d5df9705c13b75970e2950ad95614e545ef0 Gerrit-Change-Number: 23504 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 26 Mar 2021 08: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 Fri Mar 26 08:39:27 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 26 Mar 2021 08:39:27 +0000 Subject: =?UTF-8?Q?Change_in_osmo-e1d=5Bmaster=5D=3A_Bump_version=3A_0=2E2=2E0=2E1-4fea-dirty_=E2=86=92_0=2E2=2E1?= In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-e1d/+/23504 ) Change subject: Bump version: 0.2.0.1-4fea-dirty ? 0.2.1 ...................................................................... Bump version: 0.2.0.1-4fea-dirty ? 0.2.1 Change-Id: Icf86d5df9705c13b75970e2950ad95614e545ef0 --- M debian/changelog 1 file changed, 7 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/debian/changelog b/debian/changelog index e9687ac..2bd31b3 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +osmo-e1d (0.2.1) unstable; urgency=medium + + * add README.md describing what this repository is about + * e1d: fix ASSERT during "write terminal" + + -- Harald Welte Fri, 26 Mar 2021 09:34:49 +0100 + osmo-e1d (0.2.0) unstable; urgency=medium [ Harald Welte ] -- To view, visit https://gerrit.osmocom.org/c/osmo-e1d/+/23504 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-e1d Gerrit-Branch: master Gerrit-Change-Id: Icf86d5df9705c13b75970e2950ad95614e545ef0 Gerrit-Change-Number: 23504 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 Mar 26 08:40:32 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 26 Mar 2021 08:40:32 +0000 Subject: Change in pysim[master]: pySim-shell: fix verify_chv command In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23501 ) Change subject: pySim-shell: fix verify_chv command ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23501 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I3a003fc57bcf6c4f0a1ea8142e08b3183e655fad Gerrit-Change-Number: 23501 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-Comment-Date: Fri, 26 Mar 2021 08:40: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 Mar 26 08:40:58 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 26 Mar 2021 08:40:58 +0000 Subject: Change in pysim[master]: commands: improve exception string of verify_chv() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23502 ) Change subject: commands: improve exception string of verify_chv() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23502 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I41602de8edd22bea30ac68cb1c41e20ea1e4549c Gerrit-Change-Number: 23502 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 26 Mar 2021 08: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 Fri Mar 26 08:42:20 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 26 Mar 2021 08:42:20 +0000 Subject: Change in pysim[master]: pySim-shell: add ADF.ISIM / ADF.USIM dynamically In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23473 ) Change subject: pySim-shell: add ADF.ISIM / ADF.USIM dynamically ...................................................................... Patch Set 2: Code-Review-1 comments from previous version not adressed. Still uses hard-coded AIDs instead of the AID attribute of the CardApplication class instances. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23473 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I42ee23375f98e6322708c1c4db6d65e1425feecd Gerrit-Change-Number: 23473 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 26 Mar 2021 08:42: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 Mar 26 12:51:07 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 26 Mar 2021 12:51:07 +0000 Subject: Change in libosmocore[master]: Skip RPM checks if no *.spec.in available References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/23505 ) Change subject: Skip RPM checks if no *.spec.in available ...................................................................... Skip RPM checks if no *.spec.in available Some projects don't necessarily have RPM packaging yet. Hence, avoid running into unexpected check results in that case. Related: OS#5094 Change-Id: Id306256af1ab3bf081b7df5a6c271628e3b8715c --- M osmo-release.sh 1 file changed, 12 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/05/23505/1 diff --git a/osmo-release.sh b/osmo-release.sh index c0b0b4a..aecbfd1 100755 --- a/osmo-release.sh +++ b/osmo-release.sh @@ -73,6 +73,12 @@ # Make sure that depedency requirement versions match in configure.ac vs contrib/*.spec.in. #eg: "PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.1.0)" vs "pkgconfig(libosmocore-dev) >= 1.0.0," check_configureac_rpmspecin_deps_match() { + # Some projects don't have rpm spec files: + if [ "z$(find "${GIT_TOPDIR}/contrib" -name "*.spec.in" | wc -l)" = "z0" ]; then + echo "INFO: Project has no 'contrib/*.spec.in' files, skipping RPM specific configure.ac dependency version checks" + return + fi + get_configureac_pkg_check_modules_list | \ { return_error=0 while read -r dep ver; do @@ -169,6 +175,12 @@ } libversion_rpmspecin_match() { + # Some projects don't have rpm spec files: + if [ "z$(find "${GIT_TOPDIR}/contrib" -name "*.spec.in" | wc -l)" = "z0" ]; then + echo "INFO: Project has no 'contrib/*.spec.in' files, skipping RPM specific LIBVERSION checks" + return + fi + echo "$LIBVERS" | while read -r line; do libversion=$(echo "$line" | cut -d "=" -f 2 | tr -d "[:space:]") major="$(libversion_to_lib_major "$libversion")" -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23505 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id306256af1ab3bf081b7df5a6c271628e3b8715c Gerrit-Change-Number: 23505 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 Mar 26 16:26:04 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 26 Mar 2021 16:26:04 +0000 Subject: Change in pysim[master]: pySim-shell: fix verify_chv command In-Reply-To: References: Message-ID: dexter has abandoned this change. ( https://gerrit.osmocom.org/c/pysim/+/23501 ) Change subject: pySim-shell: fix verify_chv command ...................................................................... Abandoned its better to squash this into a different patch -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23501 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I3a003fc57bcf6c4f0a1ea8142e08b3183e655fad Gerrit-Change-Number: 23501 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-CC: fixeria Gerrit-MessageType: abandon -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 26 16:29:24 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 26 Mar 2021 16:29:24 +0000 Subject: Change in pysim[master]: commands: improve exception string of verify_chv() In-Reply-To: References: Message-ID: dexter has abandoned this change. ( https://gerrit.osmocom.org/c/pysim/+/23502 ) Change subject: commands: improve exception string of verify_chv() ...................................................................... Abandoned its better to squash this into a different patch -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23502 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I41602de8edd22bea30ac68cb1c41e20ea1e4549c Gerrit-Change-Number: 23502 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 Fri Mar 26 17:11:49 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 26 Mar 2021 17:11:49 +0000 Subject: Change in libosmocore[master]: stat_item: make next_id argument name consistent References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/23506 ) Change subject: stat_item: make next_id argument name consistent ...................................................................... stat_item: make next_id argument name consistent Let osmo_stat_item_get_next, osmo_stat_item_discard, osmo_stat_item_discard_all consistently refer to their next_id arg as such (and not idx or next_idx). It refers to an ID (item->values[i].id), not an index (item->values[i]), and it is always the next one, never the current one. Do the same change for _index/_idx variables in stats.c, which are used as arguments to these functions. Replace rd_ with next_id_ in stats_test.c, too. Related: OS#5088 Change-Id: I5dd566b08dff7174d1790f49abd2d6ac020e120e --- M include/osmocom/core/stat_item.h M src/stat_item.c M src/stats.c M tests/stats/stats_test.c 4 files changed, 56 insertions(+), 56 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/06/23506/1 diff --git a/include/osmocom/core/stat_item.h b/include/osmocom/core/stat_item.h index 4710dba..4a19465 100644 --- a/include/osmocom/core/stat_item.h +++ b/include/osmocom/core/stat_item.h @@ -91,14 +91,14 @@ const struct osmo_stat_item *osmo_stat_item_get_by_name( const struct osmo_stat_item_group *statg, const char *name); -int osmo_stat_item_get_next(const struct osmo_stat_item *item, int32_t *idx, int32_t *value); +int osmo_stat_item_get_next(const struct osmo_stat_item *item, int32_t *next_id, int32_t *value); /*! Get the last (freshest) value */ static int32_t osmo_stat_item_get_last(const struct osmo_stat_item *item); -int osmo_stat_item_discard(const struct osmo_stat_item *item, int32_t *idx); +int osmo_stat_item_discard(const struct osmo_stat_item *item, int32_t *next_id); -int osmo_stat_item_discard_all(int32_t *idx); +int osmo_stat_item_discard_all(int32_t *next_id); typedef int (*osmo_stat_item_handler_t)( struct osmo_stat_item_group *, struct osmo_stat_item *, void *); diff --git a/src/stat_item.c b/src/stat_item.c index ba36464..31298fd 100644 --- a/src/stat_item.c +++ b/src/stat_item.c @@ -195,33 +195,33 @@ } /*! Retrieve the next value from the osmo_stat_item object. - * If a new value has been set, it is returned. The idx is used to decide + * If a new value has been set, it is returned. The next_id is used to decide * which value to return. - * On success, *idx is updated to refer to the next unread value. If - * values have been missed due to FIFO overflow, *idx is incremented by + * On success, *next_id is updated to refer to the next unread value. If + * values have been missed due to FIFO overflow, *next_id is incremented by * (1 + num_lost). * This way, the osmo_stat_item object can be kept stateless from the reader's * perspective and therefore be used by several backends simultaneously. * - * \param val the osmo_stat_item object - * \param idx identifies the next value to be read - * \param value a pointer to store the value + * \param val the osmo_stat_item object + * \param next_id identifies the next value to be read + * \param value a pointer to store the value * \returns the increment of the index (0: no value has been read, * 1: one value has been taken, * (1+n): n values have been skipped, one has been taken) */ -int osmo_stat_item_get_next(const struct osmo_stat_item *item, int32_t *next_idx, +int osmo_stat_item_get_next(const struct osmo_stat_item *item, int32_t *next_id, int32_t *value) { const struct osmo_stat_item_value *next_value; const struct osmo_stat_item_value *item_value = NULL; - int idx_delta; + int id_delta; int next_offs; next_offs = item->last_offs; next_value = &item->values[next_offs]; - while (next_value->id - *next_idx >= 0 && + while (next_value->id - *next_id >= 0 && next_value->id != OSMO_STAT_ITEM_NOVALUE_ID) { item_value = next_value; @@ -240,27 +240,27 @@ *value = item_value->value; - idx_delta = item_value->id + 1 - *next_idx; + id_delta = item_value->id + 1 - *next_id; - *next_idx = item_value->id + 1; + *next_id = item_value->id + 1; - return idx_delta; + return id_delta; } -/*! Skip/discard all values of this item and update \a idx accordingly */ -int osmo_stat_item_discard(const struct osmo_stat_item *item, int32_t *idx) +/*! Skip/discard all values of this item and update \a next_id accordingly */ +int osmo_stat_item_discard(const struct osmo_stat_item *item, int32_t *next_id) { - int discarded = item->values[item->last_offs].id + 1 - *idx; - *idx = item->values[item->last_offs].id + 1; + int discarded = item->values[item->last_offs].id + 1 - *next_id; + *next_id = item->values[item->last_offs].id + 1; return discarded; } -/*! Skip all values of all items and update \a idx accordingly */ -int osmo_stat_item_discard_all(int32_t *idx) +/*! Skip all values of all items and update \a next_id accordingly */ +int osmo_stat_item_discard_all(int32_t *next_id) { - int discarded = global_value_id + 1 - *idx; - *idx = global_value_id + 1; + int discarded = global_value_id + 1 - *next_id; + *next_id = global_value_id + 1; return discarded; } diff --git a/src/stats.c b/src/stats.c index f2820a4..88b733f 100644 --- a/src/stats.c +++ b/src/stats.c @@ -107,7 +107,7 @@ static LLIST_HEAD(osmo_stats_reporter_list); static void *osmo_stats_ctx = NULL; static int is_initialised = 0; -static int32_t current_stat_item_index = 0; +static int32_t current_stat_item_next_id = 0; static struct osmo_stats_config s_stats_config = { .interval = STATS_DEFAULT_INTERVAL, @@ -241,7 +241,7 @@ void osmo_stats_init(void *ctx) { osmo_stats_ctx = ctx; - osmo_stat_item_discard_all(¤t_stat_item_index); + osmo_stat_item_discard_all(¤t_stat_item_next_id); is_initialised = 1; start_timer(); @@ -694,18 +694,18 @@ struct osmo_stat_item_group *statg, struct osmo_stat_item *item, void *sctx_) { struct osmo_stats_reporter *srep; - int32_t idx = current_stat_item_index; + int32_t next_id = current_stat_item_next_id; int32_t value; int have_value; - have_value = osmo_stat_item_get_next(item, &idx, &value) > 0; + have_value = osmo_stat_item_get_next(item, &next_id, &value) > 0; if (!have_value) { /* Send the last value in case a flush is requested */ value = osmo_stat_item_get_last(item); } else { int32_t next_val; /* If we have multiple values only send the max */ - while (osmo_stat_item_get_next(item, &idx, &next_val) > 0) + while (osmo_stat_item_get_next(item, &next_id, &next_val) > 0) value = OSMO_MAX(value, next_val); } @@ -798,7 +798,7 @@ osmo_stat_item_for_each_group(osmo_stat_item_group_handler, NULL); /* global actions */ - osmo_stat_item_discard_all(¤t_stat_item_index); + osmo_stat_item_discard_all(¤t_stat_item_next_id); flush_all_reporters(); TRACE(LIBOSMOCORE_STATS_DONE()); diff --git a/tests/stats/stats_test.c b/tests/stats/stats_test.c index 707f606..e5f7f20 100644 --- a/tests/stats/stats_test.c +++ b/tests/stats/stats_test.c @@ -90,8 +90,8 @@ const struct osmo_stat_item *sitem1, *sitem2; int rc; int32_t value; - int32_t rd_a = 0; - int32_t rd_b = 0; + int32_t next_id_a = 0; + int32_t next_id_b = 0; int i; OSMO_ASSERT(statg != NULL); @@ -120,7 +120,7 @@ value = osmo_stat_item_get_last(statg->items[TEST_A_ITEM]); OSMO_ASSERT(value == -1); - rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &rd_a, &value); + rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value); OSMO_ASSERT(rc == 0); osmo_stat_item_set(statg->items[TEST_A_ITEM], 1); @@ -128,39 +128,39 @@ value = osmo_stat_item_get_last(statg->items[TEST_A_ITEM]); OSMO_ASSERT(value == 1); - rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &rd_a, &value); + rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value); OSMO_ASSERT(rc > 0); OSMO_ASSERT(value == 1); - rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &rd_a, &value); + rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value); OSMO_ASSERT(rc == 0); for (i = 2; i <= 32; i++) { osmo_stat_item_set(statg->items[TEST_A_ITEM], i); osmo_stat_item_set(statg->items[TEST_B_ITEM], 1000 + i); - rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &rd_a, &value); + rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value); OSMO_ASSERT(rc > 0); OSMO_ASSERT(value == i); - rc = osmo_stat_item_get_next(statg->items[TEST_B_ITEM], &rd_b, &value); + rc = osmo_stat_item_get_next(statg->items[TEST_B_ITEM], &next_id_b, &value); OSMO_ASSERT(rc > 0); OSMO_ASSERT(value == 1000 + i); } /* check if dec & inc is working */ osmo_stat_item_set(statg->items[TEST_A_ITEM], 42); - rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &rd_a, &value); + rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value); OSMO_ASSERT(rc > 0); OSMO_ASSERT(value == 42); osmo_stat_item_dec(statg->items[TEST_A_ITEM], 21); - rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &rd_a, &value); + rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value); OSMO_ASSERT(rc > 0); OSMO_ASSERT(value == 21); osmo_stat_item_inc(statg->items[TEST_A_ITEM], 21); - rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &rd_a, &value); + rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value); OSMO_ASSERT(rc > 0); OSMO_ASSERT(value == 42); @@ -172,20 +172,20 @@ osmo_stat_item_set(statg->items[TEST_A_ITEM], i); osmo_stat_item_set(statg->items[TEST_B_ITEM], 1000 + i); - rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &rd_a, &value); + rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value); OSMO_ASSERT(rc > 0); OSMO_ASSERT(value == i-1); - rc = osmo_stat_item_get_next(statg->items[TEST_B_ITEM], &rd_b, &value); + rc = osmo_stat_item_get_next(statg->items[TEST_B_ITEM], &next_id_b, &value); OSMO_ASSERT(rc > 0); OSMO_ASSERT(value == 1000 + i-1); } - rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &rd_a, &value); + rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value); OSMO_ASSERT(rc > 0); OSMO_ASSERT(value == 64); - rc = osmo_stat_item_get_next(statg->items[TEST_B_ITEM], &rd_b, &value); + rc = osmo_stat_item_get_next(statg->items[TEST_B_ITEM], &next_id_b, &value); OSMO_ASSERT(rc > 0); OSMO_ASSERT(value == 1000 + 64); @@ -195,43 +195,43 @@ osmo_stat_item_set(statg->items[TEST_B_ITEM], 1000 + i); } - rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &rd_a, &value); + rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value); OSMO_ASSERT(rc > 0); OSMO_ASSERT(value == 93); for (i = 94; i <= 96; i++) { - rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &rd_a, &value); + rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value); OSMO_ASSERT(rc > 0); OSMO_ASSERT(value == i); } - rc = osmo_stat_item_get_next(statg->items[TEST_B_ITEM], &rd_b, &value); + rc = osmo_stat_item_get_next(statg->items[TEST_B_ITEM], &next_id_b, &value); OSMO_ASSERT(rc > 0); OSMO_ASSERT(value == 1000 + 90); for (i = 91; i <= 96; i++) { - rc = osmo_stat_item_get_next(statg->items[TEST_B_ITEM], &rd_b, &value); + rc = osmo_stat_item_get_next(statg->items[TEST_B_ITEM], &next_id_b, &value); OSMO_ASSERT(rc > 0); OSMO_ASSERT(value == 1000 + i); } /* Test Discard (single item) */ osmo_stat_item_set(statg->items[TEST_A_ITEM], 97); - rc = osmo_stat_item_discard(statg->items[TEST_A_ITEM], &rd_a); + rc = osmo_stat_item_discard(statg->items[TEST_A_ITEM], &next_id_a); OSMO_ASSERT(rc > 0); - rc = osmo_stat_item_discard(statg->items[TEST_A_ITEM], &rd_a); + rc = osmo_stat_item_discard(statg->items[TEST_A_ITEM], &next_id_a); OSMO_ASSERT(rc == 0); - rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &rd_a, &value); + rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value); OSMO_ASSERT(rc == 0); osmo_stat_item_set(statg->items[TEST_A_ITEM], 98); - rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &rd_a, &value); + rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value); OSMO_ASSERT(rc > 0); OSMO_ASSERT(value == 98); - rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &rd_a, &value); + rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value); OSMO_ASSERT(rc == 0); /* Test Discard (all items) */ @@ -241,12 +241,12 @@ osmo_stat_item_set(statg->items[TEST_B_ITEM], 99); osmo_stat_item_set(statg->items[TEST_B_ITEM], 100); - rc = osmo_stat_item_discard_all(&rd_a); - rc = osmo_stat_item_discard_all(&rd_b); + rc = osmo_stat_item_discard_all(&next_id_a); + rc = osmo_stat_item_discard_all(&next_id_b); - rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &rd_a, &value); + rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value); OSMO_ASSERT(rc == 0); - rc = osmo_stat_item_get_next(statg->items[TEST_B_ITEM], &rd_b, &value); + rc = osmo_stat_item_get_next(statg->items[TEST_B_ITEM], &next_id_b, &value); OSMO_ASSERT(rc == 0); osmo_stat_item_group_free(statg); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23506 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I5dd566b08dff7174d1790f49abd2d6ac020e120e Gerrit-Change-Number: 23506 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 Fri Mar 26 17:11:51 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 26 Mar 2021 17:11:51 +0000 Subject: Change in libosmocore[master]: stat_item: add comment with struct overview References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/23507 ) Change subject: stat_item: add comment with struct overview ...................................................................... stat_item: add comment with struct overview Related: OS#5088 Change-Id: Ic63a5884da778938197c658c5f478c23a85a4587 --- M src/stat_item.c 1 file changed, 17 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/07/23507/1 diff --git a/src/stat_item.c b/src/stat_item.c index 31298fd..d4f3b72 100644 --- a/src/stat_item.c +++ b/src/stat_item.c @@ -52,6 +52,23 @@ * */ +/* Struct overview: + * Each osmo_stat_item is attached to an osmo_stat_item_group, which is + * attached to the global osmo_stat_item_groups list. + * + * osmo_stat_item_groups + * / \ + * group1 group2 + * / \ + * item1 item2 + * | + * values + * / \ + * 1 2 + * |-id |-id + * '-value '-value + */ + #include #include -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23507 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic63a5884da778938197c658c5f478c23a85a4587 Gerrit-Change-Number: 23507 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 Fri Mar 26 17:11:51 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 26 Mar 2021 17:11:51 +0000 Subject: Change in libosmocore[master]: stat_item: make value ids item specific References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/23508 ) Change subject: stat_item: make value ids item specific ...................................................................... stat_item: make value ids item specific Fix counting of values missed because of FIFO overflow in osmo_stat_item_get_next(), by assigning a new item value id effectively as item->value[n + 1].id = item->value[n].id + 1, instead of increasing a global_value_id that is shared between all items and groups. With global_value_id, the count of values missed was wrong for one item, as soon as a new value was added to another item. This partially reverts b27b352e ("stats: Use a global index for stat item values") from 2015, right after stats was added to libosmocore. It was supposed to make multiple readers (reporters) possible, which could read independently from stat_item (and later added comments explain it like that). But this remained unused, stats has implemented multiple reporters by reading all stat_items once and sending the same data to all enabled reporters. The patch caused last_value_index in struct osmo_stat_item to always remain at -1. Replace this unused last_value_index with stats_next_id, so stats can store the item-specific next_id in the struct again. It appears that stats is the only direct user of osmo_stat_item, but if there are others, they can bring their own item-specific next_id: functions in stat_item.c still accept a next_id argument. Related: OS#5088 Change-Id: Ie65dcdf52c8fc3d916e20d7f0455f6223be6b64f --- M include/osmocom/core/stat_item.h M src/stat_item.c M src/stats.c M tests/stats/stats_test.c 4 files changed, 44 insertions(+), 44 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/08/23508/1 diff --git a/include/osmocom/core/stat_item.h b/include/osmocom/core/stat_item.h index 4a19465..29e35ef 100644 --- a/include/osmocom/core/stat_item.h +++ b/include/osmocom/core/stat_item.h @@ -6,6 +6,7 @@ #include +#include #include struct osmo_stat_item_desc; @@ -23,9 +24,11 @@ struct osmo_stat_item { /*! back-reference to the item description */ const struct osmo_stat_item_desc *desc; - /*! the index of the freshest value */ - int32_t last_value_index; - /*! offset to the freshest value in the value FIFO */ + /* internal use by stats API (stats.c): the id of the next value to + * be read from the FIFO. If accessing osmo_stat_item directly, without + * the stats API, store this value elsewhere. */ + int32_t stats_next_id; + /*! the index of the last value written to the FIFO */ int16_t last_offs; /*! value FIFO */ struct osmo_stat_item_value values[0]; @@ -98,7 +101,8 @@ int osmo_stat_item_discard(const struct osmo_stat_item *item, int32_t *next_id); -int osmo_stat_item_discard_all(int32_t *next_id); +int osmo_stat_item_discard_all(int32_t *next_id) + OSMO_DEPRECATED("Use osmo_stat_item_discard with item-specific next_id instead"); typedef int (*osmo_stat_item_handler_t)( struct osmo_stat_item_group *, struct osmo_stat_item *, void *); diff --git a/src/stat_item.c b/src/stat_item.c index d4f3b72..f5df5b6 100644 --- a/src/stat_item.c +++ b/src/stat_item.c @@ -37,14 +37,15 @@ * * The only supported value type is an int32_t. * - * Getting values from the osmo_stat_item does not modify its state to - * allow for multiple independent back-ends retrieving values (e.g. VTY - * and statd). + * Getting values from osmo_stat_item is usually done at a high level + * through the stats API (stats.c). It uses item->stats_next_id to + * store what has been sent to all enabled reporters. It is also + * possible to read from osmo_stat_item directly, without modifying + * its state, by storing next_id outside of osmo_stat_item. * * Each value stored in the FIFO of an osmo_stat_item has an associated - * value_id. The value_id is derived from an application-wide globally - * incrementing counter, so (until the counter wraps) more recent - * values will have higher values. + * value_id. The value_id is increased with each value, so (until the + * counter wraps) more recent values will have higher values. * * When a new value is set, the oldest value in the FIFO gets silently * overwritten. Lost values are skipped when getting values from the @@ -74,14 +75,13 @@ #include #include +#include #include #include #include /*! global list of stat_item groups */ static LLIST_HEAD(osmo_stat_item_groups); -/*! counter for assigning globally unique value identifiers */ -static int32_t global_value_id = 0; /*! talloc context from which we allocate */ static void *tall_stat_item_ctx; @@ -146,7 +146,7 @@ group->items[item_idx] = item; item->last_offs = desc->item_desc[item_idx].num_values - 1; - item->last_value_index = -1; + item->stats_next_id = 1; item->desc = &desc->item_desc[item_idx]; for (i = 0; i <= item->last_offs; i++) { @@ -199,16 +199,16 @@ */ void osmo_stat_item_set(struct osmo_stat_item *item, int32_t value) { + int32_t id = item->values[item->last_offs].id + 1; + if (id == OSMO_STAT_ITEM_NOVALUE_ID) + id++; + item->last_offs += 1; if (item->last_offs >= item->desc->num_values) item->last_offs = 0; - global_value_id += 1; - if (global_value_id == OSMO_STAT_ITEM_NOVALUE_ID) - global_value_id += 1; - item->values[item->last_offs].value = value; - item->values[item->last_offs].id = global_value_id; + item->values[item->last_offs].id = id; } /*! Retrieve the next value from the osmo_stat_item object. @@ -276,10 +276,8 @@ /*! Skip all values of all items and update \a next_id accordingly */ int osmo_stat_item_discard_all(int32_t *next_id) { - int discarded = global_value_id + 1 - *next_id; - *next_id = global_value_id + 1; - - return discarded; + LOGP(DLSTATS, LOGL_DEBUG, "osmo_stat_item_discard_all is deprecated"); + return 0; } /*! Initialize the stat item module. Call this once from your program. @@ -382,7 +380,7 @@ unsigned int i; item->last_offs = item->desc->num_values - 1; - item->last_value_index = -1; + item->stats_next_id = 1; for (i = 0; i <= item->last_offs; i++) { item->values[i].value = item->desc->default_value; diff --git a/src/stats.c b/src/stats.c index 88b733f..91cf839 100644 --- a/src/stats.c +++ b/src/stats.c @@ -107,7 +107,6 @@ static LLIST_HEAD(osmo_stats_reporter_list); static void *osmo_stats_ctx = NULL; static int is_initialised = 0; -static int32_t current_stat_item_next_id = 0; static struct osmo_stats_config s_stats_config = { .interval = STATS_DEFAULT_INTERVAL, @@ -236,12 +235,27 @@ talloc_free(srep); } +static int osmo_stats_discard_item(struct osmo_stat_item_group *statg, struct osmo_stat_item *item, void *sctx_) +{ + return osmo_stat_item_discard(item, &item->stats_next_id); +} + +static int osmo_stats_discard_group(struct osmo_stat_item_group *statg, void *sctx_) +{ + return osmo_stat_item_for_each_item(statg, &osmo_stats_discard_item, NULL); +} + +static int osmo_stats_discard_all() +{ + return osmo_stat_item_for_each_group(&osmo_stats_discard_group, NULL); +} + /*! Initilize the stats reporting module; call this once in your program * \param[in] ctx Talloc context from which stats related memory is allocated */ void osmo_stats_init(void *ctx) { osmo_stats_ctx = ctx; - osmo_stat_item_discard_all(¤t_stat_item_next_id); + osmo_stats_discard_all(); is_initialised = 1; start_timer(); @@ -694,18 +708,17 @@ struct osmo_stat_item_group *statg, struct osmo_stat_item *item, void *sctx_) { struct osmo_stats_reporter *srep; - int32_t next_id = current_stat_item_next_id; int32_t value; int have_value; - have_value = osmo_stat_item_get_next(item, &next_id, &value) > 0; + have_value = osmo_stat_item_get_next(item, &item->stats_next_id, &value) > 0; if (!have_value) { /* Send the last value in case a flush is requested */ value = osmo_stat_item_get_last(item); } else { int32_t next_val; /* If we have multiple values only send the max */ - while (osmo_stat_item_get_next(item, &next_id, &next_val) > 0) + while (osmo_stat_item_get_next(item, &item->stats_next_id, &next_val) > 0) value = OSMO_MAX(value, next_val); } @@ -798,7 +811,7 @@ osmo_stat_item_for_each_group(osmo_stat_item_group_handler, NULL); /* global actions */ - osmo_stat_item_discard_all(¤t_stat_item_next_id); + osmo_stats_discard_all(); flush_all_reporters(); TRACE(LIBOSMOCORE_STATS_DONE()); diff --git a/tests/stats/stats_test.c b/tests/stats/stats_test.c index e5f7f20..b6b4be9 100644 --- a/tests/stats/stats_test.c +++ b/tests/stats/stats_test.c @@ -234,21 +234,6 @@ rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value); OSMO_ASSERT(rc == 0); - /* Test Discard (all items) */ - osmo_stat_item_set(statg->items[TEST_A_ITEM], 99); - osmo_stat_item_set(statg->items[TEST_A_ITEM], 100); - osmo_stat_item_set(statg->items[TEST_A_ITEM], 101); - osmo_stat_item_set(statg->items[TEST_B_ITEM], 99); - osmo_stat_item_set(statg->items[TEST_B_ITEM], 100); - - rc = osmo_stat_item_discard_all(&next_id_a); - rc = osmo_stat_item_discard_all(&next_id_b); - - rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value); - OSMO_ASSERT(rc == 0); - rc = osmo_stat_item_get_next(statg->items[TEST_B_ITEM], &next_id_b, &value); - OSMO_ASSERT(rc == 0); - osmo_stat_item_group_free(statg); sgrp2 = osmo_stat_item_get_group_by_name_idx("test.one", 0); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23508 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie65dcdf52c8fc3d916e20d7f0455f6223be6b64f Gerrit-Change-Number: 23508 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 Fri Mar 26 17:11:52 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 26 Mar 2021 17:11:52 +0000 Subject: Change in libosmocore[master]: stats_test: restore stat_item_get_next asserts References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/23509 ) Change subject: stats_test: restore stat_item_get_next asserts ...................................................................... stats_test: restore stat_item_get_next asserts This is a partial revert of b27b352e ("stats: Use a global index for stat item values"). Now that osmo_stat_item_get_next correctly returns, how many values have been skipped, we can use the accurate asserts on its return value again. Fix the initial values of next_id_a,b (1 instead of 0), so we don't get a skipped value on the first read. This is needed, because b27b352e refactored osmo_stat_item_get_next to have the next id as parameter instead of the last read one, and the initial value was not adjusted in the tests. Related: OS#5088 Change-Id: I9d4cda2487a62f52361c24058363dfa90e502c63 --- M tests/stats/stats_test.c 1 file changed, 18 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/09/23509/1 diff --git a/tests/stats/stats_test.c b/tests/stats/stats_test.c index b6b4be9..1d53aaa 100644 --- a/tests/stats/stats_test.c +++ b/tests/stats/stats_test.c @@ -90,8 +90,8 @@ const struct osmo_stat_item *sitem1, *sitem2; int rc; int32_t value; - int32_t next_id_a = 0; - int32_t next_id_b = 0; + int32_t next_id_a = 1; + int32_t next_id_b = 1; int i; OSMO_ASSERT(statg != NULL); @@ -129,7 +129,7 @@ OSMO_ASSERT(value == 1); rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value); - OSMO_ASSERT(rc > 0); + OSMO_ASSERT(rc == 1); OSMO_ASSERT(value == 1); rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value); @@ -140,28 +140,28 @@ osmo_stat_item_set(statg->items[TEST_B_ITEM], 1000 + i); rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value); - OSMO_ASSERT(rc > 0); + OSMO_ASSERT(rc == 1); OSMO_ASSERT(value == i); rc = osmo_stat_item_get_next(statg->items[TEST_B_ITEM], &next_id_b, &value); - OSMO_ASSERT(rc > 0); + OSMO_ASSERT(rc == 1); OSMO_ASSERT(value == 1000 + i); } /* check if dec & inc is working */ osmo_stat_item_set(statg->items[TEST_A_ITEM], 42); rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value); - OSMO_ASSERT(rc > 0); + OSMO_ASSERT(rc == 1); OSMO_ASSERT(value == 42); osmo_stat_item_dec(statg->items[TEST_A_ITEM], 21); rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value); - OSMO_ASSERT(rc > 0); + OSMO_ASSERT(rc == 1); OSMO_ASSERT(value == 21); osmo_stat_item_inc(statg->items[TEST_A_ITEM], 21); rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value); - OSMO_ASSERT(rc > 0); + OSMO_ASSERT(rc == 1); OSMO_ASSERT(value == 42); /* Keep 2 in FIFO */ @@ -173,20 +173,20 @@ osmo_stat_item_set(statg->items[TEST_B_ITEM], 1000 + i); rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value); - OSMO_ASSERT(rc > 0); + OSMO_ASSERT(rc == 1); OSMO_ASSERT(value == i-1); rc = osmo_stat_item_get_next(statg->items[TEST_B_ITEM], &next_id_b, &value); - OSMO_ASSERT(rc > 0); + OSMO_ASSERT(rc == 1); OSMO_ASSERT(value == 1000 + i-1); } rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value); - OSMO_ASSERT(rc > 0); + OSMO_ASSERT(rc == 1); OSMO_ASSERT(value == 64); rc = osmo_stat_item_get_next(statg->items[TEST_B_ITEM], &next_id_b, &value); - OSMO_ASSERT(rc > 0); + OSMO_ASSERT(rc == 1); OSMO_ASSERT(value == 1000 + 64); /* Overrun FIFOs */ @@ -196,29 +196,29 @@ } rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value); - OSMO_ASSERT(rc > 0); + OSMO_ASSERT(rc == 93 - 65 + 1); OSMO_ASSERT(value == 93); for (i = 94; i <= 96; i++) { rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value); - OSMO_ASSERT(rc > 0); + OSMO_ASSERT(rc == 1); OSMO_ASSERT(value == i); } rc = osmo_stat_item_get_next(statg->items[TEST_B_ITEM], &next_id_b, &value); - OSMO_ASSERT(rc > 0); + OSMO_ASSERT(rc == 90 - 65 + 1); OSMO_ASSERT(value == 1000 + 90); for (i = 91; i <= 96; i++) { rc = osmo_stat_item_get_next(statg->items[TEST_B_ITEM], &next_id_b, &value); - OSMO_ASSERT(rc > 0); + OSMO_ASSERT(rc == 1); OSMO_ASSERT(value == 1000 + i); } /* Test Discard (single item) */ osmo_stat_item_set(statg->items[TEST_A_ITEM], 97); rc = osmo_stat_item_discard(statg->items[TEST_A_ITEM], &next_id_a); - OSMO_ASSERT(rc > 0); + OSMO_ASSERT(rc == 1); rc = osmo_stat_item_discard(statg->items[TEST_A_ITEM], &next_id_a); OSMO_ASSERT(rc == 0); @@ -228,7 +228,7 @@ osmo_stat_item_set(statg->items[TEST_A_ITEM], 98); rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value); - OSMO_ASSERT(rc > 0); + OSMO_ASSERT(rc == 1); OSMO_ASSERT(value == 98); rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value); -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23509 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I9d4cda2487a62f52361c24058363dfa90e502c63 Gerrit-Change-Number: 23509 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 Fri Mar 26 17:11:52 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 26 Mar 2021 17:11:52 +0000 Subject: Change in libosmocore[master]: stats: log error when missing stats values (v2) References: Message-ID: osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/23510 ) Change subject: stats: log error when missing stats values (v2) ...................................................................... stats: log error when missing stats values (v2) Related: SYS#4877 Change-Id: I5140d967c2f1d36dadf93b03e52b9bbd42e2a3a6 --- M src/stat_item.c M tests/stats/stats_test.c M tests/stats/stats_test.err 3 files changed, 10 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/10/23510/1 diff --git a/src/stat_item.c b/src/stat_item.c index f5df5b6..102edb8 100644 --- a/src/stat_item.c +++ b/src/stat_item.c @@ -261,6 +261,10 @@ *next_id = item_value->id + 1; + if (id_delta > 1) { + LOGP(DLSTATS, LOGL_ERROR, "%s: %d stats values skipped\n", item->desc->name, id_delta - 1); + } + return id_delta; } diff --git a/tests/stats/stats_test.c b/tests/stats/stats_test.c index 1d53aaa..188e910 100644 --- a/tests/stats/stats_test.c +++ b/tests/stats/stats_test.c @@ -195,6 +195,7 @@ osmo_stat_item_set(statg->items[TEST_B_ITEM], 1000 + i); } + fprintf(stderr, "Skipping %i values\n", 93 - 65); rc = osmo_stat_item_get_next(statg->items[TEST_A_ITEM], &next_id_a, &value); OSMO_ASSERT(rc == 93 - 65 + 1); OSMO_ASSERT(value == 93); @@ -205,6 +206,7 @@ OSMO_ASSERT(value == i); } + fprintf(stderr, "Skipping %i values\n", 90 - 65); rc = osmo_stat_item_get_next(statg->items[TEST_B_ITEM], &next_id_b, &value); OSMO_ASSERT(rc == 90 - 65 + 1); OSMO_ASSERT(value == 1000 + 90); diff --git a/tests/stats/stats_test.err b/tests/stats/stats_test.err index 3accf54..69104d9 100644 --- a/tests/stats/stats_test.err +++ b/tests/stats/stats_test.err @@ -1,3 +1,7 @@ +Skipping 28 values +DLSTATS ERROR item.a: 28 stats values skipped +Skipping 25 values +DLSTATS ERROR item.b: 25 stats values skipped Start test: test_reporting DLGLOBAL ERROR counter group 'ctr-test:one' already exists for index 2, instead using index 3. This is a software bug that needs fixing. DLGLOBAL ERROR 'ctr-test.one_dot' is not a valid counter group identifier -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23510 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I5140d967c2f1d36dadf93b03e52b9bbd42e2a3a6 Gerrit-Change-Number: 23510 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 Fri Mar 26 17:17:37 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 26 Mar 2021 17:17:37 +0000 Subject: Change in libosmocore[master]: stat_item: make next_id argument name consistent In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23506 ) Change subject: stat_item: make next_id argument name consistent ...................................................................... Patch Set 1: Verified-1 I don't think the patchset has any fallout, but just in case, I suggest that I merge it myself after review, when I'm back (I'm on leave next week). -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23506 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I5dd566b08dff7174d1790f49abd2d6ac020e120e Gerrit-Change-Number: 23506 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: osmith Gerrit-Comment-Date: Fri, 26 Mar 2021 17:17:37 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 26 17:20:25 2021 From: gerrit-no-reply at lists.osmocom.org (osmith) Date: Fri, 26 Mar 2021 17:20:25 +0000 Subject: Change in libosmocore[master]: stat_item: make value ids item specific In-Reply-To: References: Message-ID: osmith has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23508 ) Change subject: stat_item: make value ids item specific ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/23508/1/include/osmocom/core/stat_item.h File include/osmocom/core/stat_item.h: https://gerrit.osmocom.org/c/libosmocore/+/23508/1/include/osmocom/core/stat_item.h at 30 PS1, Line 30: stats_next_id This might be controversial. As stated in the commit message, I think this is fine, because this is always -1 in current code (and has been that way since right after stats were introduced in 2015), so nothing can really use it in current form. $ git grep last_value_index include/osmocom/core/stat_item.h: int32_t last_value_index; src/stat_item.c: item->last_value_index = -1; src/stat_item.c: item->last_value_index = -1; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23508 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie65dcdf52c8fc3d916e20d7f0455f6223be6b64f Gerrit-Change-Number: 23508 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Comment-Date: Fri, 26 Mar 2021 17:20: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 Mar 26 18:44:30 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 26 Mar 2021 18:44:30 +0000 Subject: Change in libosmocore[master]: Skip RPM checks if no *.spec.in available In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23505 ) Change subject: Skip RPM checks if no *.spec.in available ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23505 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id306256af1ab3bf081b7df5a6c271628e3b8715c Gerrit-Change-Number: 23505 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 26 Mar 2021 18:44:30 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 26 18:44:33 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 26 Mar 2021 18:44:33 +0000 Subject: Change in libosmocore[master]: Skip RPM checks if no *.spec.in available In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23505 ) Change subject: Skip RPM checks if no *.spec.in available ...................................................................... Skip RPM checks if no *.spec.in available Some projects don't necessarily have RPM packaging yet. Hence, avoid running into unexpected check results in that case. Related: OS#5094 Change-Id: Id306256af1ab3bf081b7df5a6c271628e3b8715c --- M osmo-release.sh 1 file changed, 12 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/osmo-release.sh b/osmo-release.sh index c0b0b4a..aecbfd1 100755 --- a/osmo-release.sh +++ b/osmo-release.sh @@ -73,6 +73,12 @@ # Make sure that depedency requirement versions match in configure.ac vs contrib/*.spec.in. #eg: "PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.1.0)" vs "pkgconfig(libosmocore-dev) >= 1.0.0," check_configureac_rpmspecin_deps_match() { + # Some projects don't have rpm spec files: + if [ "z$(find "${GIT_TOPDIR}/contrib" -name "*.spec.in" | wc -l)" = "z0" ]; then + echo "INFO: Project has no 'contrib/*.spec.in' files, skipping RPM specific configure.ac dependency version checks" + return + fi + get_configureac_pkg_check_modules_list | \ { return_error=0 while read -r dep ver; do @@ -169,6 +175,12 @@ } libversion_rpmspecin_match() { + # Some projects don't have rpm spec files: + if [ "z$(find "${GIT_TOPDIR}/contrib" -name "*.spec.in" | wc -l)" = "z0" ]; then + echo "INFO: Project has no 'contrib/*.spec.in' files, skipping RPM specific LIBVERSION checks" + return + fi + echo "$LIBVERS" | while read -r line; do libversion=$(echo "$line" | cut -d "=" -f 2 | tr -d "[:space:]") major="$(libversion_to_lib_major "$libversion")" -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23505 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Id306256af1ab3bf081b7df5a6c271628e3b8715c Gerrit-Change-Number: 23505 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 Mar 26 18:45:32 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 26 Mar 2021 18:45:32 +0000 Subject: Change in libosmocore[master]: stat_item: make next_id argument name consistent In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23506 ) Change subject: stat_item: make next_id argument name consistent ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23506 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I5dd566b08dff7174d1790f49abd2d6ac020e120e Gerrit-Change-Number: 23506 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Fri, 26 Mar 2021 18:45: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 Mar 26 18:45:56 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 26 Mar 2021 18:45:56 +0000 Subject: Change in libosmocore[master]: stat_item: add comment with struct overview In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23507 ) Change subject: stat_item: add comment with struct overview ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23507 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic63a5884da778938197c658c5f478c23a85a4587 Gerrit-Change-Number: 23507 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 26 Mar 2021 18:45: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 Mar 26 18:47:27 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Fri, 26 Mar 2021 18:47:27 +0000 Subject: Change in libosmocore[master]: stats: log error when missing stats values (v2) In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23510 ) Change subject: stats: log error when missing stats values (v2) ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23510 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I5140d967c2f1d36dadf93b03e52b9bbd42e2a3a6 Gerrit-Change-Number: 23510 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Fri, 26 Mar 2021 18:47: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 Fri Mar 26 19:45:10 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 26 Mar 2021 19:45:10 +0000 Subject: Change in osmo-pcu[master]: sba: Document AGCH_START_OFFSET after some experimental tests References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23511 ) Change subject: sba: Document AGCH_START_OFFSET after some experimental tests ...................................................................... sba: Document AGCH_START_OFFSET after some experimental tests Change-Id: Id1460207be25750aeb5c1d7af2fac6591cf5e424 --- M src/sba.c 1 file changed, 18 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/11/23511/1 diff --git a/src/sba.c b/src/sba.c index 2c3519d..fb9c91c 100644 --- a/src/sba.c +++ b/src/sba.c @@ -33,8 +33,24 @@ #include "pdch.h" #include "pdch_ul_controller.h" -/* starting time for assigning single slot - * This offset must be a multiple of 13. */ +/* TBF Starting Time for assigning SBA. + * See TS 44.060 12.21 "Starting Frame Number Description". + * According to spec, k=0 (offset=4) "should not be used, so as to leave time + * for the MS to analyse the message and get ready to receive or transmit". + * Hence, k=1 (offset=8-9) is hteoretically the minimum offset which could be + * used. + * + * However, it was found, empirically, that it takes around 30-40 FNs time for + * the Immaediate Assignment message creafted with this "TBF Starting Time" to + * travel from PCU->BTS and be transmitted over CCH on the Um interface. Hence, + * we must account for this delay here, otherwise the MS would be receiving eg. + * a TBF Starting Time of FN=40 while the Imm Assigned containing it is sent in + * eg. FN=50, which would be too late for the MS to answer to it. + * + * The situation described above, can even get worse on high BTS load for AGCH, + * since the Immediate Assignment will queue in the BTS waiting to be + * transmitted one after the other, hence increasing the required delay. + */ #define AGCH_START_OFFSET 52 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23511 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id1460207be25750aeb5c1d7af2fac6591cf5e424 Gerrit-Change-Number: 23511 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 Mar 26 19:56:48 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Fri, 26 Mar 2021 19:56:48 +0000 Subject: Change in osmo-pcu[master]: sba: Document AGCH_START_OFFSET after some experimental tests In-Reply-To: References: Message-ID: Hello Jenkins Builder, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/23511 to look at the new patch set (#2). Change subject: sba: Document AGCH_START_OFFSET after some experimental tests ...................................................................... sba: Document AGCH_START_OFFSET after some experimental tests Related: OS#5020 Change-Id: Id1460207be25750aeb5c1d7af2fac6591cf5e424 --- M src/sba.c 1 file changed, 18 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/11/23511/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23511 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id1460207be25750aeb5c1d7af2fac6591cf5e424 Gerrit-Change-Number: 23511 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 Mar 26 21:15:13 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 26 Mar 2021 21:15:13 +0000 Subject: Change in pysim[master]: pySim-shell: add ADF.ISIM / ADF.USIM dynamically In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, pespin, daniel, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/23473 to look at the new patch set (#3). Change subject: pySim-shell: add ADF.ISIM / ADF.USIM dynamically ...................................................................... pySim-shell: add ADF.ISIM / ADF.USIM dynamically currently ADF.ISIM and ADF.USIM are always added regardless if there is a matching application on the card or not. Lets check what applications are actually installed and add ADF.ISIM and ADF.USIM dynamically. Change-Id: I42ee23375f98e6322708c1c4db6d65e1425feecd Related: OS#4963 --- M pySim-shell.py M pySim/cards.py M pySim/filesystem.py 3 files changed, 29 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/73/23473/3 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23473 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I42ee23375f98e6322708c1c4db6d65e1425feecd Gerrit-Change-Number: 23473 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Fri Mar 26 21:15:13 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 26 Mar 2021 21:15:13 +0000 Subject: Change in pysim[master]: pySim-shell: add option to execute script on startup In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/23474 to look at the new patch set (#3). Change subject: pySim-shell: add option to execute script on startup ...................................................................... pySim-shell: add option to execute script on startup Add a commondline option so that the user can supply pySim-shell with a script file name. This script then runs automatically on startup. (to avoid ending up at the shell prompt a quit command at the end can be used to exit after script execution) Change-Id: I69f5224087023650340fbfee74668e1850345f54 Related: OS#4963 --- M pySim-shell.py 1 file changed, 7 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/74/23474/3 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23474 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I69f5224087023650340fbfee74668e1850345f54 Gerrit-Change-Number: 23474 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 Fri Mar 26 21:15:15 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Fri, 26 Mar 2021 21:15:15 +0000 Subject: Change in pysim[master]: filesystem: fix typo in method call app()->append() References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/23512 ) Change subject: filesystem: fix typo in method call app()->append() ...................................................................... filesystem: fix typo in method call app()->append() In the method add_application() the method name should be append() instead of add(). Change-Id: Ic8ad62567968e09786eac86f219b56a3d3200511 Related: OS#4963 --- M pySim/filesystem.py 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/12/23512/1 diff --git a/pySim/filesystem.py b/pySim/filesystem.py index f6dddb6..0494df7 100644 --- a/pySim/filesystem.py +++ b/pySim/filesystem.py @@ -713,7 +713,7 @@ return self.name def add_application(self, app): - self.applications.add(app) + self.applications.append(app) def interpret_sw(self, sw): """Interpret a given status word within the profile. Returns tuple of -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23512 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ic8ad62567968e09786eac86f219b56a3d3200511 Gerrit-Change-Number: 23512 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 Sat Mar 27 00:16:38 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 27 Mar 2021 00:16:38 +0000 Subject: Change in pysim[master]: filesystem: fix typo in method call app()->append() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23512 ) Change subject: filesystem: fix typo in method call app()->append() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23512 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ic8ad62567968e09786eac86f219b56a3d3200511 Gerrit-Change-Number: 23512 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sat, 27 Mar 2021 00:16:38 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 27 00:34:56 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 27 Mar 2021 00:34:56 +0000 Subject: Change in pysim[master]: pySim/filesystem: fix mutable default list/dict arguments References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/23513 ) Change subject: pySim/filesystem: fix mutable default list/dict arguments ...................................................................... pySim/filesystem: fix mutable default list/dict arguments Having lists and dictionaries as default argument values is a bad idea, because the same instance of list/dict will be used by all objects instanuated using such constructor: def appendItem(itemName, itemList=[]): itemList.append(itemName) return itemList print(appendItem('notebook')) print(appendItem('pencil')) print(appendItem('eraser')) Output: ['notebook'] ['notebook', 'pencil'] ['notebook', 'pencil', 'eraser'] Change-Id: I83d718ff9c3ff6aef47930f38d7f50424f9b880f --- M pySim/filesystem.py 1 file changed, 8 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/13/23513/1 diff --git a/pySim/filesystem.py b/pySim/filesystem.py index f6dddb6..ba94d8f 100644 --- a/pySim/filesystem.py +++ b/pySim/filesystem.py @@ -684,10 +684,10 @@ class CardApplication(object): """A card application is represented by an ADF (with contained hierarchy) and optionally some SW definitions.""" - def __init__(self, name, adf=None, sw={}): + def __init__(self, name, adf=None, sw=None): self.name = name self.adf = adf - self.sw = sw + self.sw = sw or dict() def __str__(self): return "APP(%s)" % (self.name) @@ -701,13 +701,13 @@ """A Card Profile describes a card, it's filessystem hierarchy, an [initial] list of applications as well as profile-specific SW and shell commands. Every card has one card profile, but there may be multiple applications within that profile.""" - def __init__(self, name, desc=None, files_in_mf=[], sw=[], applications=[], shell_cmdsets=[]): + def __init__(self, name, **kw): self.name = name - self.desc = desc - self.files_in_mf = files_in_mf - self.sw = sw - self.applications = applications - self.shell_cmdsets = shell_cmdsets + self.desc = kw.get("desc", None) + self.files_in_mf = kw.get("files_in_mf", []) + self.sw = kw.get("sw", []) + self.applications = kw.get("applications", []) + self.shell_cmdsets = kw.get("shell_cmdsets", []) def __str__(self): return self.name -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23513 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I83d718ff9c3ff6aef47930f38d7f50424f9b880f Gerrit-Change-Number: 23513 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 Mar 27 00:34:56 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 27 Mar 2021 00:34:56 +0000 Subject: Change in pysim[master]: pySim/filesystem: cosmetic: fix wrong indention References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/23514 ) Change subject: pySim/filesystem: cosmetic: fix wrong indention ...................................................................... pySim/filesystem: cosmetic: fix wrong indention I always find Python's space-based indentation questionable... Change-Id: Ibc10f335a6db00bcae8b6af36a42bd7830f7cf79 --- M pySim/filesystem.py 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/14/23514/1 diff --git a/pySim/filesystem.py b/pySim/filesystem.py index ba94d8f..43afad6 100644 --- a/pySim/filesystem.py +++ b/pySim/filesystem.py @@ -704,7 +704,7 @@ def __init__(self, name, **kw): self.name = name self.desc = kw.get("desc", None) - self.files_in_mf = kw.get("files_in_mf", []) + self.files_in_mf = kw.get("files_in_mf", []) self.sw = kw.get("sw", []) self.applications = kw.get("applications", []) self.shell_cmdsets = kw.get("shell_cmdsets", []) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23514 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ibc10f335a6db00bcae8b6af36a42bd7830f7cf79 Gerrit-Change-Number: 23514 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 Mar 27 00:43:20 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 27 Mar 2021 00:43:20 +0000 Subject: Change in pysim[master]: pySim/filesystem: fix mutable default list/dict arguments In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, dexter, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/23513 to look at the new patch set (#2). Change subject: pySim/filesystem: fix mutable default list/dict arguments ...................................................................... pySim/filesystem: fix mutable default list/dict arguments Having lists and dictionaries as default argument values is a bad idea, because the same instance of list/dict will be used by all objects instanuated using such constructor: def appendItem(itemName, itemList=[]): itemList.append(itemName) return itemList print(appendItem('notebook')) print(appendItem('pencil')) print(appendItem('eraser')) Output: ['notebook'] ['notebook', 'pencil'] ['notebook', 'pencil', 'eraser'] Change-Id: I83d718ff9c3ff6aef47930f38d7f50424f9b880f --- M pySim/filesystem.py 1 file changed, 8 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/13/23513/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23513 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I83d718ff9c3ff6aef47930f38d7f50424f9b880f Gerrit-Change-Number: 23513 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 27 00:43:34 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 27 Mar 2021 00:43:34 +0000 Subject: Change in pysim[master]: pySim/filesystem: cosmetic: fix wrong indention In-Reply-To: References: Message-ID: fixeria has abandoned this change. ( https://gerrit.osmocom.org/c/pysim/+/23514 ) Change subject: pySim/filesystem: cosmetic: fix wrong indention ...................................................................... Abandoned -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23514 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ibc10f335a6db00bcae8b6af36a42bd7830f7cf79 Gerrit-Change-Number: 23514 Gerrit-PatchSet: 1 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 Sat Mar 27 00:54:53 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 27 Mar 2021 00:54:53 +0000 Subject: Change in pysim[master]: pySim-shell: add ADF.ISIM / ADF.USIM dynamically In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23473 ) Change subject: pySim-shell: add ADF.ISIM / ADF.USIM dynamically ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23473 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I42ee23375f98e6322708c1c4db6d65e1425feecd Gerrit-Change-Number: 23473 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 27 Mar 2021 00:54: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 Mar 27 00:56:40 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 27 Mar 2021 00:56:40 +0000 Subject: Change in pysim[master]: pySim-shell: add option to execute script on startup In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23474 ) Change subject: pySim-shell: add option to execute script on startup ...................................................................... Patch Set 3: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/pysim/+/23474/3/pySim-shell.py File pySim-shell.py: https://gerrit.osmocom.org/c/pysim/+/23474/3/pySim-shell.py at 52 PS3, Line 52: = consistency: no spaces needed here -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23474 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I69f5224087023650340fbfee74668e1850345f54 Gerrit-Change-Number: 23474 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 27 Mar 2021 00:56:40 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 27 01:32:43 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 27 Mar 2021 01:32:43 +0000 Subject: Change in osmo-pcu[master]: sba: Document AGCH_START_OFFSET after some experimental tests In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23511 ) Change subject: sba: Document AGCH_START_OFFSET after some experimental tests ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23511 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id1460207be25750aeb5c1d7af2fac6591cf5e424 Gerrit-Change-Number: 23511 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sat, 27 Mar 2021 01:32:43 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sat Mar 27 01:39:09 2021 From: admin at opensuse.org (OBS Notification) Date: Sat, 27 Mar 2021 01:39:09 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.10/x86_64 In-Reply-To: References: Message-ID: <605e8cd9c1961_a602af4fbf7c5f427585c3@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_20.10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_20.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 181s] [COMPILING libboard/qmod/source/board_qmod.c] [ 181s] [COMPILING libboard/qmod/source/card_pres.c] [ 181s] [COMPILING libboard/qmod/source/i2c.c] [ 181s] [COMPILING libboard/qmod/source/wwan_led.c] [ 182s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 182s] [COMPILING apps/dfu/main.c] [ 182s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 182s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 182s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 182s] Memory region Used Size Region Size %age Used [ 182s] rom: 16592 B 16 KB 101.27% [ 182s] ram: 11680 B 48 KB 23.76/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 182s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 208 bytes [ 182s] collect2: error: ld returned 1 exit status [ 182s] % [ 182s] make[2]: *** [Makefile:230: flash] Error 1 [ 182s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 182s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 182s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 182s] dh_auto_build: error: make -j1 returned exit code 2 [ 182s] make: *** [debian/rules:16: build] Error 25 [ 182s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 182s] ### VM INTERACTION START ### [ 185s] [ 172.603470] sysrq: Power Off [ 185s] [ 172.607406] reboot: Power down [ 186s] ### VM INTERACTION END ### [ 186s] [ 186s] lamb07 failed "build simtrace2_0.7.0.76.62ad.dsc" at Sat Mar 27 01:39:04 UTC 2021. [ 186s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Mar 27 01:40:00 2021 From: admin at opensuse.org (OBS Notification) Date: Sat, 27 Mar 2021 01:40:00 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <605e8cf742a31_a602af4fbf7c5f42758650@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_20.04/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_20.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 182s] [COMPILING apps/dfu/main.c] [ 182s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 182s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 182s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 183s] Memory region Used Size Region Size %age Used [ 183s] rom: 16600 B 16 KB 101.32% [ 183s] ram: 11688 B 48 KB 23.78/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 183s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 183s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 183s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 183s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 183s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 183s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 216 bytes [ 183s] collect2: error: ld returned 1 exit status [ 183s] % [ 183s] make[2]: *** [Makefile:230: flash] Error 1 [ 183s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 183s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 183s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 183s] dh_auto_build: error: make -j1 returned exit code 2 [ 183s] make: *** [debian/rules:16: build] Error 25 [ 183s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 183s] ### VM INTERACTION START ### [ 186s] [ 172.820469] sysrq: Power Off [ 186s] [ 172.832304] reboot: Power down [ 186s] ### VM INTERACTION END ### [ 186s] [ 186s] lamb55 failed "build simtrace2_0.7.0.76.62ad.dsc" at Sat Mar 27 01:39:44 UTC 2021. [ 186s] -- 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 Mar 27 13:36:22 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 27 Mar 2021 13:36:22 +0000 Subject: Change in osmo-bsc[master]: fix/refactor neighbor config In-Reply-To: References: Message-ID: neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23360 ) Change subject: fix/refactor neighbor config ...................................................................... Patch Set 4: Code-Review+2 combine votes -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23360 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9ed992f8bfff888b3933733c0576f92d50f2625b Gerrit-Change-Number: 23360 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 27 Mar 2021 13:36: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 Mar 27 13:36:40 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 27 Mar 2021 13:36:40 +0000 Subject: Change in osmo-bsc[master]: refactor handover penalty timers In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23358 ) Change subject: refactor handover penalty timers ...................................................................... refactor handover penalty timers So far the list of penalty timers was stored for an opaque target pointer. That was either a gsm_bts pointer for a local BTS, or a cell identifier list pointer for a remote-BSS cell. Reasons to refactor penalty timers: - The cell identifier list pointer came from the neighbor configuration storage, but the way cell neighbor config is stored will change in a subsequent patch. There will be no more cell identifier lists there. - Storing object pointers is inherently unsafe -- if an object gets removed and another gets allocated, the penalty timer could theoretically remain in force for an unrelated object. Rather store penalty timers for specific Cell IDs. Since remote-BSS neighbors can be requested by a cell identifier *list*, use a gsm0808_cell_id_list2 as key in the list of penalty timers. Fix handover_test.c: have different CI for each local BTS. So far it was the same LAC+CI for all BTSes, which now would make the test fail, because any penalty timer would appear to apply to all local cells. Related: OS#5018 Change-Id: I72dd6226a6d69c3f653a3174c6f55bf4eecc6885 --- M include/osmocom/bsc/bts.h M include/osmocom/bsc/gsm_data.h M include/osmocom/bsc/penalty_timers.h M src/osmo-bsc/bsc_subscr_conn_fsm.c M src/osmo-bsc/bts.c M src/osmo-bsc/handover_decision_2.c M src/osmo-bsc/handover_fsm.c M src/osmo-bsc/penalty_timers.c M tests/handover/handover_test.c 9 files changed, 135 insertions(+), 131 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/include/osmocom/bsc/bts.h b/include/osmocom/bsc/bts.h index 0c0e467..efa4134 100644 --- a/include/osmocom/bsc/bts.h +++ b/include/osmocom/bsc/bts.h @@ -622,6 +622,8 @@ bool gsm_bts_matches_lai(const struct gsm_bts *bts, const struct osmo_location_area_id *lai); bool gsm_bts_matches_cell_id(const struct gsm_bts *bts, const struct gsm0808_cell_id *cell_id); +void gsm_bts_cell_id(struct gsm0808_cell_id *cell_id, const struct gsm_bts *bts); +void gsm_bts_cell_id_list(struct gsm0808_cell_id_list2 *cell_id_list, const struct gsm_bts *bts); int gsm_bts_local_neighbor_add(struct gsm_bts *bts, struct gsm_bts *neighbor); int gsm_bts_local_neighbor_del(struct gsm_bts *bts, const struct gsm_bts *neighbor); diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index af1c8e8..1bf21ae 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -207,6 +207,10 @@ enum gsm_chan_t new_lchan_type; struct neighbor_ident_key target_cell; + /* For inter-BSC handover, this may reflect more than one Cell ID. Must also be set for intra-BSC handover, + * because it is used as key for penalty timers (e.g. in handover decision 2). */ + struct gsm0808_cell_id_list2 target_cell_ids; + uint8_t ho_ref; struct gsm_bts *new_bts; struct gsm_lchan *new_lchan; @@ -248,7 +252,7 @@ struct { int failures; - struct penalty_timers *penalty_timers; + struct llist_head penalty_timers; } hodec2; /* "Codec List (MSC Preferred)" as received by the BSSAP Assignment Request. 3GPP 48.008 diff --git a/include/osmocom/bsc/penalty_timers.h b/include/osmocom/bsc/penalty_timers.h index f5d1778..d662b3c 100644 --- a/include/osmocom/bsc/penalty_timers.h +++ b/include/osmocom/bsc/penalty_timers.h @@ -2,40 +2,23 @@ * initially used by handover algorithm 2 to keep per-BTS timers for each subscriber connection. */ #pragma once -/* Opaque struct to manage penalty timers */ -struct penalty_timers; +#include -/* Initialize a list of penalty timers. - * param ctx: talloc context to allocate in. - * returns an empty struct penalty_timers. */ -struct penalty_timers *penalty_timers_init(void *ctx); +struct penalty_timer { + struct llist_head entry; -/* Add a penalty timer for an arbitrary object. - * Note: the ownership of for_object remains with the caller; it is handled as a mere void* value, so - * invalid pointers can be handled without problems, while common sense dictates that invalidated - * pointers (freed objects) should probably be removed from this list. More importantly, the pointer must - * match any pointers used to query penalty timers, so for_object should reference some global/singleton - * object that tends to stay around longer than the penalty timers. - * param pt: penalty timers list as from penalty_timers_init(). - * param for_object: arbitrary pointer reference to store a penalty timer for (passing NULL is possible, - * but note that penalty_timers_clear() will clear all timers if given for_object=NULL). - * param timeout: penalty time in seconds. */ -void penalty_timers_add(struct penalty_timers *pt, const void *for_object, int timeout); + struct gsm0808_cell_id for_target_cell; + unsigned int timeout; +}; -/* Return the amount of penalty time remaining for an object. - * param pt: penalty timers list as from penalty_timers_init(). - * param for_object: arbitrary pointer reference to query penalty timers for. - * returns seconds remaining until all penalty time has expired. */ -unsigned int penalty_timers_remaining(struct penalty_timers *pt, const void *for_object); +void penalty_timers_add(void *ctx, struct llist_head *penalty_timers, + const struct gsm0808_cell_id *for_target_cell, int timeout); +void penalty_timers_add_list(void *ctx, struct llist_head *penalty_timers, + const struct gsm0808_cell_id_list2 *for_target_cells, int timeout); -/* Clear penalty timers for one or all objects. - * param pt: penalty timers list as from penalty_timers_init(). - * param for_object: arbitrary pointer reference to clear penalty time for, - * or NULL to clear all timers. */ -void penalty_timers_clear(struct penalty_timers *pt, const void *for_object); +unsigned int penalty_timers_remaining(struct llist_head *penalty_timers, + const struct gsm0808_cell_id *for_target_cell); +unsigned int penalty_timers_remaining_list(struct llist_head *penalty_timers, + const struct gsm0808_cell_id_list2 *for_target_cells); -/* Free a struct as returned from penalty_timers_init(). - * Clear all timers from the list, deallocate the list and set the pointer to NULL. - * param pt: pointer-to-pointer which references a struct penalty_timers as returned by - * penalty_timers_init(); *pt_p will be set to NULL. */ -void penalty_timers_free(struct penalty_timers **pt_p); +void penalty_timers_clear(struct llist_head *penalty_timers, const struct gsm0808_cell_id *for_target_cell); diff --git a/src/osmo-bsc/bsc_subscr_conn_fsm.c b/src/osmo-bsc/bsc_subscr_conn_fsm.c index ed08e86..954c6a5 100644 --- a/src/osmo-bsc/bsc_subscr_conn_fsm.c +++ b/src/osmo-bsc/bsc_subscr_conn_fsm.c @@ -933,7 +933,7 @@ /* drop pending messages */ gscon_dtap_queue_flush(conn, 0); - penalty_timers_free(&conn->hodec2.penalty_timers); + penalty_timers_clear(&conn->hodec2.penalty_timers, NULL); } static int gscon_timer_cb(struct osmo_fsm_inst *fi) @@ -1004,7 +1004,7 @@ conn->network = net; INIT_LLIST_HEAD(&conn->dtap_queue); - /* BTW, penalty timers will be initialized on-demand. */ + INIT_LLIST_HEAD(&conn->hodec2.penalty_timers); conn->sccp.conn_id = -1; /* don't allocate from 'conn' context, as gscon_cleanup() will call talloc_free(conn) before diff --git a/src/osmo-bsc/bts.c b/src/osmo-bsc/bts.c index 950af5f..5a72298 100644 --- a/src/osmo-bsc/bts.c +++ b/src/osmo-bsc/bts.c @@ -414,6 +414,34 @@ } } +/* Return a LAC+CI cell identity for the given BTS. + * (For matching a BTS within the local BSS, the PLMN code is not important.) */ +void gsm_bts_cell_id(struct gsm0808_cell_id *cell_id, const struct gsm_bts *bts) +{ + *cell_id = (struct gsm0808_cell_id){ + .id_discr = CELL_IDENT_LAC_AND_CI, + .id.lac_and_ci = { + .lac = bts->location_area_code, + .ci = bts->cell_identity, + }, + }; +} + +/* Same as gsm_bts_cell_id(), but return in a single-entry gsm0808_cell_id_list2. Useful for e.g. + * gsm0808_cell_id_list_add() and gsm0808_cell_id_lists_same(). */ +void gsm_bts_cell_id_list(struct gsm0808_cell_id_list2 *cell_id_list, const struct gsm_bts *bts) +{ + struct gsm0808_cell_id cell_id; + struct gsm0808_cell_id_list2 add; + int rc; + gsm_bts_cell_id(&cell_id, bts); + gsm0808_cell_id_to_list(&add, &cell_id); + /* Since the target list is empty, this should always succeed. */ + (*cell_id_list) = (struct gsm0808_cell_id_list2){}; + rc = gsm0808_cell_id_list_add(cell_id_list, &add); + OSMO_ASSERT(rc > 0); +} + static struct gsm_bts_ref *gsm_bts_ref_find(const struct llist_head *list, const struct gsm_bts *bts) { struct gsm_bts_ref *ref; diff --git a/src/osmo-bsc/handover_decision_2.c b/src/osmo-bsc/handover_decision_2.c index 134f502..0d0391c 100644 --- a/src/osmo-bsc/handover_decision_2.c +++ b/src/osmo-bsc/handover_decision_2.c @@ -215,49 +215,6 @@ reinit_congestion_timer(net); } -static void _conn_penalty_time_add(struct gsm_subscriber_connection *conn, - const void *for_object, - int penalty_time) -{ - if (!for_object) { - LOGP(DHODEC, LOGL_ERROR, "%s Unable to set Handover-2 penalty timer:" - " no target cell pointer\n", - bsc_subscr_name(conn->bsub)); - return; - } - - if (!conn->hodec2.penalty_timers) { - conn->hodec2.penalty_timers = penalty_timers_init(conn); - OSMO_ASSERT(conn->hodec2.penalty_timers); - } - - penalty_timers_add(conn->hodec2.penalty_timers, for_object, penalty_time); -} - -static void nik_penalty_time_add(struct gsm_subscriber_connection *conn, - struct neighbor_ident_key *nik, - int penalty_time) -{ - _conn_penalty_time_add(conn, - neighbor_ident_get(conn->network->neighbor_bss_cells, nik), - penalty_time); -} - -static void bts_penalty_time_add(struct gsm_subscriber_connection *conn, - struct gsm_bts *bts, - int penalty_time) -{ - _conn_penalty_time_add(conn, bts, penalty_time); -} - -static unsigned int conn_penalty_time_remaining(struct gsm_subscriber_connection *conn, - const void *for_object) -{ - if (!conn->hodec2.penalty_timers) - return 0; - return penalty_timers_remaining(conn->hodec2.penalty_timers, for_object); -} - /* did we get a RXLEV for a given cell in the given report? Mark matches as MRC_F_PROCESSED. */ static struct gsm_meas_rep_cell *cell_in_rep(struct gsm_meas_rep *mr, uint16_t arfcn, uint8_t bsic) { @@ -491,6 +448,7 @@ uint8_t requirement = 0; unsigned int penalty_time; int32_t current_overbooked; + struct gsm0808_cell_id target_cell_id; c->requirements = 0; /* Requirement A */ @@ -510,7 +468,8 @@ } /* the handover penalty timer must not run for this bts */ - penalty_time = conn_penalty_time_remaining(c->current.lchan->conn, c->target.bts); + gsm_bts_cell_id(&target_cell_id, c->target.bts); + penalty_time = penalty_timers_remaining(&c->current.lchan->conn->hodec2.penalty_timers, &target_cell_id); if (penalty_time) { LOGPHOLCHANTOBTS(c->current.lchan, c->target.bts, LOGL_DEBUG, "not a candidate, target BTS still in penalty time" " (%u seconds left)\n", penalty_time); @@ -788,7 +747,7 @@ /* Requirement A */ /* the handover penalty timer must not run for this bts */ - penalty_time = conn_penalty_time_remaining(c->current.lchan->conn, c->target.cil); + penalty_time = penalty_timers_remaining_list(&c->current.lchan->conn->hodec2.penalty_timers, c->target.cil); if (penalty_time) { LOGPHOLCHANTOREMOTE(c->current.lchan, c->target.cil, LOGL_DEBUG, "not a candidate, target BSS still in penalty time" @@ -1544,6 +1503,7 @@ /* Max Distance */ if (lchan->meas_rep_count > 0 && lchan->last_ta > ho_get_hodec2_max_distance(bts->ho)) { + struct gsm0808_cell_id bts_id; global_ho_reason = HO_REASON_MAX_DISTANCE; LOGPHOLCHAN(lchan, LOGL_NOTICE, "TA is TOO HIGH: %u > %d\n", lchan->last_ta, ho_get_hodec2_max_distance(bts->ho)); @@ -1551,7 +1511,9 @@ * early. it must be started before selecting a better cell, * so there is no assignment selected, due to running * penalty timer. */ - bts_penalty_time_add(lchan->conn, bts, ho_get_hodec2_penalty_max_dist(bts->ho)); + gsm_bts_cell_id(&bts_id, bts); + penalty_timers_add(lchan->conn, &lchan->conn->hodec2.penalty_timers, &bts_id, + ho_get_hodec2_penalty_max_dist(bts->ho)); find_alternative_lchan(lchan, true); return; } @@ -1989,7 +1951,6 @@ static void on_handover_end(struct gsm_subscriber_connection *conn, enum handover_result result) { struct gsm_bts *old_bts = NULL; - struct gsm_bts *new_bts = NULL; int penalty; struct handover *ho = &conn->ho; @@ -1999,8 +1960,6 @@ if (conn->lchan) old_bts = conn->lchan->ts->trx->bts; - if (ho->new_lchan) - new_bts = ho->new_lchan->ts->trx->bts; /* Only interested in handovers within this BSS or going out into another BSS. Incoming handovers * from another BSS are accounted for in the other BSS. */ @@ -2027,11 +1986,7 @@ LOG_HO(conn, LOGL_NOTICE, "Failed, starting penalty timer (%d s)\n", penalty); conn->hodec2.failures = 0; - - if (new_bts) - bts_penalty_time_add(conn, new_bts, penalty); - else - nik_penalty_time_add(conn, &ho->target_cell, penalty); + penalty_timers_add_list(conn, &conn->hodec2.penalty_timers, &ho->target_cell_ids, penalty); } static struct handover_decision_callbacks hodec2_callbacks = { diff --git a/src/osmo-bsc/handover_fsm.c b/src/osmo-bsc/handover_fsm.c index 87359dc..5270152 100644 --- a/src/osmo-bsc/handover_fsm.c +++ b/src/osmo-bsc/handover_fsm.c @@ -375,6 +375,7 @@ ho->scope = (ho->new_bts == bts) ? HO_INTRA_CELL : HO_INTRA_BSC; ho->ho_ref = g_next_ho_ref++; ho->async = true; + gsm_bts_cell_id_list(&ho->target_cell_ids, ho->new_bts); ho->new_lchan = lchan_select_by_type(ho->new_bts, ho->new_lchan_type); diff --git a/src/osmo-bsc/penalty_timers.c b/src/osmo-bsc/penalty_timers.c index 02cf246..6890061 100644 --- a/src/osmo-bsc/penalty_timers.c +++ b/src/osmo-bsc/penalty_timers.c @@ -28,16 +28,6 @@ #include #include -struct penalty_timers { - struct llist_head timers; -}; - -struct penalty_timer { - struct llist_head entry; - const void *for_object; - unsigned int timeout; -}; - static unsigned int time_now(void) { time_t now; @@ -46,16 +36,14 @@ return (unsigned int)now; } -struct penalty_timers *penalty_timers_init(void *ctx) -{ - struct penalty_timers *pt = talloc_zero(ctx, struct penalty_timers); - if (!pt) - return NULL; - INIT_LLIST_HEAD(&pt->timers); - return pt; -} - -void penalty_timers_add(struct penalty_timers *pt, const void *for_object, int timeout) +/* Add a penalty timer for a target cell ID. + * \param ctx talloc context to allocate new struct penalty_timer from. + * \param penalty_timers llist head to add penalty timer to. + * \param for_target_cell Which handover target to penalize. + * \param timeout Penalty time in seconds. + */ +void penalty_timers_add(void *ctx, struct llist_head *penalty_timers, + const struct gsm0808_cell_id *for_target_cell, int timeout) { struct penalty_timer *timer; unsigned int now; @@ -67,9 +55,9 @@ then = now + timeout; - /* timer already running for that BTS? */ - llist_for_each_entry(timer, &pt->timers, entry) { - if (timer->for_object != for_object) + /* timer already running for that target cell? */ + llist_for_each_entry(timer, penalty_timers, entry) { + if (!gsm0808_cell_ids_match(&timer->for_target_cell, for_target_cell, true)) continue; /* raise, if running timer will timeout earlier or has timed * out already, otherwise keep later timeout */ @@ -79,24 +67,49 @@ } /* add new timer */ - timer = talloc_zero(pt, struct penalty_timer); + timer = talloc_zero(ctx, struct penalty_timer); if (!timer) return; - timer->for_object = for_object; + timer->for_target_cell = *for_target_cell; timer->timeout = then; - llist_add_tail(&timer->entry, &pt->timers); + llist_add_tail(&timer->entry, penalty_timers); } -unsigned int penalty_timers_remaining(struct penalty_timers *pt, const void *for_object) +/* Add a penalty timer for each target cell ID in the given list. + * \param ctx talloc context to allocate new struct penalty_timer from. + * \param penalty_timers llist head to add penalty timer to. + * \param for_target_cells Which handover targets to penalize. + * \param timeout Penalty time in seconds. + */ +void penalty_timers_add_list(void *ctx, struct llist_head *penalty_timers, + const struct gsm0808_cell_id_list2 *for_target_cells, int timeout) +{ + int i; + for (i = 0; i < for_target_cells->id_list_len; i++) { + struct gsm0808_cell_id add = { + .id_discr = for_target_cells->id_discr, + .id = for_target_cells->id_list[i], + }; + penalty_timers_add(ctx, penalty_timers, &add, timeout); + } +} + +/* Return the amount of penalty time in seconds remaining for a target cell. + * \param penalty_timers llist head to look up penalty time in. + * \param for_target_cell Which handover target to query. + * \returns seconds remaining until all penalty time has expired. + */ +unsigned int penalty_timers_remaining(struct llist_head *penalty_timers, + const struct gsm0808_cell_id *for_target_cell) { struct penalty_timer *timer; unsigned int now = time_now(); unsigned int max_remaining = 0; - llist_for_each_entry(timer, &pt->timers, entry) { + llist_for_each_entry(timer, penalty_timers, entry) { unsigned int remaining; - if (timer->for_object != for_object) + if (!gsm0808_cell_ids_match(&timer->for_target_cell, for_target_cell, true)) continue; if (now >= timer->timeout) continue; @@ -107,23 +120,39 @@ return max_remaining; } -void penalty_timers_clear(struct penalty_timers *pt, const void *for_object) +/* Return the largest amount of penalty time in seconds remaining for any one of the given target cells. + * Call penalty_timers_remaining() for each entry of for_target_cells and return the largest value encountered. + * \param penalty_timers llist head to look up penalty time in. + * \param for_target_cells Which handover targets to query. + * \returns seconds remaining until all penalty time has expired. + */ +unsigned int penalty_timers_remaining_list(struct llist_head *penalty_timers, + const struct gsm0808_cell_id_list2 *for_target_cells) +{ + int i; + unsigned int max_remaining = 0; + for (i = 0; i < for_target_cells->id_list_len; i++) { + unsigned int remaining; + struct gsm0808_cell_id query = { + .id_discr = for_target_cells->id_discr, + .id = for_target_cells->id_list[i], + }; + remaining = penalty_timers_remaining(penalty_timers, &query); + max_remaining = OSMO_MAX(max_remaining, remaining); + } + return max_remaining; +} + +/* Clear penalty timers for one target cell, or completely clear the entire list. + * \param penalty_timers llist head to add penalty timer to. + * \param for_target_cell Which handover target to clear timers for, or NULL to clear all timers. */ +void penalty_timers_clear(struct llist_head *penalty_timers, const struct gsm0808_cell_id *for_target_cell) { struct penalty_timer *timer, *timer2; - llist_for_each_entry_safe(timer, timer2, &pt->timers, entry) { - if (for_object && timer->for_object != for_object) + llist_for_each_entry_safe(timer, timer2, penalty_timers, entry) { + if (for_target_cell && !gsm0808_cell_ids_match(&timer->for_target_cell, for_target_cell, true)) continue; llist_del(&timer->entry); talloc_free(timer); } } - -void penalty_timers_free(struct penalty_timers **pt_p) -{ - struct penalty_timers *pt = *pt_p; - if (!pt) - return; - penalty_timers_clear(pt, NULL); - talloc_free(pt); - *pt_p = NULL; -} diff --git a/tests/handover/handover_test.c b/tests/handover/handover_test.c index dff1390..332c94c 100644 --- a/tests/handover/handover_test.c +++ b/tests/handover/handover_test.c @@ -205,6 +205,7 @@ static struct gsm_bts *_create_bts(int num_trx, const char * const *ts_args, int ts_args_count) { static int arfcn = 870; + static int ci = 0; struct gsm_bts *bts; struct e1inp_sign_link *rsl_link; int i; @@ -220,6 +221,7 @@ } bts->location_area_code = 23; + bts->cell_identity = ci++; bts->c0->arfcn = arfcn++; bts->codec.efr = 1; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23358 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I72dd6226a6d69c3f653a3174c6f55bf4eecc6885 Gerrit-Change-Number: 23358 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 27 13:36:41 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 27 Mar 2021 13:36:41 +0000 Subject: Change in osmo-bsc[master]: drop neighbor_ident_test.c In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23359 ) Change subject: drop neighbor_ident_test.c ...................................................................... drop neighbor_ident_test.c This tests the opaquely designed neighbor config storage. However, a subsequent patch will refactor the neighbor config storage, and this neighbor ident API will change fundamentally. No need to test this. The new storage will use the usual scheme of transparent struct and llist, the opaque design is not necessary and just bloats. There is no need to test a plain llist, so this test needs no replacement. Related: OS#5018 Change-Id: I6522796bf0bbb9ab83e49168bcbff7bc70fd6c6d --- M tests/handover/Makefile.am D tests/handover/neighbor_ident_test.c D tests/handover/neighbor_ident_test.err D tests/handover/neighbor_ident_test.ok M tests/testsuite.at 5 files changed, 0 insertions(+), 478 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/tests/handover/Makefile.am b/tests/handover/Makefile.am index 3951624..b3bc21f 100644 --- a/tests/handover/Makefile.am +++ b/tests/handover/Makefile.am @@ -24,13 +24,10 @@ handover_tests.sh \ handover_tests.ok \ $(srcdir)/test*.ho_vty \ - neighbor_ident_test.ok \ - neighbor_ident_test.err \ $(NULL) noinst_PROGRAMS = \ handover_test \ - neighbor_ident_test \ $(NULL) handover_test_SOURCES = \ @@ -118,18 +115,6 @@ $(LIBOSMOMGCPCLIENT_LIBS) \ $(NULL) -neighbor_ident_test_SOURCES = \ - neighbor_ident_test.c \ - $(NULL) - -neighbor_ident_test_LDADD = \ - $(top_builddir)/src/osmo-bsc/neighbor_ident.o \ - $(LIBOSMOCORE_LIBS) \ - $(LIBOSMOGSM_LIBS) \ - $(LIBOSMOCTRL_LIBS) \ - $(NULL) - .PHONY: update_exp update_exp: - $(builddir)/neighbor_ident_test >$(srcdir)/neighbor_ident_test.ok 2>$(srcdir)/neighbor_ident_test.err $(srcdir)/handover_tests.sh $(srcdir) $(builddir) -u diff --git a/tests/handover/neighbor_ident_test.c b/tests/handover/neighbor_ident_test.c deleted file mode 100644 index 9acbea0..0000000 --- a/tests/handover/neighbor_ident_test.c +++ /dev/null @@ -1,270 +0,0 @@ -/* Test the neighbor_ident.h API */ -/* - * (C) 2018 by sysmocom - s.f.m.c. GmbH - * All Rights Reserved - * - * Author: Neels Hofmeyr - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - * - */ - -#include -#include -#include - -#include - -#include - -static struct neighbor_ident_list *nil; - -static const struct neighbor_ident_key *k(int from_bts, uint16_t arfcn, uint8_t bsic) -{ - static struct neighbor_ident_key key; - key = (struct neighbor_ident_key){ - .from_bts = from_bts, - .arfcn = arfcn, - .bsic = bsic, - }; - return &key; -} - -static const struct gsm0808_cell_id_list2 cgi1 = { - .id_discr = CELL_IDENT_WHOLE_GLOBAL, - .id_list_len = 1, - .id_list = { - { - .global = { - .lai = { - .plmn = { .mcc = 1, .mnc = 2, .mnc_3_digits = false }, - .lac = 3, - }, - .cell_identity = 4, - } - }, - }, -}; - -static const struct gsm0808_cell_id_list2 cgi2 = { - .id_discr = CELL_IDENT_WHOLE_GLOBAL, - .id_list_len = 2, - .id_list = { - { - .global = { - .lai = { - .plmn = { .mcc = 1, .mnc = 2, .mnc_3_digits = false }, - .lac = 3, - }, - .cell_identity = 4, - } - }, - { - .global = { - .lai = { - .plmn = { .mcc = 5, .mnc = 6, .mnc_3_digits = true }, - .lac = 7, - }, - .cell_identity = 8, - } - }, - }, -}; - -static const struct gsm0808_cell_id_list2 lac1 = { - .id_discr = CELL_IDENT_LAC, - .id_list_len = 1, - .id_list = { - { - .lac = 123 - }, - }, -}; - -static const struct gsm0808_cell_id_list2 lac2 = { - .id_discr = CELL_IDENT_LAC, - .id_list_len = 2, - .id_list = { - { - .lac = 456 - }, - { - .lac = 789 - }, - }, -}; - -static void print_cil(const struct gsm0808_cell_id_list2 *cil) -{ - unsigned int i; - if (!cil) { - printf(" cell_id_list == NULL\n"); - return; - } - switch (cil->id_discr) { - case CELL_IDENT_WHOLE_GLOBAL: - printf(" cell_id_list cgi[%u] = {\n", cil->id_list_len); - for (i = 0; i < cil->id_list_len; i++) - printf(" %2d: %s\n", i, osmo_cgi_name(&cil->id_list[i].global)); - printf(" }\n"); - break; - case CELL_IDENT_LAC: - printf(" cell_id_list lac[%u] = {\n", cil->id_list_len); - for (i = 0; i < cil->id_list_len; i++) - printf(" %2d: %u\n", i, cil->id_list[i].lac); - printf(" }\n"); - break; - default: - printf(" Unimplemented id_disc\n"); - } -} - -static int print_nil_i; - -static bool nil_cb(const struct neighbor_ident_key *key, const struct gsm0808_cell_id_list2 *val, - void *cb_data) -{ - printf(" %2d: %s\n", print_nil_i++, neighbor_ident_key_name(key)); - print_cil(val); - return true; -} - -static void print_nil() -{ - print_nil_i = 0; - neighbor_ident_iter(nil, nil_cb, NULL); - if (!print_nil_i) - printf(" (empty)\n"); -} - -#define check_add(key, val, expect_rc) \ - do { \ - int rc; \ - rc = neighbor_ident_add(nil, key, val); \ - printf("neighbor_ident_add(" #key ", " #val ") --> expect rc=" #expect_rc ", got %d\n", rc); \ - if (rc != expect_rc) \ - printf("ERROR\n"); \ - print_nil(); \ - } while(0) - -#define check_del(key, expect_rc) \ - do { \ - bool rc; \ - rc = neighbor_ident_del(nil, key); \ - printf("neighbor_ident_del(" #key ") --> %s\n", rc ? "entry deleted" : "nothing deleted"); \ - if (rc != expect_rc) \ - printf("ERROR: expected: %s\n", expect_rc ? "entry deleted" : "nothing deleted"); \ - print_nil(); \ - } while(0) - -#define check_get(key, expect_rc) \ - do { \ - const struct gsm0808_cell_id_list2 *rc; \ - rc = neighbor_ident_get(nil, key); \ - printf("neighbor_ident_get(" #key ") --> %s\n", \ - rc ? "entry returned" : "NULL"); \ - if (((bool)expect_rc) != ((bool) rc)) \ - printf("ERROR: expected %s\n", expect_rc ? "an entry" : "NULL"); \ - if (rc) \ - print_cil(rc); \ - } while(0) - -int main(void) -{ - void *ctx = talloc_named_const(NULL, 0, "neighbor_ident_test"); - - printf("\n--- testing NULL neighbor_ident_list\n"); - nil = NULL; - check_add(k(0, 1, 2), &cgi1, -ENOMEM); - check_get(k(0, 1, 2), false); - check_del(k(0, 1, 2), false); - - printf("\n--- adding entries, test that no two identical entries are added\n"); - nil = neighbor_ident_init(ctx); - check_add(k(0, 1, 2), &cgi1, 1); - check_get(k(0, 1, 2), true); - check_add(k(0, 1, 2), &cgi1, 1); - check_add(k(0, 1, 2), &cgi2, 2); - check_add(k(0, 1, 2), &cgi2, 2); - check_del(k(0, 1, 2), true); - - printf("\n--- Cannot mix cell identifier types for one entry\n"); - check_add(k(0, 1, 2), &cgi1, 1); - check_add(k(0, 1, 2), &lac1, -EINVAL); - check_del(k(0, 1, 2), true); - neighbor_ident_free(nil); - - printf("\n--- BTS matching: specific BTS is stronger\n"); - nil = neighbor_ident_init(ctx); - check_add(k(NEIGHBOR_IDENT_KEY_ANY_BTS, 1, 2), &lac1, 1); - check_add(k(3, 1, 2), &lac2, 2); - check_get(k(2, 1, 2), true); - check_get(k(3, 1, 2), true); - check_get(k(4, 1, 2), true); - check_get(k(NEIGHBOR_IDENT_KEY_ANY_BTS, 1, 2), true); - neighbor_ident_free(nil); - - printf("\n--- BSIC matching: 6bit and 9bit are different realms, and wildcard match is weaker\n"); - nil = neighbor_ident_init(ctx); - check_add(k(0, 1, BSIC_ANY), &cgi1, 1); - check_add(k(0, 1, 2), &lac1, 1); - check_add(k(0, 1, 2), &lac2, 2); - check_get(k(0, 1, 2), true); - check_get(k(0, 1, 2), true); - neighbor_ident_free(nil); - - printf("\n--- Value ranges\n"); - nil = neighbor_ident_init(ctx); - check_add(k(0, 6, 1 << 6), &lac1, -ERANGE); - check_add(k(0, 6, BSIC_ANY - 1), &lac1, -ERANGE); - check_add(k(NEIGHBOR_IDENT_KEY_ANY_BTS - 1, 1, BSIC_ANY), &cgi2, -ERANGE); - check_add(k(256, 1, BSIC_ANY), &cgi2, -ERANGE); - check_add(k(0, 0, BSIC_ANY), &cgi1, 1); - check_add(k(255, 65535, BSIC_ANY), &lac1, 1); - check_add(k(0, 0, 0), &cgi2, 2); - check_add(k(255, 65535, 0x3f), &lac2, 2); - - neighbor_ident_free(nil); - - printf("\n--- size limits\n"); - { - int i; - struct gsm0808_cell_id_list2 a = { .id_discr = CELL_IDENT_LAC }; - struct gsm0808_cell_id_list2 b = { - .id_discr = CELL_IDENT_LAC, - .id_list = { - { .lac = 423 } - }, - .id_list_len = 1, - }; - for (i = 0; i < ARRAY_SIZE(a.id_list); i++) { - a.id_list[a.id_list_len ++].lac = i; - } - - nil = neighbor_ident_init(ctx); - - i = neighbor_ident_add(nil, k(0, 1, 2), &a); - printf("Added first cell identifier list (added %u) --> rc = %d\n", a.id_list_len, i); - i = neighbor_ident_add(nil, k(0, 1, 2), &b); - printf("Added second cell identifier list (tried to add %u) --> rc = %d\n", b.id_list_len, i); - if (i != -ENOSPC) - printf("ERROR: expected rc=%d\n", -ENOSPC); - neighbor_ident_free(nil); - } - - OSMO_ASSERT(talloc_total_blocks(ctx) == 1); - talloc_free(ctx); - - return 0; -} diff --git a/tests/handover/neighbor_ident_test.err b/tests/handover/neighbor_ident_test.err deleted file mode 100644 index e69de29..0000000 --- a/tests/handover/neighbor_ident_test.err +++ /dev/null diff --git a/tests/handover/neighbor_ident_test.ok b/tests/handover/neighbor_ident_test.ok deleted file mode 100644 index 961a33c..0000000 --- a/tests/handover/neighbor_ident_test.ok +++ /dev/null @@ -1,186 +0,0 @@ - ---- testing NULL neighbor_ident_list -neighbor_ident_add(k(0, 1, 2), &cgi1) --> expect rc=-ENOMEM, got -12 - (empty) -neighbor_ident_get(k(0, 1, 2)) --> NULL -neighbor_ident_del(k(0, 1, 2)) --> nothing deleted - (empty) - ---- adding entries, test that no two identical entries are added -neighbor_ident_add(k(0, 1, 2), &cgi1) --> expect rc=1, got 1 - 0: BTS 0 to ARFCN 1 BSIC 2 - cell_id_list cgi[1] = { - 0: 001-02-3-4 - } -neighbor_ident_get(k(0, 1, 2)) --> entry returned - cell_id_list cgi[1] = { - 0: 001-02-3-4 - } -neighbor_ident_add(k(0, 1, 2), &cgi1) --> expect rc=1, got 1 - 0: BTS 0 to ARFCN 1 BSIC 2 - cell_id_list cgi[1] = { - 0: 001-02-3-4 - } -neighbor_ident_add(k(0, 1, 2), &cgi2) --> expect rc=2, got 2 - 0: BTS 0 to ARFCN 1 BSIC 2 - cell_id_list cgi[2] = { - 0: 001-02-3-4 - 1: 005-006-7-8 - } -neighbor_ident_add(k(0, 1, 2), &cgi2) --> expect rc=2, got 2 - 0: BTS 0 to ARFCN 1 BSIC 2 - cell_id_list cgi[2] = { - 0: 001-02-3-4 - 1: 005-006-7-8 - } -neighbor_ident_del(k(0, 1, 2)) --> entry deleted - (empty) - ---- Cannot mix cell identifier types for one entry -neighbor_ident_add(k(0, 1, 2), &cgi1) --> expect rc=1, got 1 - 0: BTS 0 to ARFCN 1 BSIC 2 - cell_id_list cgi[1] = { - 0: 001-02-3-4 - } -neighbor_ident_add(k(0, 1, 2), &lac1) --> expect rc=-EINVAL, got -22 - 0: BTS 0 to ARFCN 1 BSIC 2 - cell_id_list cgi[1] = { - 0: 001-02-3-4 - } -neighbor_ident_del(k(0, 1, 2)) --> entry deleted - (empty) - ---- BTS matching: specific BTS is stronger -neighbor_ident_add(k(NEIGHBOR_IDENT_KEY_ANY_BTS, 1, 2), &lac1) --> expect rc=1, got 1 - 0: BTS * to ARFCN 1 BSIC 2 - cell_id_list lac[1] = { - 0: 123 - } -neighbor_ident_add(k(3, 1, 2), &lac2) --> expect rc=2, got 2 - 0: BTS * to ARFCN 1 BSIC 2 - cell_id_list lac[1] = { - 0: 123 - } - 1: BTS 3 to ARFCN 1 BSIC 2 - cell_id_list lac[2] = { - 0: 456 - 1: 789 - } -neighbor_ident_get(k(2, 1, 2)) --> entry returned - cell_id_list lac[1] = { - 0: 123 - } -neighbor_ident_get(k(3, 1, 2)) --> entry returned - cell_id_list lac[2] = { - 0: 456 - 1: 789 - } -neighbor_ident_get(k(4, 1, 2)) --> entry returned - cell_id_list lac[1] = { - 0: 123 - } -neighbor_ident_get(k(NEIGHBOR_IDENT_KEY_ANY_BTS, 1, 2)) --> entry returned - cell_id_list lac[1] = { - 0: 123 - } - ---- BSIC matching: 6bit and 9bit are different realms, and wildcard match is weaker -neighbor_ident_add(k(0, 1, BSIC_ANY), &cgi1) --> expect rc=1, got 1 - 0: BTS 0 to ARFCN 1 (any BSIC) - cell_id_list cgi[1] = { - 0: 001-02-3-4 - } -neighbor_ident_add(k(0, 1, 2), &lac1) --> expect rc=1, got 1 - 0: BTS 0 to ARFCN 1 (any BSIC) - cell_id_list cgi[1] = { - 0: 001-02-3-4 - } - 1: BTS 0 to ARFCN 1 BSIC 2 - cell_id_list lac[1] = { - 0: 123 - } -neighbor_ident_add(k(0, 1, 2), &lac2) --> expect rc=2, got 3 -ERROR - 0: BTS 0 to ARFCN 1 (any BSIC) - cell_id_list cgi[1] = { - 0: 001-02-3-4 - } - 1: BTS 0 to ARFCN 1 BSIC 2 - cell_id_list lac[3] = { - 0: 123 - 1: 456 - 2: 789 - } -neighbor_ident_get(k(0, 1, 2)) --> entry returned - cell_id_list lac[3] = { - 0: 123 - 1: 456 - 2: 789 - } -neighbor_ident_get(k(0, 1, 2)) --> entry returned - cell_id_list lac[3] = { - 0: 123 - 1: 456 - 2: 789 - } - ---- Value ranges -neighbor_ident_add(k(0, 6, 1 << 6), &lac1) --> expect rc=-ERANGE, got -34 - (empty) -neighbor_ident_add(k(0, 6, BSIC_ANY - 1), &lac1) --> expect rc=-ERANGE, got -34 - (empty) -neighbor_ident_add(k(NEIGHBOR_IDENT_KEY_ANY_BTS - 1, 1, BSIC_ANY), &cgi2) --> expect rc=-ERANGE, got -34 - (empty) -neighbor_ident_add(k(256, 1, BSIC_ANY), &cgi2) --> expect rc=-ERANGE, got -34 - (empty) -neighbor_ident_add(k(0, 0, BSIC_ANY), &cgi1) --> expect rc=1, got 1 - 0: BTS 0 to ARFCN 0 (any BSIC) - cell_id_list cgi[1] = { - 0: 001-02-3-4 - } -neighbor_ident_add(k(255, 65535, BSIC_ANY), &lac1) --> expect rc=1, got 1 - 0: BTS 0 to ARFCN 0 (any BSIC) - cell_id_list cgi[1] = { - 0: 001-02-3-4 - } - 1: BTS 255 to ARFCN 65535 (any BSIC) - cell_id_list lac[1] = { - 0: 123 - } -neighbor_ident_add(k(0, 0, 0), &cgi2) --> expect rc=2, got 2 - 0: BTS 0 to ARFCN 0 (any BSIC) - cell_id_list cgi[1] = { - 0: 001-02-3-4 - } - 1: BTS 255 to ARFCN 65535 (any BSIC) - cell_id_list lac[1] = { - 0: 123 - } - 2: BTS 0 to ARFCN 0 BSIC 0 - cell_id_list cgi[2] = { - 0: 001-02-3-4 - 1: 005-006-7-8 - } -neighbor_ident_add(k(255, 65535, 0x3f), &lac2) --> expect rc=2, got 2 - 0: BTS 0 to ARFCN 0 (any BSIC) - cell_id_list cgi[1] = { - 0: 001-02-3-4 - } - 1: BTS 255 to ARFCN 65535 (any BSIC) - cell_id_list lac[1] = { - 0: 123 - } - 2: BTS 0 to ARFCN 0 BSIC 0 - cell_id_list cgi[2] = { - 0: 001-02-3-4 - 1: 005-006-7-8 - } - 3: BTS 255 to ARFCN 65535 BSIC 63 - cell_id_list lac[2] = { - 0: 456 - 1: 789 - } - ---- size limits -Added first cell identifier list (added 127) --> rc = 127 -Added second cell identifier list (tried to add 1) --> rc = -28 diff --git a/tests/testsuite.at b/tests/testsuite.at index 17153cc..e7eb76b 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -44,13 +44,6 @@ AT_CHECK([$abs_top_builddir/tests/nanobts_omlattr/nanobts_omlattr_test], [], [expout], [ignore]) AT_CLEANUP -AT_SETUP([neighbor_ident]) -AT_KEYWORDS([neighbor_ident]) -cat $abs_srcdir/handover/neighbor_ident_test.ok > expout -cat $abs_srcdir/handover/neighbor_ident_test.err > experr -AT_CHECK([$abs_top_builddir/tests/handover/neighbor_ident_test], [], [expout], [experr]) -AT_CLEANUP - AT_SETUP([handover_tests]) AT_KEYWORDS([handover_tests]) cat $abs_srcdir/handover/handover_tests.ok > expout -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23359 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I6522796bf0bbb9ab83e49168bcbff7bc70fd6c6d Gerrit-Change-Number: 23359 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 27 13:36:41 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 27 Mar 2021 13:36:41 +0000 Subject: Change in osmo-bsc[master]: fix/refactor neighbor config In-Reply-To: References: Message-ID: neels has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23360 ) Change subject: fix/refactor neighbor config ...................................................................... fix/refactor neighbor config The neighbor configuration storage is fundamentally broken: it requires all local cells to be configured before being able to list them as neighbors of each other. Upon config write-back, the neighbor config however is placed back inline with the other config, and hence a written-out neighbor config no longer works on program restart. The cause of this problem is that the config is stored as explicit pointers between local cells (struct gsm_bts), which of course requires the pointer to exist before being able to reference it. Instead, store the actual configuration that the user entered as-is, without pointers or references to objects that need to be ready. Resolve the neighbors every time a neighbor is needed. Hence the user may enter any config at any place in the config file, even non-working config (like a BTS number that doesn't exist), and the relation to actual local or remote neighbor cells is made at runtime. Abort program startup if the initial neighbor configuration contains errors. Related: OS#5018 Change-Id: I9ed992f8bfff888b3933733c0576f92d50f2625b --- M include/osmocom/bsc/bts.h M include/osmocom/bsc/gsm_data.h M include/osmocom/bsc/handover.h M include/osmocom/bsc/neighbor_ident.h M src/osmo-bsc/bsc_init.c M src/osmo-bsc/bsc_vty.c M src/osmo-bsc/bts.c M src/osmo-bsc/handover_decision.c M src/osmo-bsc/handover_decision_2.c M src/osmo-bsc/handover_fsm.c M src/osmo-bsc/handover_logic.c M src/osmo-bsc/neighbor_ident.c M src/osmo-bsc/neighbor_ident_vty.c M src/osmo-bsc/osmo_bsc_main.c M src/osmo-bsc/system_information.c M tests/bsc/bsc_test.c M tests/ctrl/osmo-bsc-neigh-test.cfg M tests/gsm0408/gsm0408_test.c M tests/neighbor_ident.vty 19 files changed, 924 insertions(+), 1,024 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve dexter: Looks good to me, but someone else must approve neels: Looks good to me, approved diff --git a/include/osmocom/bsc/bts.h b/include/osmocom/bsc/bts.h index efa4134..f40aa3e 100644 --- a/include/osmocom/bsc/bts.h +++ b/include/osmocom/bsc/bts.h @@ -496,10 +496,13 @@ struct handover_cfg *ho; - /* A list of struct gsm_bts_ref, indicating neighbors of this BTS. - * When the si_common neigh_list is in automatic mode, it is populated from this list as well as - * gsm_network->neighbor_bss_cells. */ - struct llist_head local_neighbors; + /* Local and remote neighbor configuration: a list of neighbors as written in the VTY config, not resolved to + * actual cells. Entries may point at non-existing BTS numbers, or yet unconfigured ARFCN+BSIC. The point of + * this list is to keep the config as the user entered it: a) to write it back exactly as entered, and b) to + * allow adding neighbor cells that will only be configured further down in the config file. + * An actual neighbor cell object (local or remote-BSS) is resolved "at runtime" whenever a neighbor is being + * looked up. */ + struct llist_head neighbors; /* BTS-specific overrides for timer values from struct gsm_network. */ uint8_t T3122; /* ASSIGNMENT REJECT wait indication */ diff --git a/include/osmocom/bsc/gsm_data.h b/include/osmocom/bsc/gsm_data.h index 1bf21ae..2a9da26 100644 --- a/include/osmocom/bsc/gsm_data.h +++ b/include/osmocom/bsc/gsm_data.h @@ -31,7 +31,6 @@ #include #include #include -#include #include #define GSM_T3122_DEFAULT 10 @@ -174,10 +173,16 @@ inline static const char *handover_scope_name(enum handover_scope val) { return get_value_string(handover_scope_names, val); } +/* Cell ARFCN + BSIC. */ +struct cell_ab { + uint16_t arfcn; + uint8_t bsic; +}; + struct handover_out_req { enum hodec_id from_hodec_id; struct gsm_lchan *old_lchan; - struct neighbor_ident_key target_nik; + struct cell_ab target_cell_ab; enum gsm_chan_t new_lchan_type; /*< leave GSM_LCHAN_NONE to use same as old_lchan */ }; @@ -205,7 +210,7 @@ enum hodec_id from_hodec_id; enum handover_scope scope; enum gsm_chan_t new_lchan_type; - struct neighbor_ident_key target_cell; + struct cell_ab target_cell_ab; /* For inter-BSC handover, this may reflect more than one Cell ID. Must also be set for intra-BSC handover, * because it is used as key for penalty timers (e.g. in handover decision 2). */ @@ -850,12 +855,6 @@ unsigned int used; }; -/* Useful to track N-N relations between BTS, for example neighbors. */ -struct gsm_bts_ref { - struct llist_head entry; - struct gsm_bts *bts; -}; - /* A single Page of a SMSCB message */ struct bts_smscb_page { /* SMSCB message we're part of */ @@ -1219,8 +1218,6 @@ struct osmo_tdef *tdefs; } mgw; - /* Remote BSS Cell Identifier Lists */ - struct neighbor_ident_list *neighbor_bss_cells; /* Remote BSS resolution sevice (CTRL iface) */ struct { char *addr; diff --git a/include/osmocom/bsc/handover.h b/include/osmocom/bsc/handover.h index a71bb98..f671491 100644 --- a/include/osmocom/bsc/handover.h +++ b/include/osmocom/bsc/handover.h @@ -82,8 +82,9 @@ void bsc_tx_bssmap_ho_failure(struct gsm_subscriber_connection *conn); int find_handover_target_cell(struct gsm_bts **local_target_cell_p, - const struct gsm0808_cell_id_list2 **remote_target_cell_p, - struct gsm_subscriber_connection *conn, const struct neighbor_ident_key *search_for, + struct gsm0808_cell_id_list2 *remote_target_cells, + struct gsm_subscriber_connection *conn, + const struct cell_ab *search_for, bool log_errors); void handover_parse_inter_bsc_mt(struct gsm_subscriber_connection *conn, diff --git a/include/osmocom/bsc/neighbor_ident.h b/include/osmocom/bsc/neighbor_ident.h index cab7f9e..0565d52 100644 --- a/include/osmocom/bsc/neighbor_ident.h +++ b/include/osmocom/bsc/neighbor_ident.h @@ -7,62 +7,84 @@ #include #include +#include + struct vty; struct gsm_network; struct gsm_bts; -struct neighbor_ident_list; struct gsm0808_cell_id_list2; #define NEIGHBOR_IDENT_KEY_ANY_BTS -1 #define BSIC_ANY 0xff -struct neighbor_ident_key { - int from_bts; /*< BTS nr 0..255 or NEIGHBOR_IDENT_KEY_ANY_BTS */ - uint16_t arfcn; - uint8_t bsic; +enum neighbor_type { + NEIGHBOR_TYPE_UNSET = 0, + NEIGHBOR_TYPE_BTS_NR = 1, + NEIGHBOR_TYPE_CELL_ID = 2, }; -const char *neighbor_ident_key_name(const struct neighbor_ident_key *ni_key); +/* One line of VTY neighbor configuration as entered by the user. + * One of three variants: + * + * - just the local-BSS neighbor BTS nr: + * neighbor bts 123 + * + * - a neighbor cell identifier *without* ARFCN+BSIC: + * neighbor (lac|lac-ci|cgi|cgi-ps) 1 2 3... + * This is an elaborate / BTS-nr-agnostic way of indicating a local-BSS neighbor cell. + * + * - a neighbor cell identifier *with* ARFCN+BSIC: + * neighbor (lac|lac-ci|cgi|cgi-ps) 1 2 3... arfcn 456 bsic (23|any) + * This can either be + * - a remote-BSS neighbor cell, or + * - a super elaborate way of indicating a local-BSS neighbor, if this cell id exists in the local BSS. + */ +struct neighbor { + struct llist_head entry; -struct neighbor_ident_list *neighbor_ident_init(void *talloc_ctx); -void neighbor_ident_free(struct neighbor_ident_list *nil); + enum neighbor_type type; + union { + uint8_t bts_nr; + struct { + struct gsm0808_cell_id id; + bool ab_present; + struct cell_ab ab; + } cell_id; + }; +}; -bool neighbor_ident_key_match(const struct neighbor_ident_key *entry, - const struct neighbor_ident_key *search_for, - bool exact_match); +int resolve_local_neighbor(struct gsm_bts **local_neighbor_p, const struct gsm_bts *from_bts, + const struct neighbor *neighbor); +int resolve_remote_neighbors(struct gsm_bts *from_bts, const struct cell_ab *target_ab); -int neighbor_ident_add(struct neighbor_ident_list *nil, const struct neighbor_ident_key *key, - const struct gsm0808_cell_id_list2 *val); -const struct gsm0808_cell_id_list2 *neighbor_ident_get(const struct neighbor_ident_list *nil, - const struct neighbor_ident_key *key); -bool neighbor_ident_del(struct neighbor_ident_list *nil, const struct neighbor_ident_key *key); -void neighbor_ident_clear(struct neighbor_ident_list *nil); +int cell_ab_to_str_buf(char *buf, size_t buflen, const struct cell_ab *cell); +char *cell_ab_to_str_c(void *ctx, const struct cell_ab *cell); -void neighbor_ident_iter(const struct neighbor_ident_list *nil, - bool (* iter_cb )(const struct neighbor_ident_key *key, - const struct gsm0808_cell_id_list2 *val, - void *cb_data), - void *cb_data); +bool cell_ab_match(const struct cell_ab *entry, const struct cell_ab *search_for, bool exact_match); +bool cell_ab_valid(const struct cell_ab *cell); -struct neighbor_ident_key *bts_ident_key(const struct gsm_bts *bts); +int neighbor_to_str_buf(char *buf, size_t buflen, const struct neighbor *n); +char *neighbor_to_str_c(void *ctx, const struct neighbor *n); +bool neighbor_same(const struct neighbor *a, const struct neighbor *b, bool check_cell_ab); -void neighbor_ident_vty_init(struct gsm_network *net, struct neighbor_ident_list *nil); +void bts_cell_ab(struct cell_ab *arfcn_bsic, const struct gsm_bts *bts); + +int resolve_neighbors(struct gsm_bts **local_neighbor_p, struct gsm0808_cell_id_list2 *remote_neighbors, + struct gsm_bts *from_bts, const struct cell_ab *target_ab, bool log_errors); + +void neighbor_ident_vty_init(); void neighbor_ident_vty_write_bts(struct vty *vty, const char *indent, struct gsm_bts *bts); void neighbor_ident_vty_write_network(struct vty *vty, const char *indent); -bool neighbor_ident_bts_entry_exists(uint8_t from_bts); +int neighbors_check_cfg(); -#define NEIGHBOR_IDENT_VTY_KEY_PARAMS "arfcn <0-1023> bsic (<0-63>|any)" -#define NEIGHBOR_IDENT_VTY_KEY_DOC \ +#define CELL_AB_VTY_PARAMS "arfcn <0-1023> bsic (<0-63>|any)" +#define CELL_AB_VTY_DOC \ "ARFCN of neighbor cell\n" "ARFCN value\n" \ "BSIC of neighbor cell\n" "BSIC value\n" \ "for all BSICs / use any BSIC in this ARFCN\n" -bool neighbor_ident_vty_parse_key_params(struct vty *vty, const char **argv, - struct neighbor_ident_key *key); -bool neighbor_ident_bts_parse_key_params(struct vty *vty, struct gsm_bts *bts, const char **argv, - struct neighbor_ident_key *key); - +void neighbor_ident_vty_parse_arfcn_bsic(struct cell_ab *ab, const char **argv); struct ctrl_handle *neighbor_controlif_setup(struct gsm_network *net); int neighbor_ctrl_cmds_install(struct gsm_network *net); diff --git a/src/osmo-bsc/bsc_init.c b/src/osmo-bsc/bsc_init.c index b959c9f..b572f27 100644 --- a/src/osmo-bsc/bsc_init.c +++ b/src/osmo-bsc/bsc_init.c @@ -100,7 +100,6 @@ net->ho = ho_cfg_init(net, NULL); net->hodec2.congestion_check_interval_s = HO_CFG_CONGESTION_CHECK_DEFAULT; - net->neighbor_bss_cells = neighbor_ident_init(net); /* init statistics */ net->bsc_ctrs = rate_ctr_group_alloc(net, &bsc_ctrg_desc, 0); diff --git a/src/osmo-bsc/bsc_vty.c b/src/osmo-bsc/bsc_vty.c index c8dfa8d..280fe9f 100644 --- a/src/osmo-bsc/bsc_vty.c +++ b/src/osmo-bsc/bsc_vty.c @@ -1881,8 +1881,8 @@ struct handover_out_req req = { .from_hodec_id = HODEC_USER, .old_lchan = from_lchan, - .target_nik = *bts_ident_key(to_bts), }; + bts_cell_ab(&req.target_cell_ab, to_bts); handover_request(&req); } return CMD_SUCCESS; @@ -2075,14 +2075,15 @@ } DEFUN(handover_any_to_arfcn_bsic, handover_any_to_arfcn_bsic_cmd, - "handover any to " NEIGHBOR_IDENT_VTY_KEY_PARAMS, + "handover any to " CELL_AB_VTY_PARAMS, MANUAL_HANDOVER_STR "Pick any actively used TCH/F or TCH/H lchan to handover to another cell." " This is likely to fail outside of a lab setup where you are certain that" " all MS are able to see the target cell.\n" "'to'\n" - NEIGHBOR_IDENT_VTY_KEY_DOC) + CELL_AB_VTY_DOC) { + struct cell_ab ab = {}; struct handover_out_req req; struct gsm_lchan *from_lchan; @@ -2095,12 +2096,8 @@ .old_lchan = from_lchan, }; - if (!neighbor_ident_bts_parse_key_params(vty, from_lchan->ts->trx->bts, - argv, &req.target_nik)) { - vty_out(vty, "%% BTS %u does not know about this neighbor%s", - from_lchan->ts->trx->bts->nr, VTY_NEWLINE); - return CMD_WARNING; - } + neighbor_ident_vty_parse_arfcn_bsic(&ab, argv); + req.target_cell_ab = ab; handover_request(&req); return CMD_SUCCESS; @@ -7775,7 +7772,7 @@ install_element(BTS_NODE, &cfg_bts_rep_no_ul_dl_sacch_cmd); install_element(BTS_NODE, &cfg_bts_rep_rxqual_cmd); - neighbor_ident_vty_init(network, network->neighbor_bss_cells); + neighbor_ident_vty_init(); /* See also handover commands added on bts level from handover_vty.c */ install_element(BTS_NODE, &cfg_bts_power_ctrl_cmd); diff --git a/src/osmo-bsc/bts.c b/src/osmo-bsc/bts.c index 5a72298..398f26f 100644 --- a/src/osmo-bsc/bts.c +++ b/src/osmo-bsc/bts.c @@ -273,7 +273,7 @@ INIT_LLIST_HEAD(&bts->abis_queue); INIT_LLIST_HEAD(&bts->loc_list); - INIT_LLIST_HEAD(&bts->local_neighbors); + INIT_LLIST_HEAD(&bts->neighbors); INIT_LLIST_HEAD(&bts->oml_fail_rep); INIT_LLIST_HEAD(&bts->chan_rqd_queue); @@ -442,59 +442,6 @@ OSMO_ASSERT(rc > 0); } -static struct gsm_bts_ref *gsm_bts_ref_find(const struct llist_head *list, const struct gsm_bts *bts) -{ - struct gsm_bts_ref *ref; - if (!bts) - return NULL; - llist_for_each_entry(ref, list, entry) { - if (ref->bts == bts) - return ref; - } - return NULL; -} - -/* Add a BTS reference to the local_neighbors list. - * Return 1 if added, 0 if such an entry already existed, and negative on errors. */ -int gsm_bts_local_neighbor_add(struct gsm_bts *bts, struct gsm_bts *neighbor) -{ - struct gsm_bts_ref *ref; - if (!bts || !neighbor) - return -ENOMEM; - - if (bts == neighbor) - return -EINVAL; - - /* Already got this entry? */ - ref = gsm_bts_ref_find(&bts->local_neighbors, neighbor); - if (ref) - return 0; - - ref = talloc_zero(bts, struct gsm_bts_ref); - if (!ref) - return -ENOMEM; - ref->bts = neighbor; - llist_add_tail(&ref->entry, &bts->local_neighbors); - return 1; -} - -/* Remove a BTS reference from the local_neighbors list. - * Return 1 if removed, 0 if no such entry existed, and negative on errors. */ -int gsm_bts_local_neighbor_del(struct gsm_bts *bts, const struct gsm_bts *neighbor) -{ - struct gsm_bts_ref *ref; - if (!bts || !neighbor) - return -ENOMEM; - - ref = gsm_bts_ref_find(&bts->local_neighbors, neighbor); - if (!ref) - return 0; - - llist_del(&ref->entry); - talloc_free(ref); - return 1; -} - /* return the gsm_lchan for the CBCH (if it exists at all) */ struct gsm_lchan *gsm_bts_get_cbch(struct gsm_bts *bts) { diff --git a/src/osmo-bsc/handover_decision.c b/src/osmo-bsc/handover_decision.c index 7eb8f31..1eeb277 100644 --- a/src/osmo-bsc/handover_decision.c +++ b/src/osmo-bsc/handover_decision.c @@ -201,8 +201,7 @@ req = (struct handover_out_req){ .from_hodec_id = HODEC1, .old_lchan = mr->lchan, - .target_nik = { - .from_bts = bts->nr, + .target_cell_ab = { .arfcn = best_cell->arfcn, .bsic = best_cell->bsic, }, diff --git a/src/osmo-bsc/handover_decision_2.c b/src/osmo-bsc/handover_decision_2.c index 0d0391c..b397a9a 100644 --- a/src/osmo-bsc/handover_decision_2.c +++ b/src/osmo-bsc/handover_decision_2.c @@ -83,8 +83,8 @@ #define LOGPHOCAND(candidate, level, fmt, args...) do {\ if ((candidate)->target.bts) \ LOGPHOLCHANTOBTS((candidate)->current.lchan, (candidate)->target.bts, level, fmt, ## args); \ - else if ((candidate)->target.cil) \ - LOGPHOLCHANTOREMOTE((candidate)->current.lchan, (candidate)->target.cil, level, fmt, ## args); \ + else if ((candidate)->target.cell_ids.id_list_len) \ + LOGPHOLCHANTOREMOTE((candidate)->current.lchan, &(candidate)->target.cell_ids, level, fmt, ## args); \ } while(0) @@ -120,8 +120,8 @@ int lchan_frees_tchh; } current; struct { - struct neighbor_ident_key nik; /* neighbor ARFCN+BSIC */ - const struct gsm0808_cell_id_list2 *cil; /* target cells in remote BSS */ + struct cell_ab ab; /* neighbor ARFCN+BSIC */ + struct gsm0808_cell_id_list2 cell_ids; /* target cells in remote BSS */ struct gsm_bts *bts; int rxlev; int rxlev_afs_bias; @@ -747,9 +747,9 @@ /* Requirement A */ /* the handover penalty timer must not run for this bts */ - penalty_time = penalty_timers_remaining_list(&c->current.lchan->conn->hodec2.penalty_timers, c->target.cil); + penalty_time = penalty_timers_remaining_list(&c->current.lchan->conn->hodec2.penalty_timers, &c->target.cell_ids); if (penalty_time) { - LOGPHOLCHANTOREMOTE(c->current.lchan, c->target.cil, LOGL_DEBUG, + LOGPHOLCHANTOREMOTE(c->current.lchan, &c->target.cell_ids, LOGL_DEBUG, "not a candidate, target BSS still in penalty time" " (%u seconds left)\n", penalty_time); return; @@ -879,9 +879,9 @@ req = (struct handover_out_req){ .from_hodec_id = HODEC2, .old_lchan = c->current.lchan, - .target_nik = *bts_ident_key(c->target.bts), .new_lchan_type = full_rate? GSM_LCHAN_TCH_F : GSM_LCHAN_TCH_H, }; + bts_cell_ab(&req.target_cell_ab, c->target.bts); handover_request(&req); return 0; } @@ -890,14 +890,14 @@ { struct handover_out_req req; - LOGPHOLCHANTOREMOTE(c->current.lchan, c->target.cil, LOGL_INFO, + LOGPHOLCHANTOREMOTE(c->current.lchan, &c->target.cell_ids, LOGL_INFO, "Triggering inter-BSC handover, due to %s\n", ho_reason_name(global_ho_reason)); req = (struct handover_out_req){ .from_hodec_id = HODEC2, .old_lchan = c->current.lchan, - .target_nik = c->target.nik, + .target_cell_ab = c->target.ab, }; handover_request(&req); return 0; @@ -933,13 +933,13 @@ candidate->target.free_tch##tchx, candidate->target.min_free_tch##tchx, \ REQUIREMENTS_ARGS(candidate->requirements, TCHX) - if (!candidate->target.bts && !candidate->target.cil) + if (!candidate->target.bts && !candidate->target.cell_ids.id_list_len) LOGPHOLCHAN(candidate->current.lchan, LOGL_DEBUG, "Empty candidate\n"); - if (candidate->target.bts && candidate->target.cil) + if (candidate->target.bts && candidate->target.cell_ids.id_list_len) LOGPHOLCHAN(candidate->current.lchan, LOGL_ERROR, "Invalid candidate: both local- and remote-BSS target\n"); - if (candidate->target.cil) - LOGPHOLCHANTOREMOTE(candidate->current.lchan, candidate->target.cil, LOGL_DEBUG, + if (candidate->target.cell_ids.id_list_len) + LOGPHOLCHANTOREMOTE(candidate->current.lchan, &candidate->target.cell_ids, LOGL_DEBUG, "RX level %d dBm -> %d dBm\n", rxlev2dbm(candidate->current.rxlev), rxlev2dbm(candidate->target.rxlev)); @@ -1052,9 +1052,8 @@ { struct gsm_bts *bts = lchan->ts->trx->bts; struct gsm_bts *neighbor_bts; - const struct gsm0808_cell_id_list2 *neighbor_cil; - struct neighbor_ident_key ni = { - .from_bts = bts->nr, + struct gsm0808_cell_id_list2 neighbor_cil; + struct cell_ab target_ab = { .arfcn = nmp->arfcn, .bsic = nmp->bsic, }; @@ -1078,9 +1077,9 @@ } find_handover_target_cell(&neighbor_bts, &neighbor_cil, - lchan->conn, &ni, false); + lchan->conn, &target_ab, false); - if (!neighbor_bts && !neighbor_cil) { + if (!neighbor_bts && !neighbor_cil.id_list_len) { LOGPHOBTS(bts, LOGL_DEBUG, "no neighbor ARFCN %u BSIC %u configured for this cell\n", nmp->arfcn, nmp->bsic); return; @@ -1103,9 +1102,9 @@ .rxlev = rxlev_current, }, .target = { - .nik = ni, + .ab = target_ab, .bts = neighbor_bts, - .cil = neighbor_cil, + .cell_ids = neighbor_cil, .rxlev = neigh_meas_avg(nmp, ho_get_hodec2_rxlev_neigh_avg_win(bts->ho)), }, }; diff --git a/src/osmo-bsc/handover_fsm.c b/src/osmo-bsc/handover_fsm.c index 5270152..70e479f 100644 --- a/src/osmo-bsc/handover_fsm.c +++ b/src/osmo-bsc/handover_fsm.c @@ -146,7 +146,7 @@ snprintf(buf, sizeof(buf), "("LOG_FMT_FROM_LCHAN") --HO-> (%s) " LOG_FMT_HO_SCOPE, LOG_ARGS_FROM_LCHAN(conn->lchan), - neighbor_ident_key_name(&ho->target_cell), + cell_ab_to_str_c(OTC_SELECT, &ho->target_cell_ab), LOG_ARGS_HO_SCOPE(conn)); else if (ho->scope & HO_INTER_BSC_IN) { @@ -227,9 +227,6 @@ conn = req->old_lchan->conn; OSMO_ASSERT(conn && conn->fi); - /* Make sure the handover target neighbor_ident_key contains the correct source bts nr */ - req->target_nik.from_bts = req->old_lchan->ts->trx->bts->nr; - /* To make sure we're allowed to start a handover, go through a gscon event dispatch. If that is accepted, the * same req is passed to handover_start(). */ osmo_fsm_inst_dispatch(conn->fi, GSCON_EV_HANDOVER_START, req); @@ -315,10 +312,10 @@ OSMO_ASSERT(req && req->old_lchan && req->old_lchan->conn); struct gsm_subscriber_connection *conn = req->old_lchan->conn; - const struct neighbor_ident_key *search_for = &req->target_nik; + const struct cell_ab *search_for = &req->target_cell_ab; struct handover *ho = &conn->ho; struct gsm_bts *local_target_cell = NULL; - const struct gsm0808_cell_id_list2 *remote_target_cell = NULL; + struct gsm0808_cell_id_list2 remote_target_cells = {}; if (conn->ho.fi) { LOG_HO(conn, LOGL_ERROR, "Handover requested while another handover is ongoing; Ignore\n"); @@ -335,9 +332,9 @@ ho->from_hodec_id = req->from_hodec_id; ho->new_lchan_type = req->new_lchan_type == GSM_LCHAN_NONE ? req->old_lchan->type : req->new_lchan_type; - ho->target_cell = req->target_nik; + ho->target_cell_ab = req->target_cell_ab; - if (find_handover_target_cell(&local_target_cell, &remote_target_cell, + if (find_handover_target_cell(&local_target_cell, &remote_target_cells, conn, search_for, true)) { handover_end(conn, HO_RESULT_ERROR); return; @@ -349,8 +346,8 @@ return; } - if (remote_target_cell) { - handover_start_inter_bsc_out(conn, remote_target_cell); + if (remote_target_cells.id_list_len) { + handover_start_inter_bsc_out(conn, &remote_target_cells); return; } diff --git a/src/osmo-bsc/handover_logic.c b/src/osmo-bsc/handover_logic.c index b0d175a..c0ed10d 100644 --- a/src/osmo-bsc/handover_logic.c +++ b/src/osmo-bsc/handover_logic.c @@ -126,7 +126,7 @@ return count; } -/* Find out a handover target cell for the given neighbor_ident_key, +/* Find out a handover target cell for the given arfcn_bsic, * and make sure there are no ambiguous matches. * Given a source BTS and a target ARFCN+BSIC, find which cell is the right handover target. * ARFCN+BSIC may be re-used within and/or across BSS, so make sure that only those cells that are explicitly @@ -138,22 +138,20 @@ * to be found. */ int find_handover_target_cell(struct gsm_bts **local_target_cell_p, - const struct gsm0808_cell_id_list2 **remote_target_cell_p, - struct gsm_subscriber_connection *conn, const struct neighbor_ident_key *search_for, + struct gsm0808_cell_id_list2 *remote_target_cells, + struct gsm_subscriber_connection *conn, + const struct cell_ab *search_for, bool log_errors) { struct gsm_network *net = conn->network; - struct gsm_bts *from_bts; struct gsm_bts *local_target_cell = NULL; - const struct gsm0808_cell_id_list2 *remote_target_cell = NULL; - struct gsm_bts_ref *neigh; bool ho_active; bool as_active; + struct gsm_bts *from_bts = conn->lchan->ts->trx->bts; + *remote_target_cells = (struct gsm0808_cell_id_list2){}; if (local_target_cell_p) *local_target_cell_p = NULL; - if (remote_target_cell_p) - *remote_target_cell_p = NULL; if (!search_for) { if (log_errors) @@ -161,7 +159,6 @@ return -EINVAL; } - from_bts = gsm_bts_num(net, search_for->from_bts); if (!from_bts) { if (log_errors) LOG_HO(conn, LOGL_ERROR, "Handover without source cell\n"); @@ -174,12 +171,11 @@ if (!ho_active && !as_active) { if (log_errors) LOG_HO(conn, LOGL_ERROR, "Cannot start Handover: Handover and Assignment disabled for this source cell (%s)\n", - neighbor_ident_key_name(search_for)); + cell_ab_to_str_c(OTC_SELECT, search_for)); return -EINVAL; } - if (llist_empty(&from_bts->local_neighbors) - && !neighbor_ident_bts_entry_exists(from_bts->nr)) { + if (llist_empty(&from_bts->neighbors)) { /* No explicit neighbor entries exist for this BTS. Hence apply the legacy default behavior that all * local cells are neighbors. */ struct gsm_bts *bts; @@ -192,15 +188,16 @@ for (i = 0; i < 2; i++) { bool exact_match = !i; llist_for_each_entry(bts, &net->bts_list, list) { - struct neighbor_ident_key bts_key = *bts_ident_key(bts); - if (neighbor_ident_key_match(&bts_key, search_for, exact_match)) { + struct cell_ab bts_ab; + bts_cell_ab(&bts_ab, bts); + if (cell_ab_match(&bts_ab, search_for, exact_match)) { if (local_target_cell) { if (log_errors) LOG_HO(conn, LOGL_ERROR, "NEIGHBOR CONFIGURATION ERROR: Multiple local cells match %s" " (BTS %d and BTS %d)." " Aborting Handover because of ambiguous network topology.\n", - neighbor_ident_key_name(search_for), + cell_ab_to_str_c(OTC_SELECT, search_for), local_target_cell->nr, bts->nr); return -EINVAL; } @@ -214,7 +211,7 @@ if (!local_target_cell) { if (log_errors) LOG_HO(conn, LOGL_ERROR, "Cannot Handover, no cell matches %s\n", - neighbor_ident_key_name(search_for)); + cell_ab_to_str_c(OTC_SELECT, search_for)); return -EINVAL; } @@ -222,14 +219,14 @@ if (log_errors) LOG_HO(conn, LOGL_ERROR, "Cannot start re-assignment, Assignment disabled for this cell (%s)\n", - neighbor_ident_key_name(search_for)); + cell_ab_to_str_c(OTC_SELECT, search_for)); return -EINVAL; } if (local_target_cell != from_bts && !ho_active) { if (log_errors) LOG_HO(conn, LOGL_ERROR, "Cannot start Handover, Handover disabled for this cell (%s)\n", - neighbor_ident_key_name(search_for)); + cell_ab_to_str_c(OTC_SELECT, search_for)); return -EINVAL; } @@ -243,81 +240,60 @@ LOG_HO(conn, LOGL_DEBUG, "There are explicit neighbors configured for this cell\n"); - /* Iterate explicit local neighbor cells */ - llist_for_each_entry(neigh, &from_bts->local_neighbors, entry) { - struct gsm_bts *neigh_bts = neigh->bts; - struct neighbor_ident_key neigh_bts_key = *bts_ident_key(neigh_bts); - neigh_bts_key.from_bts = from_bts->nr; - - LOG_HO(conn, LOGL_DEBUG, "Local neighbor %s\n", neighbor_ident_key_name(&neigh_bts_key)); - - if (!neighbor_ident_key_match(&neigh_bts_key, search_for, true)) { - LOG_HO(conn, LOGL_DEBUG, "Doesn't match %s\n", neighbor_ident_key_name(search_for)); - continue; - } - - if (local_target_cell) { - if (log_errors) - LOG_HO(conn, LOGL_ERROR, - "NEIGHBOR CONFIGURATION ERROR: Multiple BTS match %s (BTS %d and BTS %d)." - " Aborting Handover because of ambiguous network topology.\n", - neighbor_ident_key_name(search_for), local_target_cell->nr, neigh_bts->nr); - return -EINVAL; - } - - local_target_cell = neigh_bts; + if (resolve_neighbors(&local_target_cell, remote_target_cells, from_bts, search_for, log_errors)) { + LOG_HO(conn, LOGL_ERROR, "Cannot handover BTS %u -> %s: neighbor unknown\n", + from_bts->nr, cell_ab_to_str_c(OTC_SELECT, search_for)); + return -ENOENT; } - /* Any matching remote-BSS neighbor cell? */ - remote_target_cell = neighbor_ident_get(net->neighbor_bss_cells, search_for); + /* We have found possibly a local_target_cell (when != NULL), and / or remote_target_cells (when .id_list_len > + * 0). Figure out what to do with them. */ - if (remote_target_cell) - LOG_HO(conn, LOGL_DEBUG, "Found remote target cell %s\n", - gsm0808_cell_id_list_name(remote_target_cell)); + if (remote_target_cells->id_list_len) + LOG_HO(conn, LOGL_DEBUG, "Found remote target cell(s) %s\n", + gsm0808_cell_id_list_name_c(OTC_SELECT, remote_target_cells)); - if (local_target_cell && remote_target_cell) { + if (local_target_cell && remote_target_cells->id_list_len) { if (log_errors) - LOG_HO(conn, LOGL_ERROR, "NEIGHBOR CONFIGURATION ERROR: Both a local and a remote-BSS cell match %s" - " (BTS %d and remote %s)." + LOG_HO(conn, LOGL_ERROR, "NEIGHBOR CONFIGURATION ERROR: Both a local and a remote-BSS cell" + " match BTS %u -> %s (BTS %d and remote %s)." " Aborting Handover because of ambiguous network topology.\n", - neighbor_ident_key_name(search_for), local_target_cell->nr, - gsm0808_cell_id_list_name(remote_target_cell)); + from_bts->nr, cell_ab_to_str_c(OTC_SELECT, search_for), local_target_cell->bts_nr, + gsm0808_cell_id_list_name_c(OTC_SELECT, remote_target_cells)); return -EINVAL; } if (local_target_cell == from_bts && !as_active) { if (log_errors) LOG_HO(conn, LOGL_ERROR, - "Cannot start re-assignment, Assignment disabled for this cell (%s)\n", - neighbor_ident_key_name(search_for)); + "Cannot start re-assignment, Assignment disabled for this cell (BTS %u)\n", + from_bts->nr); return -EINVAL; } if (((local_target_cell && local_target_cell != from_bts) - || remote_target_cell) + || remote_target_cells->id_list_len) && !ho_active) { if (log_errors) LOG_HO(conn, LOGL_ERROR, - "Cannot start Handover, Handover disabled for this cell (%s)\n", - neighbor_ident_key_name(search_for)); + "Cannot start Handover, Handover disabled for this cell (BTS %u -> %s)\n", + from_bts->bts_nr, cell_ab_to_str_c(OTC_SELECT, search_for)); return -EINVAL; } + /* Return the result. After above checks, only one of local or remote cell has been found. */ if (local_target_cell) { if (local_target_cell_p) *local_target_cell_p = local_target_cell; return 0; } - if (remote_target_cell) { - if (remote_target_cell_p) - *remote_target_cell_p = remote_target_cell; + if (remote_target_cells->id_list_len) return 0; - } if (log_errors) LOG_HO(conn, LOGL_ERROR, "Cannot handover %s: neighbor unknown\n", - neighbor_ident_key_name(search_for)); + cell_ab_to_str_c(OTC_SELECT, search_for)); return -ENODEV; } diff --git a/src/osmo-bsc/neighbor_ident.c b/src/osmo-bsc/neighbor_ident.c index 3235508..263d410 100644 --- a/src/osmo-bsc/neighbor_ident.c +++ b/src/osmo-bsc/neighbor_ident.c @@ -40,88 +40,238 @@ #include #include -struct neighbor_ident_list { - struct llist_head list; -}; - -struct neighbor_ident { - struct llist_head entry; - - struct neighbor_ident_key key; - struct gsm0808_cell_id_list2 val; -}; - -#define APPEND_THING(func, args...) do { \ - int remain = buflen - (pos - buf); \ - int l = func(pos, remain, ##args); \ - if (l < 0 || l > remain) \ - pos = buf + buflen; \ - else \ - pos += l; \ - } while(0) -#define APPEND_STR(fmt, args...) APPEND_THING(snprintf, fmt, ##args) - -const char *_neighbor_ident_key_name(char *buf, size_t buflen, const struct neighbor_ident_key *ni_key) +void bts_cell_ab(struct cell_ab *arfcn_bsic, const struct gsm_bts *bts) { - char *pos = buf; - - APPEND_STR("BTS "); - if (ni_key->from_bts == NEIGHBOR_IDENT_KEY_ANY_BTS) - APPEND_STR("*"); - else if (ni_key->from_bts >= 0 && ni_key->from_bts <= 255) - APPEND_STR("%d", ni_key->from_bts); - else - APPEND_STR("invalid(%d)", ni_key->from_bts); - - APPEND_STR(" to "); - if (ni_key->bsic == BSIC_ANY) - APPEND_STR("ARFCN %u (any BSIC)", ni_key->arfcn); - else - APPEND_STR("ARFCN %u BSIC %u", ni_key->arfcn, ni_key->bsic & 0x3f); - return buf; + *arfcn_bsic = (struct cell_ab){ + .arfcn = bts->c0->arfcn, + .bsic = bts->bsic, + }; } -const char *neighbor_ident_key_name(const struct neighbor_ident_key *ni_key) +/* Find the local gsm_bts pointer that a specific other BTS' neighbor config refers to. Return NULL if there is no such + * local cell in this BSS. + */ +int resolve_local_neighbor(struct gsm_bts **local_neighbor_p, const struct gsm_bts *from_bts, + const struct neighbor *neighbor) { - static char buf[64]; - return _neighbor_ident_key_name(buf, sizeof(buf), ni_key); + struct gsm_bts *bts; + struct gsm_bts *bts_exact = NULL; + struct gsm_bts *bts_wildcard = NULL; + *local_neighbor_p = NULL; + + switch (neighbor->type) { + case NEIGHBOR_TYPE_BTS_NR: + bts = gsm_bts_num(bsc_gsmnet, neighbor->bts_nr); + goto check_bts; + + case NEIGHBOR_TYPE_CELL_ID: + /* Find cell id below */ + break; + + default: + return -ENOTSUP; + } + + /* NEIGHBOR_TYPE_CELL_ID */ + llist_for_each_entry(bts, &bsc_gsmnet->bts_list, list) { + struct gsm0808_cell_id cell_id; + gsm_bts_cell_id(&cell_id, bts); + + if (gsm0808_cell_ids_match(&cell_id, &neighbor->cell_id.id, true)) { + if (bts_exact) { + LOGP(DHO, LOGL_ERROR, + "Neighbor config error: Multiple BTS match %s (BTS %u and BTS %u)\n", + gsm0808_cell_id_name_c(OTC_SELECT, &neighbor->cell_id.id), + bts_exact->nr, bts->nr); + return -EINVAL; + } else { + bts_exact = bts; + } + } + + if (!bts_wildcard && gsm0808_cell_ids_match(&cell_id, &neighbor->cell_id.id, false)) + bts_wildcard = bts; + } + + bts = (bts_exact ? : bts_wildcard); + +check_bts: + /* A cell cannot be its own neighbor */ + if (bts == from_bts) { + LOGP(DHO, LOGL_ERROR, + "Neighbor config error: BTS %u -> %s: this cell is configured as its own neighbor\n", + from_bts->nr, neighbor_to_str_c(OTC_SELECT, neighbor)); + return -EINVAL; + } + + if (!bts) + return -ENOENT; + + /* Double check whether ARFCN + BSIC config matches, if present. */ + if (neighbor->cell_id.ab_present) { + struct cell_ab cell_ab; + bts_cell_ab(&cell_ab, bts); + if (!cell_ab_match(&cell_ab, &neighbor->cell_id.ab, false)) { + LOGP(DHO, LOGL_ERROR, "Neighbor config error: Local BTS %d matches %s, but not ARFCN+BSIC %s\n", + bts->nr, gsm0808_cell_id_name_c(OTC_SELECT, &neighbor->cell_id.id), + cell_ab_to_str_c(OTC_SELECT, &cell_ab)); + return -EINVAL; + } + } + + *local_neighbor_p = bts; + return 0; } -struct neighbor_ident_list *neighbor_ident_init(void *talloc_ctx) +int resolve_neighbors(struct gsm_bts **local_neighbor_p, struct gsm0808_cell_id_list2 *remote_neighbors, + struct gsm_bts *from_bts, const struct cell_ab *target_ab, bool log_errors) { - struct neighbor_ident_list *nil = talloc_zero(talloc_ctx, struct neighbor_ident_list); - OSMO_ASSERT(nil); - INIT_LLIST_HEAD(&nil->list); - return nil; + struct neighbor *n; + struct gsm_bts *local_neighbor = NULL; + struct gsm0808_cell_id_list2 remotes = {}; + + *local_neighbor_p = NULL; + *remote_neighbors = (struct gsm0808_cell_id_list2){ 0 }; + + llist_for_each_entry(n, &from_bts->neighbors, entry) { + struct gsm_bts *neigh_bts; + if (resolve_local_neighbor(&neigh_bts, from_bts, n) == 0) { + /* This neighbor entry is a local cell neighbor. Do ARFCN and BSIC match? */ + struct cell_ab ab; + bts_cell_ab(&ab, neigh_bts); + if (!cell_ab_match(&ab, target_ab, false)) + continue; + + /* Found a local cell neighbor that matches the target_ab */ + + /* If we already found one, these are ambiguous local neighbors */ + if (local_neighbor) { + if (log_errors) + LOGP(DHO, LOGL_ERROR, "Neighbor config error:" + " Local BTS %d -> %s resolves to local neighbor BTSes %u *and* %u\n", + from_bts->nr, cell_ab_to_str_c(OTC_SELECT, target_ab), local_neighbor->nr, + neigh_bts->nr); + return -ENOTSUP; + } + local_neighbor = neigh_bts; + + } else if (n->type == NEIGHBOR_TYPE_CELL_ID && n->cell_id.ab_present) { + /* This neighbor entry is a remote-BSS neighbor. There may be multiple remote neighbors, + * collect those in a gsm0808_cell_id_list2 (remote_target_cells). A limitation is that all of + * them need to be of the same cell id type. */ + struct gsm0808_cell_id_list2 add_item; + int rc; + + if (!cell_ab_match(&n->cell_id.ab, target_ab, false)) + continue; + + /* Convert the gsm0808_cell_id to a list, so that we can use gsm0808_cell_id_list_add(). */ + gsm0808_cell_id_to_list(&add_item, &n->cell_id.id); + rc = gsm0808_cell_id_list_add(&remotes, &add_item); + if (rc < 0) { + if (log_errors) + LOGP(DHO, LOGL_ERROR, "Neighbor config error:" + " Local BTS %d -> %s resolves to remote-BSS neighbor %s;" + " Could not store this in neighbors list %s\n", + from_bts->nr, cell_ab_to_str_c(OTC_SELECT, target_ab), + gsm0808_cell_id_name_c(OTC_SELECT, &n->cell_id.id), + gsm0808_cell_id_list_name_c(OTC_SELECT, &remotes)); + return rc; + } + } + /* else: neighbor entry that does not resolve to anything. */ + } + + if (local_neighbor_p) + *local_neighbor_p = local_neighbor; + if (remote_neighbors) + *remote_neighbors = remotes; + + if (!local_neighbor && !remotes.id_list_len) + return -ENOENT; + return 0; } -void neighbor_ident_free(struct neighbor_ident_list *nil) +int cell_ab_to_str_buf(char *buf, size_t buflen, const struct cell_ab *cell) { - if (!nil) - return; - talloc_free(nil); + struct osmo_strbuf sb = { .buf = buf, .len = buflen }; + OSMO_STRBUF_PRINTF(sb, "ARFCN-BSIC:%u", cell->arfcn); + if (cell->bsic == BSIC_ANY) + OSMO_STRBUF_PRINTF(sb, "-any"); + else { + OSMO_STRBUF_PRINTF(sb, "-%u", cell->bsic); + if (cell->bsic > 0x3f) + OSMO_STRBUF_PRINTF(sb, "[ERANGE>63]"); + } + return sb.chars_needed; +} + +char *cell_ab_to_str_c(void *ctx, const struct cell_ab *cell) +{ + OSMO_NAME_C_IMPL(ctx, 64, "ERROR", cell_ab_to_str_buf, cell) +} + +int neighbor_to_str_buf(char *buf, size_t buflen, const struct neighbor *n) +{ + struct osmo_strbuf sb = { .buf = buf, .len = buflen }; + switch (n->type) { + case NEIGHBOR_TYPE_BTS_NR: + OSMO_STRBUF_PRINTF(sb, "BTS %u", n->bts_nr); + break; + case NEIGHBOR_TYPE_CELL_ID: + OSMO_STRBUF_APPEND_NOLEN(sb, gsm0808_cell_id_name_buf, &n->cell_id.id); + if (n->cell_id.ab_present) { + OSMO_STRBUF_PRINTF(sb, " "); + OSMO_STRBUF_APPEND(sb, cell_ab_to_str_buf, &n->cell_id.ab); + } + break; + case NEIGHBOR_TYPE_UNSET: + OSMO_STRBUF_PRINTF(sb, "UNSET"); + break; + default: + OSMO_STRBUF_PRINTF(sb, "INVALID"); + break; + } + return sb.chars_needed; +} + +char *neighbor_to_str_c(void *ctx, const struct neighbor *n) +{ + OSMO_NAME_C_IMPL(ctx, 64, "ERROR", neighbor_to_str_buf, n); +} + +bool neighbor_same(const struct neighbor *a, const struct neighbor *b, bool check_cell_ab) +{ + if (a == b) + return true; + if (a->type != b->type) + return false; + + switch (a->type) { + case NEIGHBOR_TYPE_BTS_NR: + return a->bts_nr == b->bts_nr; + + case NEIGHBOR_TYPE_CELL_ID: + if (check_cell_ab + && (a->cell_id.ab_present != b->cell_id.ab_present + || !cell_ab_match(&a->cell_id.ab, &b->cell_id.ab, true))) + return false; + return gsm0808_cell_ids_match(&a->cell_id.id, &b->cell_id.id, true); + default: + return a->type == b->type; + } } /* Return true when the entry matches the search_for requirements. * If exact_match is false, a BSIC_ANY entry acts as wildcard to match any search_for on that ARFCN, - * and a BSIC_ANY in search_for likewise returns any one entry that matches the ARFCN; - * also a from_bts == NEIGHBOR_IDENT_KEY_ANY_BTS in either entry or search_for will match. - * If exact_match is true, only identical bsic values and identical from_bts values return a match. + * and a BSIC_ANY in search_for likewise returns any one entry that matches the ARFCN. + * If exact_match is true, only identical bsic values return a match. * Note, typically wildcard BSICs are only in entry, e.g. the user configured list, and search_for * contains a specific BSIC, e.g. as received from a Measurement Report. */ -bool neighbor_ident_key_match(const struct neighbor_ident_key *entry, - const struct neighbor_ident_key *search_for, - bool exact_match) +bool cell_ab_match(const struct cell_ab *entry, + const struct cell_ab *search_for, + bool exact_match) { - if (exact_match - && entry->from_bts != search_for->from_bts) - return false; - - if (search_for->from_bts != NEIGHBOR_IDENT_KEY_ANY_BTS - && entry->from_bts != NEIGHBOR_IDENT_KEY_ANY_BTS - && entry->from_bts != search_for->from_bts) - return false; - if (entry->arfcn != search_for->arfcn) return false; @@ -134,142 +284,67 @@ return entry->bsic == search_for->bsic; } -static struct neighbor_ident *_neighbor_ident_get(const struct neighbor_ident_list *nil, - const struct neighbor_ident_key *key, - bool exact_match) +bool cell_ab_valid(const struct cell_ab *cell) { - struct neighbor_ident *ni; - struct neighbor_ident *wildcard_match = NULL; + if (cell->bsic != BSIC_ANY && cell->bsic > 0x3f) + return false; + return true; +} - /* Do both exact-bsic and wildcard matching in the same iteration: - * Any exact match returns immediately, while for a wildcard match we still go through all - * remaining items in case an exact match exists. */ - llist_for_each_entry(ni, &nil->list, entry) { - if (neighbor_ident_key_match(&ni->key, key, true)) - return ni; - if (!exact_match) { - if (neighbor_ident_key_match(&ni->key, key, false)) - wildcard_match = ni; +int neighbors_check_cfg() +{ + /* A local neighbor can be configured by BTS number, or by a cell ID. A local neighbor can omit the ARFCN+BSIC, + * in which case those are taken from that local BTS config. If a local neighbor has ARFCN+BSIC configured, it + * must match the local cell's configuration. + * + * A remote neighbor must always be a cell ID *and* ARFCN+BSIC. + * + * Hence any cell ID with ARFCN+BSIC where the cell ID is not found among the local cells is a remote-BSS + * neighbor. + */ + struct gsm_bts *bts; + bool ok = true; + + llist_for_each_entry(bts, &bsc_gsmnet->bts_list, list) { + struct neighbor *neighbor; + struct gsm_bts *local_neighbor; + llist_for_each_entry(neighbor, &bts->neighbors, entry) { + switch (neighbor->type) { + + case NEIGHBOR_TYPE_BTS_NR: + if (!gsm_bts_num(bsc_gsmnet, neighbor->bts_nr)) { + LOGP(DHO, LOGL_ERROR, "Neighbor Configuration Error:" + " BTS %u -> BTS %u: There is no BTS nr %u\n", + bts->nr, neighbor->bts_nr, neighbor->bts_nr); + ok = false; + } + break; + + default: + switch (resolve_local_neighbor(&local_neighbor, bts, neighbor)) { + case 0: + break; + case -ENOENT: + if (!neighbor->cell_id.ab_present) { + LOGP(DHO, LOGL_ERROR, "Neighbor Configuration Error:" + " BTS %u -> %s: There is no such local neighbor\n", + bts->nr, neighbor_to_str_c(OTC_SELECT, neighbor)); + ok = false; + } + break; + default: + /* Error already logged in resolve_local_neighbor() */ + ok = false; + break; + } + break; + } } } - return wildcard_match; -} -static void _neighbor_ident_free(struct neighbor_ident *ni) -{ - llist_del(&ni->entry); - talloc_free(ni); -} - -bool neighbor_ident_key_valid(const struct neighbor_ident_key *key) -{ - if (key->from_bts != NEIGHBOR_IDENT_KEY_ANY_BTS - && (key->from_bts < 0 || key->from_bts > 255)) - return false; - - if (key->bsic != BSIC_ANY && key->bsic > 0x3f) - return false; - return true; -} - -/*! Add Cell Identifiers to an ARFCN+BSIC entry. - * Exactly one kind of identifier is allowed per ARFCN+BSIC entry, and any number of entries of that kind - * may be added up to the capacity of gsm0808_cell_id_list2, by one or more calls to this function. To - * replace an existing entry, first call neighbor_ident_del(nil, key). - * \returns number of entries in the resulting identifier list, or negative on error: - * see gsm0808_cell_id_list_add() for the meaning of returned error codes; - * return -ENOMEM when the list is not initialized, -ERANGE when the BSIC value is too large. */ -int neighbor_ident_add(struct neighbor_ident_list *nil, const struct neighbor_ident_key *key, - const struct gsm0808_cell_id_list2 *val) -{ - struct neighbor_ident *ni; - int rc; - - if (!nil) - return -ENOMEM; - - if (!neighbor_ident_key_valid(key)) - return -ERANGE; - - ni = _neighbor_ident_get(nil, key, true); - if (!ni) { - ni = talloc_zero(nil, struct neighbor_ident); - OSMO_ASSERT(ni); - *ni = (struct neighbor_ident){ - .key = *key, - .val = *val, - }; - llist_add_tail(&ni->entry, &nil->list); - return ni->val.id_list_len; - } - - rc = gsm0808_cell_id_list_add(&ni->val, val); - - if (rc < 0) - return rc; - - return ni->val.id_list_len; -} - -/*! Find cell identity for given BTS, ARFCN and BSIC, as previously added by neighbor_ident_add(). - */ -const struct gsm0808_cell_id_list2 *neighbor_ident_get(const struct neighbor_ident_list *nil, - const struct neighbor_ident_key *key) -{ - struct neighbor_ident *ni; - if (!nil) - return NULL; - ni = _neighbor_ident_get(nil, key, false); - if (!ni) - return NULL; - return &ni->val; -} - -bool neighbor_ident_del(struct neighbor_ident_list *nil, const struct neighbor_ident_key *key) -{ - struct neighbor_ident *ni; - if (!nil) - return false; - ni = _neighbor_ident_get(nil, key, true); - if (!ni) - return false; - _neighbor_ident_free(ni); - return true; -} - -void neighbor_ident_clear(struct neighbor_ident_list *nil) -{ - struct neighbor_ident *ni; - while ((ni = llist_first_entry_or_null(&nil->list, struct neighbor_ident, entry))) - _neighbor_ident_free(ni); -} - -/*! Iterate all neighbor_ident_list entries and call iter_cb for each. - * If iter_cb returns false, the iteration is stopped. */ -void neighbor_ident_iter(const struct neighbor_ident_list *nil, - bool (* iter_cb )(const struct neighbor_ident_key *key, - const struct gsm0808_cell_id_list2 *val, - void *cb_data), - void *cb_data) -{ - struct neighbor_ident *ni, *ni_next; - if (!nil) - return; - llist_for_each_entry_safe(ni, ni_next, &nil->list, entry) { - if (!iter_cb(&ni->key, &ni->val, cb_data)) - return; - } -} - -struct neighbor_ident_key *bts_ident_key(const struct gsm_bts *bts) -{ - static struct neighbor_ident_key key; - key = (struct neighbor_ident_key){ - .from_bts = NEIGHBOR_IDENT_KEY_ANY_BTS, - .arfcn = bts->c0->arfcn, - .bsic = bts->bsic, - }; - return &key; + if (!ok) + return -EINVAL; + return 0; } /* Neighbor Resolution CTRL iface */ @@ -293,13 +368,13 @@ { struct gsm_network *net = (struct gsm_network *)data; struct gsm_bts *bts_tmp, *bts_found = NULL; - const struct gsm0808_cell_id_list2 *tgt_cell_li = NULL; char *tmp = NULL, *tok, *saveptr; - struct neighbor_ident_key ni; + struct cell_ab ab; unsigned lac, cell_id; struct osmo_cell_global_id_ps local_cgi_ps; const struct osmo_cell_global_id_ps *cgi_ps = NULL; - struct gsm_bts_ref *neigh; + struct gsm_bts *local_neighbor = NULL; + struct gsm0808_cell_id_list2 remote_neighbors = { 0 }; if (!cmd->variable) goto fmt_err; @@ -324,13 +399,11 @@ if (!(tok = strtok_r(NULL, ".", &saveptr))) goto fmt_err; - ni.arfcn = atoi(tok); + ab.arfcn = atoi(tok); if (!(tok = strtok_r(NULL, "\0", &saveptr))) goto fmt_err; - ni.bsic = atoi(tok); - - ni.from_bts = NEIGHBOR_IDENT_KEY_ANY_BTS; + ab.bsic = atoi(tok); llist_for_each_entry(bts_tmp, &net->bts_list, list) { if (bts_tmp->location_area_code != lac) @@ -338,39 +411,41 @@ if (bts_tmp->cell_identity != cell_id) continue; bts_found = bts_tmp; - ni.from_bts = bts_tmp->nr; break; } if (!bts_found) goto notfound_err; - LOG_BTS(bts_found, DLINP, LOGL_DEBUG, "Resolving neigbhor arfcn=%u bsic=%u\n", ni.arfcn, ni.bsic); + LOG_BTS(bts_found, DLINP, LOGL_DEBUG, "Resolving neighbor BTS %u -> %s\n", bts_found->nr, + cell_ab_to_str_c(OTC_SELECT, &ab)); - if (!neighbor_ident_key_valid(&ni)) + if (!cell_ab_valid(&ab)) goto fmt_err; - /* Is there a local BTS that matches the key? */ - llist_for_each_entry(neigh, &bts_found->local_neighbors, entry) { - struct gsm_bts *neigh_bts = neigh->bts; - struct neighbor_ident_key *neigh_bts_key = bts_ident_key(neigh_bts); - neigh_bts_key->from_bts = ni.from_bts; - if (!neighbor_ident_key_match(neigh_bts_key, &ni, true)) - continue; - if (gsm_bts_get_cgi_ps(neigh->bts, &local_cgi_ps) < 0) - continue; /* Not supporting GPRS */ - cgi_ps = &local_cgi_ps; - break; + if (resolve_neighbors(&local_neighbor, &remote_neighbors, bts_found, &ab, true)) + goto notfound_err; + + /* resolve_neighbors() returns either a local_neighbor or remote_neighbors. + * Local-BSS neighbor? */ + if (local_neighbor) { + /* Supporting GPRS? */ + if (gsm_bts_get_cgi_ps(local_neighbor, &local_cgi_ps) >= 0) + cgi_ps = &local_cgi_ps; } - /* No local neighbor found, looking for remote neighbors */ - if (!cgi_ps) { - tgt_cell_li = neighbor_ident_get(net->neighbor_bss_cells, &ni); - if (!tgt_cell_li || tgt_cell_li->id_discr != CELL_IDENT_WHOLE_GLOBAL_PS || tgt_cell_li->id_list_len < 1) - goto notfound_err; - cgi_ps = &tgt_cell_li->id_list[0].global_ps; + /* Remote-BSS neighbor? + * By spec, there can be multiple remote neighbors for a given ARFCN+BSIC, but so far osmo-bsc enforces only a + * single remote neighbor. */ + if (remote_neighbors.id_list_len + && remote_neighbors.id_discr == CELL_IDENT_WHOLE_GLOBAL_PS) { + cgi_ps = &remote_neighbors.id_list[0].global_ps; } + /* No neighbor found */ + if (!cgi_ps) + goto notfound_err; + ctrl_cmd_reply_printf(cmd, "%s", osmo_cgi_ps_name(cgi_ps)); talloc_free(tmp); return CTRL_CMD_REPLY; diff --git a/src/osmo-bsc/neighbor_ident_vty.c b/src/osmo-bsc/neighbor_ident_vty.c index 72c11b0..b9160ec 100644 --- a/src/osmo-bsc/neighbor_ident_vty.c +++ b/src/osmo-bsc/neighbor_ident_vty.c @@ -35,43 +35,6 @@ #include #include -static struct gsm_network *g_net = NULL; -static struct neighbor_ident_list *g_neighbor_cells = NULL; - -/* Parse VTY parameters matching NEIGHBOR_IDENT_VTY_KEY_PARAMS. Pass a pointer so that argv[0] is the - * ARFCN value followed by the BSIC keyword and value. vty *must* reference a BTS_NODE. */ -bool neighbor_ident_vty_parse_key_params(struct vty *vty, const char **argv, - struct neighbor_ident_key *key) -{ - struct gsm_bts *bts = vty->index; - - OSMO_ASSERT(vty->node == BTS_NODE); - OSMO_ASSERT(bts); - - return neighbor_ident_bts_parse_key_params(vty, bts, argv, key); -} - -/* same as neighbor_ident_vty_parse_key_params() but pass an explicit bts, so it works on any node. */ -bool neighbor_ident_bts_parse_key_params(struct vty *vty, struct gsm_bts *bts, const char **argv, - struct neighbor_ident_key *key) -{ - const char *arfcn_str = argv[0]; - const char *bsic_str = argv[1]; - - OSMO_ASSERT(bts); - - *key = (struct neighbor_ident_key){ - .from_bts = bts->nr, - .arfcn = atoi(arfcn_str), - }; - - if (!strcmp(bsic_str, "any")) - key->bsic = BSIC_ANY; - else - key->bsic = atoi(bsic_str); - return true; -} - #define NEIGHBOR_ADD_CMD "neighbor " #define NEIGHBOR_DEL_CMD "no neighbor " #define NEIGHBOR_DOC "Manage local and remote-BSS neighbor cells\n" @@ -79,67 +42,51 @@ #define NEIGHBOR_DEL_DOC NO_STR "Remove local or remote-BSS neighbor cell\n" #define LAC_PARAMS "lac <0-65535>" +#define LAC_ARGC 1 #define LAC_DOC "Neighbor cell by LAC\n" "LAC\n" #define LAC_CI_PARAMS "lac-ci <0-65535> <0-65535>" +#define LAC_CI_ARGC 2 #define LAC_CI_DOC "Neighbor cell by LAC and CI\n" "LAC\n" "CI\n" #define CGI_PARAMS "cgi <0-999> <0-999> <0-65535> <0-65535>" +#define CGI_ARGC 4 #define CGI_DOC "Neighbor cell by cgi\n" "MCC\n" "MNC\n" "LAC\n" "CI\n" #define CGI_PS_PARAMS "cgi-ps <0-999> <0-999> <0-65535> <0-255> <0-65535>" +#define CGI_PS_ARGC 5 #define CGI_PS_DOC "Neighbor cell by cgi (Packet Switched, with RAC)\n" "MCC\n" "MNC\n" "LAC\n" "RAC\n" "CI\n" #define LOCAL_BTS_PARAMS "bts <0-255>" #define LOCAL_BTS_DOC "Neighbor cell by local BTS number\n" "BTS number\n" -static struct gsm_bts *neighbor_ident_vty_parse_bts_nr(struct vty *vty, const char **argv) +static int neighbor_ident_vty_parse_lac(struct vty *vty, struct gsm0808_cell_id *cell_id, const char **argv) { - const char *bts_nr_str = argv[0]; - struct gsm_bts *bts = gsm_bts_num(g_net, atoi(bts_nr_str)); - if (!bts) - vty_out(vty, "%% No such BTS: nr = %s%s\n", bts_nr_str, VTY_NEWLINE); - return bts; -} - -static struct gsm_bts *bts_by_cell_id(struct vty *vty, struct gsm0808_cell_id *cell_id) -{ - struct gsm_bts *bts = gsm_bts_by_cell_id(g_net, cell_id, 0); - if (!bts) - vty_out(vty, "%% No such BTS: %s%s\n", gsm0808_cell_id_name(cell_id), VTY_NEWLINE); - return bts; -} - -static struct gsm0808_cell_id *neighbor_ident_vty_parse_lac(struct vty *vty, const char **argv) -{ - static struct gsm0808_cell_id cell_id; - cell_id = (struct gsm0808_cell_id){ + *cell_id = (struct gsm0808_cell_id){ .id_discr = CELL_IDENT_LAC, .id.lac = atoi(argv[0]), }; - return &cell_id; + return 0; } -static struct gsm0808_cell_id *neighbor_ident_vty_parse_lac_ci(struct vty *vty, const char **argv) +static int neighbor_ident_vty_parse_lac_ci(struct vty *vty, struct gsm0808_cell_id *cell_id, const char **argv) { - static struct gsm0808_cell_id cell_id; - cell_id = (struct gsm0808_cell_id){ + *cell_id = (struct gsm0808_cell_id){ .id_discr = CELL_IDENT_LAC_AND_CI, .id.lac_and_ci = { .lac = atoi(argv[0]), .ci = atoi(argv[1]), }, }; - return &cell_id; + return 0; } -static struct gsm0808_cell_id *neighbor_ident_vty_parse_cgi(struct vty *vty, const char **argv) +static int neighbor_ident_vty_parse_cgi(struct vty *vty, struct gsm0808_cell_id *cell_id, const char **argv) { - static struct gsm0808_cell_id cell_id; - cell_id = (struct gsm0808_cell_id){ + *cell_id = (struct gsm0808_cell_id){ .id_discr = CELL_IDENT_WHOLE_GLOBAL, }; - struct osmo_cell_global_id *cgi = &cell_id.id.global; + struct osmo_cell_global_id *cgi = &cell_id->id.global; const char *mcc = argv[0]; const char *mnc = argv[1]; const char *lac = argv[2]; @@ -147,25 +94,25 @@ if (osmo_mcc_from_str(mcc, &cgi->lai.plmn.mcc)) { vty_out(vty, "%% Error decoding MCC: %s%s", mcc, VTY_NEWLINE); - return NULL; + return -1; } if (osmo_mnc_from_str(mnc, &cgi->lai.plmn.mnc, &cgi->lai.plmn.mnc_3_digits)) { vty_out(vty, "%% Error decoding MNC: %s%s", mnc, VTY_NEWLINE); - return NULL; + return -1; } cgi->lai.lac = atoi(lac); cgi->cell_identity = atoi(ci); - return &cell_id; + return 0; } -static struct gsm0808_cell_id *neighbor_ident_vty_parse_cgi_ps(struct vty *vty, const char **argv) +static int neighbor_ident_vty_parse_cgi_ps(struct vty *vty, struct gsm0808_cell_id *cell_id, const char **argv) { - static struct gsm0808_cell_id cell_id = { + *cell_id = (struct gsm0808_cell_id){ .id_discr = CELL_IDENT_WHOLE_GLOBAL_PS, }; - struct osmo_cell_global_id_ps *cgi_ps = &cell_id.id.global_ps; + struct osmo_cell_global_id_ps *cgi_ps = &cell_id->id.global_ps; const char *mcc = argv[0]; const char *mnc = argv[1]; const char *lac = argv[2]; @@ -174,400 +121,350 @@ if (osmo_mcc_from_str(mcc, &cgi_ps->rai.lac.plmn.mcc)) { vty_out(vty, "%% Error decoding MCC: %s%s", mcc, VTY_NEWLINE); - return NULL; + return -1; } if (osmo_mnc_from_str(mnc, &cgi_ps->rai.lac.plmn.mnc, &cgi_ps->rai.lac.plmn.mnc_3_digits)) { vty_out(vty, "%% Error decoding MNC: %s%s", mnc, VTY_NEWLINE); - return NULL; + return -1; } cgi_ps->rai.lac.lac = atoi(lac); cgi_ps->rai.rac = atoi(rac); cgi_ps->cell_identity = atoi(ci); - return &cell_id; + return 0; } -static int add_local_bts(struct vty *vty, struct gsm_bts *neigh) +void neighbor_ident_vty_parse_arfcn_bsic(struct cell_ab *ab, const char **argv) { - int rc; + const char *arfcn_str = argv[0]; + const char *bsic_str = argv[1]; + + *ab = (struct cell_ab){ + .arfcn = atoi(arfcn_str), + .bsic = (!strcmp(bsic_str, "any")) ? BSIC_ANY : atoi(bsic_str), + }; +} + +static int add_neighbor(struct vty *vty, struct neighbor *n) +{ struct gsm_bts *bts = vty->index; - if (vty->node != BTS_NODE) { - vty_out(vty, "%% Error: cannot add local BTS neighbor, not on BTS node%s", - VTY_NEWLINE); - return CMD_WARNING; + struct neighbor *neighbor; + + OSMO_ASSERT((vty->node == BTS_NODE) && bts); + + llist_for_each_entry(neighbor, &bts->neighbors, entry) { + /* Check against duplicates */ + if (neighbor_same(neighbor, n, false)) { + /* Found a match on Cell ID or BTS number, without ARFCN+BSIC. If they are fully identical, ignore the + * duplicate. If the ARFCN+BSIC part differs, it's an error. */ + vty_out(vty, "%% BTS %u already had neighbor %s%s", bts->nr, neighbor_to_str_c(OTC_SELECT, neighbor), + VTY_NEWLINE); + if (!neighbor_same(neighbor, n, true)) { + vty_out(vty, "%% ERROR: duplicate Cell ID in neighbor config, with differing ARFCN+BSIC: %s%s", + neighbor_to_str_c(OTC_SELECT, n), VTY_NEWLINE); + return CMD_WARNING; + } + /* Exact same neighbor again, just ignore. */ + return CMD_SUCCESS; + } + + /* Allow only one cell ID per remote-BSS neighbor, see OS#3656 */ + if (n->type == NEIGHBOR_TYPE_CELL_ID + && n->cell_id.ab_present && neighbor->cell_id.ab_present + && cell_ab_match(&n->cell_id.ab, &neighbor->cell_id.ab, true)) { + vty_out(vty, "%% Error: only one Cell Identifier entry is allowed per remote neighbor." + " Already have: BTS %u -> %s%s", bts->nr, + neighbor_to_str_c(OTC_SELECT, neighbor), VTY_NEWLINE); + return CMD_WARNING; + } } - if (!bts) { - vty_out(vty, "%% Error: cannot add local BTS neighbor, no BTS on this node%s", - VTY_NEWLINE); - return CMD_WARNING; - } - if (!neigh) { - vty_out(vty, "%% Error: cannot add local BTS neighbor to BTS %u, no such neighbor BTS%s" - "%% (To add remote-BSS neighbors, pass full ARFCN and BSIC as well)%s", - bts->nr, VTY_NEWLINE, VTY_NEWLINE); - return CMD_WARNING; - } - rc = gsm_bts_local_neighbor_add(bts, neigh); - if (rc < 0) { - vty_out(vty, "%% Error: cannot add local BTS %u as neighbor to BTS %u: %s%s", - neigh->nr, bts->nr, strerror(-rc), VTY_NEWLINE); - return CMD_WARNING; - } else - vty_out(vty, "%% BTS %u %s local neighbor BTS %u with LAC %u CI %u and ARFCN %u BSIC %u%s", - bts->nr, rc? "now has" : "already had", - neigh->nr, neigh->location_area_code, neigh->cell_identity, - neigh->c0->arfcn, neigh->bsic, VTY_NEWLINE); + + neighbor = talloc_zero(bts, struct neighbor); + *neighbor = *n; + llist_add_tail(&neighbor->entry, &bts->neighbors); return CMD_SUCCESS; } -static int del_local_bts(struct vty *vty, struct gsm_bts *neigh) +static int del_neighbor(struct vty *vty, struct neighbor *n) { - int rc; struct gsm_bts *bts = vty->index; - if (vty->node != BTS_NODE) { - vty_out(vty, "%% Error: cannot remove local BTS neighbor, not on BTS node%s", - VTY_NEWLINE); - return CMD_WARNING; + struct neighbor *neighbor; + + OSMO_ASSERT((vty->node == BTS_NODE) && bts); + + llist_for_each_entry(neighbor, &bts->neighbors, entry) { + if (neighbor->type != n->type) + continue; + + switch (n->type) { + case NEIGHBOR_TYPE_BTS_NR: + if (neighbor->bts_nr == n->bts_nr) + break; + continue; + + case NEIGHBOR_TYPE_CELL_ID: + if (gsm0808_cell_ids_match(&neighbor->cell_id.id, &n->cell_id.id, true)) + break; + continue; + default: + continue; + } + + llist_del(&neighbor->entry); + talloc_free(neighbor); + return CMD_SUCCESS; } - if (!bts) { - vty_out(vty, "%% Error: cannot remove local BTS neighbor, no BTS on this node%s", - VTY_NEWLINE); - return CMD_WARNING; + + vty_out(vty, "%% Error: no such neighbor on BTS %d: %s%s", + bts->nr, neighbor_to_str_c(OTC_SELECT, n), VTY_NEWLINE); + return CMD_WARNING; +} + +static int del_neighbor_by_cell_ab(struct vty *vty, const struct cell_ab *cell_ab) +{ + struct gsm_bts *bts = vty->index; + struct neighbor *neighbor, *safe; + struct gsm_bts *neighbor_bts; + struct cell_ab neighbor_ab; + int count = 0; + + OSMO_ASSERT((vty->node == BTS_NODE) && bts); + + llist_for_each_entry_safe(neighbor, safe, &bts->neighbors, entry) { + switch (neighbor->type) { + case NEIGHBOR_TYPE_BTS_NR: + if (resolve_local_neighbor(&neighbor_bts, bts, neighbor)) + continue; + bts_cell_ab(&neighbor_ab, neighbor_bts); + if (!cell_ab_match(&neighbor_ab, cell_ab, false)) + continue; + break; + + case NEIGHBOR_TYPE_CELL_ID: + if (!neighbor->cell_id.ab_present) + continue; + if (!cell_ab_match(&neighbor->cell_id.ab, cell_ab, false)) + continue; + break; + default: + continue; + } + + llist_del(&neighbor->entry); + talloc_free(neighbor); + count++; } - if (!neigh) { - vty_out(vty, "%% Error: cannot remove local BTS neighbor from BTS %u, no such neighbor BTS%s", - bts->nr, VTY_NEWLINE); - return CMD_WARNING; - } - rc = gsm_bts_local_neighbor_del(bts, neigh); - if (rc < 0) { - vty_out(vty, "%% Error: cannot remove local BTS %u neighbor from BTS %u: %s%s", - neigh->nr, bts->nr, strerror(-rc), VTY_NEWLINE); - return CMD_WARNING; - } - if (rc == 0) - vty_out(vty, "%% BTS %u is no neighbor of BTS %u%s", - neigh->nr, bts->nr, VTY_NEWLINE); - return CMD_SUCCESS; + if (count) + return CMD_SUCCESS; + + vty_out(vty, "%% Cannot remove: no such neighbor on BTS %u: %s%s", + bts->nr, cell_ab_to_str_c(OTC_SELECT, cell_ab), VTY_NEWLINE); + return CMD_WARNING; } DEFUN(cfg_neighbor_add_bts_nr, cfg_neighbor_add_bts_nr_cmd, NEIGHBOR_ADD_CMD LOCAL_BTS_PARAMS, NEIGHBOR_ADD_DOC LOCAL_BTS_DOC) { - return add_local_bts(vty, neighbor_ident_vty_parse_bts_nr(vty, argv)); + struct neighbor n = { + .type = NEIGHBOR_TYPE_BTS_NR, + .bts_nr = atoi(argv[0]), + }; + return add_neighbor(vty, &n); } DEFUN(cfg_neighbor_add_lac, cfg_neighbor_add_lac_cmd, NEIGHBOR_ADD_CMD LAC_PARAMS, NEIGHBOR_ADD_DOC LAC_DOC) { - return add_local_bts(vty, bts_by_cell_id(vty, neighbor_ident_vty_parse_lac(vty, argv))); + struct neighbor n = { + .type = NEIGHBOR_TYPE_CELL_ID, + }; + if (neighbor_ident_vty_parse_lac(vty, &n.cell_id.id, argv)) + return CMD_WARNING; + return add_neighbor(vty, &n); } DEFUN(cfg_neighbor_add_lac_ci, cfg_neighbor_add_lac_ci_cmd, NEIGHBOR_ADD_CMD LAC_CI_PARAMS, NEIGHBOR_ADD_DOC LAC_CI_DOC) { - return add_local_bts(vty, bts_by_cell_id(vty, neighbor_ident_vty_parse_lac_ci(vty, argv))); + struct neighbor n = { + .type = NEIGHBOR_TYPE_CELL_ID, + }; + if (neighbor_ident_vty_parse_lac_ci(vty, &n.cell_id.id, argv)) + return CMD_WARNING; + return add_neighbor(vty, &n); } DEFUN(cfg_neighbor_add_cgi, cfg_neighbor_add_cgi_cmd, NEIGHBOR_ADD_CMD CGI_PARAMS, NEIGHBOR_ADD_DOC CGI_DOC) { - return add_local_bts(vty, bts_by_cell_id(vty, neighbor_ident_vty_parse_cgi(vty, argv))); + struct neighbor n = { + .type = NEIGHBOR_TYPE_CELL_ID, + }; + if (neighbor_ident_vty_parse_cgi(vty, &n.cell_id.id, argv)) + return CMD_WARNING; + return add_neighbor(vty, &n); } DEFUN(cfg_neighbor_add_cgi_ps, cfg_neighbor_add_cgi_ps_cmd, NEIGHBOR_ADD_CMD CGI_PS_PARAMS, NEIGHBOR_ADD_DOC CGI_PS_DOC) { - return add_local_bts(vty, bts_by_cell_id(vty, neighbor_ident_vty_parse_cgi_ps(vty, argv))); -} - -bool neighbor_ident_key_matches_bts(const struct neighbor_ident_key *key, struct gsm_bts *bts) -{ - if (!bts || !key) - return false; - return key->arfcn == bts->c0->arfcn - && (key->bsic == BSIC_ANY || key->bsic == bts->bsic); -} - -static int add_remote_or_local_bts(struct vty *vty, const struct gsm0808_cell_id *cell_id, - const struct neighbor_ident_key *key) -{ - int rc; - struct gsm_bts *local_neigh; - const struct gsm0808_cell_id_list2 *exists; - struct gsm0808_cell_id_list2 cil; - struct gsm_bts *bts = vty->index; - - if (vty->node != BTS_NODE) { - vty_out(vty, "%% Error: cannot add BTS neighbor, not on BTS node%s", - VTY_NEWLINE); - return CMD_WARNING; - } - if (!bts) { - vty_out(vty, "%% Error: cannot add BTS neighbor, no BTS on this node%s", - VTY_NEWLINE); - return CMD_WARNING; - } - - /* Is there a local BTS that matches the cell_id? */ - local_neigh = gsm_bts_by_cell_id(g_net, cell_id, 0); - if (local_neigh) { - /* But do the advertised ARFCN and BSIC match as intended? - * The user may omit ARFCN and BSIC for local cells, but if they are provided, - * they need to match. */ - if (!neighbor_ident_key_matches_bts(key, local_neigh)) { - vty_out(vty, "%% Error: bts %u: neighbor cell id %s indicates local BTS %u," - " but it does not match ARFCN+BSIC %s%s", - bts->nr, gsm0808_cell_id_name(cell_id), local_neigh->nr, - neighbor_ident_key_name(key), VTY_NEWLINE); - /* TODO: error out fatally for non-interactive VTY? */ - return CMD_WARNING; - } - return add_local_bts(vty, local_neigh); - } - - /* Allow only one cell ID per remote-BSS neighbor, see OS#3656 */ - exists = neighbor_ident_get(g_neighbor_cells, key); - if (exists) { - vty_out(vty, "%% Error: only one Cell Identifier entry is allowed per remote neighbor." - " Already have: %s -> %s%s", neighbor_ident_key_name(key), - gsm0808_cell_id_list_name(exists), VTY_NEWLINE); - return CMD_WARNING; - } - - /* The cell_id is not known in this BSS, so it must be a remote cell. */ - gsm0808_cell_id_to_list(&cil, cell_id); - rc = neighbor_ident_add(g_neighbor_cells, key, &cil); - - if (rc < 0) { - const char *reason; - switch (rc) { - case -EINVAL: - reason = ": mismatching type between current and newly added cell identifier"; - break; - case -ENOSPC: - reason = ": list is full"; - break; - default: - reason = ""; - break; - } - - vty_out(vty, "%% Error adding neighbor-BSS Cell Identifier %s%s%s", - gsm0808_cell_id_name(cell_id), reason, VTY_NEWLINE); - return CMD_WARNING; - } - - vty_out(vty, "%% %s now has %d remote BSS Cell Identifier List %s%s", - neighbor_ident_key_name(key), rc, rc == 1? "entry" : "entries", VTY_NEWLINE); - return CMD_SUCCESS; -} - -static int del_by_key(struct vty *vty, const struct neighbor_ident_key *key) -{ - int removed = 0; - int rc; - struct gsm_bts *bts = vty->index; - struct gsm_bts_ref *neigh, *safe; - - if (vty->node != BTS_NODE) { - vty_out(vty, "%% Error: cannot remove BTS neighbor, not on BTS node%s", - VTY_NEWLINE); - return CMD_WARNING; - } - if (!bts) { - vty_out(vty, "%% Error: cannot remove BTS neighbor, no BTS on this node%s", - VTY_NEWLINE); - return CMD_WARNING; - } - - /* Is there a local BTS that matches the key? */ - llist_for_each_entry_safe(neigh, safe, &bts->local_neighbors, entry) { - struct gsm_bts *neigh_bts = neigh->bts; - if (!neighbor_ident_key_matches_bts(key, neigh->bts)) - continue; - rc = gsm_bts_local_neighbor_del(bts, neigh->bts); - if (rc > 0) { - vty_out(vty, "%% Removed local neighbor bts %u to bts %u%s", - bts->nr, neigh_bts->nr, VTY_NEWLINE); - removed += rc; - } - } - - if (neighbor_ident_del(g_neighbor_cells, key)) { - vty_out(vty, "%% Removed remote BSS neighbor %s%s", - neighbor_ident_key_name(key), VTY_NEWLINE); - removed ++; - } - - if (!removed) { - vty_out(vty, "%% Cannot remove, no such neighbor: %s%s", - neighbor_ident_key_name(key), VTY_NEWLINE); - return CMD_WARNING; - } - return CMD_SUCCESS; -} - -struct nil_match_bts_data { - int bts_nr; - const struct neighbor_ident_key *found; -}; - -static bool nil_match_bts(const struct neighbor_ident_key *key, - const struct gsm0808_cell_id_list2 *val, - void *cb_data) -{ - struct nil_match_bts_data *d = cb_data; - if (key->from_bts == d->bts_nr) { - d->found = key; - return false; - } - return true; -} - -bool neighbor_ident_bts_entry_exists(uint8_t from_bts) -{ - struct nil_match_bts_data d = { - .bts_nr = from_bts, + struct neighbor n = { + .type = NEIGHBOR_TYPE_CELL_ID, }; - neighbor_ident_iter(g_neighbor_cells, nil_match_bts, &d); - return (bool)d.found; + if (neighbor_ident_vty_parse_cgi_ps(vty, &n.cell_id.id, argv)) + return CMD_WARNING; + return add_neighbor(vty, &n); } static int neighbor_del_all(struct vty *vty) { - int rc; - int removed = 0; struct gsm_bts *bts = vty->index; - + struct neighbor *n; OSMO_ASSERT((vty->node == BTS_NODE) && bts); - /* Remove all local neighbors and print to VTY for the user to know what changed */ - while (1) { - struct gsm_bts_ref *neigh = llist_first_entry_or_null(&bts->local_neighbors, struct gsm_bts_ref, entry); - struct gsm_bts *neigh_bts; - if (!neigh) - break; - - neigh_bts = neigh->bts; - OSMO_ASSERT(neigh_bts); - - /* It would be more efficient to just llist_del() the gsm_bts_ref directly, but for the sake of - * safe/sane API use and against code dup, rather invoke the central gsm_bts_local_neighbor_del() - * function intended for this task. */ - rc = gsm_bts_local_neighbor_del(bts, neigh_bts); - if (rc > 0) { - vty_out(vty, "%% Removed local neighbor bts %u to bts %u%s", - bts->nr, neigh_bts->nr, VTY_NEWLINE); - removed += rc; - } else { - vty_out(vty, "%% Error while removing local neighbor bts %u to bts %u, aborted%s", - bts->nr, neigh_bts->nr, VTY_NEWLINE); - return CMD_WARNING; - } - } - - /* Remove all remote-BSS neighbors */ - while (1) { - struct neighbor_ident_key k; - struct nil_match_bts_data d = { - .bts_nr = bts->nr, - }; - neighbor_ident_iter(g_neighbor_cells, nil_match_bts, &d); - if (!d.found) - break; - k = *d.found; - if (neighbor_ident_del(g_neighbor_cells, &k)) { - vty_out(vty, "%% Removed remote BSS neighbor %s%s", - neighbor_ident_key_name(&k), VTY_NEWLINE); - removed++; - } else { - vty_out(vty, "%% Error while removing remote BSS neighbor %s, aborted%s", - neighbor_ident_key_name(&k), VTY_NEWLINE); - return CMD_WARNING; - } - } - - if (!removed) + if (llist_empty(&bts->neighbors)) { vty_out(vty, "%% No neighbors configured%s", VTY_NEWLINE); + return CMD_SUCCESS; + } + + /* Remove all local neighbors and print to VTY for the user to know what changed */ + while ((n = llist_first_entry_or_null(&bts->neighbors, struct neighbor, entry))) { + vty_out(vty, "%% Removed neighbor: BTS %u to %s%s", + bts->nr, neighbor_to_str_c(OTC_SELECT, n), VTY_NEWLINE); + llist_del(&n->entry); + talloc_free(n); + } return CMD_SUCCESS; } DEFUN(cfg_neighbor_add_lac_arfcn_bsic, cfg_neighbor_add_lac_arfcn_bsic_cmd, - NEIGHBOR_ADD_CMD LAC_PARAMS " " NEIGHBOR_IDENT_VTY_KEY_PARAMS, - NEIGHBOR_ADD_DOC LAC_DOC NEIGHBOR_IDENT_VTY_KEY_DOC) + NEIGHBOR_ADD_CMD LAC_PARAMS " " CELL_AB_VTY_PARAMS, + NEIGHBOR_ADD_DOC LAC_DOC CELL_AB_VTY_DOC) { - struct neighbor_ident_key nik; - struct gsm0808_cell_id *cell_id = neighbor_ident_vty_parse_lac(vty, argv); - if (!cell_id) + struct neighbor n = { + .type = NEIGHBOR_TYPE_CELL_ID, + .cell_id.ab_present = true, + }; + if (neighbor_ident_vty_parse_lac(vty, &n.cell_id.id, argv)) return CMD_WARNING; - if (!neighbor_ident_vty_parse_key_params(vty, argv + 1, &nik)) - return CMD_WARNING; - return add_remote_or_local_bts(vty, cell_id, &nik); + neighbor_ident_vty_parse_arfcn_bsic(&n.cell_id.ab, argv + LAC_ARGC); + return add_neighbor(vty, &n); } DEFUN(cfg_neighbor_add_lac_ci_arfcn_bsic, cfg_neighbor_add_lac_ci_arfcn_bsic_cmd, - NEIGHBOR_ADD_CMD LAC_CI_PARAMS " " NEIGHBOR_IDENT_VTY_KEY_PARAMS, - NEIGHBOR_ADD_DOC LAC_CI_DOC NEIGHBOR_IDENT_VTY_KEY_DOC) + NEIGHBOR_ADD_CMD LAC_CI_PARAMS " " CELL_AB_VTY_PARAMS, + NEIGHBOR_ADD_DOC LAC_CI_DOC CELL_AB_VTY_DOC) { - struct neighbor_ident_key nik; - struct gsm0808_cell_id *cell_id = neighbor_ident_vty_parse_lac_ci(vty, argv); - if (!cell_id) + struct neighbor n = { + .type = NEIGHBOR_TYPE_CELL_ID, + .cell_id.ab_present = true, + }; + if (neighbor_ident_vty_parse_lac_ci(vty, &n.cell_id.id, argv)) return CMD_WARNING; - if (!neighbor_ident_vty_parse_key_params(vty, argv + 2, &nik)) - return CMD_WARNING; - return add_remote_or_local_bts(vty, cell_id, &nik); + neighbor_ident_vty_parse_arfcn_bsic(&n.cell_id.ab, argv + LAC_CI_ARGC); + return add_neighbor(vty, &n); } DEFUN(cfg_neighbor_add_cgi_arfcn_bsic, cfg_neighbor_add_cgi_arfcn_bsic_cmd, - NEIGHBOR_ADD_CMD CGI_PARAMS " " NEIGHBOR_IDENT_VTY_KEY_PARAMS, - NEIGHBOR_ADD_DOC CGI_DOC NEIGHBOR_IDENT_VTY_KEY_DOC) + NEIGHBOR_ADD_CMD CGI_PARAMS " " CELL_AB_VTY_PARAMS, + NEIGHBOR_ADD_DOC CGI_DOC CELL_AB_VTY_DOC) { - struct neighbor_ident_key nik; - struct gsm0808_cell_id *cell_id = neighbor_ident_vty_parse_cgi(vty, argv); - if (!cell_id) + struct neighbor n = { + .type = NEIGHBOR_TYPE_CELL_ID, + .cell_id.ab_present = true, + }; + if (neighbor_ident_vty_parse_cgi(vty, &n.cell_id.id, argv)) return CMD_WARNING; - if (!neighbor_ident_vty_parse_key_params(vty, argv + 4, &nik)) - return CMD_WARNING; - return add_remote_or_local_bts(vty, cell_id, &nik); + neighbor_ident_vty_parse_arfcn_bsic(&n.cell_id.ab, argv + CGI_ARGC); + return add_neighbor(vty, &n); } DEFUN(cfg_neighbor_add_cgi_ps_arfcn_bsic, cfg_neighbor_add_cgi_ps_arfcn_bsic_cmd, - NEIGHBOR_ADD_CMD CGI_PS_PARAMS " " NEIGHBOR_IDENT_VTY_KEY_PARAMS, - NEIGHBOR_ADD_DOC CGI_PS_DOC NEIGHBOR_IDENT_VTY_KEY_DOC) + NEIGHBOR_ADD_CMD CGI_PS_PARAMS " " CELL_AB_VTY_PARAMS, + NEIGHBOR_ADD_DOC CGI_PS_DOC CELL_AB_VTY_DOC) { - struct neighbor_ident_key nik; - struct gsm0808_cell_id *cell_id = neighbor_ident_vty_parse_cgi_ps(vty, argv); - if (!cell_id) + struct neighbor n = { + .type = NEIGHBOR_TYPE_CELL_ID, + .cell_id.ab_present = true, + }; + if (neighbor_ident_vty_parse_cgi_ps(vty, &n.cell_id.id, argv)) return CMD_WARNING; - if (!neighbor_ident_vty_parse_key_params(vty, argv + 5, &nik)) - return CMD_WARNING; - return add_remote_or_local_bts(vty, cell_id, &nik); + neighbor_ident_vty_parse_arfcn_bsic(&n.cell_id.ab, argv + CGI_PS_ARGC); + return add_neighbor(vty, &n); } DEFUN(cfg_neighbor_del_bts_nr, cfg_neighbor_del_bts_nr_cmd, NEIGHBOR_DEL_CMD LOCAL_BTS_PARAMS, NEIGHBOR_DEL_DOC LOCAL_BTS_DOC) { - return del_local_bts(vty, neighbor_ident_vty_parse_bts_nr(vty, argv)); + struct neighbor n = { + .type = NEIGHBOR_TYPE_BTS_NR, + .bts_nr = atoi(argv[0]), + }; + return del_neighbor(vty, &n); +} + +DEFUN(cfg_neighbor_del_lac, cfg_neighbor_del_lac_cmd, + NEIGHBOR_DEL_CMD LAC_PARAMS, + NEIGHBOR_DEL_DOC LAC_DOC) +{ + struct neighbor n = { + .type = NEIGHBOR_TYPE_CELL_ID, + }; + if (neighbor_ident_vty_parse_lac(vty, &n.cell_id.id, argv)) + return CMD_WARNING; + return del_neighbor(vty, &n); +} + +DEFUN(cfg_neighbor_del_lac_ci, cfg_neighbor_del_lac_ci_cmd, + NEIGHBOR_DEL_CMD LAC_CI_PARAMS, + NEIGHBOR_DEL_DOC LAC_CI_DOC) +{ + struct neighbor n = { + .type = NEIGHBOR_TYPE_CELL_ID, + }; + if (neighbor_ident_vty_parse_lac_ci(vty, &n.cell_id.id, argv)) + return CMD_WARNING; + return del_neighbor(vty, &n); +} + +DEFUN(cfg_neighbor_del_cgi, cfg_neighbor_del_cgi_cmd, + NEIGHBOR_DEL_CMD CGI_PARAMS, + NEIGHBOR_DEL_DOC CGI_DOC) +{ + struct neighbor n = { + .type = NEIGHBOR_TYPE_CELL_ID, + }; + if (neighbor_ident_vty_parse_cgi(vty, &n.cell_id.id, argv)) + return CMD_WARNING; + return del_neighbor(vty, &n); +} + +DEFUN(cfg_neighbor_del_cgi_ps, cfg_neighbor_del_cgi_ps_cmd, + NEIGHBOR_DEL_CMD CGI_PS_PARAMS, + NEIGHBOR_DEL_DOC CGI_PS_DOC) +{ + struct neighbor n = { + .type = NEIGHBOR_TYPE_CELL_ID, + }; + if (neighbor_ident_vty_parse_cgi_ps(vty, &n.cell_id.id, argv)) + return CMD_WARNING; + return del_neighbor(vty, &n); } DEFUN(cfg_neighbor_del_arfcn_bsic, cfg_neighbor_del_arfcn_bsic_cmd, - NEIGHBOR_DEL_CMD NEIGHBOR_IDENT_VTY_KEY_PARAMS, - NEIGHBOR_DEL_DOC NEIGHBOR_IDENT_VTY_KEY_DOC) + NEIGHBOR_DEL_CMD CELL_AB_VTY_PARAMS, + NEIGHBOR_DEL_DOC CELL_AB_VTY_DOC) { - struct neighbor_ident_key key; - - if (!neighbor_ident_vty_parse_key_params(vty, argv, &key)) - return CMD_WARNING; - - return del_by_key(vty, &key); + struct cell_ab ab; + neighbor_ident_vty_parse_arfcn_bsic(&ab, argv); + return del_neighbor_by_cell_ab(vty, &ab); } DEFUN(cfg_neighbor_del_all, cfg_neighbor_del_all_cmd, @@ -584,133 +481,98 @@ NEIGHBOR_DOC "Bind Neighbor Resolution Service (CTRL interface) to given ip and port\n" IP_STR IPV6_STR "Port to bind the service to [defaults to 4248 if not provided]\n") { - osmo_talloc_replace_string(g_net, &g_net->neigh_ctrl.addr, argv[0]); + osmo_talloc_replace_string(bsc_gsmnet, &bsc_gsmnet->neigh_ctrl.addr, argv[0]); if (argc > 1) - g_net->neigh_ctrl.port = atoi(argv[1]); + bsc_gsmnet->neigh_ctrl.port = atoi(argv[1]); else - g_net->neigh_ctrl.port = OSMO_CTRL_PORT_BSC_NEIGH; + bsc_gsmnet->neigh_ctrl.port = OSMO_CTRL_PORT_BSC_NEIGH; return CMD_SUCCESS; } void neighbor_ident_vty_write_network(struct vty *vty, const char *indent) { - if (g_net->neigh_ctrl.addr) - vty_out(vty, "%sneighbor-resolution bind %s %" PRIu16 "%s", indent, g_net->neigh_ctrl.addr, - g_net->neigh_ctrl.port, VTY_NEWLINE); + if (bsc_gsmnet->neigh_ctrl.addr) + vty_out(vty, "%sneighbor-resolution bind %s %" PRIu16 "%s", indent, bsc_gsmnet->neigh_ctrl.addr, + bsc_gsmnet->neigh_ctrl.port, VTY_NEWLINE); } - -struct write_neighbor_ident_entry_data { - struct vty *vty; - const char *indent; - struct gsm_bts *bts; -}; - -static bool write_neighbor_ident_list(const struct neighbor_ident_key *key, - const struct gsm0808_cell_id_list2 *val, - void *cb_data) +static int vty_write_cell_id_u(struct vty *vty, enum CELL_IDENT id_discr, const union gsm0808_cell_id_u *cell_id_u) { - struct write_neighbor_ident_entry_data *d = cb_data; - struct vty *vty = d->vty; - int i; + const struct osmo_cell_global_id *cgi; + const struct osmo_cell_global_id_ps *cgi_ps; - if (d->bts) { - if (d->bts->nr != key->from_bts) - return true; - } else if (key->from_bts != NEIGHBOR_IDENT_KEY_ANY_BTS) - return true; - -#define NEIGH_BSS_WRITE(fmt, args...) do { \ - vty_out(vty, "%sneighbor " fmt " arfcn %u ", d->indent, ## args, key->arfcn); \ - if (key->bsic == BSIC_ANY) \ - vty_out(vty, "bsic any"); \ - else \ - vty_out(vty, "bsic %u", key->bsic & 0x3f); \ - vty_out(vty, "%s", VTY_NEWLINE); \ - } while(0) - - switch (val->id_discr) { + switch (id_discr) { case CELL_IDENT_LAC: - for (i = 0; i < val->id_list_len; i++) { - NEIGH_BSS_WRITE("lac %u", val->id_list[i].lac); - } + vty_out(vty, "lac %u", cell_id_u->lac); break; case CELL_IDENT_LAC_AND_CI: - for (i = 0; i < val->id_list_len; i++) { - NEIGH_BSS_WRITE("lac-ci %u %u", - val->id_list[i].lac_and_ci.lac, - val->id_list[i].lac_and_ci.ci); - } + vty_out(vty, "lac-ci %u %u", cell_id_u->lac_and_ci.lac, cell_id_u->lac_and_ci.ci); break; case CELL_IDENT_WHOLE_GLOBAL: - for (i = 0; i < val->id_list_len; i++) { - const struct osmo_cell_global_id *cgi = &val->id_list[i].global; - NEIGH_BSS_WRITE("cgi %s %s %u %u", - osmo_mcc_name(cgi->lai.plmn.mcc), - osmo_mnc_name(cgi->lai.plmn.mnc, cgi->lai.plmn.mnc_3_digits), - cgi->lai.lac, cgi->cell_identity); - } + cgi = &cell_id_u->global; + vty_out(vty, "cgi %s %s %u %u", + osmo_mcc_name(cgi->lai.plmn.mcc), + osmo_mnc_name(cgi->lai.plmn.mnc, cgi->lai.plmn.mnc_3_digits), + cgi->lai.lac, cgi->cell_identity); break; case CELL_IDENT_WHOLE_GLOBAL_PS: - for (i = 0; i < val->id_list_len; i++) { - const struct osmo_cell_global_id_ps *cgi_ps = &val->id_list[i].global_ps; - NEIGH_BSS_WRITE("cgi-ps %s %s %u %u %u", - osmo_mcc_name(cgi_ps->rai.lac.plmn.mcc), - osmo_mnc_name(cgi_ps->rai.lac.plmn.mnc, cgi_ps->rai.lac.plmn.mnc_3_digits), - cgi_ps->rai.lac.lac, cgi_ps->rai.rac, - cgi_ps->cell_identity); - } + cgi_ps = &cell_id_u->global_ps; + vty_out(vty, "cgi-ps %s %s %u %u %u", + osmo_mcc_name(cgi_ps->rai.lac.plmn.mcc), + osmo_mnc_name(cgi_ps->rai.lac.plmn.mnc, cgi_ps->rai.lac.plmn.mnc_3_digits), + cgi_ps->rai.lac.lac, cgi_ps->rai.rac, + cgi_ps->cell_identity); break; default: - vty_out(vty, "%% Unsupported Cell Identity%s", VTY_NEWLINE); + return -1; } -#undef NEIGH_BSS_WRITE - - return true; -} - -void neighbor_ident_vty_write_remote_bss(struct vty *vty, const char *indent, struct gsm_bts *bts) -{ - struct write_neighbor_ident_entry_data d = { - .vty = vty, - .indent = indent, - .bts = bts, - }; - - neighbor_ident_iter(g_neighbor_cells, write_neighbor_ident_list, &d); -} - -void neighbor_ident_vty_write_local_neighbors(struct vty *vty, const char *indent, struct gsm_bts *bts) -{ - struct gsm_bts_ref *neigh; - - llist_for_each_entry(neigh, &bts->local_neighbors, entry) { - vty_out(vty, "%sneighbor bts %u%s", indent, neigh->bts->nr, VTY_NEWLINE); - } + return 0; } void neighbor_ident_vty_write_bts(struct vty *vty, const char *indent, struct gsm_bts *bts) { - neighbor_ident_vty_write_local_neighbors(vty, indent, bts); - neighbor_ident_vty_write_remote_bss(vty, indent, bts); + struct neighbor *n; + + llist_for_each_entry(n, &bts->neighbors, entry) { + switch (n->type) { + case NEIGHBOR_TYPE_BTS_NR: + vty_out(vty, "%sneighbor bts %u%s", indent, n->bts_nr, VTY_NEWLINE); + break; + + case NEIGHBOR_TYPE_CELL_ID: + vty_out(vty, "%sneighbor ", indent); + if (vty_write_cell_id_u(vty, n->cell_id.id.id_discr, &n->cell_id.id.id)) { + vty_out(vty, "[Unsupported Cell Identity]%s", VTY_NEWLINE); + continue; + } + + if (n->cell_id.ab_present) { + vty_out(vty, " arfcn %u ", n->cell_id.ab.arfcn); + if (n->cell_id.ab.bsic == BSIC_ANY) + vty_out(vty, "bsic any"); + else + vty_out(vty, "bsic %u", n->cell_id.ab.bsic & 0x3f); + } + vty_out(vty, "%s", VTY_NEWLINE); + break; + + default: + /* Ignore anything invalid */ + break; + } + } } DEFUN(show_bts_neighbor, show_bts_neighbor_cmd, - "show bts <0-255> neighbor " NEIGHBOR_IDENT_VTY_KEY_PARAMS, + "show bts <0-255> neighbor " CELL_AB_VTY_PARAMS, SHOW_STR "Display information about a BTS\n" "BTS number\n" "Query which cell would be the target for this neighbor ARFCN+BSIC\n" - NEIGHBOR_IDENT_VTY_KEY_DOC) + CELL_AB_VTY_DOC) { - int found = 0; - struct neighbor_ident_key key; - struct gsm_bts_ref *neigh; - const struct gsm0808_cell_id_list2 *res; - struct gsm_bts *bts = gsm_bts_num(g_net, atoi(argv[0])); - struct write_neighbor_ident_entry_data d = { - .vty = vty, - .indent = "% ", - .bts = bts, - }; + struct cell_ab ab; + struct gsm_bts *local_neighbor = NULL; + struct gsm0808_cell_id_list2 remote_neighbors = { 0 }; + struct gsm_bts *bts = gsm_bts_num(bsc_gsmnet, atoi(argv[0])); if (!bts) { vty_out(vty, "%% Error: cannot find BTS '%s'%s", argv[0], @@ -718,35 +580,41 @@ return CMD_WARNING; } - if (!neighbor_ident_bts_parse_key_params(vty, bts, &argv[1], &key)) + neighbor_ident_vty_parse_arfcn_bsic(&ab, &argv[1]); + + switch (resolve_neighbors(&local_neighbor, &remote_neighbors, bts, &ab, true)) { + case 0: + break; + case -ENOENT: + vty_out(vty, "%% No entry for BTS %u -> %s%s", bts->nr, cell_ab_to_str_c(OTC_SELECT, &ab), VTY_NEWLINE); return CMD_WARNING; - - /* Is there a local BTS that matches the key? */ - llist_for_each_entry(neigh, &bts->local_neighbors, entry) { - if (!neighbor_ident_key_matches_bts(&key, neigh->bts)) - continue; - vty_out(vty, "%% %s resolves to local BTS %u lac-ci %u %u%s", - neighbor_ident_key_name(&key), neigh->bts->nr, neigh->bts->location_area_code, - neigh->bts->cell_identity, VTY_NEWLINE); - found++; + default: + vty_out(vty, "%% Error while resolving neighbors BTS %u -> %s%s", bts->nr, + cell_ab_to_str_c(OTC_SELECT, &ab), VTY_NEWLINE); + return CMD_WARNING; } - res = neighbor_ident_get(g_neighbor_cells, &key); - if (res) { - write_neighbor_ident_list(&key, res, &d); - found++; + /* From successful rc == 0, there is exactly either a local_neighbor or a nonempty remote_neighbors list. */ + + vty_out(vty, "%% BTS %u -> %s resolves to", bts->nr, cell_ab_to_str_c(OTC_SELECT, &ab)); + if (local_neighbor) { + vty_out(vty, " local BTS %u lac-ci %u %u%s", + local_neighbor->nr, + local_neighbor->location_area_code, + local_neighbor->cell_identity, VTY_NEWLINE); } - if (!found) - vty_out(vty, "%% No entry for %s%s", neighbor_ident_key_name(&key), VTY_NEWLINE); + if (remote_neighbors.id_list_len) { + vty_out(vty, " remote-BSS neighbors: %s%s", + gsm0808_cell_id_list_name_c(OTC_SELECT, &remote_neighbors), + VTY_NEWLINE); + } return CMD_SUCCESS; } -void neighbor_ident_vty_init(struct gsm_network *net, struct neighbor_ident_list *nil) +void neighbor_ident_vty_init() { - g_net = net; - g_neighbor_cells = nil; install_element(GSMNET_NODE, &cfg_neighbor_bind_cmd); install_element(BTS_NODE, &cfg_neighbor_add_bts_nr_cmd); @@ -759,6 +627,10 @@ install_element(BTS_NODE, &cfg_neighbor_add_cgi_arfcn_bsic_cmd); install_element(BTS_NODE, &cfg_neighbor_add_cgi_ps_arfcn_bsic_cmd); install_element(BTS_NODE, &cfg_neighbor_del_bts_nr_cmd); + install_element(BTS_NODE, &cfg_neighbor_del_lac_cmd); + install_element(BTS_NODE, &cfg_neighbor_del_lac_ci_cmd); + install_element(BTS_NODE, &cfg_neighbor_del_cgi_cmd); + install_element(BTS_NODE, &cfg_neighbor_del_cgi_ps_cmd); install_element(BTS_NODE, &cfg_neighbor_del_arfcn_bsic_cmd); install_element(BTS_NODE, &cfg_neighbor_del_all_cmd); install_element_ve(&show_bts_neighbor_cmd); diff --git a/src/osmo-bsc/osmo_bsc_main.c b/src/osmo-bsc/osmo_bsc_main.c index d751fc1..ec07410 100644 --- a/src/osmo-bsc/osmo_bsc_main.c +++ b/src/osmo-bsc/osmo_bsc_main.c @@ -944,6 +944,11 @@ exit(1); } + if (neighbors_check_cfg()) { + fprintf(stderr, "Errors in neighbor configuration, check the DHO log. exiting.\n"); + exit(1); + } + /* start control interface after reading config for * ctrl_vty_get_bind_addr() */ bsc_gsmnet->ctrl = bsc_controlif_setup(bsc_gsmnet, diff --git a/src/osmo-bsc/system_information.c b/src/osmo-bsc/system_information.c index fae1355..5357d20 100644 --- a/src/osmo-bsc/system_information.c +++ b/src/osmo-bsc/system_information.c @@ -602,25 +602,6 @@ return bitvec2freq_list(chan_list, bv, bts, false, false); } -struct generate_bcch_chan_list__ni_iter_data { - struct gsm_bts *bts; - struct bitvec *bv; -}; - -static bool generate_bcch_chan_list__ni_iter_cb(const struct neighbor_ident_key *key, - const struct gsm0808_cell_id_list2 *val, - void *cb_data) -{ - struct generate_bcch_chan_list__ni_iter_data *data = cb_data; - - if (key->from_bts != NEIGHBOR_IDENT_KEY_ANY_BTS - && key->from_bts != data->bts->nr) - return true; - - bitvec_set_bit_pos(data->bv, key->arfcn, 1); - return true; -} - /*! generate a cell channel list as per Section 10.5.2.22 of 04.08 * \param[out] chan_list caller-provided output buffer * \param[in] bts BTS descriptor used for input data @@ -646,7 +627,7 @@ /* Zero-initialize the bit-vector */ memset(bv->data, 0, bv->data_len); - if (llist_empty(&bts->local_neighbors)) { + if (llist_empty(&bts->neighbors)) { /* There are no explicit neighbors, assume all BTS are. */ llist_for_each_entry(cur_bts, &bts->network->bts_list, list) { if (cur_bts == bts) @@ -655,21 +636,21 @@ } } else { /* Only add explicit neighbor cells */ - struct gsm_bts_ref *neigh; - llist_for_each_entry(neigh, &bts->local_neighbors, entry) { - bitvec_set_bit_pos(bv, neigh->bts->c0->arfcn, 1); + struct neighbor *n; + llist_for_each_entry(n, &bts->neighbors, entry) { + if (n->type == NEIGHBOR_TYPE_CELL_ID && n->cell_id.ab_present) { + bitvec_set_bit_pos(bv, n->cell_id.ab.arfcn, 1); + } else { + struct gsm_bts *neigh_bts; + if (resolve_local_neighbor(&neigh_bts, bts, n) == 0) + bitvec_set_bit_pos(bv, n->cell_id.ab.arfcn, 1); + else + LOGP(DHO, LOGL_ERROR, + "Neither local nor remote neighbor: BTS %u -> %s\n", + bts->nr, neighbor_to_str_c(OTC_SELECT, n)); + } } } - - /* Also add neighboring BSS cells' ARFCNs */ - { - struct generate_bcch_chan_list__ni_iter_data data = { - .bv = bv, - .bts = bts, - }; - neighbor_ident_iter(bts->network->neighbor_bss_cells, - generate_bcch_chan_list__ni_iter_cb, &data); - } } /* then we generate a GSM 04.08 frequency list from the bitvec */ diff --git a/tests/bsc/bsc_test.c b/tests/bsc/bsc_test.c index 0ed504b..dbb547e 100644 --- a/tests/bsc/bsc_test.c +++ b/tests/bsc/bsc_test.c @@ -39,6 +39,7 @@ #include void *ctx = NULL; +struct gsm_network *bsc_gsmnet = NULL; enum test { TEST_SCAN_TO_BTS, @@ -125,6 +126,7 @@ struct gsm_network *net = gsm_network_init(ctx); struct gsm_subscriber_connection *conn = talloc_zero(net, struct gsm_subscriber_connection); + bsc_gsmnet = net; conn->network = net; /* start testing with proper messages */ @@ -176,6 +178,7 @@ } talloc_free(net); + bsc_gsmnet = NULL; } static const struct log_info_cat log_categories[] = { diff --git a/tests/ctrl/osmo-bsc-neigh-test.cfg b/tests/ctrl/osmo-bsc-neigh-test.cfg index 2fbc8f8..7ef8271 100644 --- a/tests/ctrl/osmo-bsc-neigh-test.cfg +++ b/tests/ctrl/osmo-bsc-neigh-test.cfg @@ -47,6 +47,8 @@ codec-support fr gprs mode gprs gprs routing area 5 + ! local neigh, refers to bts 1: + neighbor cgi-ps 1 1 1 6 123 ! remote neigh: neighbor cgi-ps 23 42 423 2 5 arfcn 23 bsic 32 trx 0 @@ -134,9 +136,6 @@ timeslot 7 phys_chan_config TCH/F hopping enabled 0 - bts 0 - ! local neigh, refers to bts 1: - neighbor cgi-ps 1 1 1 6 123 msc 0 type normal allow-emergency allow diff --git a/tests/gsm0408/gsm0408_test.c b/tests/gsm0408/gsm0408_test.c index c23b262..7545381 100644 --- a/tests/gsm0408/gsm0408_test.c +++ b/tests/gsm0408/gsm0408_test.c @@ -59,6 +59,7 @@ } +struct gsm_network *bsc_gsmnet = NULL; static inline void gen(struct gsm_bts *bts, const char *s) { @@ -899,6 +900,7 @@ printf("Network init failure.\n"); return EXIT_FAILURE; } + bsc_gsmnet = net; test_si_range_helpers(); test_arfcn_filter(); diff --git a/tests/neighbor_ident.vty b/tests/neighbor_ident.vty index 93571b7..b1429d8 100644 --- a/tests/neighbor_ident.vty +++ b/tests/neighbor_ident.vty @@ -94,6 +94,10 @@ neighbor cgi <0-999> <0-999> <0-65535> <0-65535> arfcn <0-1023> bsic (<0-63>|any) neighbor cgi-ps <0-999> <0-999> <0-65535> <0-255> <0-65535> arfcn <0-1023> bsic (<0-63>|any) no neighbor bts <0-255> + no neighbor lac <0-65535> + no neighbor lac-ci <0-65535> <0-65535> + no neighbor cgi <0-999> <0-999> <0-65535> <0-65535> + no neighbor cgi-ps <0-999> <0-999> <0-65535> <0-255> <0-65535> no neighbor arfcn <0-1023> bsic (<0-63>|any) no neighbors ... @@ -173,8 +177,12 @@ neighbor Remove local or remote-BSS neighbor cell OsmoBSC(config-net-bts)# no neighbor ? - bts Neighbor cell by local BTS number - arfcn ARFCN of neighbor cell + bts Neighbor cell by local BTS number + lac Neighbor cell by LAC + lac-ci Neighbor cell by LAC and CI + cgi Neighbor cell by cgi + cgi-ps Neighbor cell by cgi (Packet Switched, with RAC) + arfcn ARFCN of neighbor cell OsmoBSC(config-net-bts)# no neighbor bts ? <0-255> BTS number @@ -199,52 +207,64 @@ % Unknown command. OsmoBSC(config-net-bts)# neighbor bts 0 -% Error: cannot add local BTS 0 as neighbor to BTS 0: Invalid argument +OsmoBSC(config-net-bts)# no neighbor bts 0 OsmoBSC(config-net-bts)# show running-config ... !neighbor -OsmoBSC(config-net-bts)# neighbor bts 1 -% BTS 0 now has local neighbor BTS 1 with LAC 21 CI 31 and ARFCN 41 BSIC 11 +OsmoBSC(config-net-bts)# no neighbor bts 1 +% Error: no such neighbor on BTS 0: BTS 1 +OsmoBSC(config-net-bts)# ### Add non-existing BTS nr -- is allowed, checking plausibility at runtime +OsmoBSC(config-net-bts)# neighbor bts 123 + +OsmoBSC(config-net-bts)# ### A neighbor by LAC and by BTS number are two distinct neighbor entries, resolved at runtime OsmoBSC(config-net-bts)# neighbor lac 22 -% BTS 0 now has local neighbor BTS 2 with LAC 22 CI 65535 and ARFCN 42 BSIC 12 OsmoBSC(config-net-bts)# no neighbor bts 2 +% Error: no such neighbor on BTS 0: BTS 2 +OsmoBSC(config-net-bts)# no neighbor lac 22 + OsmoBSC(config-net-bts)# neighbor cgi 901 70 22 65535 -% BTS 0 now has local neighbor BTS 2 with LAC 22 CI 65535 and ARFCN 42 BSIC 12 OsmoBSC(config-net-bts)# neighbor cgi 23 42 423 5 arfcn 23 bsic 42 -% BTS 0 to ARFCN 23 BSIC 42 now has 1 remote BSS Cell Identifier List entry OsmoBSC(config-net-bts)# ### adding the same entry again results in no change -OsmoBSC(config-net-bts)# neighbor bts 1 -% BTS 0 already had local neighbor BTS 1 with LAC 21 CI 31 and ARFCN 41 BSIC 11 -OsmoBSC(config-net-bts)# neighbor lac-ci 21 31 -% BTS 0 already had local neighbor BTS 1 with LAC 21 CI 31 and ARFCN 41 BSIC 11 -OsmoBSC(config-net-bts)# neighbor cgi 23 42 423 5 arfcn 23 bsic 42 -% Error: only one Cell Identifier entry is allowed per remote neighbor. Already have: BTS 0 to ARFCN 23 BSIC 42 -> CGI[1]:{023-42-423-5} -OsmoBSC(config-net-bts)# neighbor cgi 23 42 423 5 arfcn 23 bsic 42 -% Error: only one Cell Identifier entry is allowed per remote neighbor. Already have: BTS 0 to ARFCN 23 BSIC 42 -> CGI[1]:{023-42-423-5} -OsmoBSC(config-net-bts)# neighbor cgi 23 42 423 5 arfcn 23 bsic 42 -% Error: only one Cell Identifier entry is allowed per remote neighbor. Already have: BTS 0 to ARFCN 23 BSIC 42 -> CGI[1]:{023-42-423-5} +OsmoBSC(config-net-bts)# neighbor bts 123 +% BTS 0 already had neighbor BTS 123 -OsmoBSC(config-net-bts)# neighbor cgi 23 042 423 6 arfcn 23 bsic 42 -% Error: only one Cell Identifier entry is allowed per remote neighbor. Already have: BTS 0 to ARFCN 23 BSIC 42 -> CGI[1]:{023-42-423-5} +OsmoBSC(config-net-bts)# neighbor lac-ci 21 31 arfcn 41 bsic 11 +OsmoBSC(config-net-bts)# neighbor lac-ci 21 31 arfcn 41 bsic 11 +% BTS 0 already had neighbor LAC-CI:21-31 ARFCN-BSIC:41-11 +OsmoBSC(config-net-bts)# neighbor lac-ci 21 31 arfcn 22 bsic 32 +% BTS 0 already had neighbor LAC-CI:21-31 ARFCN-BSIC:41-11 +% ERROR: duplicate Cell ID in neighbor config, with differing ARFCN+BSIC: LAC-CI:21-31 ARFCN-BSIC:22-32 +OsmoBSC(config-net-bts)# show running-config +... + neighbor lac-ci 21 31 arfcn 41 bsic 11 +... + +OsmoBSC(config-net-bts)# neighbor cgi 23 42 423 5 arfcn 23 bsic 42 +% BTS 0 already had neighbor CGI:023-42-423-5 ARFCN-BSIC:23-42 + +OsmoBSC(config-net-bts)# neighbor cgi 23 042 423 5 arfcn 23 bsic 42 +% Error: only one Cell Identifier entry is allowed per remote neighbor. Already have: BTS 0 -> CGI:023-42-423-5 ARFCN-BSIC:23-42 + +OsmoBSC(config-net-bts)# neighbor cgi 23 42 423 6 arfcn 23 bsic 42 +% Error: only one Cell Identifier entry is allowed per remote neighbor. Already have: BTS 0 -> CGI:023-42-423-5 ARFCN-BSIC:23-42 + +OsmoBSC(config-net-bts)# neighbor cgi 23 42 423 6 arfcn 42 bsic 1 OsmoBSC(config-net-bts)# neighbor lac 456 arfcn 123 bsic 45 -% BTS 0 to ARFCN 123 BSIC 45 now has 1 remote BSS Cell Identifier List entry - -OsmoBSC(config-net-bts)# neighbor cgi 23 042 234 56 arfcn 23 bsic 42 -% Error: only one Cell Identifier entry is allowed per remote neighbor. Already have: BTS 0 to ARFCN 23 BSIC 42 -> CGI[1]:{023-42-423-5} OsmoBSC(config-net-bts)# neighbor lac-ci 789 10 arfcn 423 bsic any -% BTS 0 to ARFCN 423 (any BSIC) now has 1 remote BSS Cell Identifier List entry OsmoBSC(config-net-bts)# neighbor lac-ci 789 10 arfcn 423 bsic 63 -% Error: only one Cell Identifier entry is allowed per remote neighbor. Already have: BTS 0 to ARFCN 423 BSIC 63 -> LAC-CI[1]:{789-10} +% BTS 0 already had neighbor LAC-CI:789-10 ARFCN-BSIC:423-any +% ERROR: duplicate Cell ID in neighbor config, with differing ARFCN+BSIC: LAC-CI:789-10 ARFCN-BSIC:423-63 OsmoBSC(config-net-bts)# neighbor lac-ci 789 10 arfcn 423 bsic 1 -% Error: only one Cell Identifier entry is allowed per remote neighbor. Already have: BTS 0 to ARFCN 423 BSIC 1 -> LAC-CI[1]:{789-10} +% BTS 0 already had neighbor LAC-CI:789-10 ARFCN-BSIC:423-any +% ERROR: duplicate Cell ID in neighbor config, with differing ARFCN+BSIC: LAC-CI:789-10 ARFCN-BSIC:423-1 OsmoBSC(config-net-bts)# show running-config ... @@ -252,119 +272,125 @@ ... !neighbor bts 0 ... !neighbor - neighbor bts 1 - neighbor bts 2 + neighbor bts 123 + neighbor cgi 901 70 22 65535 neighbor cgi 023 42 423 5 arfcn 23 bsic 42 + neighbor lac-ci 21 31 arfcn 41 bsic 11 + neighbor cgi 023 42 423 6 arfcn 42 bsic 1 neighbor lac 456 arfcn 123 bsic 45 neighbor lac-ci 789 10 arfcn 423 bsic any ... !neighbor OsmoBSC(config-net-bts)# do show bts 0 neighbor arfcn 99 bsic any -% No entry for BTS 0 to ARFCN 99 (any BSIC) +% No entry for BTS 0 -> ARFCN-BSIC:99-any OsmoBSC(config-net-bts)# do show bts 0 neighbor arfcn 41 bsic any -% BTS 0 to ARFCN 41 (any BSIC) resolves to local BTS 1 lac-ci 21 31 +% BTS 0 -> ARFCN-BSIC:41-any resolves to local BTS 1 lac-ci 21 31 OsmoBSC(config-net-bts)# do show bts 0 neighbor arfcn 423 bsic 1 -% neighbor lac-ci 789 10 arfcn 423 bsic 1 +% BTS 0 -> ARFCN-BSIC:423-1 resolves to remote-BSS neighbors: LAC-CI[1]:{789-10} OsmoBSC(config-net-bts)# do show bts 0 neighbor arfcn 423 bsic 23 -% neighbor lac-ci 789 10 arfcn 423 bsic 23 +% BTS 0 -> ARFCN-BSIC:423-23 resolves to remote-BSS neighbors: LAC-CI[1]:{789-10} OsmoBSC(config-net-bts)# no neighbor arfcn 99 bsic 7 -% Cannot remove, no such neighbor: BTS 0 to ARFCN 99 BSIC 7 +% Cannot remove: no such neighbor on BTS 0: ARFCN-BSIC:99-7 OsmoBSC(config-net-bts)# no neighbor arfcn 23 bsic 42 -% Removed remote BSS neighbor BTS 0 to ARFCN 23 BSIC 42 OsmoBSC(config-net-bts)# show running-config ... !neighbor - neighbor bts 1 - neighbor bts 2 + neighbor bts 123 + neighbor cgi 901 70 22 65535 + neighbor lac-ci 21 31 arfcn 41 bsic 11 + neighbor cgi 023 42 423 6 arfcn 42 bsic 1 neighbor lac 456 arfcn 123 bsic 45 neighbor lac-ci 789 10 arfcn 423 bsic any ... !neighbor OsmoBSC(config-net-bts)# no neighbor arfcn 123 bsic 45 -% Removed remote BSS neighbor BTS 0 to ARFCN 123 BSIC 45 OsmoBSC(config-net-bts)# show running-config ... !neighbor - neighbor bts 1 - neighbor bts 2 + neighbor bts 123 + neighbor cgi 901 70 22 65535 + neighbor lac-ci 21 31 arfcn 41 bsic 11 + neighbor cgi 023 42 423 6 arfcn 42 bsic 1 neighbor lac-ci 789 10 arfcn 423 bsic any ... !neighbor OsmoBSC(config-net-bts)# no neighbor arfcn 423 bsic any -% Removed remote BSS neighbor BTS 0 to ARFCN 423 (any BSIC) OsmoBSC(config-net-bts)# show running-config ... !neighbor - neighbor bts 1 - neighbor bts 2 + neighbor bts 123 + neighbor cgi 901 70 22 65535 + neighbor lac-ci 21 31 arfcn 41 bsic 11 + neighbor cgi 023 42 423 6 arfcn 42 bsic 1 ... !neighbor OsmoBSC(config-net-bts)# no neighbor arfcn 423 bsic 63 -% Cannot remove, no such neighbor: BTS 0 to ARFCN 423 BSIC 63 +% Cannot remove: no such neighbor on BTS 0: ARFCN-BSIC:423-63 OsmoBSC(config-net-bts)# show running-config ... !neighbor - neighbor bts 1 - neighbor bts 2 + neighbor bts 123 + neighbor cgi 901 70 22 65535 + neighbor lac-ci 21 31 arfcn 41 bsic 11 + neighbor cgi 023 42 423 6 arfcn 42 bsic 1 ... !neighbor OsmoBSC(config-net-bts)# no neighbor arfcn 423 bsic 1 -% Cannot remove, no such neighbor: BTS 0 to ARFCN 423 BSIC 1 +% Cannot remove: no such neighbor on BTS 0: ARFCN-BSIC:423-1 OsmoBSC(config-net-bts)# show running-config ... !neighbor - neighbor bts 1 - neighbor bts 2 + neighbor bts 123 + neighbor cgi 901 70 22 65535 + neighbor lac-ci 21 31 arfcn 41 bsic 11 + neighbor cgi 023 42 423 6 arfcn 42 bsic 1 ... !neighbor OsmoBSC(config-net-bts)# no neighbor arfcn 41 bsic any -% Removed local neighbor bts 0 to bts 1 OsmoBSC(config-net-bts)# show running-config ... !neighbor - neighbor bts 2 + neighbor bts 123 + neighbor cgi 901 70 22 65535 + neighbor cgi 023 42 423 6 arfcn 42 bsic 1 ... !neighbor OsmoBSC(config-net-bts)# no neighbor arfcn 41 bsic any -% Cannot remove, no such neighbor: BTS 0 to ARFCN 41 (any BSIC) +% Cannot remove: no such neighbor on BTS 0: ARFCN-BSIC:41-any OsmoBSC(config-net-bts)# show running-config ... !neighbor - neighbor bts 2 + neighbor bts 123 + neighbor cgi 901 70 22 65535 + neighbor cgi 023 42 423 6 arfcn 42 bsic 1 ... !neighbor -OsmoBSC(config-net-bts)# no neighbor arfcn 42 bsic 12 -% Removed local neighbor bts 0 to bts 2 +OsmoBSC(config-net-bts)# no neighbor bts 123 +OsmoBSC(config-net-bts)# no neighbor cgi 901 70 22 65535 +OsmoBSC(config-net-bts)# no neighbor arfcn 42 bsic 1 OsmoBSC(config-net-bts)# show running-config ... !neighbor OsmoBSC(config-net-bts)# neighbor bts 1 -% BTS 0 now has local neighbor BTS 1 with LAC 21 CI 31 and ARFCN 41 BSIC 11 OsmoBSC(config-net-bts)# neighbor bts 2 -% BTS 0 now has local neighbor BTS 2 with LAC 22 CI 65535 and ARFCN 42 BSIC 12 OsmoBSC(config-net-bts)# neighbor cgi 023 42 423 5 arfcn 23 bsic 42 -% BTS 0 to ARFCN 23 BSIC 42 now has 1 remote BSS Cell Identifier List entry OsmoBSC(config-net-bts)# neighbor lac 456 arfcn 123 bsic 45 -% BTS 0 to ARFCN 123 BSIC 45 now has 1 remote BSS Cell Identifier List entry OsmoBSC(config-net-bts)# neighbor lac-ci 789 10 arfcn 423 bsic any -% BTS 0 to ARFCN 423 (any BSIC) now has 1 remote BSS Cell Identifier List entry - OsmoBSC(config-net-bts)# neighbor cgi-ps 23 42 423 2 5 arfcn 23 bsic 32 -% BTS 0 to ARFCN 23 BSIC 32 now has 1 remote BSS Cell Identifier List entry OsmoBSC(config-net-bts)# no neighbors -% Removed local neighbor bts 0 to bts 1 -% Removed local neighbor bts 0 to bts 2 -% Removed remote BSS neighbor BTS 0 to ARFCN 23 BSIC 42 -% Removed remote BSS neighbor BTS 0 to ARFCN 123 BSIC 45 -% Removed remote BSS neighbor BTS 0 to ARFCN 423 (any BSIC) -% Removed remote BSS neighbor BTS 0 to ARFCN 23 BSIC 32 +% Removed neighbor: BTS 0 to BTS 1 +% Removed neighbor: BTS 0 to BTS 2 +% Removed neighbor: BTS 0 to CGI:023-42-423-5 ARFCN-BSIC:23-42 +% Removed neighbor: BTS 0 to LAC:456 ARFCN-BSIC:123-45 +% Removed neighbor: BTS 0 to LAC-CI:789-10 ARFCN-BSIC:423-any +% Removed neighbor: BTS 0 to CGI-PS:023-42-423-2-5 ARFCN-BSIC:23-32 OsmoBSC(config-net-bts)# show running-config ... !neighbor -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23360 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I9ed992f8bfff888b3933733c0576f92d50f2625b Gerrit-Change-Number: 23360 Gerrit-PatchSet: 4 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: neels Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 27 16:17:17 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Sat, 27 Mar 2021 16:17:17 +0000 Subject: Change in libosmocore[master]: add BTS_FEAT_VAMOS References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/23515 ) Change subject: add BTS_FEAT_VAMOS ...................................................................... add BTS_FEAT_VAMOS Change-Id: Ic3bd1b8075f76d1f35499faa68fad70698ee9a00 --- M include/osmocom/gsm/bts_features.h M src/gsm/bts_features.c 2 files changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/15/23515/1 diff --git a/include/osmocom/gsm/bts_features.h b/include/osmocom/gsm/bts_features.h index d0dbe48..ac2c760 100644 --- a/include/osmocom/gsm/bts_features.h +++ b/include/osmocom/gsm/bts_features.h @@ -28,6 +28,7 @@ BTS_FEAT_IPV6_NSVC, BTS_FEAT_ACCH_REP, BTS_FEAT_CCN, /* Is CCN supported by the cell? TS 44.060 sec 8.8.2 */ + BTS_FEAT_VAMOS, /* Is the BTS VAMOS capable? */ _NUM_BTS_FEAT }; diff --git a/src/gsm/bts_features.c b/src/gsm/bts_features.c index 1e15616..c3f3667 100644 --- a/src/gsm/bts_features.c +++ b/src/gsm/bts_features.c @@ -43,6 +43,7 @@ { BTS_FEAT_IPV6_NSVC, "NSVC IPv6" }, { BTS_FEAT_ACCH_REP, "FACCH/SACCH Repetition" }, { BTS_FEAT_CCN, "Cell Change Notification (CCN)" }, + { BTS_FEAT_VAMOS, "VAMOS (Voice services over Adaptive Multi-user channels on One Slot)" }, { 0, NULL } }; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23515 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic3bd1b8075f76d1f35499faa68fad70698ee9a00 Gerrit-Change-Number: 23515 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 27 16:18:20 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 27 Mar 2021 16:18:20 +0000 Subject: Change in libosmocore[master]: add BTS_FEAT_VAMOS In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23515 ) Change subject: add BTS_FEAT_VAMOS ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23515 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic3bd1b8075f76d1f35499faa68fad70698ee9a00 Gerrit-Change-Number: 23515 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: fixeria Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Sat, 27 Mar 2021 16:18: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 Mar 27 18:05:36 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 27 Mar 2021 18:05:36 +0000 Subject: Change in osmo-ggsn[master]: ggsn: Reject PDP CTX ACT for static IP addresses References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/23516 ) Change subject: ggsn: Reject PDP CTX ACT for static IP addresses ...................................................................... ggsn: Reject PDP CTX ACT for static IP addresses We don't implement handling of static IP addresses for now, let's properly reject those rather than allocating a dynamic address anyway. Change-Id: Iac8868438655fe4e5e07d167d7dbd6273dbb7678 Related: OS#5097 --- M ggsn/ggsn.c 1 file changed, 7 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/16/23516/1 diff --git a/ggsn/ggsn.c b/ggsn/ggsn.c index 267637d..bde7f4b 100644 --- a/ggsn/ggsn.c +++ b/ggsn/ggsn.c @@ -467,9 +467,13 @@ return 0; } - /* FIXME: we manually force all context requests to dynamic here! */ - if (pdp->eua.l > 2) - pdp->eua.l = 2; + /* FIXME: implement context request for static IP addresses! */ + if (pdp->eua.l > 2) { + LOGPPDP(LOGL_ERROR, pdp, "Static IP addresses not supported: %s\n", + osmo_hexdump(pdp->eua.v, pdp->eua.l)); + gtp_create_context_resp(gsn, pdp, GTPCAUSE_NOT_SUPPORTED); + return 0; + } memcpy(pdp->qos_neg0, pdp->qos_req0, sizeof(pdp->qos_req0)); -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/23516 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Iac8868438655fe4e5e07d167d7dbd6273dbb7678 Gerrit-Change-Number: 23516 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 Mar 27 18:05:36 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 27 Mar 2021 18:05:36 +0000 Subject: Change in osmo-ggsn[master]: vty: Inform user that static IP addresses are not supported References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/23517 ) Change subject: vty: Inform user that static IP addresses are not supported ...................................................................... vty: Inform user that static IP addresses are not supported Currently, osmo-ggsn doesn't implement PDP contexts with static IP addresses. The code for specifying ranges that can be used for static IPs was always present even from OpenGGSN days, but we never really treated them. Let's not raise the impression we do by warning accordingly if the user configures them. Change-Id: I7787dae037c46c0c5052aa6dd000be330984f144 Related: OS#5097 --- M ggsn/ggsn_vty.c 1 file changed, 8 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ggsn refs/changes/17/23517/1 diff --git a/ggsn/ggsn_vty.c b/ggsn/ggsn_vty.c index 71d8ff6..1738e70 100644 --- a/ggsn/ggsn_vty.c +++ b/ggsn/ggsn_vty.c @@ -533,9 +533,11 @@ struct in46_prefix *pfx; /* first update our parsed prefix */ - if (!strcmp(argv[0], "static")) + if (!strcmp(argv[0], "static")) { pfx = &apn->v4.cfg.static_prefix; - else + vty_out(vty, "%% static IP addresses currently not yet supported%s", VTY_NEWLINE); + return CMD_WARNING; + } else pfx = &apn->v4.cfg.dynamic_prefix; str2prefix(pfx, argv[1]); @@ -567,9 +569,11 @@ struct apn_ctx *apn = (struct apn_ctx *) vty->index; struct in46_prefix *pfx; - if (!strcmp(argv[0], "static")) + if (!strcmp(argv[0], "static")) { pfx = &apn->v6.cfg.static_prefix; - else + vty_out(vty, "%% static IP addresses currently not yet supported%s", VTY_NEWLINE); + return CMD_WARNING; + } else pfx = &apn->v6.cfg.dynamic_prefix; str2prefix(pfx, argv[1]); return CMD_SUCCESS; -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/23517 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I7787dae037c46c0c5052aa6dd000be330984f144 Gerrit-Change-Number: 23517 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 Mar 27 18:15:57 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 27 Mar 2021 18:15:57 +0000 Subject: Change in libosmocore[master]: add BTS_FEAT_VAMOS In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23515 ) Change subject: add BTS_FEAT_VAMOS ...................................................................... add BTS_FEAT_VAMOS Change-Id: Ic3bd1b8075f76d1f35499faa68fad70698ee9a00 --- M include/osmocom/gsm/bts_features.h M src/gsm/bts_features.c 2 files changed, 2 insertions(+), 0 deletions(-) Approvals: fixeria: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmocom/gsm/bts_features.h b/include/osmocom/gsm/bts_features.h index d0dbe48..ac2c760 100644 --- a/include/osmocom/gsm/bts_features.h +++ b/include/osmocom/gsm/bts_features.h @@ -28,6 +28,7 @@ BTS_FEAT_IPV6_NSVC, BTS_FEAT_ACCH_REP, BTS_FEAT_CCN, /* Is CCN supported by the cell? TS 44.060 sec 8.8.2 */ + BTS_FEAT_VAMOS, /* Is the BTS VAMOS capable? */ _NUM_BTS_FEAT }; diff --git a/src/gsm/bts_features.c b/src/gsm/bts_features.c index 1e15616..c3f3667 100644 --- a/src/gsm/bts_features.c +++ b/src/gsm/bts_features.c @@ -43,6 +43,7 @@ { BTS_FEAT_IPV6_NSVC, "NSVC IPv6" }, { BTS_FEAT_ACCH_REP, "FACCH/SACCH Repetition" }, { BTS_FEAT_CCN, "Cell Change Notification (CCN)" }, + { BTS_FEAT_VAMOS, "VAMOS (Voice services over Adaptive Multi-user channels on One Slot)" }, { 0, NULL } }; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23515 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ic3bd1b8075f76d1f35499faa68fad70698ee9a00 Gerrit-Change-Number: 23515 Gerrit-PatchSet: 1 Gerrit-Owner: neels 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 Mar 27 18:16:25 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 27 Mar 2021 18:16:25 +0000 Subject: Change in pysim[master]: filesystem: fix typo in method call app()->append() In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/23512 ) Change subject: filesystem: fix typo in method call app()->append() ...................................................................... filesystem: fix typo in method call app()->append() In the method add_application() the method name should be append() instead of add(). Change-Id: Ic8ad62567968e09786eac86f219b56a3d3200511 Related: OS#4963 --- M pySim/filesystem.py 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/pySim/filesystem.py b/pySim/filesystem.py index f6dddb6..0494df7 100644 --- a/pySim/filesystem.py +++ b/pySim/filesystem.py @@ -713,7 +713,7 @@ return self.name def add_application(self, app): - self.applications.add(app) + self.applications.append(app) def interpret_sw(self, sw): """Interpret a given status word within the profile. Returns tuple of -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23512 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ic8ad62567968e09786eac86f219b56a3d3200511 Gerrit-Change-Number: 23512 Gerrit-PatchSet: 1 Gerrit-Owner: dexter 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 Mar 27 18:19:59 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 27 Mar 2021 18:19:59 +0000 Subject: Change in pysim[master]: pySim-shell: add ADF.ISIM / ADF.USIM dynamically In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23473 ) Change subject: pySim-shell: add ADF.ISIM / ADF.USIM dynamically ...................................................................... Patch Set 3: Code-Review+2 (3 comments) merging this as-is to avoid further delays. However, the "error:" that is no error should probably be adressed in a follow-up patch. https://gerrit.osmocom.org/c/pysim/+/23473/3/pySim-shell.py File pySim-shell.py: https://gerrit.osmocom.org/c/pysim/+/23473/3/pySim-shell.py at 255 PS3, Line 255: profile.add_application(ADF_USIM()) this should probably be done automagically, but I can look at this separately in a follow-up patch. https://gerrit.osmocom.org/c/pysim/+/23473/3/pySim/filesystem.py File pySim/filesystem.py: https://gerrit.osmocom.org/c/pysim/+/23473/3/pySim/filesystem.py at 566 PS3, Line 566: not sure if we should directly print here, instaed of going through either cmd2 or logging. But can be modified later as needed. https://gerrit.osmocom.org/c/pysim/+/23473/3/pySim/filesystem.py at 577 PS3, Line 577: I guess we'd rather want to raise some kind of exception here, if this is an error? IMHO it is actually not an error, but simply shows that we're dealing with a non-UICC card (i.e. a classic SIM without EF.DIR)? -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23473 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I42ee23375f98e6322708c1c4db6d65e1425feecd Gerrit-Change-Number: 23473 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Sat, 27 Mar 2021 18:19:59 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 27 18:20:19 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 27 Mar 2021 18:20:19 +0000 Subject: Change in pysim[master]: pySim-shell: add option to execute script on startup In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23474 ) Change subject: pySim-shell: add option to execute script on startup ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23474 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I69f5224087023650340fbfee74668e1850345f54 Gerrit-Change-Number: 23474 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 27 Mar 2021 18: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 Sat Mar 27 18:20:28 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 27 Mar 2021 18:20:28 +0000 Subject: Change in pysim[master]: pySim-shell: add ADF.ISIM / ADF.USIM dynamically In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/23473 ) Change subject: pySim-shell: add ADF.ISIM / ADF.USIM dynamically ...................................................................... pySim-shell: add ADF.ISIM / ADF.USIM dynamically currently ADF.ISIM and ADF.USIM are always added regardless if there is a matching application on the card or not. Lets check what applications are actually installed and add ADF.ISIM and ADF.USIM dynamically. Change-Id: I42ee23375f98e6322708c1c4db6d65e1425feecd Related: OS#4963 --- M pySim-shell.py M pySim/cards.py M pySim/filesystem.py 3 files changed, 29 insertions(+), 5 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/pySim-shell.py b/pySim-shell.py index 946b3e5..e7bb7c0 100755 --- a/pySim-shell.py +++ b/pySim-shell.py @@ -58,8 +58,6 @@ self.card = card self.rs = rs self.py_locals = { 'card': self.card, 'rs' : self.rs } - self.card.read_aids() - self.poutput('AIDs on card: %s' % (self.card._aids)) self.numeric_path = False self.add_settable(cmd2.Settable('numeric_path', bool, 'Print File IDs instead of names', onchange_cb=self._onchange_numeric_path)) @@ -254,13 +252,14 @@ sys.exit(2) profile = CardProfileUICC() + profile.add_application(ADF_USIM()) + profile.add_application(ADF_ISIM()) + rs = RuntimeState(card, profile) # FIXME: do this dynamically rs.mf.add_file(DF_TELECOM()) rs.mf.add_file(DF_GSM()) - rs.mf.add_application(ADF_USIM()) - rs.mf.add_application(ADF_ISIM()) app = PysimApp(card, rs) rs.select('MF', app) diff --git a/pySim/cards.py b/pySim/cards.py index c640591..857d0b6 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -207,6 +207,7 @@ # Fetch all the AIDs present on UICC def read_aids(self): + self._aids = [] try: # Find out how many records the EF.DIR has # and store all the AIDs in the UICC @@ -218,6 +219,8 @@ self._aids.append(rec[0][8:8 + int(rec[0][6:8], 16) * 2]) except Exception as e: print("Can't read AIDs from SIM -- %s" % (str(e),)) + self._aids = [] + return self._aids # Select ADF.U/ISIM in the Card using its full AID def select_adf_by_aid(self, adf="usim"): diff --git a/pySim/filesystem.py b/pySim/filesystem.py index 0494df7..a1bb127 100644 --- a/pySim/filesystem.py +++ b/pySim/filesystem.py @@ -550,11 +550,33 @@ self.selected_file = self.mf self.profile = profile # add applications + MF-files from profile - for a in self.profile.applications: + apps = self._match_applications() + for a in apps: self.mf.add_application(a) for f in self.profile.files_in_mf: self.mf.add_file(f) + def _match_applications(self): + """match the applications from the profile with applications on the card""" + apps_profile = self.profile.applications + aids_card = self.card.read_aids() + apps_taken = [] + if aids_card: + aids_taken = [] + print("AIDs on card:") + for a in aids_card: + for f in apps_profile: + if f.aid in a: + print(" %s: %s" % (f.name, a)) + aids_taken.append(a) + apps_taken.append(f) + aids_unknown = set(aids_card) - set(aids_taken) + for a in aids_unknown: + print(" unknown: %s" % a) + else: + print("error: could not determine card applications") + return apps_taken + def get_cwd(self): """Obtain the current working directory.""" if isinstance(self.selected_file, CardDF): -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23473 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I42ee23375f98e6322708c1c4db6d65e1425feecd Gerrit-Change-Number: 23473 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel 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 Mar 27 18:20:29 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 27 Mar 2021 18:20:29 +0000 Subject: Change in pysim[master]: pySim-shell: add option to execute script on startup In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/23474 ) Change subject: pySim-shell: add option to execute script on startup ...................................................................... pySim-shell: add option to execute script on startup Add a commondline option so that the user can supply pySim-shell with a script file name. This script then runs automatically on startup. (to avoid ending up at the shell prompt a quit command at the end can be used to exit after script execution) Change-Id: I69f5224087023650340fbfee74668e1850345f54 Related: OS#4963 --- M pySim-shell.py 1 file changed, 7 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/pySim-shell.py b/pySim-shell.py index e7bb7c0..09749dc 100755 --- a/pySim-shell.py +++ b/pySim-shell.py @@ -49,10 +49,10 @@ class PysimApp(cmd2.Cmd): CUSTOM_CATEGORY = 'pySim Commands' - def __init__(self, card, rs): + def __init__(self, card, rs, script = None): basic_commands = [Iso7816Commands(), UsimCommands()] super().__init__(persistent_history_file='~/.pysim_shell_history', allow_cli_args=False, - use_ipython=True, auto_load_commands=False, command_sets=basic_commands) + use_ipython=True, auto_load_commands=False, command_sets=basic_commands, startup_script=script) self.intro = style('Welcome to pySim-shell!', fg=fg.red) self.default_category = 'pySim-shell built-in commands' self.card = card @@ -212,6 +212,10 @@ help="Socket path for Calypso (e.g. Motorola C1XX) based reader (via OsmocomBB)", default=None, ) + parser.add_option("--script", dest="script", metavar="PATH", + help="script with shell commands to be executed automatically", + default=None, + ) parser.add_option("-a", "--pin-adm", dest="pin_adm", help="ADM PIN used for provisioning (overwrites default)", @@ -261,6 +265,6 @@ rs.mf.add_file(DF_TELECOM()) rs.mf.add_file(DF_GSM()) - app = PysimApp(card, rs) + app = PysimApp(card, rs, opts.script) rs.select('MF', app) app.cmdloop() -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23474 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I69f5224087023650340fbfee74668e1850345f54 Gerrit-Change-Number: 23474 Gerrit-PatchSet: 3 Gerrit-Owner: dexter 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 Mar 27 18:20:29 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 27 Mar 2021 18:20:29 +0000 Subject: Change in pysim[master]: pySim-shell: output currently selected file using select command In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/23459 ) Change subject: pySim-shell: output currently selected file using select command ...................................................................... pySim-shell: output currently selected file using select command When the select command is entered with no parameters it fails with an exception. Lets just output the currently selected file and exit instead. Change-Id: I541bd5ed14f240cd1c2bd63647c830f669d26130 Related: OS#4963 --- M pySim-shell.py 1 file changed, 6 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified daniel: Looks good to me, approved laforge: Looks good to me, but someone else must approve diff --git a/pySim-shell.py b/pySim-shell.py index 09749dc..8e222f3 100755 --- a/pySim-shell.py +++ b/pySim-shell.py @@ -90,6 +90,12 @@ def do_select(self, opts): """SELECT a File (ADF/DF/EF)""" + if len(opts.arg_list) == 0: + path_list = self._cmd.rs.selected_file.fully_qualified_path(True) + path_list_fid = self._cmd.rs.selected_file.fully_qualified_path(False) + self._cmd.poutput("currently selected file: " + '/'.join(path_list) + " (" + '/'.join(path_list_fid) + ")") + return + path = opts.arg_list[0] fcp_dec = self._cmd.rs.select(path, self._cmd) self._cmd.update_prompt() -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23459 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I541bd5ed14f240cd1c2bd63647c830f669d26130 Gerrit-Change-Number: 23459 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 27 18:22:03 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 27 Mar 2021 18:22:03 +0000 Subject: Change in pysim[master]: pySim-shell: add availability check for elementry files In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23403 ) Change subject: pySim-shell: add availability check for elementry files ...................................................................... Patch Set 8: what is the purpose of the tool? Most files' presence is optional, so unless we really only checked for mandatory files, the fact that some or even many of the specified files don't exist is not an error, but a perfectly normal situation. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23403 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I9248e2fc067f822d9c4ccc4e48d378eea9ce3354 Gerrit-Change-Number: 23403 Gerrit-PatchSet: 8 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-CC: laforge Gerrit-Comment-Date: Sat, 27 Mar 2021 18:22: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 Mar 27 18:22:24 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 27 Mar 2021 18:22:24 +0000 Subject: Change in pysim[master]: pySim-shell: add filesystem exporter In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23210 ) Change subject: pySim-shell: add filesystem exporter ...................................................................... Patch Set 12: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23210 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I82f3ce92cd91a5ed3c4884d62f6b22e9589c8a49 Gerrit-Change-Number: 23210 Gerrit-PatchSet: 12 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-CC: dexter Gerrit-Comment-Date: Sat, 27 Mar 2021 18:22:24 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 27 18:22:28 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 27 Mar 2021 18:22:28 +0000 Subject: Change in pysim[master]: pySim-shell: add filesystem exporter In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/23210 ) Change subject: pySim-shell: add filesystem exporter ...................................................................... pySim-shell: add filesystem exporter add a new command "export" that can either export indidividual files or a whole directory tree. The command will generate a script that contains update_binary and update_record commands along with the file contents. This script can later be used to restore multiple files at once. Change-Id: I82f3ce92cd91a5ed3c4884d62f6b22e9589c8a49 Related: OS#4963 --- M pySim-shell.py 1 file changed, 58 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved daniel: Looks good to me, but someone else must approve diff --git a/pySim-shell.py b/pySim-shell.py index 8e222f3..5f4624c 100755 --- a/pySim-shell.py +++ b/pySim-shell.py @@ -170,6 +170,64 @@ """Display a filesystem-tree with all selectable files""" self.walk() + def export(self, filename, context): + context['COUNT'] += 1 + path_list = self._cmd.rs.selected_file.fully_qualified_path(True) + path_list_fid = self._cmd.rs.selected_file.fully_qualified_path(False) + + self._cmd.poutput("#" * 80) + file_str = '/'.join(path_list) + "/" + str(filename) + " " * 80 + self._cmd.poutput("# " + file_str[0:77] + "#") + self._cmd.poutput("#" * 80) + + self._cmd.poutput("# directory: %s (%s)" % ('/'.join(path_list), '/'.join(path_list_fid))) + try: + fcp_dec = self._cmd.rs.select(filename, self._cmd) + path_list = self._cmd.rs.selected_file.fully_qualified_path(True) + path_list_fid = self._cmd.rs.selected_file.fully_qualified_path(False) + self._cmd.poutput("# file: %s (%s)" % (path_list[-1], path_list_fid[-1])) + + fd = fcp_dec['file_descriptor'] + structure = fd['structure'] + self._cmd.poutput("# structure: %s" % str(structure)) + + for f in path_list: + self._cmd.poutput("select " + str(f)) + + if structure == 'transparent': + result = self._cmd.rs.read_binary() + self._cmd.poutput("update_binary " + str(result[0])) + if structure == 'cyclic' or structure == 'linear_fixed': + num_of_rec = fd['num_of_rec'] + for r in range(1, num_of_rec + 1): + result = self._cmd.rs.read_record(r) + self._cmd.poutput("update_record %d %s" % (r, str(result[0]))) + fcp_dec = self._cmd.rs.select("..", self._cmd) + except Exception as e: + bad_file_str = '/'.join(path_list) + "/" + str(filename) + ", " + str(e) + self._cmd.poutput("# bad file: %s" % bad_file_str) + context['ERR'] += 1 + context['BAD'].append(bad_file_str) + + self._cmd.poutput("#") + + export_parser = argparse.ArgumentParser() + export_parser.add_argument('--filename', type=str, default=None, help='only export specific file') + + @cmd2.with_argparser(export_parser) + def do_export(self, opts): + """Export files to script that can be imported back later""" + context = {'ERR':0, 'COUNT':0, 'BAD':[]} + if opts.filename: + self.export(opts.filename, context) + else: + self.walk(0, self.export, context) + self._cmd.poutput("# total files visited: %u" % context['COUNT']) + self._cmd.poutput("# bad files: %u" % context['ERR']) + for b in context['BAD']: + self._cmd.poutput("# " + b) + if context['ERR']: + raise RuntimeError("unable to export %i file(s)" % context['ERR']) @with_default_category('USIM Commands') -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23210 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I82f3ce92cd91a5ed3c4884d62f6b22e9589c8a49 Gerrit-Change-Number: 23210 Gerrit-PatchSet: 12 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel 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 Sat Mar 27 18:26:52 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 27 Mar 2021 18:26:52 +0000 Subject: Change in osmo-pcu[master]: sba: Document AGCH_START_OFFSET after some experimental tests In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23511 ) Change subject: sba: Document AGCH_START_OFFSET after some experimental tests ...................................................................... Patch Set 2: (2 comments) As discussed on the call yesterday, the proper way is to report the AGCH queue length to the PCU so the PCU can use this as a factor to compute the starting FN. Furthermore, even without the above, this is all (obviously) affected by the fn-advance and rts-advance. So even without any load-based feedback, the fn/rts advance should be taken into account. https://gerrit.osmocom.org/c/osmo-pcu/+/23511/2/src/sba.c File src/sba.c: https://gerrit.osmocom.org/c/osmo-pcu/+/23511/2/src/sba.c at 44 PS2, Line 44: creafted created https://gerrit.osmocom.org/c/osmo-pcu/+/23511/2/src/sba.c at 44 PS2, Line 44: Immaediate Immediate -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23511 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id1460207be25750aeb5c1d7af2fac6591cf5e424 Gerrit-Change-Number: 23511 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Sat, 27 Mar 2021 18:26:52 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 27 18:26:55 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 27 Mar 2021 18:26:55 +0000 Subject: Change in osmo-pcu[master]: sba: Document AGCH_START_OFFSET after some experimental tests In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23511 ) Change subject: sba: Document AGCH_START_OFFSET after some experimental tests ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23511 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id1460207be25750aeb5c1d7af2fac6591cf5e424 Gerrit-Change-Number: 23511 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 27 Mar 2021 18:26:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 27 18:28:25 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 27 Mar 2021 18:28:25 +0000 Subject: Change in pysim[master]: pySim/filesystem: fix mutable default list/dict arguments In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23513 ) Change subject: pySim/filesystem: fix mutable default list/dict arguments ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/pysim/+/23513/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/pysim/+/23513/2//COMMIT_MSG at 11 PS2, Line 11: instanuated instantiated -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23513 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I83d718ff9c3ff6aef47930f38d7f50424f9b880f Gerrit-Change-Number: 23513 Gerrit-PatchSet: 2 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 27 Mar 2021 18:28: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 Mar 27 18:28:33 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 27 Mar 2021 18:28:33 +0000 Subject: Change in pysim[master]: pySim/filesystem: fix mutable default list/dict arguments In-Reply-To: References: Message-ID: laforge has uploaded a new patch set (#3) to the change originally created by fixeria. ( https://gerrit.osmocom.org/c/pysim/+/23513 ) Change subject: pySim/filesystem: fix mutable default list/dict arguments ...................................................................... pySim/filesystem: fix mutable default list/dict arguments Having lists and dictionaries as default argument values is a bad idea, because the same instance of list/dict will be used by all objects instantiated using such constructor: def appendItem(itemName, itemList=[]): itemList.append(itemName) return itemList print(appendItem('notebook')) print(appendItem('pencil')) print(appendItem('eraser')) Output: ['notebook'] ['notebook', 'pencil'] ['notebook', 'pencil', 'eraser'] Change-Id: I83d718ff9c3ff6aef47930f38d7f50424f9b880f --- M pySim/filesystem.py 1 file changed, 8 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/13/23513/3 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23513 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I83d718ff9c3ff6aef47930f38d7f50424f9b880f Gerrit-Change-Number: 23513 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 27 18:28:37 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 27 Mar 2021 18:28:37 +0000 Subject: Change in pysim[master]: pySim/filesystem: fix mutable default list/dict arguments In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23513 ) Change subject: pySim/filesystem: fix mutable default list/dict arguments ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23513 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I83d718ff9c3ff6aef47930f38d7f50424f9b880f Gerrit-Change-Number: 23513 Gerrit-PatchSet: 3 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 27 Mar 2021 18:28: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 Mar 27 18:28:43 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 27 Mar 2021 18:28:43 +0000 Subject: Change in pysim[master]: pySim/filesystem: fix mutable default list/dict arguments In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/23513 ) Change subject: pySim/filesystem: fix mutable default list/dict arguments ...................................................................... pySim/filesystem: fix mutable default list/dict arguments Having lists and dictionaries as default argument values is a bad idea, because the same instance of list/dict will be used by all objects instantiated using such constructor: def appendItem(itemName, itemList=[]): itemList.append(itemName) return itemList print(appendItem('notebook')) print(appendItem('pencil')) print(appendItem('eraser')) Output: ['notebook'] ['notebook', 'pencil'] ['notebook', 'pencil', 'eraser'] Change-Id: I83d718ff9c3ff6aef47930f38d7f50424f9b880f --- M pySim/filesystem.py 1 file changed, 8 insertions(+), 8 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/pySim/filesystem.py b/pySim/filesystem.py index a1bb127..04fa250 100644 --- a/pySim/filesystem.py +++ b/pySim/filesystem.py @@ -706,10 +706,10 @@ class CardApplication(object): """A card application is represented by an ADF (with contained hierarchy) and optionally some SW definitions.""" - def __init__(self, name, adf=None, sw={}): + def __init__(self, name, adf=None, sw=None): self.name = name self.adf = adf - self.sw = sw + self.sw = sw or dict() def __str__(self): return "APP(%s)" % (self.name) @@ -723,13 +723,13 @@ """A Card Profile describes a card, it's filessystem hierarchy, an [initial] list of applications as well as profile-specific SW and shell commands. Every card has one card profile, but there may be multiple applications within that profile.""" - def __init__(self, name, desc=None, files_in_mf=[], sw=[], applications=[], shell_cmdsets=[]): + def __init__(self, name, **kw): self.name = name - self.desc = desc - self.files_in_mf = files_in_mf - self.sw = sw - self.applications = applications - self.shell_cmdsets = shell_cmdsets + self.desc = kw.get("desc", None) + self.files_in_mf = kw.get("files_in_mf", []) + self.sw = kw.get("sw", []) + self.applications = kw.get("applications", []) + self.shell_cmdsets = kw.get("shell_cmdsets", []) def __str__(self): return self.name -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23513 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I83d718ff9c3ff6aef47930f38d7f50424f9b880f Gerrit-Change-Number: 23513 Gerrit-PatchSet: 4 Gerrit-Owner: fixeria Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 27 18:31:35 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 27 Mar 2021 18:31:35 +0000 Subject: Change in pysim[master]: commands, ts_102_221: replace pytlv with uttlv In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23483 ) Change subject: commands, ts_102_221: replace pytlv with uttlv ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/pysim/+/23483/3/pySim/commands.py File pySim/commands.py: https://gerrit.osmocom.org/c/pysim/+/23483/3/pySim/commands.py at 36 PS3, Line 36: from u I think we should move this to the top of the file. pySim will require uttlv installed anyway for various parts of the code, so there's no point in movign the import/from statement into a specific method. That only makes sense if most of the functionality / use cases work without uttlv, and hence the dependency is optional. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23483 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I971b818836aff2fbeb6769f819d496cee4bfa7cf Gerrit-Change-Number: 23483 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 27 Mar 2021 18:31:35 +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 Mar 27 18:37:23 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 27 Mar 2021 18:37:23 +0000 Subject: Change in pysim[master]: commands, ts_102_221: replace pytlv with uttlv In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23483 ) Change subject: commands, ts_102_221: replace pytlv with uttlv ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/pysim/+/23483/3/pySim/commands.py File pySim/commands.py: https://gerrit.osmocom.org/c/pysim/+/23483/3/pySim/commands.py at 36 PS3, Line 36: from u there's at least 5 instances of "... = TLV() tag_size=1, len_size=1" in the code. That's copy+paste and it will only grow more. WE could simply inherit our own class from TLV() and set the right kind of defaults. btw: tag_size=1 is default in uttlv, so we can skip it Finally, even while uttlv might be much nicer: I doubt it really implements the BER-TLV semantics that are required in many parts of smart cards. For example, the length is not a fixed one byte length, but it's a variable-length length field. So sooner or later we will have to (write if we cannot find) and switch to a proper implementation that really implements what we require. WE shoud study tools like cyberflex-shell, mitshell, pycrate, etc. and see if there really isn't anything that implements what's needed. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23483 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I971b818836aff2fbeb6769f819d496cee4bfa7cf Gerrit-Change-Number: 23483 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 27 Mar 2021 18:37:23 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 27 18:37:39 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 27 Mar 2021 18:37:39 +0000 Subject: Change in pysim[master]: pySim-shell: add command to show file description In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/23458 ) Change subject: pySim-shell: add command to show file description ...................................................................... pySim-shell: add command to show file description All all files (CardFile) have a human readable description but there is no command to display that description yet Change-Id: If716cf3c6b09d53dca652b588671487d5343cf58 Related: OS#4963 --- M pySim-shell.py 1 file changed, 8 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, but someone else must approve daniel: Looks good to me, approved Jenkins Builder: Verified diff --git a/pySim-shell.py b/pySim-shell.py index 5f4624c..e596d11 100755 --- a/pySim-shell.py +++ b/pySim-shell.py @@ -81,6 +81,14 @@ pin_adm = sanitize_pin_adm(arg) self.card.verify_adm(h2b(pin_adm)) + @cmd2.with_category(CUSTOM_CATEGORY) + def do_desc(self, opts): + """Display human readable file description for the currently selected file""" + desc = self.rs.selected_file.desc + if desc: + self.poutput(desc) + else: + self.poutput("no description available") @with_default_category('ISO7816 Commands') -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23458 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: If716cf3c6b09d53dca652b588671487d5343cf58 Gerrit-Change-Number: 23458 Gerrit-PatchSet: 6 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sat Mar 27 18:37:53 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 27 Mar 2021 18:37:53 +0000 Subject: Change in osmo-bts[master]: sched_lchan_tchh: fix frame number and fill FACCH gap In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/21329 ) Change subject: sched_lchan_tchh: fix frame number and fill FACCH gap ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/21329 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1ad9fa3815feb2b4da608ab7df716a87ba1f2f91 Gerrit-Change-Number: 21329 Gerrit-PatchSet: 3 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Sat, 27 Mar 2021 18: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 Mar 27 18:37:55 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Sat, 27 Mar 2021 18:37:55 +0000 Subject: Change in osmo-bts[master]: sched_lchan_tchh: fix frame number and fill FACCH gap In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/21329 ) Change subject: sched_lchan_tchh: fix frame number and fill FACCH gap ...................................................................... sched_lchan_tchh: fix frame number and fill FACCH gap The measurement results / TCH indications that are handed when decoding the TCH/H are off by two bursts. Since a measurement result / TCH block is expected every two bursts anyway the problem can only be noticed when a FACCH transmission is going on and the frame numbers of the BFI TCH blocks appear to be missaligned towards the FACCH block. The reason is that the incoming bursts are shifted into a 6 burst wide buffer. The decoding functions always look at the beginning of that buffer while the bursts are shifted into the buffer from the end. A facch will always fit exactly in that buffer but TCH/H blocks are only 4 bursts wide and thereofre they need two additional bursts until they reach the coverage of the decoding function. Lets fix this by putting the correct frame number (from two bursts before) into the remap functions in order to get the correct beginning of the block. Since the FACCH transmission uses six blocks it takes out two TCH blocks. This means that if we count the FACCH block we end up with a gap of one TCH voice block. Lets generate a dummy measurement to compensate the gap. This will also match the behavior of the osmo-bts-sysmo phy. Change-Id: I1ad9fa3815feb2b4da608ab7df716a87ba1f2f91 Related: OS#4799 --- M include/osmo-bts/scheduler.h M src/osmo-bts-trx/sched_lchan_tchh.c 2 files changed, 51 insertions(+), 8 deletions(-) Approvals: laforge: Looks good to me, approved Jenkins Builder: Verified diff --git a/include/osmo-bts/scheduler.h b/include/osmo-bts/scheduler.h index 6f05756..b1e4294 100644 --- a/include/osmo-bts/scheduler.h +++ b/include/osmo-bts/scheduler.h @@ -115,6 +115,8 @@ /* TCH/H */ uint8_t dl_ongoing_facch; /* FACCH/H on downlink */ uint8_t ul_ongoing_facch; /* FACCH/H on uplink */ + struct l1sched_meas_set meas_avg_facch; /* measurement results for last FACCH */ + uint16_t ber10k_facch; /* bit error rate for last FACCH */ /* encryption */ int ul_encr_algo; /* A5/x encry algo downlink */ diff --git a/src/osmo-bts-trx/sched_lchan_tchh.c b/src/osmo-bts-trx/sched_lchan_tchh.c index c7dac70..378d47a 100644 --- a/src/osmo-bts-trx/sched_lchan_tchh.c +++ b/src/osmo-bts-trx/sched_lchan_tchh.c @@ -68,9 +68,11 @@ enum sched_meas_avg_mode meas_avg_mode = SCHED_MEAS_AVG_M_QUAD; struct l1sched_meas_set meas_avg; unsigned int fn_begin; + unsigned int fn_tch_end; uint16_t ber10k; uint8_t is_sub = 0; uint8_t ft; + bool mask_stolen_tch_block = false; /* If handover RACH detection is turned on, treat this burst as an Access Burst. * Handle NOPE.ind as usually to ensure proper Uplink measurement reporting. */ @@ -128,6 +130,10 @@ * was decoded (see below), now send the second one. */ ber10k = 0; memset(&meas_avg, 0, sizeof(meas_avg)); + /* In order to provide an even stream of measurement reports + * we ask the code below to mask the missing TCH/H block + * measurement report with the FACCH measurement results. */ + mask_stolen_tch_block = true; goto bfi; } @@ -267,6 +273,18 @@ meas_avg.rssi, meas_avg.toa256, meas_avg.ci_cb, ber10k, PRES_INFO_UNKNOWN); + + /* Keep a copy of the measurement results of the last FACCH + * transmission in order to be able to create a replacement + * measurement result for the one missing TCH block + * measurement */ + memcpy(&chan_state->meas_avg_facch, &meas_avg, sizeof(meas_avg)); + chan_state->ber10k_facch = ber10k; + + /* Invalidate the current measurement result to prevent the + * code below from handing up the current measurement a second + * time. */ + memset(&meas_avg, 0, sizeof(meas_avg)); bfi: /* A FACCH/H frame replaces two speech frames, so we need to send two BFIs. * One is sent here, another will be sent two bursts later (see above). */ @@ -317,15 +335,38 @@ compose_l1sap: /* TCH or BFI */ - /* Note on FN 19 or 20: If we received the last burst of a frame, - * it actually starts at FN 8 or 9. A burst starting there, overlaps - * with the slot 12, so an extra FN must be subtracted to get correct - * start of frame. - */ - if (lchan->nr == 0) - fn_begin = gsm0502_fn_remap(bi->fn, FN_REMAP_TCH_H0); + + /* The input to gsm0502_fn_remap() needs to get the frame number we + * got two bursts ago. The reason for this is that the burst shift + * buffer we use for decoding is 6 bursts wide (one SACCH block) but + * TCH/H blocks are only 4 bursts wide. The decoder functions look + * at the beginning of the buffer while we shift into it at the end, + * this means that TCH/H blocks always decode delayed by two frame + * number positions late. To calculatue the ending frame number of + * the TCH/H we need to subtract 4 or 5 frames if there was a SACCH + * in between. (Note: this is TCH/H, 4 frames ==> 2 bursts) */ + if (bi->fn % 13 < 4) + fn_tch_end = GSM_TDMA_FN_SUB(bi->fn, 5); else - fn_begin = gsm0502_fn_remap(bi->fn, FN_REMAP_TCH_H1); + fn_tch_end = GSM_TDMA_FN_SUB(bi->fn, 4); + + if (lchan->nr == 0) + fn_begin = gsm0502_fn_remap(fn_tch_end, FN_REMAP_TCH_H0); + else + fn_begin = gsm0502_fn_remap(fn_tch_end, FN_REMAP_TCH_H1); + + /* A FACCH/H transmission takes out two TCH/H voice blocks and the + * related measurement results. The first measurement result is handed + * up directly with the FACCH (see above), the second one needs to be + * compensated by filling the gap with the measurement result we got + * from the FACCH transmission. */ + if (mask_stolen_tch_block) { + memcpy(&meas_avg, &chan_state->meas_avg_facch, sizeof(meas_avg)); + ber10k = chan_state->ber10k_facch; + memset(&chan_state->meas_avg_facch, 0, sizeof(meas_avg)); + chan_state->ber10k_facch = 0; + } + return _sched_compose_tch_ind(l1t, bi->tn, fn_begin, chan, tch_data, rc, /* FIXME: what should we use for BFI here? */ bfi_flag ? bi->toa256 : meas_avg.toa256, ber10k, -- To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/21329 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bts Gerrit-Branch: master Gerrit-Change-Id: I1ad9fa3815feb2b4da608ab7df716a87ba1f2f91 Gerrit-Change-Number: 21329 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Sat Mar 27 23:02:50 2021 From: admin at opensuse.org (OBS Notification) Date: Sat, 27 Mar 2021 23:02:50 +0000 Subject: Build failure of network:osmocom:nightly/orcania in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <605fb9a4c6c87_a602af4fbf7c5f429176d0@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/orcania/openSUSE_Factory_ARM/armv7l Package network:osmocom:nightly/orcania failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:nightly orcania Last lines of build log: getbinaries: missing packages: libsepol1 libsemanage1 (worker was obs-arm-6:1) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sat Mar 27 23:38:06 2021 From: admin at opensuse.org (OBS Notification) Date: Sat, 27 Mar 2021 23:38:06 +0000 Subject: Build failure of network:osmocom:nightly/sofia-sip in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <605fc1df9e88d_a602af4fbf7c5f4291797b@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/sofia-sip/openSUSE_Factory_ARM/armv7l Package network:osmocom:nightly/sofia-sip failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:nightly sofia-sip Last lines of build log: getbinaries: missing packages: libsepol1 libsemanage1 (worker was armbuild21:5) -- 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 Mar 27 23:58:59 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 27 Mar 2021 23:58:59 +0000 Subject: Change in osmo-ggsn[master]: ggsn: Reject PDP CTX ACT for static IP addresses In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/23516 ) Change subject: ggsn: Reject PDP CTX ACT for static IP addresses ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/23516 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Iac8868438655fe4e5e07d167d7dbd6273dbb7678 Gerrit-Change-Number: 23516 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sat, 27 Mar 2021 23:58: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 Mar 27 23:59:37 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sat, 27 Mar 2021 23:59:37 +0000 Subject: Change in osmo-ggsn[master]: vty: Inform user that static IP addresses are not supported In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/23517 ) Change subject: vty: Inform user that static IP addresses are not supported ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/23517 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I7787dae037c46c0c5052aa6dd000be330984f144 Gerrit-Change-Number: 23517 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Sat, 27 Mar 2021 23:59:37 +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 Mar 28 01:38:54 2021 From: admin at opensuse.org (OBS Notification) Date: Sun, 28 Mar 2021 01:38:54 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-netif in Debian_8.0/i586 In-Reply-To: References: Message-ID: <605fde35712e5_a602af4fbf7c5f42928850@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-netif/Debian_8.0/i586 Package network:osmocom:nightly/libosmo-netif failed to build in Debian_8.0/i586 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-netif Last lines of build log: [ 107s] | #define HAVE_UNISTD_H 1 [ 107s] | #define HAVE_DLFCN_H 1 [ 107s] | #define LT_OBJDIR ".libs/" [ 107s] | #define STDC_HEADERS 1 [ 107s] | #define HAVE_EXECINFO_H 1 [ 107s] | #define HAVE_SYS_SELECT_H 1 [ 107s] | #define HAVE_SYS_SOCKET_H 1 [ 107s] | #define HAVE_SYSLOG_H 1 [ 107s] | #define HAVE_CTYPE_H 1 [ 107s] | #define HAVE_NETINET_SCTP_H 1 [ 107s] | #define HAVE_LIBOSMOCORE 1 [ 107s] | #define HAVE_LIBSCTP 1 [ 107s] | #define HAVE_PCAP_H 1 [ 107s] | [ 107s] | configure: exit 0 [ 107s] [ 107s] debian/rules:27: recipe for target 'override_dh_auto_test' failed [ 107s] make[1]: *** [override_dh_auto_test] Error 1 [ 107s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 107s] debian/rules:13: recipe for target 'build' failed [ 107s] make: *** [build] Error 2 [ 107s] dpkg-buildpackage: error: debian/rules build gave error exit status 2 [ 107s] ### VM INTERACTION START ### [ 108s] Powering off. [ 108s] [ 97.677299] reboot: Power down [ 108s] ### VM INTERACTION END ### [ 108s] [ 108s] cloud117 failed "build libosmo-netif_1.1.0.dsc" at Sun Mar 28 01:38:39 UTC 2021. [ 108s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Mar 28 01:46:38 2021 From: admin at opensuse.org (OBS Notification) Date: Sun, 28 Mar 2021 01:46:38 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in openSUSE_Tumbleweed/x86_64 In-Reply-To: References: Message-ID: <605fe01533f89_a602af4fbf7c5f42930223@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/openSUSE_Tumbleweed/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in openSUSE_Tumbleweed/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: getoldpackages: connect to back-other-opensuse:5253: Connection timed out (worker was lamb59:5) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Mar 28 01:46:55 2021 From: admin at opensuse.org (OBS Notification) Date: Sun, 28 Mar 2021 01:46:55 +0000 Subject: Build failure of network:osmocom:nightly/libsmpp34 in openSUSE_Leap_15.1_ARM/aarch64 In-Reply-To: References: Message-ID: <605fe0164e43c_a602af4fbf7c5f42930362@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libsmpp34/openSUSE_Leap_15.1_ARM/aarch64 Package network:osmocom:nightly/libsmpp34 failed to build in openSUSE_Leap_15.1_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly libsmpp34 Last lines of build log: getoldpackages: connect to back-other-opensuse:5253: Connection timed out (worker was obs-arm-9:2) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Mar 28 01:50:04 2021 From: admin at opensuse.org (OBS Notification) Date: Sun, 28 Mar 2021 01:50:04 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <605fe0e9416f4_a602af4fbf7c5f429311ce@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_20.04/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_20.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 163s] [COMPILING apps/dfu/main.c] [ 164s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 164s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 164s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 164s] Memory region Used Size Region Size %age Used [ 164s] rom: 16600 B 16 KB 101.32% [ 164s] ram: 11688 B 48 KB 23.78/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 164s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 164s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 164s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 164s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 164s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 164s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 216 bytes [ 164s] collect2: error: ld returned 1 exit status [ 164s] % [ 164s] make[2]: *** [Makefile:230: flash] Error 1 [ 164s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 164s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 164s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 164s] dh_auto_build: error: make -j1 returned exit code 2 [ 164s] make: *** [debian/rules:16: build] Error 25 [ 164s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 164s] ### VM INTERACTION START ### [ 167s] [ 155.925437] sysrq: Power Off [ 167s] [ 155.932408] reboot: Power down [ 167s] ### VM INTERACTION END ### [ 167s] [ 167s] lamb25 failed "build simtrace2_0.7.0.76.62ad.dsc" at Sun Mar 28 01:49:48 UTC 2021. [ 167s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Mar 28 02:25:11 2021 From: admin at opensuse.org (OBS Notification) Date: Sun, 28 Mar 2021 02:25:11 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.10/x86_64 In-Reply-To: References: Message-ID: <605fe91b8e206_a602af4fbf7c5f429389c3@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_20.10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_20.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 155s] [COMPILING libboard/qmod/source/board_qmod.c] [ 155s] [COMPILING libboard/qmod/source/card_pres.c] [ 155s] [COMPILING libboard/qmod/source/i2c.c] [ 155s] [COMPILING libboard/qmod/source/wwan_led.c] [ 155s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 155s] [COMPILING apps/dfu/main.c] [ 155s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 155s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 156s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 156s] Memory region Used Size Region Size %age Used [ 156s] rom: 16592 B 16 KB 101.27% [ 156s] ram: 11680 B 48 KB 23.76/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 156s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 208 bytes [ 156s] collect2: error: ld returned 1 exit status [ 156s] % [ 156s] make[2]: *** [Makefile:230: flash] Error 1 [ 156s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 156s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 156s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 156s] dh_auto_build: error: make -j1 returned exit code 2 [ 156s] make: *** [debian/rules:16: build] Error 25 [ 156s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 156s] ### VM INTERACTION START ### [ 159s] [ 146.782017] sysrq: Power Off [ 159s] [ 146.790290] reboot: Power down [ 159s] ### VM INTERACTION END ### [ 159s] [ 159s] lamb08 failed "build simtrace2_0.7.0.76.62ad.dsc" at Sun Mar 28 02:24:54 UTC 2021. [ 159s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Mar 28 02:32:20 2021 From: admin at opensuse.org (OBS Notification) Date: Sun, 28 Mar 2021 02:32:20 +0000 Subject: Build failure of network:osmocom:nightly/osmo-sip-connector in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <605feac27c2be_a602af4fbf7c5f429405aa@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/osmo-sip-connector/openSUSE_Factory_ARM/armv7l Package network:osmocom:nightly/osmo-sip-connector failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:nightly osmo-sip-connector Last lines of build log: getoldpackages: connect to back-other-opensuse:5253: Connection timed out (worker was armbuild13:2) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Mar 28 02:33:11 2021 From: admin at opensuse.org (OBS Notification) Date: Sun, 28 Mar 2021 02:33:11 +0000 Subject: Build failure of network:osmocom:nightly/libosmo-netif in openSUSE_Leap_15.1_ARM/aarch64 In-Reply-To: References: Message-ID: <605feafc61dc6_a602af4fbf7c5f429415c5@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/libosmo-netif/openSUSE_Leap_15.1_ARM/aarch64 Package network:osmocom:nightly/libosmo-netif failed to build in openSUSE_Leap_15.1_ARM/aarch64 Check out the package for editing: osc checkout network:osmocom:nightly libosmo-netif Last lines of build log: getoldpackages: connect to back-other-opensuse:5253: Connection timed out (worker was obs-arm-8:24) -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Sun Mar 28 02:49:14 2021 From: admin at opensuse.org (OBS Notification) Date: Sun, 28 Mar 2021 02:49:14 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in openSUSE_Factory_ARM/armv7l In-Reply-To: References: Message-ID: <605feebc7230b_a602af4fbf7c5f42944880@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/openSUSE_Factory_ARM/armv7l Package network:osmocom:nightly/simtrace2 failed to build in openSUSE_Factory_ARM/armv7l Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: getoldpackages: connect to back-other-opensuse:5253: Connection timed out (worker was obs-arm-5:13) -- 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 Mar 28 13:35:55 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 28 Mar 2021 13:35:55 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vty: print a response to vty `nsvc (block|unblock|re... In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23455 ) Change subject: gprs_ns2_vty: print a response to vty `nsvc (block|unblock|reset) ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23455 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Idbb83ea319bbdc94177febdd66e79c49fce7fdd2 Gerrit-Change-Number: 23455 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Sun, 28 Mar 2021 13:35: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 Sun Mar 28 13:37:55 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 28 Mar 2021 13:37:55 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vty: print a response to vty `nsvc (block|unblock|re... In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23455 ) Change subject: gprs_ns2_vty: print a response to vty `nsvc (block|unblock|reset) ...................................................................... Patch Set 2: (3 comments) Some cosmetic notes... https://gerrit.osmocom.org/c/libosmocore/+/23455/2/src/gb/gprs_ns2_vty.c File src/gb/gprs_ns2_vty.c: https://gerrit.osmocom.org/c/libosmocore/+/23455/2/src/gb/gprs_ns2_vty.c at 2061 PS2, Line 2061: %d I find this inconsistent with the existing code: above %05u is used. https://gerrit.osmocom.org/c/libosmocore/+/23455/2/src/gb/gprs_ns2_vty.c at 2067 PS2, Line 2067: vty_out(vty, "An unknown error %d happend%s", rc, VTY_NEWLINE); Consistency: missing dot, other statements have it. https://gerrit.osmocom.org/c/libosmocore/+/23455/2/src/gb/gprs_ns2_vty.c at 2080 PS2, Line 2080: vty_out(vty, "An unknown error %d happend%s", rc, VTY_NEWLINE); Consistency: missing dot, other statements have it. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23455 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Idbb83ea319bbdc94177febdd66e79c49fce7fdd2 Gerrit-Change-Number: 23455 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Sun, 28 Mar 2021 13:37:55 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Sun Mar 28 17:26:46 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Sun, 28 Mar 2021 17:26:46 +0000 Subject: Change in docker-playground[master]: Check in GCC 4.8.2 based cross compiler for ARM EABI target References: Message-ID: fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/23518 ) Change subject: Check in GCC 4.8.2 based cross compiler for ARM EABI target ...................................................................... Check in GCC 4.8.2 based cross compiler for ARM EABI target I used this one for building old OsmocomBB branches, which do not compile with modern arm-none-eabi-{gcc,binutils,newlib} toolchain. Change-Id: Ide93843836f059a3750e92a973d0a6d9cf9a5638 --- A arm-none-eabi-gcc-4.8.2/Dockerfile A arm-none-eabi-gcc-4.8.2/Makefile A arm-none-eabi-gcc-4.8.2/patches/gcc-fix-inline.patch A arm-none-eabi-gcc-4.8.2/patches/gcc-fix-texi.patch A arm-none-eabi-gcc-4.8.2/patches/gcc-multilib-config.patch 5 files changed, 132 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/18/23518/1 diff --git a/arm-none-eabi-gcc-4.8.2/Dockerfile b/arm-none-eabi-gcc-4.8.2/Dockerfile new file mode 100644 index 0000000..8794a95 --- /dev/null +++ b/arm-none-eabi-gcc-4.8.2/Dockerfile @@ -0,0 +1,79 @@ +FROM debian:stretch + +MAINTAINER Vadim Yanitskiy + +ENV BINUTILS_SRC=http://ftp.gnu.org/gnu/binutils/binutils-2.21.1a.tar.bz2 +ENV NEWLIB_SRC=https://sourceware.org/pub/newlib/newlib-1.19.0.tar.gz +ENV GCC_SRC=http://ftp.gnu.org/gnu/gcc/gcc-4.8.2/gcc-4.8.2.tar.bz2 +ENV PREFIX=/usr/local + +# Install build tools and dependencies +RUN apt update && apt install -y \ + build-essential \ + libmpfr-dev \ + libmpc-dev \ + libgmp3-dev \ + zlib1g-dev \ + zlibc \ + texinfo \ + bison \ + flex \ + curl \ + patch \ + file + +# Stage 0: Download and patch the source code +RUN curl -SL ${BINUTILS_SRC} | tar -xj -C /usr/src && \ + curl -SL ${NEWLIB_SRC} | tar -xz -C /usr/src && \ + curl -SL ${GCC_SRC} | tar -xj -C /usr/src + +COPY patches/ /usr/src/patches +RUN for patch in /usr/src/patches/gcc-*.patch; do \ + patch -d /usr/src/gcc-* -p1 < $patch; \ + done + +# Stage 1: Build and install binutils +RUN mkdir -p /home/build/binutils && cd /home/build/binutils \ + && /usr/src/binutils-*/configure \ + CFLAGS="-w" \ + --prefix=${PREFIX} \ + --disable-werror \ + --target=arm-none-eabi \ + --enable-interwork \ + --enable-threads=posix \ + --enable-multilib \ + --with-float=soft \ + && make all install + +# Stage 2: Build and install GCC (compiler only) +RUN mkdir -p /home/build/gcc && cd /home/build/gcc \ + && HDR_PATH=$(realpath /usr/src/newlib-*/newlib/libc/include) \ + && /usr/src/gcc-*/configure \ + CFLAGS="-w" \ + --prefix=${PREFIX} \ + --disable-shared \ + --disable-werror \ + --target=arm-none-eabi \ + --enable-interwork \ + --enable-multilib \ + --with-float=soft \ + --enable-languages="c,c++" \ + --with-newlib \ + --with-headers=$HDR_PATH \ + --with-system-zlib \ + && make all-gcc install-gcc + +# Stage 3: Build and install newlib +RUN mkdir -p /home/build/newlib && cd /home/build/newlib \ + && /usr/src/newlib-*/configure \ + CFLAGS="-w" \ + --prefix=${PREFIX} \ + --disable-werror \ + --target=arm-none-eabi \ + --enable-interwork \ + --enable-multilib \ + --with-float=soft \ + && make all install + +# Stage 4: Build and install the rest of GCC +RUN cd /home/build/gcc && make all install diff --git a/arm-none-eabi-gcc-4.8.2/Makefile b/arm-none-eabi-gcc-4.8.2/Makefile new file mode 100644 index 0000000..0895788 --- /dev/null +++ b/arm-none-eabi-gcc-4.8.2/Makefile @@ -0,0 +1,2 @@ + +include ../make/Makefile diff --git a/arm-none-eabi-gcc-4.8.2/patches/gcc-fix-inline.patch b/arm-none-eabi-gcc-4.8.2/patches/gcc-fix-inline.patch new file mode 100644 index 0000000..5c4307f --- /dev/null +++ b/arm-none-eabi-gcc-4.8.2/patches/gcc-fix-inline.patch @@ -0,0 +1,14 @@ +diff --git a/gcc/cp/cfns.h b/gcc/cp/cfns.h +index 42dd3cf..ba48bbd 100644 +--- a/gcc/cp/cfns.h ++++ b/gcc/cp/cfns.h +@@ -124,9 +124,6 @@ hash (register const char *str, register unsigned int len) + + #ifdef __GNUC__ + __inline +-#ifdef __GNUC_STDC_INLINE__ +-__attribute__ ((__gnu_inline__)) +-#endif + #endif + const char * + libc_name_p (register const char *str, register unsigned int len) diff --git a/arm-none-eabi-gcc-4.8.2/patches/gcc-fix-texi.patch b/arm-none-eabi-gcc-4.8.2/patches/gcc-fix-texi.patch new file mode 100644 index 0000000..c500d08 --- /dev/null +++ b/arm-none-eabi-gcc-4.8.2/patches/gcc-fix-texi.patch @@ -0,0 +1,22 @@ +diff --git a/gcc/doc/gcc.texi b/gcc/doc/gcc.texi +index 02b81cf..5166abf 100644 +--- a/gcc/doc/gcc.texi ++++ b/gcc/doc/gcc.texi +@@ -85,9 +85,15 @@ Published by: + @item GNU Press + @tab Website: www.gnupress.org + @item a division of the +- at tab General: @tex press@@gnu.org @end tex ++ at tab General: ++ at tex ++press@@gnu.org ++ at end tex + @item Free Software Foundation +- at tab Orders: @tex sales@@gnu.org @end tex ++ at tab Orders: ++ at tex ++sales@@gnu.org ++ at end tex + @item 51 Franklin Street, Fifth Floor + @tab Tel 617-542-5942 + @item Boston, MA 02110-1301 USA diff --git a/arm-none-eabi-gcc-4.8.2/patches/gcc-multilib-config.patch b/arm-none-eabi-gcc-4.8.2/patches/gcc-multilib-config.patch new file mode 100644 index 0000000..9e27979 --- /dev/null +++ b/arm-none-eabi-gcc-4.8.2/patches/gcc-multilib-config.patch @@ -0,0 +1,15 @@ +diff --git a/gcc/config/arm/t-arm-elf b/gcc/config/arm/t-arm-elf +index 60747d3..3427939 100644 +--- a/gcc/config/arm/t-arm-elf ++++ b/gcc/config/arm/t-arm-elf +@@ -56,8 +56,8 @@ MULTILIB_EXCEPTIONS += *mthumb/*mfloat-abi=hard* + # MULTILIB_DIRNAMES += fpu soft + # MULTILIB_EXCEPTIONS += *mthumb/*mfloat-abi=hard* + # +-# MULTILIB_OPTIONS += mno-thumb-interwork/mthumb-interwork +-# MULTILIB_DIRNAMES += normal interwork ++MULTILIB_OPTIONS += mno-thumb-interwork/mthumb-interwork ++MULTILIB_DIRNAMES += normal interwork + # + # MULTILIB_OPTIONS += fno-leading-underscore/fleading-underscore + # MULTILIB_DIRNAMES += elf under -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23518 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ide93843836f059a3750e92a973d0a6d9cf9a5638 Gerrit-Change-Number: 23518 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Mon Mar 29 01:37:47 2021 From: admin at opensuse.org (OBS Notification) Date: Mon, 29 Mar 2021 01:37:47 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.10/x86_64 In-Reply-To: References: Message-ID: <60612f7359fdd_a602af4fbf7c5f4320575e@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_20.10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_20.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 98s] [COMPILING libboard/qmod/source/board_qmod.c] [ 98s] [COMPILING libboard/qmod/source/card_pres.c] [ 98s] [COMPILING libboard/qmod/source/i2c.c] [ 98s] [COMPILING libboard/qmod/source/wwan_led.c] [ 98s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 98s] [COMPILING apps/dfu/main.c] [ 98s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 98s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 98s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 99s] Memory region Used Size Region Size %age Used [ 99s] rom: 16592 B 16 KB 101.27% [ 99s] ram: 11680 B 48 KB 23.76/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 99s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 208 bytes [ 99s] collect2: error: ld returned 1 exit status [ 99s] % [ 99s] make[2]: *** [Makefile:230: flash] Error 1 [ 99s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 99s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 99s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 99s] dh_auto_build: error: make -j1 returned exit code 2 [ 99s] make: *** [debian/rules:16: build] Error 25 [ 99s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 99s] ### VM INTERACTION START ### [ 102s] [ 94.384388] sysrq: Power Off [ 102s] [ 94.385990] reboot: Power down [ 102s] ### VM INTERACTION END ### [ 102s] [ 102s] build81 failed "build simtrace2_0.7.0.76.62ad.dsc" at Mon Mar 29 01:37:41 UTC 2021. [ 102s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Mon Mar 29 01:38:04 2021 From: admin at opensuse.org (OBS Notification) Date: Mon, 29 Mar 2021 01:38:04 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <60612f8d1f557_a602af4fbf7c5f43205831@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_20.04/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_20.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 157s] [COMPILING apps/dfu/main.c] [ 157s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 157s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 157s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 157s] Memory region Used Size Region Size %age Used [ 157s] rom: 16600 B 16 KB 101.32% [ 157s] ram: 11688 B 48 KB 23.78/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 157s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 157s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 157s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 157s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 157s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 157s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 216 bytes [ 157s] collect2: error: ld returned 1 exit status [ 157s] % [ 157s] make[2]: *** [Makefile:230: flash] Error 1 [ 157s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 157s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 157s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 157s] dh_auto_build: error: make -j1 returned exit code 2 [ 157s] make: *** [debian/rules:16: build] Error 25 [ 157s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 157s] ### VM INTERACTION START ### [ 160s] [ 148.654574] sysrq: Power Off [ 160s] [ 148.661302] reboot: Power down [ 161s] ### VM INTERACTION END ### [ 161s] [ 161s] lamb03 failed "build simtrace2_0.7.0.76.62ad.dsc" at Mon Mar 29 01:38:02 UTC 2021. [ 161s] -- 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 Mar 29 08:21:04 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 29 Mar 2021 08:21:04 +0000 Subject: Change in docker-playground[master]: Check in GCC 4.8.2 based cross compiler for ARM EABI target In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23518 ) Change subject: Check in GCC 4.8.2 based cross compiler for ARM EABI target ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23518 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ide93843836f059a3750e92a973d0a6d9cf9a5638 Gerrit-Change-Number: 23518 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 29 Mar 2021 08:21: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 Mar 29 08:21:23 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 29 Mar 2021 08:21:23 +0000 Subject: Change in osmo-ggsn[master]: ggsn: Reject PDP CTX ACT for static IP addresses In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/23516 ) Change subject: ggsn: Reject PDP CTX ACT for static IP addresses ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/23516 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Iac8868438655fe4e5e07d167d7dbd6273dbb7678 Gerrit-Change-Number: 23516 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 29 Mar 2021 08:21: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 Mar 29 08:21:26 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 29 Mar 2021 08:21:26 +0000 Subject: Change in osmo-ggsn[master]: ggsn: Reject PDP CTX ACT for static IP addresses In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/23516 ) Change subject: ggsn: Reject PDP CTX ACT for static IP addresses ...................................................................... ggsn: Reject PDP CTX ACT for static IP addresses We don't implement handling of static IP addresses for now, let's properly reject those rather than allocating a dynamic address anyway. Change-Id: Iac8868438655fe4e5e07d167d7dbd6273dbb7678 Related: OS#5097 --- M ggsn/ggsn.c 1 file changed, 7 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/ggsn/ggsn.c b/ggsn/ggsn.c index 267637d..bde7f4b 100644 --- a/ggsn/ggsn.c +++ b/ggsn/ggsn.c @@ -467,9 +467,13 @@ return 0; } - /* FIXME: we manually force all context requests to dynamic here! */ - if (pdp->eua.l > 2) - pdp->eua.l = 2; + /* FIXME: implement context request for static IP addresses! */ + if (pdp->eua.l > 2) { + LOGPPDP(LOGL_ERROR, pdp, "Static IP addresses not supported: %s\n", + osmo_hexdump(pdp->eua.v, pdp->eua.l)); + gtp_create_context_resp(gsn, pdp, GTPCAUSE_NOT_SUPPORTED); + return 0; + } memcpy(pdp->qos_neg0, pdp->qos_req0, sizeof(pdp->qos_req0)); -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/23516 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: Iac8868438655fe4e5e07d167d7dbd6273dbb7678 Gerrit-Change-Number: 23516 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 29 08:21:27 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 29 Mar 2021 08:21:27 +0000 Subject: Change in osmo-ggsn[master]: vty: Inform user that static IP addresses are not supported In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ggsn/+/23517 ) Change subject: vty: Inform user that static IP addresses are not supported ...................................................................... vty: Inform user that static IP addresses are not supported Currently, osmo-ggsn doesn't implement PDP contexts with static IP addresses. The code for specifying ranges that can be used for static IPs was always present even from OpenGGSN days, but we never really treated them. Let's not raise the impression we do by warning accordingly if the user configures them. Change-Id: I7787dae037c46c0c5052aa6dd000be330984f144 Related: OS#5097 --- M ggsn/ggsn_vty.c 1 file changed, 8 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, approved diff --git a/ggsn/ggsn_vty.c b/ggsn/ggsn_vty.c index 71d8ff6..1738e70 100644 --- a/ggsn/ggsn_vty.c +++ b/ggsn/ggsn_vty.c @@ -533,9 +533,11 @@ struct in46_prefix *pfx; /* first update our parsed prefix */ - if (!strcmp(argv[0], "static")) + if (!strcmp(argv[0], "static")) { pfx = &apn->v4.cfg.static_prefix; - else + vty_out(vty, "%% static IP addresses currently not yet supported%s", VTY_NEWLINE); + return CMD_WARNING; + } else pfx = &apn->v4.cfg.dynamic_prefix; str2prefix(pfx, argv[1]); @@ -567,9 +569,11 @@ struct apn_ctx *apn = (struct apn_ctx *) vty->index; struct in46_prefix *pfx; - if (!strcmp(argv[0], "static")) + if (!strcmp(argv[0], "static")) { pfx = &apn->v6.cfg.static_prefix; - else + vty_out(vty, "%% static IP addresses currently not yet supported%s", VTY_NEWLINE); + return CMD_WARNING; + } else pfx = &apn->v6.cfg.dynamic_prefix; str2prefix(pfx, argv[1]); return CMD_SUCCESS; -- To view, visit https://gerrit.osmocom.org/c/osmo-ggsn/+/23517 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ggsn Gerrit-Branch: master Gerrit-Change-Id: I7787dae037c46c0c5052aa6dd000be330984f144 Gerrit-Change-Number: 23517 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 29 08:23:59 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 29 Mar 2021 08:23:59 +0000 Subject: Change in libosmocore[master]: stats_test: restore stat_item_get_next asserts In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23509 ) Change subject: stats_test: restore stat_item_get_next asserts ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/23509/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/libosmocore/+/23509/1//COMMIT_MSG at 10 PS1, Line 10: stat item values"). Now that osmo_stat_item_get_next correctly returns, incorrect comma -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23509 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I9d4cda2487a62f52361c24058363dfa90e502c63 Gerrit-Change-Number: 23509 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 29 Mar 2021 08:23:59 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 29 08:32:58 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 29 Mar 2021 08:32:58 +0000 Subject: Change in libosmocore[master]: stat_item: make value ids item specific In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23508 ) Change subject: stat_item: make value ids item specific ...................................................................... Patch Set 1: (3 comments) https://gerrit.osmocom.org/c/libosmocore/+/23508/1/src/stat_item.c File src/stat_item.c: https://gerrit.osmocom.org/c/libosmocore/+/23508/1/src/stat_item.c at 279 PS1, Line 279: LOGP(DLSTATS, LOGL_DEBUG, "osmo_stat_item_discard_all is deprecated"); INFO? https://gerrit.osmocom.org/c/libosmocore/+/23508/1/src/stat_item.c at 280 PS1, Line 280: return 0; You may want to call osmo_stats_discard_all() internally here? https://gerrit.osmocom.org/c/libosmocore/+/23508/1/src/stats.c File src/stats.c: https://gerrit.osmocom.org/c/libosmocore/+/23508/1/src/stats.c at 715 PS1, Line 715: if (!have_value) { You can drop have_value (which is not an int anymore btw): if (osmo_stat_item_get_next(item, &item->stats_next_id, &value) <= 0) -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23508 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ie65dcdf52c8fc3d916e20d7f0455f6223be6b64f Gerrit-Change-Number: 23508 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-CC: pespin Gerrit-Comment-Date: Mon, 29 Mar 2021 08:32: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 Mon Mar 29 08:34:29 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 29 Mar 2021 08:34:29 +0000 Subject: Change in libosmocore[master]: stat_item: make next_id argument name consistent In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23506 ) Change subject: stat_item: make next_id argument name consistent ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23506 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I5dd566b08dff7174d1790f49abd2d6ac020e120e Gerrit-Change-Number: 23506 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: neels Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 29 Mar 2021 08:34:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 29 08:35:37 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 29 Mar 2021 08:35:37 +0000 Subject: Change in libosmocore[master]: stats: log error when missing stats values (v2) In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23510 ) Change subject: stats: log error when missing stats values (v2) ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/23510/1/tests/stats/stats_test.c File tests/stats/stats_test.c: https://gerrit.osmocom.org/c/libosmocore/+/23510/1/tests/stats/stats_test.c at 198 PS1, Line 198: fprintf(stderr, "Skipping %i values\n", 93 - 65); we usually use %d -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23510 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I5140d967c2f1d36dadf93b03e52b9bbd42e2a3a6 Gerrit-Change-Number: 23510 Gerrit-PatchSet: 1 Gerrit-Owner: osmith Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 29 Mar 2021 08:35:37 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 29 08:40:17 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 29 Mar 2021 08:40:17 +0000 Subject: Change in docker-playground[master]: Check in GCC 4.8.2 based cross compiler for ARM EABI target In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23518 ) Change subject: Check in GCC 4.8.2 based cross compiler for ARM EABI target ...................................................................... Patch Set 1: Code-Review+1 Some explanation on where do those patches come from would be great. -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23518 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ide93843836f059a3750e92a973d0a6d9cf9a5638 Gerrit-Change-Number: 23518 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 29 Mar 2021 08:40: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 Mar 29 08:43:23 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 29 Mar 2021 08:43:23 +0000 Subject: Change in osmo-sgsn[master]: mm_iu: Send event E_PMM_PS_CONN_ESTABLISH upon rx GMM SERVICE REQUEST In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/23499 ) Change subject: mm_iu: Send event E_PMM_PS_CONN_ESTABLISH upon rx GMM SERVICE REQUEST ...................................................................... Patch Set 2: ping -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/23499 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ica00891f91834522f4dea2508b62af34e4c4eca7 Gerrit-Change-Number: 23499 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Mon, 29 Mar 2021 08:43:23 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 29 08:43:29 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 29 Mar 2021 08:43:29 +0000 Subject: Change in osmo-sgsn[master]: mm_iu: Expect E_PMM_PS_ATTACH when in ST_PMM_IDLE In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/23500 ) Change subject: mm_iu: Expect E_PMM_PS_ATTACH when in ST_PMM_IDLE ...................................................................... Patch Set 2: ping -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/23500 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ia74a062ddc3052faad569f1428f0ddd02e5b188d Gerrit-Change-Number: 23500 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Mon, 29 Mar 2021 08:43:29 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 29 08:58:21 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 29 Mar 2021 08:58:21 +0000 Subject: Change in osmo-pcu[master]: sba: Document AGCH_START_OFFSET after some experimental tests In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23511 ) Change subject: sba: Document AGCH_START_OFFSET after some experimental tests ...................................................................... Patch Set 2: > Patch Set 2: > > (2 comments) > > As discussed on the call yesterday, the proper way is to report the AGCH queue length to the PCU so the PCU can use this as a factor to compute the starting FN. > > Furthermore, even without the above, this is all (obviously) affected by the fn-advance and rts-advance. So even without any load-based feedback, the fn/rts advance should be taken into account. I think neither of fn/rts advance really affect timing here. * fn-advance is being applied in sync both scheduling CCCH and requesting the Imm ASS to the PCU. * rts-advance is neither affected since the BTS doesn't care about the FN at which the Imm ass is sent to it from the PCU using PCU_IF_SAPI_PCH, it simply queues it with bts_agch_enqueue and schedules it ASAP. So From the point of view of the PCU, the different value in rts-advance in use doesn't matter. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23511 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id1460207be25750aeb5c1d7af2fac6591cf5e424 Gerrit-Change-Number: 23511 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 29 Mar 2021 08:58:21 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 29 08:58:47 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 29 Mar 2021 08:58:47 +0000 Subject: Change in osmo-pcu[master]: sba: Document AGCH_START_OFFSET after some experimental tests In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/23511 to look at the new patch set (#3). Change subject: sba: Document AGCH_START_OFFSET after some experimental tests ...................................................................... sba: Document AGCH_START_OFFSET after some experimental tests Related: OS#5020 Change-Id: Id1460207be25750aeb5c1d7af2fac6591cf5e424 --- M src/sba.c 1 file changed, 18 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/11/23511/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23511 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id1460207be25750aeb5c1d7af2fac6591cf5e424 Gerrit-Change-Number: 23511 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 29 10:18:15 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 29 Mar 2021 10:18:15 +0000 Subject: Change in osmo-pcu[master]: pdch_ulc: Optimize rbtree FN search References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23519 ) Change subject: pdch_ulc: Optimize rbtree FN search ...................................................................... pdch_ulc: Optimize rbtree FN search Use logarithmic lookup algo to find if FN is available instead of iterating over the whole tree. Change-Id: I2843aedb5ce74c909bde82d29269d0f956e9a093 --- M src/pdch_ul_controller.c 1 file changed, 9 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/19/23519/1 diff --git a/src/pdch_ul_controller.c b/src/pdch_ul_controller.c index 3f3776d..e6e22a2 100644 --- a/src/pdch_ul_controller.c +++ b/src/pdch_ul_controller.c @@ -66,16 +66,19 @@ struct pdch_ulc_node *pdch_ulc_get_node(struct pdch_ulc *ulc, uint32_t fn) { - struct rb_node *node; + struct rb_node *node = ulc->tree_root.rb_node; struct pdch_ulc_node *it; int res; - for (node = rb_first(&ulc->tree_root); node; node = rb_next(node)) { - it = container_of(node, struct pdch_ulc_node, node); + + while (node) { + it = rb_entry(node, struct pdch_ulc_node, node); res = fn_cmp(it->fn, fn); - if (res == 0) /* it->fn == fn */ - return it; if (res > 0) /* it->fn AFTER fn */ - break; + node = node->rb_left; + else if (res < 0) /* it->fn BEFORE fn */ + node = node->rb_right; + else /* it->fn == fn */ + return it; } return NULL; } -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23519 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I2843aedb5ce74c909bde82d29269d0f956e9a093 Gerrit-Change-Number: 23519 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 Mar 29 10:18:15 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 29 Mar 2021 10:18:15 +0000 Subject: Change in osmo-pcu[master]: Pick unreserved UL FN when allocating an SBA References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23520 ) Change subject: Pick unreserved UL FN when allocating an SBA ...................................................................... Pick unreserved UL FN when allocating an SBA Make sure an unreserved FN is picked and reserved when allocating and scheduling an SBA. In practice this has no change in behavior right now, since anyway using an offset of 52 FNs ensure no USF or POLL has alredy been scheduled that far in the future. Since it's also impossible to allocate more than 1 SBA per PDCH and RTS FN, we are also save about multiple SBAs being allocated, because we use a hardcoded fofset of 52. However, that could change in the future, when we dynamically tweak the current offset of 52 FN based on information from BTS about its AGCH queue load: * If load is high, we may need to increase the offset since it will take more time for the BTS to transmit the TBF and hence we must reserve a TBF starting time further in the future (higher FN). * If load turns low, we may schedule next SBA a bit more nearby in time than the previously allocated SBA, hence here there could be a collision. Related: OS#5020 Change-Id: I2d4e21e2307de6c17748e8da5c7e149c947a7eb9 --- M src/pdch_ul_controller.c M src/pdch_ul_controller.h M src/sba.c M tests/ulc/PdchUlcTest.cpp M tests/ulc/PdchUlcTest.ok 5 files changed, 64 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/20/23520/1 diff --git a/src/pdch_ul_controller.c b/src/pdch_ul_controller.c index e6e22a2..1ead3e9 100644 --- a/src/pdch_ul_controller.c +++ b/src/pdch_ul_controller.c @@ -128,6 +128,29 @@ return 0; } +/* Get next free (unreserved) FN which is not located in time before "start_fn" */ +uint32_t pdch_ulc_get_next_free_fn(struct pdch_ulc *ulc, uint32_t start_fn) +{ + struct rb_node *node; + struct pdch_ulc_node *it; + int res; + uint32_t check_fn = start_fn; + + for (node = rb_first(&ulc->tree_root); node; node = rb_next(node)) { + it = container_of(node, struct pdch_ulc_node, node); + res = fn_cmp(it->fn, check_fn); + if (res > 0) { /* it->fn AFTER check_fn */ + /* Next reserved FN is passed check_fn, hence it means check_fn is free */ + return check_fn; + } + /* if it->fn < check_fn, simply continue iterating, we want to reach at least check_fn */ + if (res == 0)/* it->fn == fn */ + check_fn = fn_next_block(check_fn); + /* if it->fn < check_fn, simply continue iterating, we want to reach at least check_fn */ + } + return check_fn; +} + static struct pdch_ulc_node *_alloc_node(struct pdch_ulc *ulc, uint32_t fn) { struct pdch_ulc_node *node; diff --git a/src/pdch_ul_controller.h b/src/pdch_ul_controller.h index 731cbe1..5339e90 100644 --- a/src/pdch_ul_controller.h +++ b/src/pdch_ul_controller.h @@ -71,6 +71,7 @@ bool pdch_ulc_fn_is_free(struct pdch_ulc *ulc, uint32_t fn); int pdch_ulc_get_next_free_rrbp_fn(struct pdch_ulc *ulc, uint32_t fn, uint32_t *poll_fn, unsigned int *rrbp); +uint32_t pdch_ulc_get_next_free_fn(struct pdch_ulc *ulc, uint32_t start_fn); struct pdch_ulc_node *pdch_ulc_get_node(struct pdch_ulc *ulc, uint32_t fn); struct pdch_ulc_node *pdch_ulc_pop_node(struct pdch_ulc *ulc, uint32_t fn); diff --git a/src/sba.c b/src/sba.c index 4b878b7..fcbd25e 100644 --- a/src/sba.c +++ b/src/sba.c @@ -57,15 +57,18 @@ struct gprs_rlcmac_sba *sba_alloc(void *ctx, struct gprs_rlcmac_pdch *pdch, uint8_t ta) { struct gprs_rlcmac_sba *sba; + uint32_t start_fn; + sba = talloc_zero(ctx, struct gprs_rlcmac_sba); if (!sba) return NULL; + /* TODO: Increase start_fn dynamically based on AGCH queue load in the BTS: */ + start_fn = next_fn(pdch->last_rts_fn, AGCH_START_OFFSET); + sba->pdch = pdch; sba->ta = ta; - - /* TODO: request ULC for next available FN instead of hardcoded AGCH_START_OFFSET */ - sba->fn = next_fn(pdch->last_rts_fn, AGCH_START_OFFSET); + sba->fn = pdch_ulc_get_next_free_fn(pdch->ulc, start_fn); pdch_ulc_reserve_sba(pdch->ulc, sba); return sba; diff --git a/tests/ulc/PdchUlcTest.cpp b/tests/ulc/PdchUlcTest.cpp index 0099101..f0e8dd9 100644 --- a/tests/ulc/PdchUlcTest.cpp +++ b/tests/ulc/PdchUlcTest.cpp @@ -212,6 +212,30 @@ printf("=== end: %s ===\n", __FUNCTION__); } +static void test_next_free_fn_sba() +{ + printf("=== start: %s ===\n", __FUNCTION__); + struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); + struct gprs_rlcmac_pdch *pdch = &bts->trx[0].pdch[0]; + struct gprs_rlcmac_sba *sba1, *sba2, *sba3, *sba4; + + pdch->last_rts_fn = 52; + printf("*** ALLOC 1 SBA FN=%" PRIu32 ":\n", pdch->last_rts_fn); + sba1 = sba_alloc(bts, pdch, 0); + print_ulc_nodes(pdch->ulc); + + pdch->last_rts_fn = 65; + printf("*** ALLOC 3 SBA FN=%" PRIu32 ":\n", pdch->last_rts_fn); + sba2 = sba_alloc(bts, pdch, 0); + sba3 = sba_alloc(bts, pdch, 0); + sba4 = sba_alloc(bts, pdch, 0); + print_ulc_nodes(pdch->ulc); + (void)sba1; (void)sba2; (void)sba3; (void)sba4; + + talloc_free(bts); + printf("=== end: %s ===\n", __FUNCTION__); +} + int main(int argc, char **argv) { tall_pcu_ctx = talloc_named_const(NULL, 1, "pdch_ulc test context"); @@ -231,6 +255,7 @@ test_reserve_multiple(); test_fn_wrap_around(); + test_next_free_fn_sba(); talloc_free(the_pcu); return EXIT_SUCCESS; diff --git a/tests/ulc/PdchUlcTest.ok b/tests/ulc/PdchUlcTest.ok index f20fb30..5bab5cc 100644 --- a/tests/ulc/PdchUlcTest.ok +++ b/tests/ulc/PdchUlcTest.ok @@ -247,3 +247,12 @@ FN=39 type=POLL *** EXPIRE FN=43: === end: test_fn_wrap_around === +=== start: test_next_free_fn_sba === +*** ALLOC 1 SBA FN=52: +FN=104 type=SBA +*** ALLOC 3 SBA FN=65: +FN=104 type=SBA +FN=117 type=SBA +FN=121 type=SBA +FN=125 type=SBA +=== end: test_next_free_fn_sba === -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23520 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I2d4e21e2307de6c17748e8da5c7e149c947a7eb9 Gerrit-Change-Number: 23520 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 Mar 29 11:27:11 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 29 Mar 2021 11:27:11 +0000 Subject: Change in libosmocore[master]: WIP: ns2: Support "Foreign" SNS IP endpoints for fail-over scenarios References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/23521 ) Change subject: WIP: ns2: Support "Foreign" SNS IP endpoints for fail-over scenarios ...................................................................... WIP: ns2: Support "Foreign" SNS IP endpoints for fail-over scenarios In fail-over scenarios, we want to be able to advertise "foreign" IP endpoints, i.e. endpoints which do not have local sockets but which are advertised as additional endpoints on "our" side of the link. This patch introduces support for them within pre-configured NSEs, such as it is the case for the PCU/BSS role. For the SGSN role, where typically we create the NSEs for BSS/PCU dynamically as they create, another mechanism needs to be developed. Change-Id: If9c4d3f62bfc2a47518dce90188e5fa85e21e4cc Related: OS#4522 --- M include/osmocom/gprs/gprs_ns2.h M src/gb/gprs_ns2_sns.c M src/gb/gprs_ns2_vty.c 3 files changed, 234 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/21/23521/1 diff --git a/include/osmocom/gprs/gprs_ns2.h b/include/osmocom/gprs/gprs_ns2.h index be59a67..d58d537 100644 --- a/include/osmocom/gprs/gprs_ns2.h +++ b/include/osmocom/gprs/gprs_ns2.h @@ -233,6 +233,10 @@ const struct osmo_sockaddr *saddr); int gprs_ns2_sns_del_endpoint(struct gprs_ns2_nse *nse, const struct osmo_sockaddr *saddr); +int gprs_ns2_sns_add_foreign_endpoint(struct gprs_ns2_nse *nse, const struct osmo_sockaddr *saddr, + uint16_t sig_weight, uint16_t data_weight); +int gprs_ns2_sns_del_foreign_endpoint(struct gprs_ns2_nse *nse, + const struct osmo_sockaddr *saddr); int gprs_ns2_sns_add_bind(struct gprs_ns2_nse *nse, struct gprs_ns2_vc_bind *bind); int gprs_ns2_sns_del_bind(struct gprs_ns2_nse *nse, struct gprs_ns2_vc_bind *bind); const struct osmo_sockaddr *gprs_ns2_nse_sns_remote(struct gprs_ns2_nse *nse); diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index 144ab21..3b2b938 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -117,6 +117,13 @@ struct osmo_sockaddr saddr; }; +struct sns_foreign_endpoint { + struct llist_head list; + struct osmo_sockaddr saddr; + uint16_t sig_weight; + uint16_t data_weight; +}; + struct ns2_sns_bind { struct llist_head list; struct gprs_ns2_vc_bind *bind; @@ -132,6 +139,8 @@ struct llist_head sns_endpoints; /* list of used struct ns2_sns_bind */ struct llist_head binds; + /* list of foreign local IP endpoints */ + struct llist_head foreign_local_endpoints; /* pointer to the bind which was used to initiate the SNS connection */ struct ns2_sns_bind *initial_bind; /* prevent recursive reselection */ @@ -790,6 +799,7 @@ const struct osmo_sockaddr *remote; const struct osmo_sockaddr *sa; struct osmo_sockaddr local; + struct sns_foreign_endpoint *flep; int count; ns2_clear_ipv46_entries_local(gss); @@ -803,7 +813,7 @@ remote = gprs_ns2_ip_vc_remote(gss->sns_nsvc); /* count how many bindings are available (only UDP binds) */ - count = llist_count(&gss->binds); + count = llist_count(&gss->binds) + llist_count(&gss->foreign_local_endpoints); if (count == 0) { LOGPFSML(fi, LOGL_ERROR, "No local binds for this NSE -> cannot determine IP endpoints\n"); return; @@ -841,6 +851,19 @@ ip4_elems++; } + llist_for_each_entry(flep, &gss->foreign_local_endpoints, list) { + sa = &flep->saddr; + + if (sa->u.sas.ss_family != AF_INET) + continue; + + ip4_elems->ip_addr = sa->u.sin.sin_addr.s_addr; + ip4_elems->udp_port = sa->u.sin.sin_port; + ip4_elems->sig_weight = flep->sig_weight; + ip4_elems->data_weight = flep->data_weight; + ip4_elems++; + } + gss->num_ip4_local = count; gss->num_max_nsvcs = OSMO_MAX(gss->num_max_ip4_remote * gss->num_ip4_local, 8); break; @@ -877,6 +900,21 @@ ip6_elems++; } + + llist_for_each_entry(flep, &gss->foreign_local_endpoints, list) { + sa = &flep->saddr; + + if (sa->u.sas.ss_family != AF_INET6) + continue; + + ip6_elems->ip_addr = sa->u.sin6.sin6_addr; + ip6_elems->udp_port = sa->u.sin6.sin6_port; + ip6_elems->sig_weight = flep->sig_weight; + ip6_elems->data_weight = flep->data_weight; + ip6_elems++; + } + + gss->num_ip6_local = count; gss->num_max_nsvcs = OSMO_MAX(gss->num_max_ip6_remote * gss->num_ip6_local, 8); break; @@ -1735,6 +1773,7 @@ struct ns2_sns_state *gss; struct osmo_sockaddr_str addr_str; struct sns_endpoint *endpoint; + struct sns_foreign_endpoint *fendpoint; if (!nse->bss_sns_fi) return; @@ -1746,6 +1785,13 @@ addr_str = (struct osmo_sockaddr_str) { .ip = "" }; vty_out(vty, " ip-sns-remote %s %u%s", addr_str.ip, addr_str.port, VTY_NEWLINE); } + llist_for_each_entry(fendpoint, &gss->foreign_local_endpoints, list) { + if (osmo_sockaddr_str_from_sockaddr(&addr_str, &fendpoint->saddr.u.sas) != 0) + addr_str = (struct osmo_sockaddr_str) { .ip = "" }; + vty_out(vty, " ip-sns-foreign %s %u signalling-weight %u data-weight %u%s", + addr_str.ip, addr_str.port, fendpoint->sig_weight, fendpoint->data_weight, + VTY_NEWLINE); + } } static struct sns_endpoint *ns2_get_sns_endpoint(struct ns2_sns_state *state, @@ -1761,6 +1807,19 @@ return NULL; } +static struct sns_foreign_endpoint * +ns2_get_sns_foreign_endpoint(struct ns2_sns_state *state, const struct osmo_sockaddr *saddr) +{ + struct sns_foreign_endpoint *fendpoint; + + llist_for_each_entry(fendpoint, &state->foreign_local_endpoints, list) { + if (!osmo_sockaddr_cmp(saddr, &fendpoint->saddr)) + return fendpoint; + } + + return NULL; +} + /*! gprs_ns2_sns_add_endpoint * \param[in] nse * \param[in] sockaddr @@ -1855,6 +1914,77 @@ return 0; } +/*! Add a foreign IP endpoint to the "local" side. + * This is mostly useful in fail-over situations where the current "master" + * node would want to advertise the IP endpoints of a current "slave" node + * together with the truly local endpoints. + * + * \param[in] nse NS entity to which the foreign EP shall be added + * \param[in] sockaddr the socket address of the foreign EP + * \return 0 on success; negative on error + */ +int gprs_ns2_sns_add_foreign_endpoint(struct gprs_ns2_nse *nse, + const struct osmo_sockaddr *foreign, + uint16_t sig_weight, uint16_t data_weight) +{ + struct ns2_sns_state *gss; + struct sns_foreign_endpoint *fendpoint; + + if (nse->ll != GPRS_NS2_LL_UDP) { + return -EINVAL; + } + + if (nse->dialect != GPRS_NS2_DIALECT_SNS) { + return -EINVAL; + } + + gss = nse->bss_sns_fi->priv; + + if (ns2_get_sns_foreign_endpoint(gss, foreign)) + return -EADDRINUSE; + + fendpoint = talloc_zero(nse->bss_sns_fi->priv, struct sns_foreign_endpoint); + if (!fendpoint) + return -ENOMEM; + + fendpoint->saddr = *foreign; + fendpoint->sig_weight = sig_weight; + fendpoint->data_weight = data_weight; + llist_add_tail(&fendpoint->list, &gss->foreign_local_endpoints); + + return 0; +} + +/*! Delete a foreign IP endpoint from the "local" side. + * \param[in] nse NS entity from which the foreign EP shall be deleted + * \param[in] sockaddr the socket address of the foreign EP + * \return 0 on success, otherwise < 0 + */ +int gprs_ns2_sns_del_foreign_endpoint(struct gprs_ns2_nse *nse, + const struct osmo_sockaddr *foreign) +{ + struct ns2_sns_state *gss; + struct sns_foreign_endpoint *fendpoint; + + if (nse->ll != GPRS_NS2_LL_UDP) { + return -EINVAL; + } + + if (nse->dialect != GPRS_NS2_DIALECT_SNS) { + return -EINVAL; + } + + gss = nse->bss_sns_fi->priv; + fendpoint = ns2_get_sns_foreign_endpoint(gss, foreign); + if (!fendpoint) + return -ENOENT; + + llist_del(&fendpoint->list); + talloc_free(fendpoint); + + return 0; +} + /*! gprs_ns2_sns_count * \param[in] nse NS Entity whose IP-SNS endpoints shall be printed * \return the count of endpoints or < 0 if NSE doesn't contain sns. @@ -2280,6 +2410,7 @@ gss->nse = nse; gss->role = GPRS_SNS_ROLE_SGSN; INIT_LLIST_HEAD(&gss->sns_endpoints); + INIT_LLIST_HEAD(&gss->foreign_local_endpoints); INIT_LLIST_HEAD(&gss->binds); return fi; diff --git a/src/gb/gprs_ns2_vty.c b/src/gb/gprs_ns2_vty.c index fc060ae..6eea00d 100644 --- a/src/gb/gprs_ns2_vty.c +++ b/src/gb/gprs_ns2_vty.c @@ -1473,6 +1473,102 @@ return CMD_SUCCESS; } +DEFUN(cfg_ns_nse_ip_sns_foreign, cfg_ns_nse_ip_sns_foreign_cmd, + "ip-sns-foreign " VTY_IPV46_CMD " <1-65535> signalling-weight <0-254> data-weight <0-254>", + "SNS Foreign Local Endpoint (for fail-over)\n" + "PCU Foreign IPv4 Address\n" "PCU Foreign IPv6 Address\n" + "PCU Foreign UDP Port\n" + "signalling weight used by IP-SNS dynamic configuration\n" + "signalling weight used by IP-SNS dynamic configuration\n" + "data weight used by IP-SNS dynamic configuration\n" + "data weight used by IP-SNS dynamic configuration\n" + ) +{ + struct gprs_ns2_nse *nse = vty->index; + int rc; + + struct osmo_sockaddr_str foreign_str; + struct osmo_sockaddr foreign; + uint16_t port = atoi(argv[1]); + + if (nse->ll != GPRS_NS2_LL_UDP) { + vty_out(vty, "Can not mix NS-VC with different link layer%s", VTY_NEWLINE); + goto err; + } + + if (nse->dialect != GPRS_NS2_DIALECT_SNS) { + vty_out(vty, "Can not mix NS-VC with different dialects%s", VTY_NEWLINE); + goto err; + } + + if (osmo_sockaddr_str_from_str(&foreign_str, argv[0], port)) { + vty_out(vty, "Can not parse IPv4/IPv6 or port.%s", VTY_NEWLINE); + goto err; + } + + if (osmo_sockaddr_str_to_sockaddr(&foreign_str, &foreign.u.sas)) { + vty_out(vty, "Can not parse IPv4/IPv6 or port.%s", VTY_NEWLINE); + goto err; + } + + rc = gprs_ns2_sns_add_foreign_endpoint(nse, &foreign, atoi(argv[2]), atoi(argv[3])); + switch (rc) { + case 0: + return CMD_SUCCESS; + case -EADDRINUSE: + vty_out(vty, "Specified SNS endpoint already part of the NSE.%s", VTY_NEWLINE); + return CMD_WARNING; + default: + vty_out(vty, "Can not add specified SNS endpoint.%s", VTY_NEWLINE); + return CMD_WARNING; + } + +err: + return CMD_WARNING; +} + +DEFUN(cfg_no_ns_nse_ip_sns_foreign, cfg_no_ns_nse_ip_sns_foreign_cmd, + "no ip-sns-foreign " VTY_IPV46_CMD " <1-65535>", + NO_STR + "Delete a SNS Foreign Local Endpoint\n" + "PCU Foreign IPv4 Address\n" "PCU Foreign IPv6 Address\n" + "PCU Foreign UDP Port\n" + ) +{ + struct gprs_ns2_nse *nse = vty->index; + struct osmo_sockaddr_str foreign_str; /* argv[0] */ + struct osmo_sockaddr foreign; + uint16_t port = atoi(argv[1]); + + if (nse->ll != GPRS_NS2_LL_UDP) { + vty_out(vty, "This NSE doesn't support UDP.%s", VTY_NEWLINE); + return CMD_WARNING; + } + + if (nse->dialect != GPRS_NS2_DIALECT_SNS) { + vty_out(vty, "This NSE doesn't support UDP with dialect ip-sns.%s", VTY_NEWLINE); + return CMD_WARNING; + } + + if (osmo_sockaddr_str_from_str(&foreign_str, argv[0], port)) { + vty_out(vty, "Can not parse IPv4/IPv6 or port.%s", VTY_NEWLINE); + return CMD_WARNING; + } + + if (osmo_sockaddr_str_to_sockaddr(&foreign_str, &foreign.u.sas)) { + vty_out(vty, "Can not parse IPv4/IPv6 or port.%s", VTY_NEWLINE); + return CMD_WARNING; + } + + if (gprs_ns2_sns_del_foreign_endpoint(nse, &foreign)) { + vty_out(vty, "Can not remove specified foreign SNS endpoint.%s", VTY_NEWLINE); + return CMD_WARNING; + } + + return CMD_SUCCESS; +} + + DEFUN(cfg_ns_nse_ip_sns_remote, cfg_ns_nse_ip_sns_remote_cmd, "ip-sns-remote " VTY_IPV46_CMD " <1-65535>", "SNS Initial Endpoint\n" @@ -2230,6 +2326,8 @@ install_lib_element(L_NS_NSE_NODE, &cfg_no_ns_nse_ip_sns_remote_cmd); install_lib_element(L_NS_NSE_NODE, &cfg_ns_nse_ip_sns_bind_cmd); install_lib_element(L_NS_NSE_NODE, &cfg_no_ns_nse_ip_sns_bind_cmd); + install_lib_element(L_NS_NSE_NODE, &cfg_ns_nse_ip_sns_foreign_cmd); + install_lib_element(L_NS_NSE_NODE, &cfg_no_ns_nse_ip_sns_foreign_cmd); return 0; } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23521 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If9c4d3f62bfc2a47518dce90188e5fa85e21e4cc Gerrit-Change-Number: 23521 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 Mar 29 11:29:54 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 29 Mar 2021 11:29:54 +0000 Subject: Change in libosmocore[master]: WIP: ns2: Support "Foreign" SNS IP endpoints for fail-over scenarios In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23521 ) Change subject: WIP: ns2: Support "Foreign" SNS IP endpoints for fail-over scenarios ...................................................................... Patch Set 1: one coudl also have implemented "virtual binds" (to stay more orthogonal in how to configure ip/port and weights), but I thought that would introduce more complexity into the code base than it is worth. Also, there's a lot within "binds" that is not SNS related, so one would have to introduce checks everywhere if it is a real or a foreign bind, ... -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23521 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: If9c4d3f62bfc2a47518dce90188e5fa85e21e4cc Gerrit-Change-Number: 23521 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Mon, 29 Mar 2021 11:29: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 Mon Mar 29 11:35:32 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 29 Mar 2021 11:35:32 +0000 Subject: Change in libosmocore[master]: gprs_ns2_sns: Fix memory leak when creating ip[46]_local arrays In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23417 ) Change subject: gprs_ns2_sns: Fix memory leak when creating ip[46]_local arrays ...................................................................... gprs_ns2_sns: Fix memory leak when creating ip[46]_local arrays Prior to this patch, we would unconditionally allocate new memory for the local SNS IP endpoints. This results in a memory leak on every SNS-SIZE procedure. Let's move to talloc_realloc() which recycles any previously allocated memory. Change-Id: I12cb670e087c6d6190f3f5bf8483ea62008ae06f --- M src/gb/gprs_ns2_sns.c 1 file changed, 2 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, but someone else must approve daniel: Looks good to me, approved diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index b07f010..144ab21 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -811,7 +811,7 @@ switch (gss->ip) { case IPv4: - ip4_elems = talloc_zero_size(fi, sizeof(struct gprs_ns_ie_ip4_elem) * count); + ip4_elems = talloc_realloc(fi, gss->ip4_local, struct gprs_ns_ie_ip4_elem, count); if (!ip4_elems) return; @@ -846,7 +846,7 @@ break; case IPv6: /* IPv6 */ - ip6_elems = talloc_zero_size(fi, sizeof(struct gprs_ns_ie_ip6_elem) * count); + ip6_elems = talloc_realloc(fi, gss->ip6_local, struct gprs_ns_ie_ip6_elem, count); if (!ip6_elems) return; @@ -925,7 +925,6 @@ gss->sns_nsvc->sns_only = true; } - if (gss->num_max_ip4_remote > 0) ns2_tx_sns_size(gss->sns_nsvc, true, gss->num_max_nsvcs, gss->num_ip4_local, -1); else -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23417 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I12cb670e087c6d6190f3f5bf8483ea62008ae06f Gerrit-Change-Number: 23417 Gerrit-PatchSet: 7 Gerrit-Owner: laforge 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 Mon Mar 29 11:36:51 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 29 Mar 2021 11:36:51 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Avoid early TBF release due to N3101 in TC_multiplex_dl_gprs_egprs In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23485 ) Change subject: pcu: Avoid early TBF release due to N3101 in TC_multiplex_dl_gprs_egprs ...................................................................... Patch Set 2: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23485/2//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23485/2//COMMIT_MSG at 9 PS2, Line 9: expectancies expectations? "expectancy" is only used in the context of how long somebody lives, IMHO. -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23485 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iedff87cedf55ab18b32bd0f159d1145901878203 Gerrit-Change-Number: 23485 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 29 Mar 2021 11:36: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 Mon Mar 29 11:37:17 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 29 Mar 2021 11:37:17 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Adapt N3101_MAX verification expectancies In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23494 ) Change subject: pcu: Adapt N3101_MAX verification expectancies ...................................................................... Patch Set 1: Code-Review+1 same here: expectations? -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23494 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I868e7d24c8bdc9b85797f8fe4f9ee1bc5a3d1adb Gerrit-Change-Number: 23494 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 29 Mar 2021 11:37: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 Mar 29 11:38:02 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 29 Mar 2021 11:38:02 +0000 Subject: Change in osmo-pcu[master]: sba: Document AGCH_START_OFFSET after some experimental tests In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23511 ) Change subject: sba: Document AGCH_START_OFFSET after some experimental tests ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23511 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id1460207be25750aeb5c1d7af2fac6591cf5e424 Gerrit-Change-Number: 23511 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 29 Mar 2021 11:38: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 Mar 29 11:38:22 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 29 Mar 2021 11:38:22 +0000 Subject: Change in osmo-pcu[master]: pdch_ulc: Optimize rbtree FN search In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23519 ) Change subject: pdch_ulc: Optimize rbtree FN search ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23519 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I2843aedb5ce74c909bde82d29269d0f956e9a093 Gerrit-Change-Number: 23519 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 29 Mar 2021 11:38: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 Mar 29 11:40:16 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 29 Mar 2021 11:40:16 +0000 Subject: Change in osmo-pcu[master]: Pick unreserved UL FN when allocating an SBA In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23520 ) Change subject: Pick unreserved UL FN when allocating an SBA ...................................................................... Patch Set 1: Code-Review+1 (2 comments) https://gerrit.osmocom.org/c/osmo-pcu/+/23520/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-pcu/+/23520/1//COMMIT_MSG at 14 PS1, Line 14: save safe https://gerrit.osmocom.org/c/osmo-pcu/+/23520/1//COMMIT_MSG at 15 PS1, Line 15: fofset offset. I thought typos in commit logs are my task :) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23520 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I2d4e21e2307de6c17748e8da5c7e149c947a7eb9 Gerrit-Change-Number: 23520 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 29 Mar 2021 11:40:16 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 29 11:51:25 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 29 Mar 2021 11:51:25 +0000 Subject: Change in osmo-pcu[master]: Pick unreserved UL FN when allocating an SBA In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23520 ) Change subject: Pick unreserved UL FN when allocating an SBA ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/23520/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-pcu/+/23520/1//COMMIT_MSG at 15 PS1, Line 15: fofset > offset. [?] Spring is coming ;) -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23520 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I2d4e21e2307de6c17748e8da5c7e149c947a7eb9 Gerrit-Change-Number: 23520 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 29 Mar 2021 11:51: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 Mon Mar 29 12:09:17 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 29 Mar 2021 12:09:17 +0000 Subject: Change in osmo-pcu[master]: sba: Document AGCH_START_OFFSET after some experimental tests In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/23511 to look at the new patch set (#4). Change subject: sba: Document AGCH_START_OFFSET after some experimental tests ...................................................................... sba: Document AGCH_START_OFFSET after some experimental tests Related: OS#5020 Change-Id: Id1460207be25750aeb5c1d7af2fac6591cf5e424 --- M src/sba.c 1 file changed, 18 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/11/23511/4 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23511 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id1460207be25750aeb5c1d7af2fac6591cf5e424 Gerrit-Change-Number: 23511 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 29 12:09:17 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 29 Mar 2021 12:09:17 +0000 Subject: Change in osmo-pcu[master]: pdch_ulc: Optimize rbtree FN search In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/23519 to look at the new patch set (#2). Change subject: pdch_ulc: Optimize rbtree FN search ...................................................................... pdch_ulc: Optimize rbtree FN search Use logarithmic lookup algo to find if FN is available instead of iterating over the whole tree. Change-Id: I2843aedb5ce74c909bde82d29269d0f956e9a093 --- M src/pdch_ul_controller.c 1 file changed, 9 insertions(+), 6 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/19/23519/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23519 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I2843aedb5ce74c909bde82d29269d0f956e9a093 Gerrit-Change-Number: 23519 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 Mon Mar 29 12:09:17 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 29 Mar 2021 12:09:17 +0000 Subject: Change in osmo-pcu[master]: Pick unreserved UL FN when allocating an SBA In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/23520 to look at the new patch set (#2). Change subject: Pick unreserved UL FN when allocating an SBA ...................................................................... Pick unreserved UL FN when allocating an SBA Make sure an unreserved FN is picked and reserved when allocating and scheduling an SBA. In practice this has no change in behavior right now, since anyway using an offset of 52 FNs ensure no USF or POLL has alredy been scheduled that far in the future. Since it's also impossible to allocate more than 1 SBA per PDCH and RTS FN, we are also safe about multiple SBAs being allocated, because we use a hardcoded offset of 52. However, that could change in the future, when we dynamically tweak the current offset of 52 FN based on information from BTS about its AGCH queue load: * If load is high, we may need to increase the offset since it will take more time for the BTS to transmit the TBF and hence we must reserve a TBF starting time further in the future (higher FN). * If load turns low, we may schedule next SBA a bit more nearby in time than the previously allocated SBA, hence here there could be a collision. Related: OS#5020 Change-Id: I2d4e21e2307de6c17748e8da5c7e149c947a7eb9 --- M src/pdch_ul_controller.c M src/pdch_ul_controller.h M src/sba.c M tests/ulc/PdchUlcTest.cpp M tests/ulc/PdchUlcTest.ok 5 files changed, 64 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/20/23520/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23520 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I2d4e21e2307de6c17748e8da5c7e149c947a7eb9 Gerrit-Change-Number: 23520 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 Mon Mar 29 12:09:21 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 29 Mar 2021 12:09:21 +0000 Subject: Change in osmo-pcu[master]: pdch_ulc: Support picking RRBP other than N+13 References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23522 ) Change subject: pdch_ulc: Support picking RRBP other than N+13 ...................................................................... pdch_ulc: Support picking RRBP other than N+13 Current algo always tries to sched RRBP the soonest possible. Related: OS#5020 Change-Id: Ic6ddeea70e1f914cf423d0daab8fc492d0c992e2 --- M src/pcu_utils.h M src/pdch_ul_controller.c M src/pdch_ul_controller.h M tests/tbf/TbfTest.err M tests/ulc/PdchUlcTest.cpp M tests/ulc/PdchUlcTest.err M tests/ulc/PdchUlcTest.ok 7 files changed, 178 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/22/23522/1 diff --git a/src/pcu_utils.h b/src/pcu_utils.h index 1b90070..e1a8572 100644 --- a/src/pcu_utils.h +++ b/src/pcu_utils.h @@ -57,6 +57,12 @@ return (fn % 52) / 4; } +static inline bool fn_valid(uint32_t fn) +{ + uint32_t f = fn % 13; + return f == 0 || f == 4 || f == 8; +} + static inline unsigned fn_next_block(unsigned fn) { unsigned bn = fn2bn(fn) + 1; diff --git a/src/pdch_ul_controller.c b/src/pdch_ul_controller.c index 1ead3e9..d892c84 100644 --- a/src/pdch_ul_controller.c +++ b/src/pdch_ul_controller.c @@ -112,20 +112,44 @@ return !pdch_ulc_get_node(ulc, fn); } +struct rrbp_opt { + uint8_t offset; + enum rrbp_field coding; +}; +static struct rrbp_opt rrbp_list[] = +{ + {13, RRBP_N_plus_13}, + {17, RRBP_N_plus_17_18}, + {18, RRBP_N_plus_17_18}, + {21, RRBP_N_plus_21_22}, + {22, RRBP_N_plus_21_22}, + {26, RRBP_N_plus_26}, +}; + int pdch_ulc_get_next_free_rrbp_fn(struct pdch_ulc *ulc, uint32_t fn, uint32_t *poll_fn, unsigned int *rrbp) { - /* TODO: support other RRBP offsets, see TS 44.060 able 10.4.5.1 */ - uint32_t new_poll_fn = next_fn(fn, 13); - if (!pdch_ulc_fn_is_free(ulc, new_poll_fn)) { - LOGPDCH(ulc->pdch, DRLCMAC, LOGL_ERROR, "Polling is already scheduled " - "for single block allocation at FN=%u\n", fn); - return -EBUSY; + uint8_t i; + + for (i = 0; i < ARRAY_SIZE(rrbp_list); i++) { + uint32_t new_poll_fn = next_fn(fn, rrbp_list[i].offset); + if (!fn_valid(new_poll_fn)) + continue; + if (pdch_ulc_fn_is_free(ulc, new_poll_fn)) { + LOGPDCH(ulc->pdch, DRLCMAC, LOGL_DEBUG, "POLL scheduled at FN %" PRIu32 + " + %" PRIu8 " = %" PRIu32 "\n", + fn, rrbp_list[i].offset, new_poll_fn); + *poll_fn = new_poll_fn; + *rrbp = (unsigned int)rrbp_list[i].coding; + return 0; + } + LOGPDCH(ulc->pdch, DRLCMAC, LOGL_DEBUG, "UL block already scheduled at FN %" PRIu32 + " + %" PRIu8 " = %" PRIu32 "\n", + fn, rrbp_list[i].offset, new_poll_fn); + } - - *poll_fn = new_poll_fn; - *rrbp = 0; - - return 0; + LOGPDCH(ulc->pdch, DRLCMAC, LOGL_ERROR, "FN=%" PRIu32 " " + "Failed allocating POLL, all RRBP values are already reserved!\n", fn); + return -EBUSY; } /* Get next free (unreserved) FN which is not located in time before "start_fn" */ diff --git a/src/pdch_ul_controller.h b/src/pdch_ul_controller.h index 5339e90..d5fea4d 100644 --- a/src/pdch_ul_controller.h +++ b/src/pdch_ul_controller.h @@ -30,6 +30,14 @@ struct gprs_rlcmac_ul_tbf; struct gprs_rlcmac_sba; +/* RRBP offsets, see TS 44.060 able 10.4.5.1 */ +enum rrbp_field { + RRBP_N_plus_13 = 0x0, + RRBP_N_plus_17_18 = 0x1, + RRBP_N_plus_21_22 = 0x2, + RRBP_N_plus_26 = 0x3, +}; + struct pdch_ulc { struct gprs_rlcmac_pdch *pdch; /* back pointer */ uint32_t last_fn; /* last FN rx from TDMA clock */ diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index 3b57d6a..76800b5 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -64,6 +64,7 @@ The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) appending 200 bytes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) appending 200 bytes +PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 0 + 13 = 13 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) New and old TBF are the same. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ @@ -153,6 +154,7 @@ The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) appending 200 bytes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) appending 200 bytes +PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 0 + 13 = 13 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) New and old TBF are the same. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ @@ -242,6 +244,7 @@ The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) appending 200 bytes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) appending 200 bytes +PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 0 + 13 = 13 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) New and old TBF are the same. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ @@ -1544,6 +1547,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654270 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS +PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654270 + 13 = 2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) start Packet Uplink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- @@ -1628,6 +1632,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654270 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS +PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654270 + 13 = 2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) start Packet Uplink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- @@ -1679,6 +1684,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) appending 10 bytes Old MS: TLLI = 0xf1223344, TA = 7, IMSI = 0011223344, LLC = 1 Received RTS for PDCH: TRX=0 TS=7 FN=2654275 block_nr=9 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654275 + 13 = 2654288 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- @@ -1715,6 +1721,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). +PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654279 + 13 = 2654292 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Scheduled DL Acknowledgement polling on PACCH (FN=2654292, TS=7) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) starting timer T3191 [final block (DL-TBF)] with 5 sec. 0 microsec, cur_fn=2654288 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Scheduled Ack/Nack polling on FN=2654292, TS=7 @@ -1735,6 +1742,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Scheduling Ack/Nack polling, because polling timed out. +PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654296 + 13 = 2654309 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Scheduled DL Acknowledgement polling on PACCH (FN=2654309, TS=7) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) restarting timer T3191 [final block (DL-TBF)] with 5 sec. 0 microsec, cur_fn=2654292 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Scheduled Ack/Nack polling on FN=2654309, TS=7 @@ -1780,6 +1788,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) N3105 1 => 2 (< MAX 8) Received RTS for PDCH: TRX=0 TS=7 FN=2654348 block_nr=2 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654348 + 13 = 2654361 TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) start Packet Uplink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- @@ -1851,6 +1860,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: CS-1 -> CS-2 +PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654270 + 13 = 2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) start Packet Uplink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- @@ -1937,6 +1947,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654327 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS +PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654327 + 13 = 2654340 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) start Packet Uplink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- @@ -1997,6 +2008,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: CS-1 -> CS-2 +PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654270 + 13 = 2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) start Packet Uplink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- @@ -2144,6 +2156,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: CS-1 -> CS-2 +PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654270 + 13 = 2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) start Packet Uplink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- @@ -2235,6 +2248,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) appending 13 bytes Old MS: TLLI = 0xf1223344, TA = 7, IMSI = 0011223344, LLC = 40 Received RTS for PDCH: TRX=0 TS=7 FN=2654275 block_nr=9 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654275 + 13 = 2654288 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- @@ -2649,6 +2663,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 20) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Scheduling Ack/Nack polling, because 20 blocks sent. +PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654366 + 13 = 2654379 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Scheduled DL Acknowledgement polling on PACCH (FN=2654379, TS=7) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Scheduled Ack/Nack polling on FN=2654379, TS=7 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 20, CS-1): 0f 00 28 16 35 45 54 20 32 38 4c 4c 43 20 50 41 43 4b 45 54 20 32 39 @@ -2897,6 +2912,7 @@ PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654374 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654374): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 22 => 23 (< MAX 10) +PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654400 + 13 = 2654413 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- @@ -3118,6 +3134,7 @@ TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Copying 1 RLC blocks, 1 BSNs TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Copying data unit 0 (BSN 10) TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). +PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654448 + 13 = 2654461 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Scheduled DL Acknowledgement polling on PACCH (FN=2654461, TS=7) TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FINISHED) starting timer T3191 [final block (DL-TBF)] with 5 sec. 0 microsec, cur_fn=2654413 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Scheduled Ack/Nack polling on FN=2654461, TS=7 @@ -3268,6 +3285,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: MCS-1 -> MCS-2 +PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654270 + 13 = 2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) start Packet Uplink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- @@ -3360,6 +3378,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: MCS-1 -> MCS-2 +PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654270 + 13 = 2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) start Packet Uplink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- @@ -3573,6 +3592,7 @@ TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) changes state from NULL to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 10 bytes +PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 0 + 13 = 13 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) New and old TBF are the same. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ @@ -3886,6 +3906,7 @@ TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) changes state from NULL to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 10 bytes +PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 0 + 13 = 13 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) New and old TBF are the same. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ @@ -4149,6 +4170,7 @@ TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) changes state from NULL to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 10 bytes +PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 0 + 13 = 13 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) New and old TBF are the same. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ @@ -4362,6 +4384,7 @@ TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) changes state from NULL to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 10 bytes +PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 0 + 13 = 13 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) New and old TBF are the same. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ @@ -4555,6 +4578,7 @@ TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) changes state from NULL to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 10 bytes +PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 0 + 13 = 13 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) New and old TBF are the same. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ @@ -4728,6 +4752,7 @@ TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) changes state from NULL to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 10 bytes +PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 0 + 13 = 13 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) New and old TBF are the same. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ @@ -4871,6 +4896,7 @@ TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) changes state from NULL to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 10 bytes +PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 0 + 13 = 13 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) New and old TBF are the same. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ @@ -5021,6 +5047,7 @@ TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) changes state from NULL to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 10 bytes +PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 0 + 13 = 13 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) New and old TBF are the same. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ @@ -5160,6 +5187,7 @@ TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) changes state from NULL to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 10 bytes +PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 0 + 13 = 13 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) New and old TBF are the same. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ @@ -5472,6 +5500,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). +PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 8 + 13 = 21 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=21, TS=4) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=21, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 1, MCS-5): 0f 40 00 08 d6 3f 4e 8e ce 0e 4f 8f cf 0f 50 90 d0 10 51 91 d1 11 52 92 d2 12 53 93 d3 13 54 94 d4 14 55 95 d5 15 56 96 d6 16 57 97 d7 17 58 98 d8 d8 ca ca ca ca ca ca ca ca ca 0a @@ -5549,6 +5578,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). +PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 8 + 13 = 21 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=21, TS=4) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=21, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 1, MCS-6): 0f 40 00 00 cd bf d2 12 53 93 d3 13 54 94 d4 14 55 95 d5 15 56 96 d6 16 57 97 d7 17 58 98 d8 d8 ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca 0a @@ -5621,6 +5651,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 1 (BSN 1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). +PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 4 + 13 = 17 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=17, TS=4) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=17, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-7): 0f 00 00 02 a0 01 04 08 0c 10 14 18 1c 20 24 28 2c 30 34 38 3c 40 44 48 4c 50 54 58 5c 60 64 68 6c 70 74 78 7c 80 84 88 8c 90 94 98 9c a0 a4 a8 ac b0 b4 b8 bc c0 c4 c8 cc d0 d4 d8 dc 80 f5 8f 93 a3 b3 c3 d3 e3 f3 03 14 24 34 44 54 64 74 84 94 a4 b4 c4 d4 e4 f4 04 15 25 35 45 55 65 75 85 95 a5 b5 c5 d5 e5 f5 05 16 26 36 b6 b2 b2 b2 b2 b2 b2 b2 b2 b2 02 @@ -5697,6 +5728,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 1 (BSN 1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). +PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 4 + 13 = 17 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=17, TS=4) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=17, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-9): 0f 00 00 02 00 01 04 08 0c 10 14 18 1c 20 24 28 2c 30 34 38 3c 40 44 48 4c 50 54 58 5c 60 64 68 6c 70 74 78 7c 80 84 88 8c 90 94 98 9c a0 a4 a8 ac b0 b4 b8 bc c0 c4 c8 cc d0 d4 d8 dc e0 e4 e8 ec f0 f4 f8 fc 00 05 09 0d 11 15 19 1d 21 25 41 f3 af b4 c4 d4 e4 f4 04 15 25 35 45 55 65 75 85 95 a5 b5 c5 d5 e5 f5 05 16 26 36 b6 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 02 @@ -6027,6 +6059,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: MCS-1 -> MCS-2 +PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654270 + 13 = 2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) start Packet Uplink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- @@ -6192,6 +6225,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: MCS-1 -> MCS-2 +PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654270 + 13 = 2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) start Packet Uplink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- @@ -6517,6 +6551,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: MCS-1 -> MCS-2 +PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654270 + 13 = 2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) start Packet Uplink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- @@ -7295,6 +7330,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) changes UL ACK state from GPRS_RLCMAC_UL_ACK_NONE to GPRS_RLCMAC_UL_ACK_SEND_ACK TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) changes UL ACK state from GPRS_RLCMAC_UL_ACK_SEND_ACK to GPRS_RLCMAC_UL_ACK_NONE Received RTS for PDCH: TRX=0 TS=7 FN=2654279 block_nr=10 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654279 + 13 = 2654292 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- diff --git a/tests/ulc/PdchUlcTest.cpp b/tests/ulc/PdchUlcTest.cpp index f0e8dd9..3372d2f 100644 --- a/tests/ulc/PdchUlcTest.cpp +++ b/tests/ulc/PdchUlcTest.cpp @@ -236,6 +236,64 @@ printf("=== end: %s ===\n", __FUNCTION__); } +static void test_next_free_fn_rrbp() +{ + printf("=== start: %s ===\n", __FUNCTION__); + struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); + struct gprs_rlcmac_pdch *pdch = &bts->trx[0].pdch[0]; + struct gprs_rlcmac_sba *sba1; + uint32_t poll_fn, curr_fn; + unsigned int rrbp; + int rc; + + rc = pdch_ulc_get_next_free_rrbp_fn(pdch->ulc, 26, &poll_fn, &rrbp); + OSMO_ASSERT(rc == 0); + OSMO_ASSERT(poll_fn == 26+13); + OSMO_ASSERT(rrbp == RRBP_N_plus_13); + + + pdch->last_rts_fn = 52; + printf("*** ALLOC 1 SBA FN=%" PRIu32 ":\n", pdch->last_rts_fn); + sba1 = sba_alloc(bts, pdch, 0); (void)sba1; + print_ulc_nodes(pdch->ulc); + curr_fn = sba1->fn - 13; + rc = pdch_ulc_get_next_free_rrbp_fn(pdch->ulc, curr_fn, &poll_fn, &rrbp); + OSMO_ASSERT(rc == 0); + printf("***NEXT FREE RRBP FN=%" PRIu32 ":\n", poll_fn); + OSMO_ASSERT(poll_fn == (curr_fn+17) || poll_fn == (curr_fn+18)); + OSMO_ASSERT(rrbp == RRBP_N_plus_17_18); + + pdch->last_rts_fn = fn_next_block(pdch->last_rts_fn); + printf("*** ALLOC 1 SBA FN=%" PRIu32 ":\n", pdch->last_rts_fn); + sba1 = sba_alloc(bts, pdch, 0); (void)sba1; + print_ulc_nodes(pdch->ulc); + rc = pdch_ulc_get_next_free_rrbp_fn(pdch->ulc, curr_fn, &poll_fn, &rrbp); + OSMO_ASSERT(rc == 0); + printf("***NEXT FREE RRBP FN=%" PRIu32 ":\n", poll_fn); + OSMO_ASSERT(poll_fn == (curr_fn+21) || poll_fn == (curr_fn+22)); + OSMO_ASSERT(rrbp == RRBP_N_plus_21_22); + + pdch->last_rts_fn = fn_next_block(pdch->last_rts_fn); + printf("*** ALLOC 1 SBA FN=%" PRIu32 ":\n", pdch->last_rts_fn); + sba1 = sba_alloc(bts, pdch, 0); (void)sba1; + print_ulc_nodes(pdch->ulc); + rc = pdch_ulc_get_next_free_rrbp_fn(pdch->ulc, curr_fn, &poll_fn, &rrbp); + OSMO_ASSERT(rc == 0); + printf("***NEXT FREE RRBP FN=%" PRIu32 ":\n", poll_fn); + OSMO_ASSERT(poll_fn == (curr_fn+26)); + OSMO_ASSERT(rrbp == RRBP_N_plus_26); + + pdch->last_rts_fn = fn_next_block(pdch->last_rts_fn); + printf("*** ALLOC 1 SBA FN=%" PRIu32 ":\n", pdch->last_rts_fn); + sba1 = sba_alloc(bts, pdch, 0); (void)sba1; + print_ulc_nodes(pdch->ulc); + rc = pdch_ulc_get_next_free_rrbp_fn(pdch->ulc, curr_fn, &poll_fn, &rrbp); + OSMO_ASSERT(rc == -EBUSY); + + talloc_free(bts); + printf("=== end: %s ===\n", __FUNCTION__); +} + int main(int argc, char **argv) { tall_pcu_ctx = talloc_named_const(NULL, 1, "pdch_ulc test context"); @@ -256,7 +314,7 @@ test_reserve_multiple(); test_fn_wrap_around(); test_next_free_fn_sba(); - + test_next_free_fn_rrbp(); talloc_free(the_pcu); return EXIT_SUCCESS; } diff --git a/tests/ulc/PdchUlcTest.err b/tests/ulc/PdchUlcTest.err index 34a090b..edc7a11 100644 --- a/tests/ulc/PdchUlcTest.err +++ b/tests/ulc/PdchUlcTest.err @@ -41,3 +41,18 @@ PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=34): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=RELEASING) PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=39 is still reserved! PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=39): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=RELEASING) +PDCH(bts=0,trx=0,ts=0) POLL scheduled at FN 26 + 13 = 39 +PDCH(bts=0,trx=0,ts=0) UL block already scheduled at FN 91 + 13 = 104 +PDCH(bts=0,trx=0,ts=0) POLL scheduled at FN 91 + 17 = 108 +PDCH(bts=0,trx=0,ts=0) UL block already scheduled at FN 91 + 13 = 104 +PDCH(bts=0,trx=0,ts=0) UL block already scheduled at FN 91 + 17 = 108 +PDCH(bts=0,trx=0,ts=0) POLL scheduled at FN 91 + 21 = 112 +PDCH(bts=0,trx=0,ts=0) UL block already scheduled at FN 91 + 13 = 104 +PDCH(bts=0,trx=0,ts=0) UL block already scheduled at FN 91 + 17 = 108 +PDCH(bts=0,trx=0,ts=0) UL block already scheduled at FN 91 + 21 = 112 +PDCH(bts=0,trx=0,ts=0) POLL scheduled at FN 91 + 26 = 117 +PDCH(bts=0,trx=0,ts=0) UL block already scheduled at FN 91 + 13 = 104 +PDCH(bts=0,trx=0,ts=0) UL block already scheduled at FN 91 + 17 = 108 +PDCH(bts=0,trx=0,ts=0) UL block already scheduled at FN 91 + 21 = 112 +PDCH(bts=0,trx=0,ts=0) UL block already scheduled at FN 91 + 26 = 117 +PDCH(bts=0,trx=0,ts=0) FN=91 Failed allocating POLL, all RRBP values are already reserved! diff --git a/tests/ulc/PdchUlcTest.ok b/tests/ulc/PdchUlcTest.ok index 5bab5cc..f61209c 100644 --- a/tests/ulc/PdchUlcTest.ok +++ b/tests/ulc/PdchUlcTest.ok @@ -256,3 +256,22 @@ FN=121 type=SBA FN=125 type=SBA === end: test_next_free_fn_sba === +=== start: test_next_free_fn_rrbp === +*** ALLOC 1 SBA FN=52: +FN=104 type=SBA +***NEXT FREE RRBP FN=108: +*** ALLOC 1 SBA FN=56: +FN=104 type=SBA +FN=108 type=SBA +***NEXT FREE RRBP FN=112: +*** ALLOC 1 SBA FN=60: +FN=104 type=SBA +FN=108 type=SBA +FN=112 type=SBA +***NEXT FREE RRBP FN=117: +*** ALLOC 1 SBA FN=65: +FN=104 type=SBA +FN=108 type=SBA +FN=112 type=SBA +FN=117 type=SBA +=== end: test_next_free_fn_rrbp === -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23522 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ic6ddeea70e1f914cf423d0daab8fc492d0c992e2 Gerrit-Change-Number: 23522 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 Mar 29 12:23:14 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 29 Mar 2021 12:23:14 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Avoid early TBF release due to N3101 in TC_multiplex_dl_gprs_egprs In-Reply-To: References: Message-ID: Hello osmith, Jenkins Builder, laforge, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23485 to look at the new patch set (#3). Change subject: pcu: Avoid early TBF release due to N3101 in TC_multiplex_dl_gprs_egprs ...................................................................... pcu: Avoid early TBF release due to N3101 in TC_multiplex_dl_gprs_egprs Also change a bit expectations, since it can actually happen that DL blocks for GPRS-only MS never signal USF for itself, which is still fine. Change-Id: Iedff87cedf55ab18b32bd0f159d1145901878203 --- M pcu/PCU_Tests.ttcn 1 file changed, 35 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/85/23485/3 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23485 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iedff87cedf55ab18b32bd0f159d1145901878203 Gerrit-Change-Number: 23485 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 29 12:23:14 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 29 Mar 2021 12:23:14 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Adapt N3101_MAX verification expectations In-Reply-To: References: Message-ID: Hello osmith, Jenkins Builder, laforge, fixeria, daniel, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23494 to look at the new patch set (#2). Change subject: pcu: Adapt N3101_MAX verification expectations ...................................................................... pcu: Adapt N3101_MAX verification expectations There's some offset between Tx and Rx path, so we need to account for differences counting and finding out USF blocks didn't arrive. Change-Id: I868e7d24c8bdc9b85797f8fe4f9ee1bc5a3d1adb --- M pcu/PCU_Tests.ttcn 1 file changed, 3 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/94/23494/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23494 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I868e7d24c8bdc9b85797f8fe4f9ee1bc5a3d1adb Gerrit-Change-Number: 23494 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 29 12:51:05 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 29 Mar 2021 12:51:05 +0000 Subject: Change in osmo-pcu[master]: Drop unused function tbf_check() References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23523 ) Change subject: Drop unused function tbf_check() ...................................................................... Drop unused function tbf_check() Change-Id: I90d75a75ae5b528c6ca7b409e60bd158d6043b35 --- M src/bts.cpp 1 file changed, 0 insertions(+), 9 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/23/23523/1 diff --git a/src/bts.cpp b/src/bts.cpp index dc4159c..fee36be 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -467,15 +467,6 @@ meas->rssi, meas->link_qual, data, len); } -static inline bool tbf_check(gprs_rlcmac_tbf *tbf, uint32_t fn, uint8_t trx_no, uint8_t ts) -{ - if (tbf->state_is_not(GPRS_RLCMAC_RELEASING) && tbf->poll_scheduled() - && tbf->poll_fn == fn && tbf->trx->trx_no == trx_no && tbf->poll_ts == ts) - return true; - - return false; -} - /* lookup downlink TBF Entity (by TFI) */ struct gprs_rlcmac_dl_tbf *bts_dl_tbf_by_tfi(struct gprs_rlcmac_bts *bts, uint8_t tfi, uint8_t trx, uint8_t ts) { -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23523 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I90d75a75ae5b528c6ca7b409e60bd158d6043b35 Gerrit-Change-Number: 23523 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 Mar 29 13:12:37 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Mon, 29 Mar 2021 13:12:37 +0000 Subject: Change in osmo-bsc[master]: fixup for neighbor config for coverity References: Message-ID: neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23524 ) Change subject: fixup for neighbor config for coverity ...................................................................... fixup for neighbor config for coverity Check against NULL pointers to allow only resolving local or only remote neighbors in resolve_neighbors(). (Though no caller exists currently that would need this feature, it is trivial and more future-safe.) Related: CID#220459 CID#220460 Change-Id: I8c2046335ec6f8a5d6b757446c98d8e630ee015f --- M src/osmo-bsc/neighbor_ident.c 1 file changed, 4 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/24/23524/1 diff --git a/src/osmo-bsc/neighbor_ident.c b/src/osmo-bsc/neighbor_ident.c index 263d410..6e70625 100644 --- a/src/osmo-bsc/neighbor_ident.c +++ b/src/osmo-bsc/neighbor_ident.c @@ -130,8 +130,10 @@ struct gsm_bts *local_neighbor = NULL; struct gsm0808_cell_id_list2 remotes = {}; - *local_neighbor_p = NULL; - *remote_neighbors = (struct gsm0808_cell_id_list2){ 0 }; + if (local_neighbor_p) + *local_neighbor_p = NULL; + if (remote_neighbors) + *remote_neighbors = (struct gsm0808_cell_id_list2){ 0 }; llist_for_each_entry(n, &from_bts->neighbors, entry) { struct gsm_bts *neigh_bts; -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23524 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8c2046335ec6f8a5d6b757446c98d8e630ee015f Gerrit-Change-Number: 23524 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 29 13:35:28 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 29 Mar 2021 13:35:28 +0000 Subject: Change in osmo-pcu[master]: pdch_ulc: Optimize rbtree FN search In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23519 ) Change subject: pdch_ulc: Optimize rbtree FN search ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23519 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I2843aedb5ce74c909bde82d29269d0f956e9a093 Gerrit-Change-Number: 23519 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 29 Mar 2021 13:35:28 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 29 13:40:22 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 29 Mar 2021 13:40:22 +0000 Subject: Change in docker-playground[master]: Check in GCC 4.8.2 based cross compiler for ARM EABI target In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23518 ) Change subject: Check in GCC 4.8.2 based cross compiler for ARM EABI target ...................................................................... Patch Set 1: > Patch Set 1: Code-Review+1 > > Some explanation on where do those patches come from would be great. Two of them I hacked myself, one googled by error somewhere. Will check again. -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23518 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Ide93843836f059a3750e92a973d0a6d9cf9a5638 Gerrit-Change-Number: 23518 Gerrit-PatchSet: 1 Gerrit-Owner: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 29 Mar 2021 13:40: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 Mon Mar 29 13:41:08 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 29 Mar 2021 13:41:08 +0000 Subject: Change in osmo-pcu[master]: Pick unreserved UL FN when allocating an SBA In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23520 ) Change subject: Pick unreserved UL FN when allocating an SBA ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23520 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I2d4e21e2307de6c17748e8da5c7e149c947a7eb9 Gerrit-Change-Number: 23520 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 29 Mar 2021 13: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 Mon Mar 29 13:45:31 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 29 Mar 2021 13:45:31 +0000 Subject: Change in osmo-pcu[master]: pdch_ulc: Support picking RRBP other than N+13 In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23522 ) Change subject: pdch_ulc: Support picking RRBP other than N+13 ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/23522/1/src/pdch_ul_controller.c File src/pdch_ul_controller.c: https://gerrit.osmocom.org/c/osmo-pcu/+/23522/1/src/pdch_ul_controller.c at 119 PS1, Line 119: static struct rrbp_opt rrbp_list[] = const? -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23522 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ic6ddeea70e1f914cf423d0daab8fc492d0c992e2 Gerrit-Change-Number: 23522 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 29 Mar 2021 13:45:31 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 29 13:45:43 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 29 Mar 2021 13:45:43 +0000 Subject: Change in osmo-pcu[master]: Drop unused function tbf_check() In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23523 ) Change subject: Drop unused function tbf_check() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23523 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I90d75a75ae5b528c6ca7b409e60bd158d6043b35 Gerrit-Change-Number: 23523 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 29 Mar 2021 13:45: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 Mar 29 13:56:23 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 29 Mar 2021 13:56:23 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Avoid early TBF release due to N3101 in TC_multiplex_dl_gprs_egprs In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23485 ) Change subject: pcu: Avoid early TBF release due to N3101 in TC_multiplex_dl_gprs_egprs ...................................................................... Patch Set 3: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23485/3/pcu/PCU_Tests.ttcn File pcu/PCU_Tests.ttcn: https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23485/3/pcu/PCU_Tests.ttcn at 3802 PS3, Line 3802: usf_ms := -1; This is a C-style approach ;) Let's rather use the power of TTCN-3: isbound(usf_ms). -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23485 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iedff87cedf55ab18b32bd0f159d1145901878203 Gerrit-Change-Number: 23485 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 29 Mar 2021 13:56:23 +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 Mar 29 13:56:48 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 29 Mar 2021 13:56:48 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Adapt N3101_MAX verification expectations In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23494 ) Change subject: pcu: Adapt N3101_MAX verification expectations ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23494 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I868e7d24c8bdc9b85797f8fe4f9ee1bc5a3d1adb Gerrit-Change-Number: 23494 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Comment-Date: Mon, 29 Mar 2021 13:56: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 Mar 29 14:02:00 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 29 Mar 2021 14:02:00 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Avoid early TBF release due to N3101 in TC_multiplex_dl_gprs_egprs In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23485 ) Change subject: pcu: Avoid early TBF release due to N3101 in TC_multiplex_dl_gprs_egprs ...................................................................... Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23485 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iedff87cedf55ab18b32bd0f159d1145901878203 Gerrit-Change-Number: 23485 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: Mon, 29 Mar 2021 14:02: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 Mar 29 14:02:02 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 29 Mar 2021 14:02:02 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Adapt N3101_MAX verification expectations In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23494 ) Change subject: pcu: Adapt N3101_MAX verification expectations ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23494 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I868e7d24c8bdc9b85797f8fe4f9ee1bc5a3d1adb Gerrit-Change-Number: 23494 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 29 Mar 2021 14:02: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 Mar 29 14:02:05 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 29 Mar 2021 14:02:05 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Avoid early TBF release due to N3101 in TC_multiplex_dl_gprs_egprs In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23485 ) Change subject: pcu: Avoid early TBF release due to N3101 in TC_multiplex_dl_gprs_egprs ...................................................................... pcu: Avoid early TBF release due to N3101 in TC_multiplex_dl_gprs_egprs Also change a bit expectations, since it can actually happen that DL blocks for GPRS-only MS never signal USF for itself, which is still fine. Change-Id: Iedff87cedf55ab18b32bd0f159d1145901878203 --- M pcu/PCU_Tests.ttcn 1 file changed, 35 insertions(+), 8 deletions(-) Approvals: fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index bea9ddd..5f60cef 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -3717,7 +3717,7 @@ var octetstring data := f_rnd_octstring(10); var RlcmacDlBlock dl_block; var integer tx_data_remain := 5; - var integer tgt_ms; + var integer tgt_ms, usf_ms; var integer ms_gprs_usf_count[num_ms] := { 0, 0 }; var integer ms_egprs_usf_count[num_ms] := { 0, 0 }; @@ -3799,6 +3799,8 @@ break; } + usf_ms := -1; + if (ischosen(dl_block.ctrl)) { setverdict(fail, "Unexpected DL CTRL block ", dl_block); f_shutdown(__BFILE__, __LINE__); @@ -3813,14 +3815,16 @@ setverdict(fail, "Signalling USF ", dl_block.data_egprs.mac_hdr.usf, " for GPRS-only MS using MCS > 4: ", dl_block); f_shutdown(__BFILE__, __LINE__); } - ms_egprs_usf_count[0] := ms_egprs_usf_count[0] + 1; + usf_ms := 0; + ms_egprs_usf_count[usf_ms] := ms_egprs_usf_count[usf_ms] + 1; } else { if (dl_block.data_egprs.mcs <= MCS_4) { setverdict(fail, "Using too-low MCS for EGPRS MS: ", dl_block.data_egprs.mcs); f_shutdown(__BFILE__, __LINE__); } if (match(dl_block.data_egprs.mac_hdr.usf, g_ms[1].ul_tbf.usf[7])) { - ms_egprs_usf_count[1] := ms_egprs_usf_count[1] + 1; + usf_ms := 1; + ms_egprs_usf_count[usf_ms] := ms_egprs_usf_count[usf_ms] + 1; } } } else { @@ -3830,9 +3834,11 @@ } tgt_ms := 0; if (match(dl_block.data.mac_hdr.mac_hdr.usf, g_ms[0].ul_tbf.usf[7])) { - ms_gprs_usf_count[0] := ms_gprs_usf_count[0] + 1; + usf_ms := 0; + ms_gprs_usf_count[usf_ms] := ms_gprs_usf_count[usf_ms] + 1; } else if (match(dl_block.data.mac_hdr.mac_hdr.usf, g_ms[1].ul_tbf.usf[7])) { - ms_gprs_usf_count[1] := ms_gprs_usf_count[1] + 1; + usf_ms := 1; + ms_gprs_usf_count[usf_ms] := ms_gprs_usf_count[usf_ms] + 1; } } @@ -3849,15 +3855,36 @@ BSSGP[0].send(ts_BSSGP_DL_UD(g_ms[1].tlli, data)); tx_data_remain := tx_data_remain - 1; } + } else if (tx_data_remain != 0) { + /* keep sending UL blocks when requested by USF to avoid + * UL TBF timeout and hence stop receival of USFs */ + if (usf_ms != -1) { + f_ms_tx_ul_data_block(g_ms[usf_ms], f_rnd_octstring(10), cv := 15); + } } } log("results: ms_gprs_usf_count=", ms_gprs_usf_count, " / ms_egprs_usf_count=", ms_egprs_usf_count); - if (ms_gprs_usf_count[0] == 0 or ms_gprs_usf_count[1] == 0 or - ms_egprs_usf_count[0] == 0 or ms_egprs_usf_count[1] == 0) { - setverdict(fail, "USF thresholds not met!"); + /* He we check that DL blocks scheduled at GPRS can still request UL + * blocks for EGPRS MS, and the other way around. Furthermore, the 2nd + * condition also ensures the downgrade to <=MCS4 condition is tested + * above */ + if (ms_gprs_usf_count[1] == 0 or ms_egprs_usf_count[0] == 0) { + setverdict(fail, "USF exchange thresholds not met!"); f_shutdown(__BFILE__, __LINE__); } + /* Here check for some level of fairness between them (at least ~40%): */ + var integer gprs_usf_cnt := ms_gprs_usf_count[0] + ms_egprs_usf_count[0]; + var integer egprs_usf_cnt := ms_gprs_usf_count[1] + ms_egprs_usf_count[1]; + var integer total_usf_cnt := gprs_usf_cnt + egprs_usf_cnt; + if (gprs_usf_cnt < total_usf_cnt * 4 / 10) { + setverdict(fail, "USF GPRS-only MS ", gprs_usf_cnt, " < ", total_usf_cnt * 4 / 10); + f_shutdown(__BFILE__, __LINE__); + } + if (egprs_usf_cnt < total_usf_cnt * 4 / 10) { + setverdict(fail, "USF EGPRS MS ", egprs_usf_cnt, " < ", total_usf_cnt * 4 / 10); + f_shutdown(__BFILE__, __LINE__); + } f_shutdown(__BFILE__, __LINE__, final := true); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23485 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Iedff87cedf55ab18b32bd0f159d1145901878203 Gerrit-Change-Number: 23485 Gerrit-PatchSet: 3 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 Mon Mar 29 14:02:06 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 29 Mar 2021 14:02:06 +0000 Subject: Change in osmo-ttcn3-hacks[master]: pcu: Adapt N3101_MAX verification expectations In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23494 ) Change subject: pcu: Adapt N3101_MAX verification expectations ...................................................................... pcu: Adapt N3101_MAX verification expectations There's some offset between Tx and Rx path, so we need to account for differences counting and finding out USF blocks didn't arrive. Change-Id: I868e7d24c8bdc9b85797f8fe4f9ee1bc5a3d1adb --- M pcu/PCU_Tests.ttcn 1 file changed, 3 insertions(+), 4 deletions(-) Approvals: fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn index 5f60cef..187e2f1 100644 --- a/pcu/PCU_Tests.ttcn +++ b/pcu/PCU_Tests.ttcn @@ -1365,12 +1365,11 @@ if (rx_usf == ms.ul_tbf.usf[valueof(nr.ts_nr)]) { log("PCU requests our USF ", rx_usf, ", n3101=", n3101); n3101 := n3101 + 1; - //"if (n3101 > N3101_MAX) {" -> start timer T3169 - if (n3101 > N3101_MAX) { - setverdict(fail, "Reached ", n3101, " > ", N3101_MAX, " (N3101_MAX) and PCU still sends us USFs"); + if (n3101 > N3101_MAX + 1) { //+1: DL<->UL FN offset + setverdict(fail, "Reached ", n3101, " > ", N3101_MAX + 1, " (N3101_MAX+1) and PCU still sends us USFs"); f_shutdown(__BFILE__, __LINE__); } - } else if (rx_usf == USF_UNUSED and n3101 == N3101_MAX) { + } else if (rx_usf == USF_UNUSED and n3101 == N3101_MAX + 1) { /* If we already received USFs for us and we don't receive them anymore, that means the TBF entered T3169 */ log("PCU stopped requesting USF ", ms.ul_tbf.usf[valueof(nr.ts_nr)]); if (not T_3169.running) { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23494 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I868e7d24c8bdc9b85797f8fe4f9ee1bc5a3d1adb Gerrit-Change-Number: 23494 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel 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 Mon Mar 29 14:04:28 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 29 Mar 2021 14:04:28 +0000 Subject: Change in osmo-pcu[master]: pdch_ulc: Support picking RRBP other than N+13 In-Reply-To: References: Message-ID: Hello Jenkins Builder, fixeria, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/23522 to look at the new patch set (#2). Change subject: pdch_ulc: Support picking RRBP other than N+13 ...................................................................... pdch_ulc: Support picking RRBP other than N+13 Current algo always tries to sched RRBP the soonest possible. Related: OS#5020 Change-Id: Ic6ddeea70e1f914cf423d0daab8fc492d0c992e2 --- M src/pcu_utils.h M src/pdch_ul_controller.c M src/pdch_ul_controller.h M tests/tbf/TbfTest.err M tests/ulc/PdchUlcTest.cpp M tests/ulc/PdchUlcTest.err M tests/ulc/PdchUlcTest.ok 7 files changed, 177 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/22/23522/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23522 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ic6ddeea70e1f914cf423d0daab8fc492d0c992e2 Gerrit-Change-Number: 23522 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 29 14:05:21 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 29 Mar 2021 14:05:21 +0000 Subject: Change in osmo-bsc[master]: fixup for neighbor config for coverity In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23524 ) Change subject: fixup for neighbor config for coverity ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23524 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8c2046335ec6f8a5d6b757446c98d8e630ee015f Gerrit-Change-Number: 23524 Gerrit-PatchSet: 1 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 29 Mar 2021 14:05: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 Mar 29 17:31:01 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 29 Mar 2021 17:31:01 +0000 Subject: Change in osmo-pcu[master]: pdch_ulc: Store TBF poll reason References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23525 ) Change subject: pdch_ulc: Store TBF poll reason ...................................................................... pdch_ulc: Store TBF poll reason This allows easily checking the initial reason to trigger the poll when either it is received or times out. Later on this reason can be transformed into an FSM event and sent to the related FSM. Related: OS#5020 Change-Id: Ie8fefd1f47ad674ce597a8065b15284088956bde --- M src/nacc_fsm.c M src/pdch.cpp M src/pdch_ul_controller.c M src/pdch_ul_controller.h M src/tbf.cpp M src/tbf.h M src/tbf_dl.cpp M src/tbf_ul.cpp M src/tbf_ul.h M tests/ulc/PdchUlcTest.cpp 10 files changed, 48 insertions(+), 43 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/25/23525/1 diff --git a/src/nacc_fsm.c b/src/nacc_fsm.c index df7cd7d..6384fd5 100644 --- a/src/nacc_fsm.c +++ b/src/nacc_fsm.c @@ -206,7 +206,7 @@ LOGP(DNACC, LOGL_DEBUG, "------------------------- TX : Packet Cell Change Continue -------------------------\n"); rate_ctr_inc(&bts_rate_counters(ms->bts)->ctr[CTR_PKT_CELL_CHG_CONTINUE]); talloc_free(mac_control_block); - tbf_set_polling(tbf, *new_poll_fn, data->ts, GPRS_RLCMAC_POLL_CELL_CHG_CONTINUE); + tbf_set_polling(tbf, *new_poll_fn, data->ts, PDCH_ULC_POLL_CELL_CHG_CONTINUE); return msg; free_ret: diff --git a/src/pdch.cpp b/src/pdch.cpp index 45c7c98..22bac0b 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -306,6 +306,7 @@ uint32_t tlli = packet->TLLI; GprsMs *ms = bts_ms_by_tlli(bts(), tlli, GSM_RESERVED_TMSI); gprs_rlcmac_ul_tbf *ul_tbf; + enum pdch_ulc_tbf_poll_reason reason; struct pdch_ulc_node *poll; poll = pdch_ulc_get_node(ulc, fn); @@ -325,6 +326,7 @@ return; } tbf = poll->tbf_poll.poll_tbf; + reason = poll->tbf_poll.reason; /* Reset N3101 counter: */ tbf->n_reset(N3101); @@ -337,7 +339,7 @@ /* check if this control ack belongs to packet uplink ack */ ul_tbf = as_ul_tbf(tbf); - if (ul_tbf && ul_tbf->handle_ctrl_ack()) { + if (ul_tbf && ul_tbf->handle_ctrl_ack(reason)) { LOGPTBF(tbf, LOGL_DEBUG, "[UPLINK] END\n"); if (ul_tbf->ctrl_ack_to_toggle()) LOGPTBF(tbf, LOGL_NOTICE, "Recovered uplink ack for UL\n"); diff --git a/src/pdch_ul_controller.c b/src/pdch_ul_controller.c index 6848d97..8fb5582 100644 --- a/src/pdch_ul_controller.c +++ b/src/pdch_ul_controller.c @@ -220,11 +220,12 @@ return pdch_ulc_add_node(ulc, item); } -int pdch_ulc_reserve_tbf_poll(struct pdch_ulc *ulc, uint32_t fn, struct gprs_rlcmac_tbf *tbf) +int pdch_ulc_reserve_tbf_poll(struct pdch_ulc *ulc, uint32_t fn, struct gprs_rlcmac_tbf *tbf, enum pdch_ulc_tbf_poll_reason reason) { struct pdch_ulc_node *item = _alloc_node(ulc, fn); item->type = PDCH_ULC_NODE_TBF_POLL; item->tbf_poll.poll_tbf = tbf; + item->tbf_poll.reason = reason; return pdch_ulc_add_node(ulc, item); } @@ -317,7 +318,7 @@ LOGPDCH(ulc->pdch, DRLCMAC, LOGL_NOTICE, "Timeout for registered POLL (FN=%u): %s\n", item->fn, tbf_name(item->tbf_poll.poll_tbf)); - tbf_poll_timeout(item->tbf_poll.poll_tbf); + tbf_poll_timeout(item->tbf_poll.poll_tbf, item->tbf_poll.reason); break; case PDCH_ULC_NODE_SBA: sba = item->sba.sba; diff --git a/src/pdch_ul_controller.h b/src/pdch_ul_controller.h index d5fea4d..ff60d2f 100644 --- a/src/pdch_ul_controller.h +++ b/src/pdch_ul_controller.h @@ -52,6 +52,14 @@ }; extern const struct value_string pdch_ul_node_names[]; +enum pdch_ulc_tbf_poll_reason { + PDCH_ULC_POLL_UL_ASS, /* Expect CTRL ACK for UL ASS we transmit */ + PDCH_ULC_POLL_DL_ASS, /* Expect CTRL ACK for DL ASS we transmit */ + PDCH_ULC_POLL_UL_ACK, /* Expect CTRL ACK for UL ACK/NACK we transmit */ + PDCH_ULC_POLL_DL_ACK, /* Expect DL ACK/NACK requested by RRBP */ + PDCH_ULC_POLL_CELL_CHG_CONTINUE, /* Expect CTRL ACK for Pkt cell Change Continue we transmit */ +}; + struct pdch_ulc_node { struct rb_node node; /*! entry in pdch_ulc->tree_root */ uint32_t fn; @@ -62,6 +70,7 @@ } tbf_usf; struct { struct gprs_rlcmac_tbf *poll_tbf; + enum pdch_ulc_tbf_poll_reason reason; } tbf_poll; struct { struct gprs_rlcmac_sba *sba; @@ -73,7 +82,7 @@ struct pdch_ulc *pdch_ulc_alloc(struct gprs_rlcmac_pdch *pdch, void *ctx); int pdch_ulc_reserve_tbf_usf(struct pdch_ulc *ulc, uint32_t fn, struct gprs_rlcmac_ul_tbf *ul_tbf); -int pdch_ulc_reserve_tbf_poll(struct pdch_ulc *ulc, uint32_t fn, struct gprs_rlcmac_tbf *tbf); +int pdch_ulc_reserve_tbf_poll(struct pdch_ulc *ulc, uint32_t fn, struct gprs_rlcmac_tbf *tbf, enum pdch_ulc_tbf_poll_reason reason); int pdch_ulc_reserve_sba(struct pdch_ulc *ulc, struct gprs_rlcmac_sba *sba); bool pdch_ulc_fn_is_free(struct pdch_ulc *ulc, uint32_t fn); diff --git a/src/tbf.cpp b/src/tbf.cpp index a24f536..860b877 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -572,7 +572,7 @@ return 0; } -void gprs_rlcmac_tbf::set_polling(uint32_t new_poll_fn, uint8_t ts, enum gprs_rlcmac_tbf_poll_type t) +void gprs_rlcmac_tbf::set_polling(uint32_t new_poll_fn, uint8_t ts, enum pdch_ulc_tbf_poll_reason reason) { const char *chan = "UNKNOWN"; @@ -588,7 +588,7 @@ chan, new_poll_fn, ts); /* schedule polling */ - if (pdch_ulc_reserve_tbf_poll(trx->pdch[ts].ulc, new_poll_fn, this) < 0) { + if (pdch_ulc_reserve_tbf_poll(trx->pdch[ts].ulc, new_poll_fn, this, reason) < 0) { LOGPTBFDL(this, LOGL_ERROR, "Failed scheduling poll on %s (FN=%d, TS=%d)\n", chan, poll_fn, ts); return; @@ -597,37 +597,37 @@ poll_fn = new_poll_fn; poll_ts = ts; - switch (t) { - case GPRS_RLCMAC_POLL_UL_ASS: + switch (reason) { + case PDCH_ULC_POLL_UL_ASS: ul_ass_state = GPRS_RLCMAC_UL_ASS_WAIT_ACK; LOGPTBFDL(this, LOGL_INFO, "Scheduled UL Assignment polling on %s (FN=%d, TS=%d)\n", chan, poll_fn, poll_ts); break; - case GPRS_RLCMAC_POLL_DL_ASS: + case PDCH_ULC_POLL_DL_ASS: dl_ass_state = GPRS_RLCMAC_DL_ASS_WAIT_ACK; LOGPTBFDL(this, LOGL_INFO, "Scheduled DL Assignment polling on %s (FN=%d, TS=%d)\n", chan, poll_fn, poll_ts); break; - case GPRS_RLCMAC_POLL_UL_ACK: + case PDCH_ULC_POLL_UL_ACK: ul_ack_state = GPRS_RLCMAC_UL_ACK_WAIT_ACK; LOGPTBFUL(this, LOGL_DEBUG, "Scheduled UL Acknowledgement polling on %s (FN=%d, TS=%d)\n", chan, poll_fn, poll_ts); break; - case GPRS_RLCMAC_POLL_DL_ACK: + case PDCH_ULC_POLL_DL_ACK: LOGPTBFDL(this, LOGL_DEBUG, "Scheduled DL Acknowledgement polling on %s (FN=%d, TS=%d)\n", chan, poll_fn, poll_ts); break; - case GPRS_RLCMAC_POLL_CELL_CHG_CONTINUE: + case PDCH_ULC_POLL_CELL_CHG_CONTINUE: LOGPTBFDL(this, LOGL_DEBUG, "Scheduled 'Packet Cell Change Continue' polling on %s (FN=%d, TS=%d)\n", chan, poll_fn, poll_ts); break; } } -void gprs_rlcmac_tbf::poll_timeout() +void gprs_rlcmac_tbf::poll_timeout(enum pdch_ulc_tbf_poll_reason reason) { uint16_t pgroup; gprs_rlcmac_ul_tbf *ul_tbf = as_ul_tbf(this); @@ -637,7 +637,7 @@ poll_state = GPRS_RLCMAC_POLL_NONE; - if (ul_tbf && ul_tbf->handle_ctrl_ack()) { + if (ul_tbf && ul_tbf->handle_ctrl_ack(reason)) { if (!ul_tbf->ctrl_ack_to_toggle()) { LOGPTBF(this, LOGL_NOTICE, "Timeout for polling PACKET CONTROL ACK for PACKET UPLINK ACK: %s\n", @@ -945,7 +945,7 @@ bts_do_rate_ctr_inc(bts, CTR_PKT_DL_ASSIGNMENT); if (poll_ass_dl) { - set_polling(new_poll_fn, ts, GPRS_RLCMAC_POLL_DL_ASS); + set_polling(new_poll_fn, ts, PDCH_ULC_POLL_DL_ASS); } else { dl_ass_state = GPRS_RLCMAC_DL_ASS_NONE; TBF_SET_STATE(new_dl_tbf, GPRS_RLCMAC_FLOW); @@ -1048,7 +1048,7 @@ LOGP(DTBF, LOGL_DEBUG, "------------------------- TX : Packet Uplink Assignment -------------------------\n"); bts_do_rate_ctr_inc(bts, CTR_PKT_UL_ASSIGNMENT); - set_polling(new_poll_fn, ts, GPRS_RLCMAC_POLL_UL_ASS); + set_polling(new_poll_fn, ts, PDCH_ULC_POLL_UL_ASS); talloc_free(mac_control_block); return msg; @@ -1222,12 +1222,12 @@ return tbf->check_polling(fn, ts, poll_fn, rrbp); } -void tbf_set_polling(struct gprs_rlcmac_tbf *tbf, uint32_t new_poll_fn, uint8_t ts, enum gprs_rlcmac_tbf_poll_type t) +void tbf_set_polling(struct gprs_rlcmac_tbf *tbf, uint32_t new_poll_fn, uint8_t ts, enum pdch_ulc_tbf_poll_reason t) { return tbf->set_polling(new_poll_fn, ts, t); } -void tbf_poll_timeout(struct gprs_rlcmac_tbf *tbf) +void tbf_poll_timeout(struct gprs_rlcmac_tbf *tbf, enum pdch_ulc_tbf_poll_reason reason) { - tbf->poll_timeout(); + tbf->poll_timeout(reason); } diff --git a/src/tbf.h b/src/tbf.h index 779bc26..83c1b70 100644 --- a/src/tbf.h +++ b/src/tbf.h @@ -46,6 +46,7 @@ #include #include "coding_scheme.h" +#include #ifdef __cplusplus } #endif @@ -63,14 +64,6 @@ GPRS_RLCMAC_RELEASING, /* releasing, wait to free TBI/USF */ }; -enum gprs_rlcmac_tbf_poll_type { - GPRS_RLCMAC_POLL_UL_ASS, - GPRS_RLCMAC_POLL_DL_ASS, - GPRS_RLCMAC_POLL_UL_ACK, - GPRS_RLCMAC_POLL_DL_ACK, - GPRS_RLCMAC_POLL_CELL_CHG_CONTINUE, -}; - enum gprs_rlcmac_tbf_poll_state { GPRS_RLCMAC_POLL_NONE = 0, GPRS_RLCMAC_POLL_SCHED, /* a polling was scheduled */ @@ -208,8 +201,8 @@ uint8_t tbf_tfi(const struct gprs_rlcmac_tbf *tbf); int tbf_assign_control_ts(struct gprs_rlcmac_tbf *tbf); int tbf_check_polling(const struct gprs_rlcmac_tbf *tbf, uint32_t fn, uint8_t ts, uint32_t *poll_fn, unsigned int *rrbp); -void tbf_set_polling(struct gprs_rlcmac_tbf *tbf, uint32_t new_poll_fn, uint8_t ts, enum gprs_rlcmac_tbf_poll_type t); -void tbf_poll_timeout(struct gprs_rlcmac_tbf *tbf); +void tbf_set_polling(struct gprs_rlcmac_tbf *tbf, uint32_t new_poll_fn, uint8_t ts, enum pdch_ulc_tbf_poll_reason t); +void tbf_poll_timeout(struct gprs_rlcmac_tbf *tbf, enum pdch_ulc_tbf_poll_reason reason); #ifdef __cplusplus } #endif @@ -267,8 +260,8 @@ int check_polling(uint32_t fn, uint8_t ts, uint32_t *poll_fn, unsigned int *rrbp) const; - void set_polling(uint32_t poll_fn, uint8_t ts, enum gprs_rlcmac_tbf_poll_type t); - void poll_timeout(); + void set_polling(uint32_t poll_fn, uint8_t ts, enum pdch_ulc_tbf_poll_reason reason); + void poll_timeout(enum pdch_ulc_tbf_poll_reason reason); /** tlli handling */ uint32_t tlli() const; diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index 44baa00..a59b03b 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -975,7 +975,7 @@ rc = check_polling(fn, ts, &new_poll_fn, &rrbp); if (rc >= 0) { - set_polling(new_poll_fn, ts, GPRS_RLCMAC_POLL_DL_ACK); + set_polling(new_poll_fn, ts, PDCH_ULC_POLL_DL_ACK); m_tx_counter = 0; /* start timer whenever we send the final block */ diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index ba491f6..063d0ff 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -275,10 +275,10 @@ return false; /* GPRS_RLCMAC_FLAG_TO_UL_ACK was unset, now set */ } -bool gprs_rlcmac_ul_tbf::handle_ctrl_ack() +bool gprs_rlcmac_ul_tbf::handle_ctrl_ack(enum pdch_ulc_tbf_poll_reason reason) { /* check if this control ack belongs to packet uplink ack */ - if (ul_ack_state_is(GPRS_RLCMAC_UL_ACK_WAIT_ACK)) { + if (reason == PDCH_ULC_POLL_UL_ACK && ul_ack_state_is(GPRS_RLCMAC_UL_ACK_WAIT_ACK)) { TBF_SET_ACK_STATE(this, GPRS_RLCMAC_UL_ACK_NONE); return true; } @@ -324,7 +324,7 @@ m_contention_resolution_done = 1; if (final) { - set_polling(new_poll_fn, ts, GPRS_RLCMAC_POLL_UL_ACK); + set_polling(new_poll_fn, ts, PDCH_ULC_POLL_UL_ACK); /* waiting for final acknowledge */ m_final_ack_sent = 1; } else diff --git a/src/tbf_ul.h b/src/tbf_ul.h index e3de1da..a2ad25e 100644 --- a/src/tbf_ul.h +++ b/src/tbf_ul.h @@ -57,7 +57,7 @@ gprs_rlc_window *window(); struct msgb *create_ul_ack(uint32_t fn, uint8_t ts); bool ctrl_ack_to_toggle(); - bool handle_ctrl_ack(); + bool handle_ctrl_ack(enum pdch_ulc_tbf_poll_reason reason); /* blocks were acked */ int rcv_data_block_acknowledged( const struct gprs_rlc_data_info *rlc, diff --git a/tests/ulc/PdchUlcTest.cpp b/tests/ulc/PdchUlcTest.cpp index 3372d2f..84035d1 100644 --- a/tests/ulc/PdchUlcTest.cpp +++ b/tests/ulc/PdchUlcTest.cpp @@ -88,16 +88,16 @@ node = pdch_ulc_get_node(pdch->ulc, sba2->fn); OSMO_ASSERT(node->type == PDCH_ULC_NODE_SBA && node->sba.sba == sba2); - rc = pdch_ulc_reserve_tbf_poll(pdch->ulc, sba1->fn, tbf1); + rc = pdch_ulc_reserve_tbf_poll(pdch->ulc, sba1->fn, tbf1, PDCH_ULC_POLL_UL_ASS); OSMO_ASSERT(rc == -EEXIST); OSMO_ASSERT(pdch_ulc_get_tbf_poll(pdch->ulc, sba1->fn) == NULL); - rc = pdch_ulc_reserve_tbf_poll(pdch->ulc, sba2->fn, tbf1); + rc = pdch_ulc_reserve_tbf_poll(pdch->ulc, sba2->fn, tbf1, PDCH_ULC_POLL_UL_ASS); OSMO_ASSERT(rc == -EEXIST); OSMO_ASSERT(pdch_ulc_get_tbf_poll(pdch->ulc, sba2->fn) == NULL); /* Now Reserve correctly TBF1 */ OSMO_ASSERT(pdch_ulc_fn_is_free(pdch->ulc, tbf1_poll_fn1) == true); - rc = pdch_ulc_reserve_tbf_poll(pdch->ulc, tbf1_poll_fn1, tbf1); + rc = pdch_ulc_reserve_tbf_poll(pdch->ulc, tbf1_poll_fn1, tbf1, PDCH_ULC_POLL_UL_ASS); OSMO_ASSERT(rc == 0); OSMO_ASSERT(pdch_ulc_get_tbf_poll(pdch->ulc, tbf1_poll_fn1) == tbf1); OSMO_ASSERT(pdch_ulc_fn_is_free(pdch->ulc, tbf1_poll_fn1) == false); @@ -107,7 +107,7 @@ /* Now reserve correctly TBF2 */ OSMO_ASSERT(pdch_ulc_fn_is_free(pdch->ulc, tbf2_poll_fn1) == true); - rc = pdch_ulc_reserve_tbf_poll(pdch->ulc, tbf2_poll_fn1, tbf2); + rc = pdch_ulc_reserve_tbf_poll(pdch->ulc, tbf2_poll_fn1, tbf2, PDCH_ULC_POLL_UL_ASS); OSMO_ASSERT(rc == 0); OSMO_ASSERT(pdch_ulc_get_tbf_poll(pdch->ulc, tbf2_poll_fn1) == tbf2); OSMO_ASSERT(pdch_ulc_fn_is_free(pdch->ulc, tbf2_poll_fn1) == false); @@ -117,7 +117,7 @@ /* Now Reserve TBF1 for POLL again on a later FN, which is totally expected: */ OSMO_ASSERT(pdch_ulc_fn_is_free(pdch->ulc, tbf1_poll_fn2) == true); - rc = pdch_ulc_reserve_tbf_poll(pdch->ulc, tbf1_poll_fn2, tbf1); + rc = pdch_ulc_reserve_tbf_poll(pdch->ulc, tbf1_poll_fn2, tbf1, PDCH_ULC_POLL_UL_ASS); OSMO_ASSERT(rc == 0); OSMO_ASSERT(pdch_ulc_get_tbf_poll(pdch->ulc, tbf1_poll_fn2) == tbf1); OSMO_ASSERT(pdch_ulc_fn_is_free(pdch->ulc, tbf1_poll_fn2) == false); @@ -182,7 +182,7 @@ fn = start_fn; while (fn < 40 || fn >= start_fn) { printf("*** RESERVE FN=%" PRIu32 ":\n", fn); - rc = pdch_ulc_reserve_tbf_poll(pdch->ulc, fn, tbf1); + rc = pdch_ulc_reserve_tbf_poll(pdch->ulc, fn, tbf1, PDCH_ULC_POLL_UL_ASS); OSMO_ASSERT(rc == 0); print_ulc_nodes(pdch->ulc); fn = fn_next_block(fn); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23525 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie8fefd1f47ad674ce597a8065b15284088956bde Gerrit-Change-Number: 23525 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 Mar 29 17:31:02 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 29 Mar 2021 17:31:02 +0000 Subject: Change in osmo-pcu[master]: tbf: Get rid of unneeded poll_scheduled() References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23526 ) Change subject: tbf: Get rid of unneeded poll_scheduled() ...................................................................... tbf: Get rid of unneeded poll_scheduled() This API is not really needed anymore, since anyway it works under the assumption there can only be 1 POLL in transit per TBF, which isn't necessarily true. Change-Id: I875f51cade95faeb2d79dcebfead4c83e23a731b --- M src/tbf.h M src/tbf_dl.cpp M src/tbf_ul.cpp M tests/tbf/TbfTest.err 4 files changed, 105 insertions(+), 114 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/26/23526/1 diff --git a/src/tbf.h b/src/tbf.h index 83c1b70..5064216 100644 --- a/src/tbf.h +++ b/src/tbf.h @@ -221,7 +221,6 @@ bool dl_ass_state_is(enum gprs_rlcmac_tbf_dl_ass_state rhs) const; bool ul_ass_state_is(enum gprs_rlcmac_tbf_ul_ass_state rhs) const; bool ul_ack_state_is(enum gprs_rlcmac_tbf_ul_ack_state rhs) const; - bool poll_scheduled() const; void set_state(enum gprs_rlcmac_tbf_state new_state, const char *file, int line); void set_ass_state_dl(enum gprs_rlcmac_tbf_dl_ass_state new_state, const char *file, int line); void set_ass_state_ul(enum gprs_rlcmac_tbf_ul_ass_state new_state, const char *file, int line); @@ -381,11 +380,6 @@ return ul_ack_state == rhs; } -inline bool gprs_rlcmac_tbf::poll_scheduled() const -{ - return poll_state == GPRS_RLCMAC_POLL_SCHED; -} - inline bool gprs_rlcmac_tbf::state_is_not(enum gprs_rlcmac_tbf_state rhs) const { return state != rhs; diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index a59b03b..ba5c651 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -1321,9 +1321,6 @@ bool gprs_rlcmac_dl_tbf::need_control_ts() const { - if (poll_scheduled()) - return false; - return state_flags & (1 << GPRS_RLCMAC_FLAG_TO_DL_ACK) || m_tx_counter >= POLL_ACK_AFTER_FRAMES || m_dl_ack_requested; diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index 063d0ff..ff291ef 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -295,7 +295,7 @@ uint32_t new_poll_fn = 0; if (final) { - if (poll_scheduled() && ul_ack_state_is(GPRS_RLCMAC_UL_ACK_WAIT_ACK)) { + if (ul_ack_state_is(GPRS_RLCMAC_UL_ACK_WAIT_ACK)) { LOGPTBFUL(this, LOGL_DEBUG, "Polling is already scheduled, so we must wait for the final uplink ack...\n"); return NULL; diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index 76800b5..e3b30c0 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -415,7 +415,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying data unit 0 (BSN 19) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) msg block (BSN 19, CS-1): 07 00 27 b2 b3 b4 b5 b6 b7 b8 b9 ba bb bc bd be bf c0 c1 c2 c3 c4 c5 -PDCH(bts=0,trx=0,ts=4) FN=91 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=91 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==0 .. V(S)==20) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new block at BSN 20, CS=CS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Complete DL frame, len=200 @@ -432,7 +432,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) ack: (BSN=85)"RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR"(BSN=20) R=ACK I=NACK TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) DL analysis, range=0:21, lost=0, recv=21, skipped=0, bsn=0, info='RRRRRRRRRRRRRRRRRRRRR...........................................' TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) V(B): (V(A)=21)""(V(S)-1=20) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid -PDCH(bts=0,trx=0,ts=4) FN=95 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=95 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==21 .. V(S)==21) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new dummy block at BSN 21, CS=CS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Empty chunk, added LLC dummy command of size 19, drained_since=4 @@ -449,7 +449,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) ack: (BSN=86)"RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR"(BSN=21) R=ACK I=NACK TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) DL analysis, range=21:22, lost=0, recv=1, skipped=0, bsn=21, info='R...............................................................' TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) V(B): (V(A)=22)""(V(S)-1=21) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid -PDCH(bts=0,trx=0,ts=4) FN=203 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=203 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==22 .. V(S)==22) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new dummy block at BSN 22, CS=CS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Empty chunk, added LLC dummy command of size 19, drained_since=112 @@ -3616,7 +3616,7 @@ Detected FN jump! 2654167 -> 8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 512 bytes Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 1, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=512) @@ -3627,7 +3627,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 1, MCS-1): 07 40 00 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 2, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 2, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3637,7 +3637,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 2, MCS-1): 07 80 00 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=17 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=17 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==3) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 3, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 3, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3647,7 +3647,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 3, MCS-1): 07 c0 00 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=21 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=21 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==4) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 4, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 4, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3657,7 +3657,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 4, MCS-1): 07 00 01 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=26 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=26 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==5) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 5, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 5, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3667,7 +3667,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 5, MCS-1): 07 40 01 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=30 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=30 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==6) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 6, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 6, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3677,7 +3677,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 6, MCS-1): 07 80 01 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=34 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=34 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==7) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 7, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 7, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3687,7 +3687,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 7, MCS-1): 07 c0 01 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=39 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=39 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==8) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 8, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 8, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3697,7 +3697,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 8, MCS-1): 07 00 02 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=43 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=43 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==9) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 9, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 9, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3707,7 +3707,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 9, MCS-1): 07 40 02 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=47 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=47 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==10) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 10, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 10, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3717,7 +3717,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 10, MCS-1): 07 80 02 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=52 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=52 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==11) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 11, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 11, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3727,7 +3727,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 11, MCS-1): 07 c0 02 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=56 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=56 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==12) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 12, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 12, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3737,7 +3737,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 12, MCS-1): 07 00 03 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=60 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=60 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==13) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 13, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 13, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3747,7 +3747,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 13, MCS-1): 07 40 03 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=65 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=65 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==14) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 14, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 14, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3757,7 +3757,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 14, MCS-1): 07 80 03 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=69 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=69 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==15) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 15, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 15, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3767,7 +3767,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 15, MCS-1): 07 c0 03 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=73 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=73 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==16) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 16, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 16, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3777,7 +3777,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 16, MCS-1): 07 00 04 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=78 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=78 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==17) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 17, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 17, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3787,7 +3787,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 17, MCS-1): 07 40 04 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=82 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=82 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==18) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 18, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 18, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3797,7 +3797,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 18, MCS-1): 07 80 04 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=86 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=86 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==19) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 19, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 19, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3807,7 +3807,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 19, MCS-1): 07 c0 04 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=91 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=91 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==20) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 20, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 20, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3817,7 +3817,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 20, MCS-1): 07 00 05 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=95 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=95 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==21) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 21, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 21, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3827,7 +3827,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 21, MCS-1): 07 40 05 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=99 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=99 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==22) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 22, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 22, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3837,7 +3837,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 22, MCS-1): 07 80 05 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=104 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=104 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==23) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 23, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 23, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3847,7 +3847,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 23, MCS-1): 07 c0 05 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=108 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=108 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==24) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 24, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=512 @@ -3930,7 +3930,7 @@ Detected FN jump! 112 -> 8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 512 bytes Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 1, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=512) @@ -3941,7 +3941,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 1, MCS-2): 07 40 00 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 2, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 2, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3951,7 +3951,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 2, MCS-2): 07 80 00 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=17 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=17 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==3) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 3, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 3, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3961,7 +3961,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 3, MCS-2): 07 c0 00 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=21 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=21 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==4) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 4, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 4, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3971,7 +3971,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 4, MCS-2): 07 00 01 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=26 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=26 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==5) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 5, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 5, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3981,7 +3981,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 5, MCS-2): 07 40 01 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=30 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=30 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==6) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 6, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 6, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -3991,7 +3991,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 6, MCS-2): 07 80 01 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=34 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=34 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==7) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 7, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 7, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4001,7 +4001,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 7, MCS-2): 07 c0 01 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=39 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=39 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==8) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 8, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 8, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4011,7 +4011,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 8, MCS-2): 07 00 02 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=43 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=43 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==9) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 9, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 9, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4021,7 +4021,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 9, MCS-2): 07 40 02 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=47 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=47 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==10) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 10, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 10, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4031,7 +4031,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 10, MCS-2): 07 80 02 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=52 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=52 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==11) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 11, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 11, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4041,7 +4041,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 11, MCS-2): 07 c0 02 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=56 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=56 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==12) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 12, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 12, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4051,7 +4051,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 12, MCS-2): 07 00 03 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=60 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=60 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==13) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 13, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 13, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4061,7 +4061,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 13, MCS-2): 07 40 03 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=65 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=65 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==14) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 14, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 14, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4071,7 +4071,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 14, MCS-2): 07 80 03 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=69 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=69 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==15) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 15, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 15, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4081,7 +4081,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 15, MCS-2): 07 c0 03 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=73 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=73 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==16) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 16, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 16, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4091,7 +4091,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 16, MCS-2): 07 00 04 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=78 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=78 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==17) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 17, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 17, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4101,7 +4101,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 17, MCS-2): 07 40 04 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=82 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=82 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==18) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 18, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 18, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4111,7 +4111,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 18, MCS-2): 07 80 04 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=86 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=86 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==19) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 19, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=512 @@ -4194,7 +4194,7 @@ Detected FN jump! 91 -> 8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 512 bytes Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 1, CS=MCS-3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=512) @@ -4205,7 +4205,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 1, MCS-3): 07 40 00 86 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 2, CS=MCS-3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 2, MCS-3): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4215,7 +4215,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 2, MCS-3): 07 80 00 86 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=17 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=17 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==3) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 3, CS=MCS-3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 3, MCS-3): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4225,7 +4225,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 3, MCS-3): 07 c0 00 86 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=21 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=21 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==4) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 4, CS=MCS-3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 4, MCS-3): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4235,7 +4235,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 4, MCS-3): 07 00 01 86 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=26 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=26 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==5) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 5, CS=MCS-3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 5, MCS-3): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4245,7 +4245,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 5, MCS-3): 07 40 01 86 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=30 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=30 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==6) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 6, CS=MCS-3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 6, MCS-3): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4255,7 +4255,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 6, MCS-3): 07 80 01 86 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=34 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=34 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==7) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 7, CS=MCS-3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 7, MCS-3): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4265,7 +4265,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 7, MCS-3): 07 c0 01 86 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=39 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=39 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==8) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 8, CS=MCS-3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 8, MCS-3): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4275,7 +4275,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 8, MCS-3): 07 00 02 86 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=43 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=43 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==9) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 9, CS=MCS-3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 9, MCS-3): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4285,7 +4285,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 9, MCS-3): 07 40 02 86 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=47 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=47 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==10) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 10, CS=MCS-3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 10, MCS-3): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4295,7 +4295,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 10, MCS-3): 07 80 02 86 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=52 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=52 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==11) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 11, CS=MCS-3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 11, MCS-3): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4305,7 +4305,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 11, MCS-3): 07 c0 02 86 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=56 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=56 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==12) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 12, CS=MCS-3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 12, MCS-3): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4315,7 +4315,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 12, MCS-3): 07 00 03 86 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=60 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=60 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==13) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 13, CS=MCS-3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 13, MCS-3): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4325,7 +4325,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 13, MCS-3): 07 40 03 86 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=65 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=65 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==14) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 14, CS=MCS-3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=512 @@ -4408,7 +4408,7 @@ Detected FN jump! 69 -> 8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 512 bytes Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 1, CS=MCS-4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=512) @@ -4419,7 +4419,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 1, MCS-4): 07 40 00 80 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 2, CS=MCS-4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 2, MCS-4): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4429,7 +4429,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 2, MCS-4): 07 80 00 80 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=17 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=17 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==3) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 3, CS=MCS-4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 3, MCS-4): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4439,7 +4439,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 3, MCS-4): 07 c0 00 80 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=21 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=21 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==4) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 4, CS=MCS-4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 4, MCS-4): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4449,7 +4449,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 4, MCS-4): 07 00 01 80 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=26 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=26 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==5) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 5, CS=MCS-4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 5, MCS-4): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4459,7 +4459,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 5, MCS-4): 07 40 01 80 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=30 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=30 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==6) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 6, CS=MCS-4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 6, MCS-4): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4469,7 +4469,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 6, MCS-4): 07 80 01 80 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=34 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=34 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==7) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 7, CS=MCS-4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 7, MCS-4): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4479,7 +4479,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 7, MCS-4): 07 c0 01 80 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=39 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=39 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==8) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 8, CS=MCS-4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 8, MCS-4): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4489,7 +4489,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 8, MCS-4): 07 00 02 80 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=43 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=43 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==9) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 9, CS=MCS-4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 9, MCS-4): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4499,7 +4499,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 9, MCS-4): 07 40 02 80 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=47 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=47 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==10) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 10, CS=MCS-4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 10, MCS-4): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4509,7 +4509,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 10, MCS-4): 07 80 02 80 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=52 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=52 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==11) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 11, CS=MCS-4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 11, MCS-4): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4519,7 +4519,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 11, MCS-4): 07 c0 02 80 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=56 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=56 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==12) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 12, CS=MCS-4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=512 @@ -4602,7 +4602,7 @@ Detected FN jump! 60 -> 8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 512 bytes Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 1, CS=MCS-5 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=512) @@ -4613,7 +4613,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 1, MCS-5): 07 40 00 58 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 -PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 2, CS=MCS-5 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 2, MCS-5): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4623,7 +4623,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 2, MCS-5): 07 80 00 58 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 -PDCH(bts=0,trx=0,ts=4) FN=17 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=17 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==3) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 3, CS=MCS-5 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 3, MCS-5): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4633,7 +4633,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 3, MCS-5): 07 c0 00 58 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 -PDCH(bts=0,trx=0,ts=4) FN=21 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=21 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==4) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 4, CS=MCS-5 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 4, MCS-5): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4643,7 +4643,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 4, MCS-5): 07 00 01 58 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 -PDCH(bts=0,trx=0,ts=4) FN=26 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=26 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==5) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 5, CS=MCS-5 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 5, MCS-5): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4653,7 +4653,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 5, MCS-5): 07 40 01 58 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 -PDCH(bts=0,trx=0,ts=4) FN=30 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=30 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==6) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 6, CS=MCS-5 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 6, MCS-5): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4663,7 +4663,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 6, MCS-5): 07 80 01 58 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 -PDCH(bts=0,trx=0,ts=4) FN=34 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=34 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==7) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 7, CS=MCS-5 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 7, MCS-5): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4673,7 +4673,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 7, MCS-5): 07 c0 01 58 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 -PDCH(bts=0,trx=0,ts=4) FN=39 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=39 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==8) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 8, CS=MCS-5 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 8, MCS-5): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4683,7 +4683,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 8, MCS-5): 07 00 02 58 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 -PDCH(bts=0,trx=0,ts=4) FN=43 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=43 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==9) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 9, CS=MCS-5 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 9, MCS-5): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4693,7 +4693,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 9, MCS-5): 07 40 02 58 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 -PDCH(bts=0,trx=0,ts=4) FN=47 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=47 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==10) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 10, CS=MCS-5 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=512 @@ -4776,7 +4776,7 @@ Detected FN jump! 52 -> 8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 512 bytes Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 1, CS=MCS-6 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=512) @@ -4787,7 +4787,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 1, MCS-6): 07 40 00 50 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 -PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 2, CS=MCS-6 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 2, MCS-6): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4797,7 +4797,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 2, MCS-6): 07 80 00 50 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 -PDCH(bts=0,trx=0,ts=4) FN=17 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=17 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==3) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 3, CS=MCS-6 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 3, MCS-6): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4807,7 +4807,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 3, MCS-6): 07 c0 00 50 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 -PDCH(bts=0,trx=0,ts=4) FN=21 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=21 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==4) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 4, CS=MCS-6 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 4, MCS-6): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4817,7 +4817,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 4, MCS-6): 07 00 01 50 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 -PDCH(bts=0,trx=0,ts=4) FN=26 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=26 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==5) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 5, CS=MCS-6 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 5, MCS-6): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4827,7 +4827,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 5, MCS-6): 07 40 01 50 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 -PDCH(bts=0,trx=0,ts=4) FN=30 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=30 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==6) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 6, CS=MCS-6 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 6, MCS-6): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4837,7 +4837,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 6, MCS-6): 07 80 01 50 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 -PDCH(bts=0,trx=0,ts=4) FN=34 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=34 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==7) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 7, CS=MCS-6 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=512 @@ -4921,7 +4921,7 @@ Detected FN jump! 39 -> 8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 512 bytes Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-7) last_mcs(MCS-5) demanded_mcs(MCS-7) cs_trans(MCS-7) arq_type(1) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 @@ -4935,7 +4935,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-7): 07 00 00 02 b8 50 fc 07 04 04 04 04 04 04 04 04 04 ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac 14 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 00 -PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 2, CS=MCS-7 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 2, MCS-7): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4948,7 +4948,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 2, MCS-7): 07 80 00 02 a0 05 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 14 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 00 -PDCH(bts=0,trx=0,ts=4) FN=17 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=17 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==4) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 4, CS=MCS-7 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 4, MCS-7): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4961,7 +4961,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 4, MCS-7): 07 00 01 02 a0 05 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 14 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 00 -PDCH(bts=0,trx=0,ts=4) FN=21 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=21 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==6) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 6, CS=MCS-7 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 6, MCS-7): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4974,7 +4974,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 6, MCS-7): 07 80 01 02 a0 05 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 14 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 00 -PDCH(bts=0,trx=0,ts=4) FN=26 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=26 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==8) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 8, CS=MCS-7 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 8, MCS-7): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4987,7 +4987,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 8, MCS-7): 07 00 02 02 a0 05 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 14 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 00 -PDCH(bts=0,trx=0,ts=4) FN=30 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=30 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==10) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 10, CS=MCS-7 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=512 @@ -5073,7 +5073,7 @@ Detected FN jump! 34 -> 8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 512 bytes Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-8) last_mcs(MCS-8) demanded_mcs(MCS-8) cs_trans(MCS-8) arq_type(1) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 @@ -5087,7 +5087,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-8): 07 00 00 02 88 50 fc 07 04 04 04 04 04 04 04 04 04 ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac 14 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 00 -PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 2, CS=MCS-8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 2, MCS-8): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -5100,7 +5100,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 2, MCS-8): 07 80 00 02 58 05 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 14 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 00 -PDCH(bts=0,trx=0,ts=4) FN=17 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=17 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==4) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 4, CS=MCS-8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 4, MCS-8): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -5113,7 +5113,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 4, MCS-8): 07 00 01 02 58 05 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 14 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 00 -PDCH(bts=0,trx=0,ts=4) FN=21 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=21 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==6) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 6, CS=MCS-8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 6, MCS-8): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -5126,7 +5126,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 6, MCS-8): 07 80 01 02 58 05 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 14 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 00 -PDCH(bts=0,trx=0,ts=4) FN=26 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=26 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==8) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 8, CS=MCS-8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=512 @@ -5212,7 +5212,7 @@ Detected FN jump! 30 -> 8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 512 bytes Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-9) last_mcs(MCS-6) demanded_mcs(MCS-9) cs_trans(MCS-9) arq_type(1) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 @@ -5226,7 +5226,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-9): 07 00 00 02 20 50 fc 07 04 04 04 04 04 04 04 04 04 ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac 14 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 00 -PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 2, CS=MCS-9 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 2, MCS-9): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -5239,7 +5239,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 2, MCS-9): 07 80 00 02 00 05 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 14 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 00 -PDCH(bts=0,trx=0,ts=4) FN=17 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=17 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==4) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 4, CS=MCS-9 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 4, MCS-9): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -5252,7 +5252,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 4, MCS-9): 07 00 01 02 00 05 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 14 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 00 -PDCH(bts=0,trx=0,ts=4) FN=21 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=21 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==6) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 6, CS=MCS-9 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 6, MCS-9): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23526 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I875f51cade95faeb2d79dcebfead4c83e23a731b Gerrit-Change-Number: 23526 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 Mar 29 17:31:03 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 29 Mar 2021 17:31:03 +0000 Subject: Change in osmo-pcu[master]: tbf: Allow multiple concurrent polls References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23527 ) Change subject: tbf: Allow multiple concurrent polls ...................................................................... tbf: Allow multiple concurrent polls There's no good reason to allow only for 1 concurrent POLL requested to a TBF, it was onyl done this was as an implementation limitation factor. It can well happen that several multiple POLLs may be in transit at the same time, eg to get DL ACK/NACK as well as to get a CTRL ACK for a Pkt Cell Change Continue (NACC). Change-Id: Ic4080db684a4626cae90dd574d123081981284ca --- M src/tbf.cpp M tests/tbf/TbfTest.err 2 files changed, 315 insertions(+), 404 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/27/23527/1 diff --git a/src/tbf.cpp b/src/tbf.cpp index 860b877..8520a1b 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -557,10 +557,6 @@ ts, control_ts); return -EINVAL; } - if (poll_state != GPRS_RLCMAC_POLL_NONE) { - LOGPTBF(this, LOGL_DEBUG, "Polling is already scheduled\n"); - return -EBUSY; - } if ((rc = pdch_ulc_get_next_free_rrbp_fn(trx->pdch[ts].ulc, fn, poll_fn_, rrbp_)) < 0) { LOGPTBF(this, LOGL_DEBUG, diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index e3b30c0..6d2c384 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -426,43 +426,34 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying data unit 0 (BSN 20) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Polling is already scheduled -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) msg block (BSN 20, CS-1): 07 00 28 09 c6 c7 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b +PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 91 + 13 = 104 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Scheduled DL Acknowledgement polling on UNKNOWN (FN=104, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Scheduled Ack/Nack polling on FN=104, TS=4 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) msg block (BSN 20, CS-1): 0f 00 28 09 c6 c7 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) ack: (BSN=85)"RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR"(BSN=20) R=ACK I=NACK TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) DL analysis, range=0:21, lost=0, recv=21, skipped=0, bsn=0, info='RRRRRRRRRRRRRRRRRRRRR...........................................' TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) V(B): (V(A)=21)""(V(S)-1=20) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid -PDCH(bts=0,trx=0,ts=4) FN=95 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink acknowledge +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) ack: (BSN=85)"RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR"(BSN=20) R=ACK I=NACK +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) ack range is out of V(A)..V(S) range - Free TBF! +PDCH(bts=0,trx=0,ts=4) FN=203 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==21 .. V(S)==21) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new dummy block at BSN 21, CS=CS-1 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Empty chunk, added LLC dummy command of size 19, drained_since=4 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Keep idle TBF open: 4/43 -> yes -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Complete DL frame, len=19 -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) data block (BSN 21, CS-1): 4d 43 c0 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) need_padding 0 spb_status 0 spb 0 (BSN1 21 BSN2 -1) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Copying data unit 0 (BSN 21) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Polling is already scheduled -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) msg block (BSN 21, CS-1): 07 00 2a 4d 43 c0 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink acknowledge -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) ack: (BSN=86)"RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR"(BSN=21) R=ACK I=NACK -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) DL analysis, range=21:22, lost=0, recv=1, skipped=0, bsn=21, info='R...............................................................' -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) V(B): (V(A)=22)""(V(S)-1=21) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid -PDCH(bts=0,trx=0,ts=4) FN=203 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) downlink (V(A)==22 .. V(S)==22) mcs_mode_restrict=EGPRS -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Sending new dummy block at BSN 22, CS=CS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Empty chunk, added LLC dummy command of size 19, drained_since=112 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Keep idle TBF open: 112/43 -> no TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) Complete DL frame, len=19 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) changes state from FLOW to FINISHED -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) data block (BSN 22, CS-1): 4d 43 c0 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) need_padding 0 spb_status 0 spb 0 (BSN1 22 BSN2 -1) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) data block (BSN 21, CS-1): 4d 43 c0 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) need_padding 0 spb_status 0 spb 0 (BSN1 21 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) Copying 1 RLC blocks, 1 BSNs -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) Copying data unit 0 (BSN 22) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) Copying data unit 0 (BSN 21) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) Polling is already scheduled -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) msg block (BSN 22, CS-1): 07 01 2c 4d 43 c0 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b +PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 203 + 13 = 216 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) Scheduled DL Acknowledgement polling on UNKNOWN (FN=216, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) starting timer T3191 [final block (DL-TBF)] with 5 sec. 0 microsec, cur_fn=2654167 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) Scheduled Ack/Nack polling on FN=216, TS=4 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) msg block (BSN 21, CS-1): 0f 01 2a 4d 43 c0 01 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FINISHED) changes state from FINISHED to WAIT RELEASE @@ -470,6 +461,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE) changes DL ASS state from GPRS_RLCMAC_DL_ASS_WAIT_ACK to GPRS_RLCMAC_DL_ASS_NONE TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=WAIT RELEASE) changes state from WAIT RELEASE to RELEASING TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING) free +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING) stopping timer T3191 [freeing TBF] TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING) stopping timer T3193 [freeing TBF] PDCH(bts=0,trx=0,ts=4) Detaching TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING), 0 TBFs, USFs = 00, TFIs = 00000000. MS(TLLI=0xffeeddcc, IMSI=, TA=0, 45/0,) Detaching TBF: TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=RELEASING) @@ -2799,8 +2791,11 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Copying data unit 0 (BSN 27) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Polling is already scheduled -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) msg block (BSN 27, CS-1): 07 01 36 16 35 45 54 20 33 38 4c 4c 43 20 50 41 43 4b 45 54 20 33 39 +PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654396 + 13 = 2654409 +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Scheduled DL Acknowledgement polling on PACCH (FN=2654409, TS=7) +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) starting timer T3191 [final block (DL-TBF)] with 5 sec. 0 microsec, cur_fn=2654288 +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Scheduled Ack/Nack polling on FN=2654409, TS=7 +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) msg block (BSN 27, CS-1): 0f 01 36 16 35 45 54 20 33 38 4c 4c 43 20 50 41 43 4b 45 54 20 33 39 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) appending 21 bytes TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) appending 21 bytes TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) appending 21 bytes @@ -2811,9 +2806,10 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) appending 21 bytes TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) appending 21 bytes TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) appending 21 bytes -Detected FN jump! 2654288 -> 2654379 -PDCH(bts=0,trx=0,ts=7) FN=2654379 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ -PDCH(bts=0,trx=0,ts=7) FN=2654379 ------------------------- RX : Uplink Control Block ------------------------- +Detected FN jump! 2654288 -> 2654409 +PDCH(bts=0,trx=0,ts=7) FN=2654409 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ +PDCH(bts=0,trx=0,ts=7) FN=2654409 ------------------------- RX : Uplink Control Block ------------------------- +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) stopping timer T3191 [ACK/NACK received] TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) changes poll state from GPRS_RLCMAC_POLL_SCHED to GPRS_RLCMAC_POLL_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) RX: [PCU <- BTS] Packet Downlink Ack/Nack PDCH(bts=0,trx=0,ts=7) Got GPRS DL ACK bitmap: SSN: 0, BSN 0 to 28 - 1 (28 blocks), "RRRRRRRRRRRRRRRRRRRRRRRRRRRR" @@ -2823,7 +2819,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) V(B): (V(A)=28)""(V(S)-1=27) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Final ACK received. TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) changes state from FINISHED to WAIT RELEASE -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=2654379 +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=2654409 MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL DL) ********** DL-TBF starts here ********** MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL DL) Allocating DL TBF [DL] algo A (suggested TRX: 0): Alloc start @@ -2844,81 +2840,100 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) set ass. type PACCH [prev CCCH:0, PACCH:0] -TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=2654379 -PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654283 is still reserved! +TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=2654409 +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654409 but previous FN=2654283 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654283): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) N3101 1 => 2 (< MAX 10) -PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654288 is still reserved! +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654409 but previous FN=2654288 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654288): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) N3101 2 => 3 (< MAX 10) -PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654292 is still reserved! +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654409 but previous FN=2654292 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654292): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) N3101 3 => 4 (< MAX 10) -PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654296 is still reserved! +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654409 but previous FN=2654296 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654296): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) N3101 4 => 5 (< MAX 10) -PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654301 is still reserved! +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654409 but previous FN=2654301 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654301): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) N3101 5 => 6 (< MAX 10) -PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654305 is still reserved! +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654409 but previous FN=2654305 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654305): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) N3101 6 => 7 (< MAX 10) -PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654309 is still reserved! +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654409 but previous FN=2654309 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654309): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) N3101 7 => 8 (< MAX 10) -PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654314 is still reserved! +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654409 but previous FN=2654314 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654314): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) N3101 8 => 9 (< MAX 10) -PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654318 is still reserved! +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654409 but previous FN=2654318 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654318): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) N3101 exceeded MAX (10) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) changes state from FLOW to RELEASING -PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654322 is still reserved! +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654409 but previous FN=2654322 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654322): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 10 => 11 (< MAX 10) -PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654327 is still reserved! +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654409 but previous FN=2654327 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654327): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 11 => 12 (< MAX 10) -PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654331 is still reserved! +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654409 but previous FN=2654331 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654331): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 12 => 13 (< MAX 10) -PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654335 is still reserved! +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654409 but previous FN=2654335 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654335): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 13 => 14 (< MAX 10) -PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654340 is still reserved! +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654409 but previous FN=2654340 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654340): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 14 => 15 (< MAX 10) -PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654344 is still reserved! +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654409 but previous FN=2654344 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654344): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 15 => 16 (< MAX 10) -PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654348 is still reserved! +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654409 but previous FN=2654348 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654348): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 16 => 17 (< MAX 10) -PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654353 is still reserved! +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654409 but previous FN=2654353 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654353): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 17 => 18 (< MAX 10) -PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654357 is still reserved! +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654409 but previous FN=2654357 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654357): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 18 => 19 (< MAX 10) -PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654361 is still reserved! +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654409 but previous FN=2654361 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654361): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 19 => 20 (< MAX 10) -PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654366 is still reserved! +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654409 but previous FN=2654366 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654366): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 20 => 21 (< MAX 10) -PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654370 is still reserved! +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654409 but previous FN=2654370 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654370): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 21 => 22 (< MAX 10) -PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654374 is still reserved! +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654409 but previous FN=2654374 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654374): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 22 => 23 (< MAX 10) +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654409 but previous FN=2654379 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered POLL (FN=2654379): TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) poll timeout for FN=2654409, TS=7 (curr FN 2654409) +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|Downlink ACK was received| +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) N3105 0 => 1 (< MAX 8) +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654409 but previous FN=2654383 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654383): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 23 => 24 (< MAX 10) +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654409 but previous FN=2654387 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654387): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 24 => 25 (< MAX 10) +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654409 but previous FN=2654392 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654392): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 25 => 26 (< MAX 10) +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654409 but previous FN=2654396 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654396): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 26 => 27 (< MAX 10) +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654409 but previous FN=2654400 is still reserved! +PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654400): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) +TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 27 => 28 (< MAX 10) PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654400 + 13 = 2654413 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) Scheduled DL Assignment polling on PACCH (FN=2654413, TS=7) PDCH(bts=0,trx=0,ts=7) FN=2654400 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) -Detected FN jump! 2654379 -> 2654413 PDCH(bts=0,trx=0,ts=7) FN=2654413 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) FN=2654413 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) RX: [PCU <- BTS] Packet Control Ack @@ -2933,21 +2948,6 @@ ********** DL-TBF ends here ********** TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) changes state from ASSIGN to FLOW TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) stopping timer T0 [control acked (DL-TBF)] -PDCH(bts=0,trx=0,ts=7) Expiring FN=2654413 but previous FN=2654383 is still reserved! -PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654383): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 23 => 24 (< MAX 10) -PDCH(bts=0,trx=0,ts=7) Expiring FN=2654413 but previous FN=2654387 is still reserved! -PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654387): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 24 => 25 (< MAX 10) -PDCH(bts=0,trx=0,ts=7) Expiring FN=2654413 but previous FN=2654392 is still reserved! -PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654392): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 25 => 26 (< MAX 10) -PDCH(bts=0,trx=0,ts=7) Expiring FN=2654413 but previous FN=2654396 is still reserved! -PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654396): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 26 => 27 (< MAX 10) -PDCH(bts=0,trx=0,ts=7) Expiring FN=2654413 but previous FN=2654400 is still reserved! -PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654400): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 27 => 28 (< MAX 10) Received RTS on disabled PDCH: TRX=0 TS=0 Received RTS on disabled PDCH: TRX=0 TS=1 Received RTS on disabled PDCH: TRX=0 TS=2 @@ -3611,12 +3611,14 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-1): 07 00 00 16 28 fe 03 02 02 02 02 02 02 02 02 02 56 56 56 56 56 56 56 56 56 56 00 +PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 4 + 13 = 17 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=17, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=17, TS=4 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-1): 0f 00 00 16 28 fe 03 02 02 02 02 02 02 02 02 02 56 56 56 56 56 56 56 56 56 56 00 Detected FN jump! 2654167 -> 8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 512 bytes Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 1, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=512) @@ -3624,188 +3626,151 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 1 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 1) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 1, MCS-1): 07 40 00 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +Received RTS for PDCH: TRX=0 TS=4 FN=13 block_nr=3 scheduling free USF for polling at FN=17 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 2, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 2, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 2 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 2) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 2, MCS-1): 07 80 00 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=17 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=17 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==3) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 3, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 3, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 3 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 3) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 3, MCS-1): 07 c0 00 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=21 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=21 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==4) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 4, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 4, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 4 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 4) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 4, MCS-1): 07 00 01 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=26 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=26 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==5) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 5, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 5, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 5 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 5) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 5, MCS-1): 07 40 01 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=30 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=30 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==6) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 6, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 6, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 6 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 6) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 6, MCS-1): 07 80 01 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=34 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=34 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==7) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 7, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 7, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 7 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 7) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 7, MCS-1): 07 c0 01 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=39 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=39 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==8) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 8, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 8, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 8 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 8) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 8, MCS-1): 07 00 02 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=43 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=43 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==9) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 9, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 9, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 9 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 9) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 9, MCS-1): 07 40 02 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=47 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=47 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==10) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 10, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 10, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 10 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 10) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 10, MCS-1): 07 80 02 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=52 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=52 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==11) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 11, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 11, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 11 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 11) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 11, MCS-1): 07 c0 02 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=56 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=56 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==12) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 12, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 12, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 12 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 12) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 12, MCS-1): 07 00 03 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=60 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=60 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==13) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 13, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 13, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 13 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 13) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 13, MCS-1): 07 40 03 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=65 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=65 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==14) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 14, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 14, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 14 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 14) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 14, MCS-1): 07 80 03 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=69 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=69 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==15) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 15, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 15, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 15 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 15) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 15, MCS-1): 07 c0 03 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=73 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=73 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==16) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 16, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 16, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 16 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 16) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 16, MCS-1): 07 00 04 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=78 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=78 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==17) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 17, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 17, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 17 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 17) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 17, MCS-1): 07 40 04 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=82 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=82 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==18) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 18, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 18, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 18 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 18) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 18, MCS-1): 07 80 04 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=86 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=86 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==19) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 19, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 19, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 19 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 19) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 19, MCS-1): 07 c0 04 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 PDCH(bts=0,trx=0,ts=4) FN=91 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==20) mcs_mode_restrict=EGPRS @@ -3814,40 +3779,37 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 20 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 20) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 20, MCS-1): 07 00 05 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=95 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because 20 blocks sent. +PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 91 + 13 = 104 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=104, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=104, TS=4 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 20, MCS-1): 0f 00 05 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 +PDCH(bts=0,trx=0,ts=4) FN=95 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==21) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 21, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 21, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 21 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 21) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 21, MCS-1): 07 40 05 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=99 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +Received RTS for PDCH: TRX=0 TS=4 FN=99 block_nr=11 scheduling free USF for polling at FN=104 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +PDCH(bts=0,trx=0,ts=4) FN=99 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==22) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 22, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 22, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 22 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 22) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 22, MCS-1): 07 80 05 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=104 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=104 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==23) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 23, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 23, MCS-1): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 23 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 23) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 23, MCS-1): 07 c0 05 96 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=108 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=108 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==24) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 24, CS=MCS-1 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=512 @@ -3858,14 +3820,25 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 24) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 24, MCS-1): 07 00 06 16 18 fe 03 02 02 02 02 02 56 56 56 56 56 56 56 56 56 56 56 56 56 56 00 +PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 108 + 13 = 121 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=121, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=121, TS=4 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 24, MCS-1): 0f 00 06 16 18 fe 03 02 02 02 02 02 56 56 56 56 56 56 56 56 56 56 56 56 56 56 00 Detected FN jump! 8 -> 112 PDCH(bts=0,trx=0,ts=4) Expiring FN=112 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 112) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=121, TS=4 (curr FN 112) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) +PDCH(bts=0,trx=0,ts=4) Expiring FN=112 but previous FN=17 is still reserved! +PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=121, TS=4 (curr FN 112) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |No downlink ACK received yet| +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) +PDCH(bts=0,trx=0,ts=4) Expiring FN=112 but previous FN=104 is still reserved! +PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=104): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=121, TS=4 (curr FN 112) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 2 => 3 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to WAIT RELEASE @@ -3925,12 +3898,14 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-2): 07 00 00 12 28 fe 03 02 02 02 02 02 02 02 02 02 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 00 +PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 4 + 13 = 17 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=17, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=17, TS=4 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-2): 0f 00 00 12 28 fe 03 02 02 02 02 02 02 02 02 02 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 00 Detected FN jump! 112 -> 8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 512 bytes Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 1, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=512) @@ -3938,180 +3913,145 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 1 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 1) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 1, MCS-2): 07 40 00 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +Received RTS for PDCH: TRX=0 TS=4 FN=13 block_nr=3 scheduling free USF for polling at FN=17 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 2, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 2, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 2 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 2) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 2, MCS-2): 07 80 00 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=17 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=17 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==3) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 3, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 3, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 3 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 3) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 3, MCS-2): 07 c0 00 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=21 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=21 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==4) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 4, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 4, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 4 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 4) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 4, MCS-2): 07 00 01 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=26 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=26 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==5) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 5, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 5, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 5 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 5) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 5, MCS-2): 07 40 01 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=30 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=30 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==6) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 6, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 6, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 6 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 6) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 6, MCS-2): 07 80 01 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=34 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=34 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==7) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 7, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 7, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 7 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 7) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 7, MCS-2): 07 c0 01 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=39 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=39 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==8) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 8, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 8, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 8 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 8) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 8, MCS-2): 07 00 02 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=43 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=43 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==9) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 9, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 9, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 9 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 9) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 9, MCS-2): 07 40 02 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=47 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=47 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==10) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 10, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 10, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 10 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 10) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 10, MCS-2): 07 80 02 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=52 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=52 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==11) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 11, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 11, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 11 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 11) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 11, MCS-2): 07 c0 02 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=56 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=56 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==12) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 12, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 12, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 12 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 12) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 12, MCS-2): 07 00 03 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=60 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=60 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==13) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 13, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 13, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 13 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 13) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 13, MCS-2): 07 40 03 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=65 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=65 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==14) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 14, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 14, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 14 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 14) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 14, MCS-2): 07 80 03 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=69 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=69 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==15) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 15, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 15, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 15 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 15) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 15, MCS-2): 07 c0 03 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=73 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=73 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==16) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 16, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 16, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 16 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 16) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 16, MCS-2): 07 00 04 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=78 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=78 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==17) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 17, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 17, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 17 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 17) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 17, MCS-2): 07 40 04 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=82 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=82 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==18) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 18, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 18, MCS-2): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 18 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 18) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 18, MCS-2): 07 80 04 92 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=86 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=86 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==19) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 19, CS=MCS-2 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=512 @@ -4122,14 +4062,21 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 19) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 19, MCS-2): 07 c0 04 12 20 fe 03 02 02 02 02 02 02 02 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 00 +PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 86 + 13 = 99 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=99, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=99, TS=4 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 19, MCS-2): 0f c0 04 12 20 fe 03 02 02 02 02 02 02 02 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 00 Detected FN jump! 8 -> 91 PDCH(bts=0,trx=0,ts=4) Expiring FN=91 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 91) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=99, TS=4 (curr FN 91) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) +PDCH(bts=0,trx=0,ts=4) Expiring FN=91 but previous FN=17 is still reserved! +PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=99, TS=4 (curr FN 91) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |No downlink ACK received yet| +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to WAIT RELEASE @@ -4189,12 +4136,14 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-3): 07 00 00 06 28 fe 03 02 02 02 02 02 02 02 02 02 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 00 +PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 4 + 13 = 17 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=17, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=17, TS=4 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-3): 0f 00 00 06 28 fe 03 02 02 02 02 02 02 02 02 02 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 00 Detected FN jump! 91 -> 8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 512 bytes Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 1, CS=MCS-3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=512) @@ -4202,130 +4151,105 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 1 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 1) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 1, MCS-3): 07 40 00 86 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +Received RTS for PDCH: TRX=0 TS=4 FN=13 block_nr=3 scheduling free USF for polling at FN=17 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 2, CS=MCS-3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 2, MCS-3): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 2 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 2) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 2, MCS-3): 07 80 00 86 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=17 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=17 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==3) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 3, CS=MCS-3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 3, MCS-3): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 3 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 3) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 3, MCS-3): 07 c0 00 86 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=21 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=21 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==4) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 4, CS=MCS-3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 4, MCS-3): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 4 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 4) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 4, MCS-3): 07 00 01 86 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=26 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=26 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==5) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 5, CS=MCS-3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 5, MCS-3): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 5 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 5) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 5, MCS-3): 07 40 01 86 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=30 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=30 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==6) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 6, CS=MCS-3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 6, MCS-3): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 6 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 6) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 6, MCS-3): 07 80 01 86 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=34 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=34 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==7) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 7, CS=MCS-3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 7, MCS-3): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 7 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 7) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 7, MCS-3): 07 c0 01 86 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=39 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=39 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==8) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 8, CS=MCS-3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 8, MCS-3): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 8 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 8) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 8, MCS-3): 07 00 02 86 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=43 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=43 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==9) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 9, CS=MCS-3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 9, MCS-3): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 9 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 9) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 9, MCS-3): 07 40 02 86 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=47 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=47 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==10) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 10, CS=MCS-3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 10, MCS-3): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 10 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 10) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 10, MCS-3): 07 80 02 86 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=52 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=52 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==11) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 11, CS=MCS-3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 11, MCS-3): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 11 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 11) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 11, MCS-3): 07 c0 02 86 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=56 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=56 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==12) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 12, CS=MCS-3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 12, MCS-3): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 12 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 12) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 12, MCS-3): 07 00 03 86 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=60 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=60 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==13) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 13, CS=MCS-3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 13, MCS-3): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 13 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 13) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 13, MCS-3): 07 40 03 86 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=65 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=65 Scheduling data message at RTS for DL TFI=0 prio=4 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==14) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 14, CS=MCS-3 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=512 @@ -4336,14 +4260,21 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 14) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 14, MCS-3): 07 80 03 06 7c fe 03 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 56 56 56 56 00 +PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 65 + 13 = 78 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=78, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=78, TS=4 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 14, MCS-3): 0f 80 03 06 7c fe 03 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 56 56 56 56 00 Detected FN jump! 8 -> 69 PDCH(bts=0,trx=0,ts=4) Expiring FN=69 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 69) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=78, TS=4 (curr FN 69) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) +PDCH(bts=0,trx=0,ts=4) Expiring FN=69 but previous FN=17 is still reserved! +PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=78, TS=4 (curr FN 69) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |No downlink ACK received yet| +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to WAIT RELEASE @@ -4403,12 +4334,14 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-4): 07 00 00 00 28 fe 03 02 02 02 02 02 02 02 02 02 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 00 +PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 4 + 13 = 17 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=17, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=17, TS=4 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-4): 0f 00 00 00 28 fe 03 02 02 02 02 02 02 02 02 02 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 56 00 Detected FN jump! 69 -> 8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 512 bytes Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 1, CS=MCS-4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=512) @@ -4416,110 +4349,89 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 1 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 1) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 1, MCS-4): 07 40 00 80 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +Received RTS for PDCH: TRX=0 TS=4 FN=13 block_nr=3 scheduling free USF for polling at FN=17 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 2, CS=MCS-4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 2, MCS-4): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 2 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 2) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 2, MCS-4): 07 80 00 80 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=17 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=17 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==3) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 3, CS=MCS-4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 3, MCS-4): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 3 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 3) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 3, MCS-4): 07 c0 00 80 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=21 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=21 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==4) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 4, CS=MCS-4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 4, MCS-4): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 4 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 4) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 4, MCS-4): 07 00 01 80 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=26 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=26 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==5) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 5, CS=MCS-4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 5, MCS-4): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 5 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 5) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 5, MCS-4): 07 40 01 80 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=30 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=30 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==6) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 6, CS=MCS-4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 6, MCS-4): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 6 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 6) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 6, MCS-4): 07 80 01 80 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=34 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=34 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==7) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 7, CS=MCS-4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 7, MCS-4): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 7 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 7) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 7, MCS-4): 07 c0 01 80 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=39 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=39 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==8) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 8, CS=MCS-4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 8, MCS-4): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 8 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 8) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 8, MCS-4): 07 00 02 80 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=43 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=43 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==9) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 9, CS=MCS-4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 9, MCS-4): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 9 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 9) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 9, MCS-4): 07 40 02 80 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=47 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=47 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==10) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 10, CS=MCS-4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 10, MCS-4): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 10 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 10) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 10, MCS-4): 07 80 02 80 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=52 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=52 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==11) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 11, CS=MCS-4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 11, MCS-4): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 11 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 11) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 11, MCS-4): 07 c0 02 80 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 00 -PDCH(bts=0,trx=0,ts=4) FN=56 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=56 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==12) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 12, CS=MCS-4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=512 @@ -4530,14 +4442,21 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 12) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 12, MCS-4): 07 00 03 00 70 fe 03 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 56 56 56 56 56 56 56 56 56 56 56 56 56 56 00 +PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 56 + 13 = 69 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=69, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=69, TS=4 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 12, MCS-4): 0f 00 03 00 70 fe 03 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 02 56 56 56 56 56 56 56 56 56 56 56 56 56 56 00 Detected FN jump! 8 -> 60 PDCH(bts=0,trx=0,ts=4) Expiring FN=60 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 60) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=69, TS=4 (curr FN 60) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) +PDCH(bts=0,trx=0,ts=4) Expiring FN=60 but previous FN=17 is still reserved! +PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=69, TS=4 (curr FN 60) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |No downlink ACK received yet| +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to WAIT RELEASE @@ -4597,12 +4516,14 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-5): 07 00 00 08 c5 7f 40 40 40 40 40 40 40 40 40 c0 ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca 0a +PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 4 + 13 = 17 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=17, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=17, TS=4 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-5): 0f 00 00 08 c5 7f 40 40 40 40 40 40 40 40 40 c0 ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca 0a Detected FN jump! 60 -> 8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 512 bytes Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 1, CS=MCS-5 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=512) @@ -4610,90 +4531,73 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 1 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 1) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 1, MCS-5): 07 40 00 58 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 -PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +Received RTS for PDCH: TRX=0 TS=4 FN=13 block_nr=3 scheduling free USF for polling at FN=17 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 2, CS=MCS-5 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 2, MCS-5): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 2 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 2) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 2, MCS-5): 07 80 00 58 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 -PDCH(bts=0,trx=0,ts=4) FN=17 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=17 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==3) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 3, CS=MCS-5 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 3, MCS-5): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 3 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 3) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 3, MCS-5): 07 c0 00 58 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 -PDCH(bts=0,trx=0,ts=4) FN=21 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=21 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==4) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 4, CS=MCS-5 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 4, MCS-5): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 4 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 4) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 4, MCS-5): 07 00 01 58 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 -PDCH(bts=0,trx=0,ts=4) FN=26 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=26 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==5) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 5, CS=MCS-5 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 5, MCS-5): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 5 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 5) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 5, MCS-5): 07 40 01 58 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 -PDCH(bts=0,trx=0,ts=4) FN=30 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=30 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==6) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 6, CS=MCS-5 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 6, MCS-5): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 6 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 6) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 6, MCS-5): 07 80 01 58 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 -PDCH(bts=0,trx=0,ts=4) FN=34 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=34 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==7) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 7, CS=MCS-5 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 7, MCS-5): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 7 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 7) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 7, MCS-5): 07 c0 01 58 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 -PDCH(bts=0,trx=0,ts=4) FN=39 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=39 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==8) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 8, CS=MCS-5 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 8, MCS-5): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 8 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 8) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 8, MCS-5): 07 00 02 58 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 -PDCH(bts=0,trx=0,ts=4) FN=43 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=43 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==9) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 9, CS=MCS-5 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 9, MCS-5): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 9 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 9) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 9, MCS-5): 07 40 02 58 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 -PDCH(bts=0,trx=0,ts=4) FN=47 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=47 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==10) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 10, CS=MCS-5 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=512 @@ -4704,14 +4608,21 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 10) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 10, MCS-5): 07 80 02 08 c4 7f 40 40 40 40 40 40 40 c0 ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca 0a +PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 47 + 13 = 60 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=60, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=60, TS=4 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 10, MCS-5): 0f 80 02 08 c4 7f 40 40 40 40 40 40 40 c0 ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca 0a Detected FN jump! 8 -> 52 PDCH(bts=0,trx=0,ts=4) Expiring FN=52 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 52) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=60, TS=4 (curr FN 52) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) +PDCH(bts=0,trx=0,ts=4) Expiring FN=52 but previous FN=17 is still reserved! +PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=60, TS=4 (curr FN 52) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |No downlink ACK received yet| +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to WAIT RELEASE @@ -4771,12 +4682,14 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-6): 07 00 00 00 c5 7f 40 40 40 40 40 40 40 40 40 c0 ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca 0a +PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 4 + 13 = 17 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=17, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=17, TS=4 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-6): 0f 00 00 00 c5 7f 40 40 40 40 40 40 40 40 40 c0 ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca 0a Detected FN jump! 52 -> 8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 512 bytes Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 1, CS=MCS-6 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Dequeue next LLC (len=512) @@ -4784,60 +4697,49 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 1 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 1) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 1, MCS-6): 07 40 00 50 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 -PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +Received RTS for PDCH: TRX=0 TS=4 FN=13 block_nr=3 scheduling free USF for polling at FN=17 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 2, CS=MCS-6 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 2, MCS-6): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 2 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 2) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 2, MCS-6): 07 80 00 50 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 -PDCH(bts=0,trx=0,ts=4) FN=17 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=17 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==3) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 3, CS=MCS-6 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 3, MCS-6): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 3 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 3) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 3, MCS-6): 07 c0 00 50 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 -PDCH(bts=0,trx=0,ts=4) FN=21 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=21 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==4) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 4, CS=MCS-6 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 4, MCS-6): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 4 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 4) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 4, MCS-6): 07 00 01 50 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 -PDCH(bts=0,trx=0,ts=4) FN=26 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=26 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==5) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 5, CS=MCS-6 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 5, MCS-6): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 5 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 5) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 5, MCS-6): 07 40 01 50 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 -PDCH(bts=0,trx=0,ts=4) FN=30 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=30 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==6) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 6, CS=MCS-6 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 6, MCS-6): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) need_padding 0 spb_status 0 spb 0 (BSN1 6 BSN2 -1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 6) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 6, MCS-6): 07 80 01 50 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 00 -PDCH(bts=0,trx=0,ts=4) FN=34 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=34 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==7) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 7, CS=MCS-6 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=512 @@ -4848,14 +4750,21 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 7) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 7, MCS-6): 07 c0 01 00 e2 7f 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 c0 ca ca ca 0a +PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 34 + 13 = 47 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=47, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=47, TS=4 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 7, MCS-6): 0f c0 01 00 e2 7f 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 40 c0 ca ca ca 0a Detected FN jump! 8 -> 39 PDCH(bts=0,trx=0,ts=4) Expiring FN=39 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 39) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=47, TS=4 (curr FN 39) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) +PDCH(bts=0,trx=0,ts=4) Expiring FN=39 but previous FN=17 is still reserved! +PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=47, TS=4 (curr FN 39) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |No downlink ACK received yet| +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to WAIT RELEASE @@ -4916,12 +4825,14 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-5): 07 00 00 08 c5 7f 40 40 40 40 40 40 40 40 40 c0 ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca 0a +PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 4 + 13 = 17 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=17, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=17, TS=4 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-5): 0f 00 00 08 c5 7f 40 40 40 40 40 40 40 40 40 c0 ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca 0a Detected FN jump! 39 -> 8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 512 bytes Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-7) last_mcs(MCS-5) demanded_mcs(MCS-7) cs_trans(MCS-7) arq_type(1) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 @@ -4932,10 +4843,9 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 2 RLC blocks, 2 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 1 (BSN 1) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-7): 07 00 00 02 b8 50 fc 07 04 04 04 04 04 04 04 04 04 ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac 14 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 00 -PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +Received RTS for PDCH: TRX=0 TS=4 FN=13 block_nr=3 scheduling free USF for polling at FN=17 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 2, CS=MCS-7 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 2, MCS-7): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4945,10 +4855,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 2 RLC blocks, 2 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 2) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 1 (BSN 3) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 2, MCS-7): 07 80 00 02 a0 05 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 14 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 00 -PDCH(bts=0,trx=0,ts=4) FN=17 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=17 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==4) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 4, CS=MCS-7 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 4, MCS-7): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4958,10 +4866,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 2 RLC blocks, 2 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 4) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 1 (BSN 5) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 4, MCS-7): 07 00 01 02 a0 05 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 14 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 00 -PDCH(bts=0,trx=0,ts=4) FN=21 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=21 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==6) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 6, CS=MCS-7 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 6, MCS-7): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4971,10 +4877,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 2 RLC blocks, 2 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 6) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 1 (BSN 7) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 6, MCS-7): 07 80 01 02 a0 05 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 14 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 00 -PDCH(bts=0,trx=0,ts=4) FN=26 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=26 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==8) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 8, CS=MCS-7 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 8, MCS-7): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -4984,10 +4888,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 2 RLC blocks, 2 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 1 (BSN 9) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 8, MCS-7): 07 00 02 02 a0 05 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 14 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 00 -PDCH(bts=0,trx=0,ts=4) FN=30 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=30 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==10) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 10, CS=MCS-7 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=512 @@ -4999,14 +4901,21 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 10) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 10, MCS-5): 07 80 02 08 c4 7f 40 40 40 40 40 40 40 c0 ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca 0a +PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 30 + 13 = 43 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=43, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=43, TS=4 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 10, MCS-5): 0f 80 02 08 c4 7f 40 40 40 40 40 40 40 c0 ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca 0a Detected FN jump! 8 -> 34 PDCH(bts=0,trx=0,ts=4) Expiring FN=34 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 34) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=43, TS=4 (curr FN 34) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) +PDCH(bts=0,trx=0,ts=4) Expiring FN=34 but previous FN=17 is still reserved! +PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=43, TS=4 (curr FN 34) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |No downlink ACK received yet| +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to WAIT RELEASE @@ -5068,12 +4977,14 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 1 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-8): 07 00 00 00 60 50 fc 07 04 04 04 04 04 04 04 04 04 ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac 40 f1 1f 10 10 10 10 10 10 10 10 10 b0 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 02 +PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 4 + 13 = 17 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=17, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=17, TS=4 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-8): 0f 00 00 00 60 50 fc 07 04 04 04 04 04 04 04 04 04 ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac 40 f1 1f 10 10 10 10 10 10 10 10 10 b0 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 02 Detected FN jump! 34 -> 8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 512 bytes Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-8) last_mcs(MCS-8) demanded_mcs(MCS-8) cs_trans(MCS-8) arq_type(1) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 @@ -5084,10 +4995,9 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 2 RLC blocks, 2 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 1 (BSN 1) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-8): 07 00 00 02 88 50 fc 07 04 04 04 04 04 04 04 04 04 ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac 14 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 00 -PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +Received RTS for PDCH: TRX=0 TS=4 FN=13 block_nr=3 scheduling free USF for polling at FN=17 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 2, CS=MCS-8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 2, MCS-8): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -5097,10 +5007,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 2 RLC blocks, 2 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 2) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 1 (BSN 3) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 2, MCS-8): 07 80 00 02 58 05 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 14 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 00 -PDCH(bts=0,trx=0,ts=4) FN=17 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=17 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==4) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 4, CS=MCS-8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 4, MCS-8): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -5110,10 +5018,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 2 RLC blocks, 2 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 4) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 1 (BSN 5) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 4, MCS-8): 07 00 01 02 58 05 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 14 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 00 -PDCH(bts=0,trx=0,ts=4) FN=21 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=21 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==6) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 6, CS=MCS-8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 6, MCS-8): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -5123,10 +5029,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 2 RLC blocks, 2 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 6) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 1 (BSN 7) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 6, MCS-8): 07 80 01 02 58 05 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 14 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 00 -PDCH(bts=0,trx=0,ts=4) FN=26 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=26 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==8) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 8, CS=MCS-8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Complete DL frame, len=512 @@ -5139,14 +5043,21 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 1 (BSN 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 8, MCS-8): 07 00 02 00 60 20 fd 07 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac 80 f4 1f 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 b0 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 02 +PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 26 + 13 = 39 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=39, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=39, TS=4 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 8, MCS-8): 0f 00 02 00 60 20 fd 07 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac 80 f4 1f 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 b0 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 02 Detected FN jump! 8 -> 30 PDCH(bts=0,trx=0,ts=4) Expiring FN=30 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 30) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=39, TS=4 (curr FN 30) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) +PDCH(bts=0,trx=0,ts=4) Expiring FN=30 but previous FN=17 is still reserved! +PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=39, TS=4 (curr FN 30) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |No downlink ACK received yet| +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to WAIT RELEASE @@ -5207,12 +5118,14 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-6): 07 00 00 00 c5 7f 40 40 40 40 40 40 40 40 40 c0 ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca 0a +PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 4 + 13 = 17 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=17, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=17, TS=4 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-6): 0f 00 00 00 c5 7f 40 40 40 40 40 40 40 40 40 c0 ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca 0a Detected FN jump! 30 -> 8 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 512 bytes Received RTS for PDCH: TRX=0 TS=4 FN=8 block_nr=2 scheduling free USF for polling at FN=13 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=8 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==1) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) initial_cs_dl(MCS-9) last_mcs(MCS-6) demanded_mcs(MCS-9) cs_trans(MCS-9) arq_type(1) bsn(0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Resending BSN 0 @@ -5223,10 +5136,9 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 2 RLC blocks, 2 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 1 (BSN 1) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-9): 07 00 00 02 20 50 fc 07 04 04 04 04 04 04 04 04 04 ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac ac 14 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 00 -PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +Received RTS for PDCH: TRX=0 TS=4 FN=13 block_nr=3 scheduling free USF for polling at FN=17 of TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +PDCH(bts=0,trx=0,ts=4) FN=13 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==2) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 2, CS=MCS-9 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 2, MCS-9): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -5236,10 +5148,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 2 RLC blocks, 2 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 2) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 1 (BSN 3) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 2, MCS-9): 07 80 00 02 00 05 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 14 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 00 -PDCH(bts=0,trx=0,ts=4) FN=17 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=17 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==4) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 4, CS=MCS-9 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 4, MCS-9): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -5249,10 +5159,8 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 2 RLC blocks, 2 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 4) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 1 (BSN 5) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 4, MCS-9): 07 00 01 02 00 05 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 14 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 00 -PDCH(bts=0,trx=0,ts=4) FN=21 Scheduling data message at RTS for DL TFI=0 prio=5 mcs_mode_restrict=EGPRS +PDCH(bts=0,trx=0,ts=4) FN=21 Scheduling data message at RTS for DL TFI=0 prio=3 mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink (V(A)==0 .. V(S)==6) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Sending new block at BSN 6, CS=MCS-9 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) data block (BSN 6, MCS-9): 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 @@ -5266,14 +5174,21 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 6) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 1 (BSN 7) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Polling is already scheduled -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 6, MCS-9): 07 80 01 02 00 05 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 80 f8 1f 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 b0 b2 b2 b2 02 +PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 21 + 13 = 34 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=34, TS=4) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=34, TS=4 +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 6, MCS-9): 0f 80 01 02 00 05 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 04 80 f8 1f 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 b0 b2 b2 b2 02 Detected FN jump! 8 -> 26 PDCH(bts=0,trx=0,ts=4) Expiring FN=26 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 26) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=34, TS=4 (curr FN 26) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) +PDCH(bts=0,trx=0,ts=4) Expiring FN=26 but previous FN=17 is still reserved! +PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=34, TS=4 (curr FN 26) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |No downlink ACK received yet| +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) changes state from FLOW to WAIT RELEASE -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23527 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ic4080db684a4626cae90dd574d123081981284ca Gerrit-Change-Number: 23527 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 Mar 29 17:31:04 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 29 Mar 2021 17:31:04 +0000 Subject: Change in osmo-pcu[master]: Remove unneeded poll_state check References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23528 ) Change subject: Remove unneeded poll_state check ...................................................................... Remove unneeded poll_state check The related ul_ass_state already implies polling is ongoing since we are waiting for an ACK to be received from MS. Hence there's no need to check poll_state there. Change-Id: I5e12280a6835407fa452bd4d5df799d2672790ec --- M src/tbf.cpp 1 file changed, 2 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/28/23528/1 diff --git a/src/tbf.cpp b/src/tbf.cpp index 8520a1b..4a57375 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -866,8 +866,7 @@ poll_ass_dl = 0; } if (poll_ass_dl) { - if (poll_state == GPRS_RLCMAC_POLL_SCHED && - ul_ass_state == GPRS_RLCMAC_UL_ASS_WAIT_ACK) + if (ul_ass_state == GPRS_RLCMAC_UL_ASS_WAIT_ACK) { LOGPTBF(this, LOGL_DEBUG, "Polling is already scheduled, so we must wait for the uplink assignment...\n"); @@ -997,8 +996,7 @@ unsigned int rrbp; uint32_t new_poll_fn; - if (poll_state == GPRS_RLCMAC_POLL_SCHED && - ul_ass_state == GPRS_RLCMAC_UL_ASS_WAIT_ACK) { + if (ul_ass_state == GPRS_RLCMAC_UL_ASS_WAIT_ACK) { LOGPTBFUL(this, LOGL_DEBUG, "Polling is already scheduled, so we must wait for the uplink assignment...\n"); return NULL; -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23528 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5e12280a6835407fa452bd4d5df799d2672790ec Gerrit-Change-Number: 23528 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 Mar 29 17:31:04 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 29 Mar 2021 17:31:04 +0000 Subject: Change in osmo-pcu[master]: tbf: get rid of poll_state completely References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23529 ) Change subject: tbf: get rid of poll_state completely ...................................................................... tbf: get rid of poll_state completely The poll_state logic was part of previous implementation (prior to pdch ul controller) where the ssumption was that TBF could only had 1 POLL request in transit, which is really not true. With current infrastructure we don't need this state tracking at all. Change-Id: Ie5b807ccd38aa736ae11b3310ca61ad0156ca4d4 --- M src/pdch.cpp M src/tbf.cpp M src/tbf.h M src/tbf_dl.cpp M tests/tbf/TbfTest.err 5 files changed, 0 insertions(+), 53 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/29/23529/1 diff --git a/src/pdch.cpp b/src/pdch.cpp index 22bac0b..0d9ebf2 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -334,7 +334,6 @@ tbf->update_ms(tlli, GPRS_RLCMAC_UL_TBF); LOGPTBF(tbf, LOGL_DEBUG, "RX: [PCU <- BTS] Packet Control Ack\n"); - TBF_POLL_SCHED_UNSET(tbf); pdch_ulc_release_fn(ulc, fn); /* check if this control ack belongs to packet uplink ack */ @@ -721,7 +720,6 @@ LOGPDCH(this, DRLCMAC, LOGL_INFO, "FN=%" PRIu32 " Rx Meas Report " "on RRBP POLL, this probably means a DL/CTRL ACK/NACk will " "need to be polled again later\n", fn); - TBF_POLL_SCHED_UNSET(poll->tbf_poll.poll_tbf); pdch_ulc_release_fn(ulc, fn); break; case PDCH_ULC_NODE_SBA: diff --git a/src/tbf.cpp b/src/tbf.cpp index 4a57375..1dc052a 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -61,12 +61,6 @@ static void tbf_timer_cb(void *_tbf); -const struct value_string gprs_rlcmac_tbf_poll_state_names[] = { - OSMO_VALUE_STRING(GPRS_RLCMAC_POLL_NONE), - OSMO_VALUE_STRING(GPRS_RLCMAC_POLL_SCHED), /* a polling was scheduled */ - { 0, NULL } -}; - const struct value_string gprs_rlcmac_tbf_dl_ass_state_names[] = { OSMO_VALUE_STRING(GPRS_RLCMAC_DL_ASS_NONE), OSMO_VALUE_STRING(GPRS_RLCMAC_DL_ASS_SEND_ASS), @@ -146,7 +140,6 @@ dl_ass_state(GPRS_RLCMAC_DL_ASS_NONE), ul_ass_state(GPRS_RLCMAC_UL_ASS_NONE), ul_ack_state(GPRS_RLCMAC_UL_ACK_NONE), - poll_state(GPRS_RLCMAC_POLL_NONE), m_egprs_enabled(false) { /* The classes of these members do not have proper constructors yet. @@ -589,7 +582,6 @@ chan, poll_fn, ts); return; } - poll_state = GPRS_RLCMAC_POLL_SCHED; poll_fn = new_poll_fn; poll_ts = ts; @@ -631,8 +623,6 @@ LOGPTBF(this, LOGL_NOTICE, "poll timeout for FN=%d, TS=%d (curr FN %d)\n", poll_fn, poll_ts, bts_current_frame_number(bts)); - poll_state = GPRS_RLCMAC_POLL_NONE; - if (ul_tbf && ul_tbf->handle_ctrl_ack(reason)) { if (!ul_tbf->ctrl_ack_to_toggle()) { LOGPTBF(this, LOGL_NOTICE, diff --git a/src/tbf.h b/src/tbf.h index 5064216..cb5aac4 100644 --- a/src/tbf.h +++ b/src/tbf.h @@ -64,13 +64,6 @@ GPRS_RLCMAC_RELEASING, /* releasing, wait to free TBI/USF */ }; -enum gprs_rlcmac_tbf_poll_state { - GPRS_RLCMAC_POLL_NONE = 0, - GPRS_RLCMAC_POLL_SCHED, /* a polling was scheduled */ -}; - -extern const struct value_string gprs_rlcmac_tbf_poll_state_names[]; - enum gprs_rlcmac_tbf_dl_ass_state { GPRS_RLCMAC_DL_ASS_NONE = 0, GPRS_RLCMAC_DL_ASS_SEND_ASS, /* send downlink assignment on next RTS */ @@ -174,8 +167,6 @@ #define TBF_SET_ASS_STATE_DL(t, st) do { t->set_ass_state_dl(st, __FILE__, __LINE__); } while(0) #define TBF_SET_ASS_STATE_UL(t, st) do { t->set_ass_state_ul(st, __FILE__, __LINE__); } while(0) #define TBF_SET_ACK_STATE(t, st) do { t->set_ack_state(st, __FILE__, __LINE__); } while(0) -#define TBF_POLL_SCHED_SET(t) do { t->poll_sched_set(__FILE__, __LINE__); } while(0) -#define TBF_POLL_SCHED_UNSET(t) do { t->poll_sched_unset(__FILE__, __LINE__); } while(0) #define TBF_SET_ASS_ON(t, fl, chk) do { t->set_assigned_on(fl, chk, __FILE__, __LINE__); } while(0) #define TBF_ASS_TYPE_SET(t, kind) do { t->ass_type_mod(kind, false, __FILE__, __LINE__); } while(0) #define TBF_ASS_TYPE_UNSET(t, kind) do { t->ass_type_mod(kind, true, __FILE__, __LINE__); } while(0) @@ -353,7 +344,6 @@ enum gprs_rlcmac_tbf_dl_ass_state dl_ass_state; enum gprs_rlcmac_tbf_ul_ass_state ul_ass_state; enum gprs_rlcmac_tbf_ul_ack_state ul_ack_state; - enum gprs_rlcmac_tbf_poll_state poll_state; bool m_egprs_enabled; struct osmo_timer_list Tarr[T_MAX]; uint8_t Narr[N_MAX]; @@ -482,20 +472,6 @@ ul_ack_state = new_state; } -inline void gprs_rlcmac_tbf::poll_sched_set(const char *file, int line) -{ - LOGPSRC(DTBF, LOGL_DEBUG, file, line, "%s changes poll state from %s to GPRS_RLCMAC_POLL_SCHED\n", - tbf_name(this), get_value_string(gprs_rlcmac_tbf_poll_state_names, poll_state)); - poll_state = GPRS_RLCMAC_POLL_SCHED; -} - -inline void gprs_rlcmac_tbf::poll_sched_unset(const char *file, int line) -{ - LOGPSRC(DTBF, LOGL_DEBUG, file, line, "%s changes poll state from %s to GPRS_RLCMAC_POLL_NONE\n", - tbf_name(this), get_value_string(gprs_rlcmac_tbf_poll_state_names, poll_state)); - poll_state = GPRS_RLCMAC_POLL_NONE; -} - inline bool gprs_rlcmac_tbf::check_n_clear(uint8_t state_flag) { if ((state_flags & (1 << state_flag))) { diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index ba5c651..de32a1d 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -781,7 +781,6 @@ /* reset N3105 */ n_reset(N3105); t_stop(T3191, "ACK/NACK received"); - TBF_POLL_SCHED_UNSET(this); return ack_recovered; } diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index 6d2c384..dde62a1 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -1549,7 +1549,6 @@ PDCH(bts=0,trx=0,ts=7) FN=2654283 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) FN=2654283 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) RX: [PCU <- BTS] Packet Control Ack -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes poll state from GPRS_RLCMAC_POLL_SCHED to GPRS_RLCMAC_POLL_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) [DOWNLINK] UPLINK ASSIGNED TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_WAIT_ACK to GPRS_RLCMAC_UL_ASS_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes state from ASSIGN to FLOW @@ -1634,7 +1633,6 @@ PDCH(bts=0,trx=0,ts=7) FN=2654283 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) FN=2654283 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) RX: [PCU <- BTS] Packet Control Ack -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes poll state from GPRS_RLCMAC_POLL_SCHED to GPRS_RLCMAC_POLL_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) [DOWNLINK] UPLINK ASSIGNED TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_WAIT_ACK to GPRS_RLCMAC_UL_ASS_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes state from ASSIGN to FLOW @@ -1686,7 +1684,6 @@ PDCH(bts=0,trx=0,ts=7) FN=2654288 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) FN=2654288 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) RX: [PCU <- BTS] Packet Control Ack -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) changes poll state from GPRS_RLCMAC_POLL_SCHED to GPRS_RLCMAC_POLL_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) [UPLINK] DOWNLINK ASSIGNED TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) changes DL ASS state from GPRS_RLCMAC_DL_ASS_WAIT_ACK to GPRS_RLCMAC_DL_ASS_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) changes state from ASSIGN to FLOW @@ -1790,7 +1787,6 @@ PDCH(bts=0,trx=0,ts=7) FN=2654361 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) FN=2654361 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) RX: [PCU <- BTS] Packet Control Ack -TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) changes poll state from GPRS_RLCMAC_POLL_SCHED to GPRS_RLCMAC_POLL_NONE TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) [DOWNLINK] UPLINK ASSIGNED TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_WAIT_ACK to GPRS_RLCMAC_UL_ASS_NONE TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) changes state from ASSIGN to FLOW @@ -1862,7 +1858,6 @@ PDCH(bts=0,trx=0,ts=7) FN=2654283 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) FN=2654283 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) RX: [PCU <- BTS] Packet Control Ack -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes poll state from GPRS_RLCMAC_POLL_SCHED to GPRS_RLCMAC_POLL_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) [DOWNLINK] UPLINK ASSIGNED TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_WAIT_ACK to GPRS_RLCMAC_UL_ASS_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes state from ASSIGN to FLOW @@ -1949,7 +1944,6 @@ PDCH(bts=0,trx=0,ts=7) FN=2654340 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) FN=2654340 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) RX: [PCU <- BTS] Packet Control Ack -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes poll state from GPRS_RLCMAC_POLL_SCHED to GPRS_RLCMAC_POLL_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) [DOWNLINK] UPLINK ASSIGNED TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_WAIT_ACK to GPRS_RLCMAC_UL_ASS_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes state from ASSIGN to FLOW @@ -2010,7 +2004,6 @@ PDCH(bts=0,trx=0,ts=7) FN=2654283 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) FN=2654283 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) RX: [PCU <- BTS] Packet Control Ack -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes poll state from GPRS_RLCMAC_POLL_SCHED to GPRS_RLCMAC_POLL_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) [DOWNLINK] UPLINK ASSIGNED TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_WAIT_ACK to GPRS_RLCMAC_UL_ASS_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes state from ASSIGN to FLOW @@ -2158,7 +2151,6 @@ PDCH(bts=0,trx=0,ts=7) FN=2654283 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) FN=2654283 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) RX: [PCU <- BTS] Packet Control Ack -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes poll state from GPRS_RLCMAC_POLL_SCHED to GPRS_RLCMAC_POLL_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) [DOWNLINK] UPLINK ASSIGNED TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_WAIT_ACK to GPRS_RLCMAC_UL_ASS_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes state from ASSIGN to FLOW @@ -2250,7 +2242,6 @@ PDCH(bts=0,trx=0,ts=7) FN=2654288 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) FN=2654288 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) RX: [PCU <- BTS] Packet Control Ack -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) changes poll state from GPRS_RLCMAC_POLL_SCHED to GPRS_RLCMAC_POLL_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) [UPLINK] DOWNLINK ASSIGNED TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) changes DL ASS state from GPRS_RLCMAC_DL_ASS_WAIT_ACK to GPRS_RLCMAC_DL_ASS_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) changes state from ASSIGN to FLOW @@ -2810,7 +2801,6 @@ PDCH(bts=0,trx=0,ts=7) FN=2654409 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) FN=2654409 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) stopping timer T3191 [ACK/NACK received] -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) changes poll state from GPRS_RLCMAC_POLL_SCHED to GPRS_RLCMAC_POLL_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) RX: [PCU <- BTS] Packet Downlink Ack/Nack PDCH(bts=0,trx=0,ts=7) Got GPRS DL ACK bitmap: SSN: 0, BSN 0 to 28 - 1 (28 blocks), "RRRRRRRRRRRRRRRRRRRRRRRRRRRR" TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) downlink acknowledge @@ -2937,7 +2927,6 @@ PDCH(bts=0,trx=0,ts=7) FN=2654413 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) FN=2654413 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) RX: [PCU <- BTS] Packet Control Ack -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) changes poll state from GPRS_RLCMAC_POLL_SCHED to GPRS_RLCMAC_POLL_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) [UPLINK] DOWNLINK ASSIGNED TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) changes DL ASS state from GPRS_RLCMAC_DL_ASS_WAIT_ACK to GPRS_RLCMAC_DL_ASS_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) changes state from WAIT RELEASE to RELEASING @@ -3295,7 +3284,6 @@ PDCH(bts=0,trx=0,ts=7) FN=2654283 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) FN=2654283 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) RX: [PCU <- BTS] Packet Control Ack -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes poll state from GPRS_RLCMAC_POLL_SCHED to GPRS_RLCMAC_POLL_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) [DOWNLINK] UPLINK ASSIGNED TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_WAIT_ACK to GPRS_RLCMAC_UL_ASS_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes state from ASSIGN to FLOW @@ -3388,7 +3376,6 @@ PDCH(bts=0,trx=0,ts=7) FN=2654283 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) FN=2654283 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) RX: [PCU <- BTS] Packet Control Ack -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes poll state from GPRS_RLCMAC_POLL_SCHED to GPRS_RLCMAC_POLL_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) [DOWNLINK] UPLINK ASSIGNED TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_WAIT_ACK to GPRS_RLCMAC_UL_ASS_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes state from ASSIGN to FLOW @@ -5984,7 +5971,6 @@ PDCH(bts=0,trx=0,ts=7) FN=2654283 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) FN=2654283 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) RX: [PCU <- BTS] Packet Control Ack -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes poll state from GPRS_RLCMAC_POLL_SCHED to GPRS_RLCMAC_POLL_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) [DOWNLINK] UPLINK ASSIGNED TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_WAIT_ACK to GPRS_RLCMAC_UL_ASS_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes state from ASSIGN to FLOW @@ -6150,7 +6136,6 @@ PDCH(bts=0,trx=0,ts=7) FN=2654283 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) FN=2654283 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) RX: [PCU <- BTS] Packet Control Ack -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes poll state from GPRS_RLCMAC_POLL_SCHED to GPRS_RLCMAC_POLL_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) [DOWNLINK] UPLINK ASSIGNED TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_WAIT_ACK to GPRS_RLCMAC_UL_ASS_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes state from ASSIGN to FLOW @@ -6476,7 +6461,6 @@ PDCH(bts=0,trx=0,ts=7) FN=2654283 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ PDCH(bts=0,trx=0,ts=7) FN=2654283 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) RX: [PCU <- BTS] Packet Control Ack -TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes poll state from GPRS_RLCMAC_POLL_SCHED to GPRS_RLCMAC_POLL_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) [DOWNLINK] UPLINK ASSIGNED TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_WAIT_ACK to GPRS_RLCMAC_UL_ASS_NONE TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes state from ASSIGN to FLOW -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23529 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie5b807ccd38aa736ae11b3310ca61ad0156ca4d4 Gerrit-Change-Number: 23529 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 Mar 29 17:31:04 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 29 Mar 2021 17:31:04 +0000 Subject: Change in osmo-pcu[master]: Get rid of param 'poll' with constant value References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23530 ) Change subject: Get rid of param 'poll' with constant value ...................................................................... Get rid of param 'poll' with constant value Value 'false' is always passed by all callers of the function, so there's no need to pass it. Furthermore, since it's false, there's no need to access poll_fn since RRBP will always be invalid. Change-Id: Ia48ce2a021865e76e813dedb22aca9c2522c5693 --- M src/bts.cpp M src/bts.h M src/tbf.cpp M src/tbf_dl.cpp M tests/tbf/TbfTest.err 5 files changed, 43 insertions(+), 43 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/30/23530/1 diff --git a/src/bts.cpp b/src/bts.cpp index fee36be..0443df6 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -965,7 +965,7 @@ return 0; } -void bts_snd_dl_ass(struct gprs_rlcmac_bts *bts, struct gprs_rlcmac_tbf *tbf, bool poll, uint16_t pgroup) +void bts_snd_dl_ass(struct gprs_rlcmac_bts *bts, struct gprs_rlcmac_tbf *tbf, uint16_t pgroup) { uint8_t trx_no = tbf->trx->trx_no; uint8_t ts_no = tbf->first_ts; @@ -976,12 +976,12 @@ bitvec_unhex(immediate_assignment, DUMMY_VEC); /* standard '2B'O padding */ /* use request reference that has maximum distance to current time, * so the assignment will not conflict with possible RACH requests. */ - LOGP(DRLCMAC, LOGL_DEBUG, " - TRX=%d (%d) TS=%d TA=%d pollFN=%d\n", - trx_no, tbf->trx->arfcn, ts_no, tbf->ta(), poll ? tbf->poll_fn : -1); + LOGP(DRLCMAC, LOGL_DEBUG, " - TRX=%d (%d) TS=%d TA=%d\n", + trx_no, tbf->trx->arfcn, ts_no, tbf->ta()); plen = Encoding::write_immediate_assignment(&bts->trx[trx_no].pdch[ts_no], tbf, immediate_assignment, true, 125, (tbf->pdch[ts_no]->last_rts_fn + 21216) % GSM_MAX_FN, - tbf->ta(), 7, poll, tbf->poll_fn, + tbf->ta(), 7, false, 0, bts_get_ms_pwr_alpha(bts), bts->pcu->vty.gamma, -1, GSM_L1_BURST_TYPE_ACCESS_0); if (plen >= 0) { diff --git a/src/bts.h b/src/bts.h index ab8a973..a8b4d7b 100644 --- a/src/bts.h +++ b/src/bts.h @@ -273,7 +273,7 @@ struct gprs_rlcmac_dl_tbf *bts_dl_tbf_by_tfi(struct gprs_rlcmac_bts *bts, uint8_t tfi, uint8_t trx, uint8_t ts); struct gprs_rlcmac_ul_tbf *bts_ul_tbf_by_tfi(struct gprs_rlcmac_bts *bts, uint8_t tfi, uint8_t trx, uint8_t ts); -void bts_snd_dl_ass(struct gprs_rlcmac_bts *bts, struct gprs_rlcmac_tbf *tbf, bool poll, uint16_t pgroup); +void bts_snd_dl_ass(struct gprs_rlcmac_bts *bts, struct gprs_rlcmac_tbf *tbf, uint16_t pgroup); void bts_set_current_frame_number(struct gprs_rlcmac_bts *bts, uint32_t frame_number); void bts_set_current_block_frame_number(struct gprs_rlcmac_bts *bts, int frame_number); diff --git a/src/tbf.cpp b/src/tbf.cpp index 1dc052a..0ea0ceb 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -717,7 +717,7 @@ /* send immediate assignment */ if ((pgroup = imsi2paging_group(imsi())) > 999) LOGPTBF(dl_tbf, LOGL_ERROR, "IMSI to paging group failed! (%s)\n", imsi()); - bts_snd_dl_ass(dl_tbf->bts, dl_tbf, false, pgroup); + bts_snd_dl_ass(dl_tbf->bts, dl_tbf, pgroup); dl_tbf->m_wait_confirm = 1; } } else diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index de32a1d..19415f1 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -616,7 +616,7 @@ /* send immediate assignment */ if ((pgroup = imsi2paging_group(imsi())) > 999) LOGPTBFDL(this, LOGL_ERROR, "IMSI to paging group failed! (%s)\n", imsi()); - bts_snd_dl_ass(bts, this, false, pgroup); + bts_snd_dl_ass(bts, this, pgroup); m_wait_confirm = 1; } } diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index dde62a1..811cfaa 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -555,7 +555,7 @@ TBF(TFI=0 TLLI=0xc0000000 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000000) TBF(TFI=0 TLLI=0xc0000000 DIR=DL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=0 TLLI=0xc0000000 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - - TRX=0 (0) TS=4 TA=220 pollFN=-1 + - TRX=0 (0) TS=4 TA=220 TBF(TFI=0 TLLI=0xc0000000 DIR=DL STATE=ASSIGN) appending 256 bytes Creating MS object, TLLI = 0xffffffff Modifying MS object, TLLI = 0xffffffff, MS class 0 -> 45 @@ -580,7 +580,7 @@ TBF(TFI=1 TLLI=0xc0000001 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000001) TBF(TFI=1 TLLI=0xc0000001 DIR=DL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=1 TLLI=0xc0000001 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - - TRX=0 (0) TS=4 TA=220 pollFN=-1 + - TRX=0 (0) TS=4 TA=220 TBF(TFI=1 TLLI=0xc0000001 DIR=DL STATE=ASSIGN) appending 256 bytes Creating MS object, TLLI = 0xffffffff Modifying MS object, TLLI = 0xffffffff, MS class 0 -> 45 @@ -605,7 +605,7 @@ TBF(TFI=2 TLLI=0xc0000002 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000002) TBF(TFI=2 TLLI=0xc0000002 DIR=DL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=2 TLLI=0xc0000002 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - - TRX=0 (0) TS=4 TA=220 pollFN=-1 + - TRX=0 (0) TS=4 TA=220 TBF(TFI=2 TLLI=0xc0000002 DIR=DL STATE=ASSIGN) appending 256 bytes Creating MS object, TLLI = 0xffffffff Modifying MS object, TLLI = 0xffffffff, MS class 0 -> 45 @@ -630,7 +630,7 @@ TBF(TFI=3 TLLI=0xc0000003 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000003) TBF(TFI=3 TLLI=0xc0000003 DIR=DL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=3 TLLI=0xc0000003 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - - TRX=0 (0) TS=4 TA=220 pollFN=-1 + - TRX=0 (0) TS=4 TA=220 TBF(TFI=3 TLLI=0xc0000003 DIR=DL STATE=ASSIGN) appending 256 bytes Creating MS object, TLLI = 0xffffffff Modifying MS object, TLLI = 0xffffffff, MS class 0 -> 45 @@ -655,7 +655,7 @@ TBF(TFI=4 TLLI=0xc0000004 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000004) TBF(TFI=4 TLLI=0xc0000004 DIR=DL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=4 TLLI=0xc0000004 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - - TRX=0 (0) TS=4 TA=220 pollFN=-1 + - TRX=0 (0) TS=4 TA=220 TBF(TFI=4 TLLI=0xc0000004 DIR=DL STATE=ASSIGN) appending 256 bytes Creating MS object, TLLI = 0xffffffff Modifying MS object, TLLI = 0xffffffff, MS class 0 -> 45 @@ -680,7 +680,7 @@ TBF(TFI=5 TLLI=0xc0000005 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000005) TBF(TFI=5 TLLI=0xc0000005 DIR=DL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=5 TLLI=0xc0000005 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - - TRX=0 (0) TS=4 TA=220 pollFN=-1 + - TRX=0 (0) TS=4 TA=220 TBF(TFI=5 TLLI=0xc0000005 DIR=DL STATE=ASSIGN) appending 256 bytes Creating MS object, TLLI = 0xffffffff Modifying MS object, TLLI = 0xffffffff, MS class 0 -> 45 @@ -705,7 +705,7 @@ TBF(TFI=6 TLLI=0xc0000006 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000006) TBF(TFI=6 TLLI=0xc0000006 DIR=DL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=6 TLLI=0xc0000006 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - - TRX=0 (0) TS=4 TA=220 pollFN=-1 + - TRX=0 (0) TS=4 TA=220 TBF(TFI=6 TLLI=0xc0000006 DIR=DL STATE=ASSIGN) appending 256 bytes Creating MS object, TLLI = 0xffffffff Modifying MS object, TLLI = 0xffffffff, MS class 0 -> 45 @@ -730,7 +730,7 @@ TBF(TFI=7 TLLI=0xc0000007 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000007) TBF(TFI=7 TLLI=0xc0000007 DIR=DL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=7 TLLI=0xc0000007 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - - TRX=0 (0) TS=4 TA=220 pollFN=-1 + - TRX=0 (0) TS=4 TA=220 TBF(TFI=7 TLLI=0xc0000007 DIR=DL STATE=ASSIGN) appending 256 bytes Creating MS object, TLLI = 0xffffffff Modifying MS object, TLLI = 0xffffffff, MS class 0 -> 45 @@ -755,7 +755,7 @@ TBF(TFI=8 TLLI=0xc0000008 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000008) TBF(TFI=8 TLLI=0xc0000008 DIR=DL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=8 TLLI=0xc0000008 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - - TRX=0 (0) TS=4 TA=220 pollFN=-1 + - TRX=0 (0) TS=4 TA=220 TBF(TFI=8 TLLI=0xc0000008 DIR=DL STATE=ASSIGN) appending 256 bytes Creating MS object, TLLI = 0xffffffff Modifying MS object, TLLI = 0xffffffff, MS class 0 -> 45 @@ -780,7 +780,7 @@ TBF(TFI=9 TLLI=0xc0000009 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000009) TBF(TFI=9 TLLI=0xc0000009 DIR=DL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=9 TLLI=0xc0000009 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - - TRX=0 (0) TS=4 TA=220 pollFN=-1 + - TRX=0 (0) TS=4 TA=220 TBF(TFI=9 TLLI=0xc0000009 DIR=DL STATE=ASSIGN) appending 256 bytes Creating MS object, TLLI = 0xffffffff Modifying MS object, TLLI = 0xffffffff, MS class 0 -> 45 @@ -805,7 +805,7 @@ TBF(TFI=10 TLLI=0xc000000a DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000010) TBF(TFI=10 TLLI=0xc000000a DIR=DL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=10 TLLI=0xc000000a DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - - TRX=0 (0) TS=4 TA=220 pollFN=-1 + - TRX=0 (0) TS=4 TA=220 TBF(TFI=10 TLLI=0xc000000a DIR=DL STATE=ASSIGN) appending 256 bytes Creating MS object, TLLI = 0xffffffff Modifying MS object, TLLI = 0xffffffff, MS class 0 -> 45 @@ -830,7 +830,7 @@ TBF(TFI=11 TLLI=0xc000000b DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000011) TBF(TFI=11 TLLI=0xc000000b DIR=DL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=11 TLLI=0xc000000b DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - - TRX=0 (0) TS=4 TA=220 pollFN=-1 + - TRX=0 (0) TS=4 TA=220 TBF(TFI=11 TLLI=0xc000000b DIR=DL STATE=ASSIGN) appending 256 bytes Creating MS object, TLLI = 0xffffffff Modifying MS object, TLLI = 0xffffffff, MS class 0 -> 45 @@ -855,7 +855,7 @@ TBF(TFI=12 TLLI=0xc000000c DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000012) TBF(TFI=12 TLLI=0xc000000c DIR=DL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=12 TLLI=0xc000000c DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - - TRX=0 (0) TS=4 TA=220 pollFN=-1 + - TRX=0 (0) TS=4 TA=220 TBF(TFI=12 TLLI=0xc000000c DIR=DL STATE=ASSIGN) appending 256 bytes Creating MS object, TLLI = 0xffffffff Modifying MS object, TLLI = 0xffffffff, MS class 0 -> 45 @@ -880,7 +880,7 @@ TBF(TFI=13 TLLI=0xc000000d DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000013) TBF(TFI=13 TLLI=0xc000000d DIR=DL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=13 TLLI=0xc000000d DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - - TRX=0 (0) TS=4 TA=220 pollFN=-1 + - TRX=0 (0) TS=4 TA=220 TBF(TFI=13 TLLI=0xc000000d DIR=DL STATE=ASSIGN) appending 256 bytes Creating MS object, TLLI = 0xffffffff Modifying MS object, TLLI = 0xffffffff, MS class 0 -> 45 @@ -905,7 +905,7 @@ TBF(TFI=14 TLLI=0xc000000e DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000014) TBF(TFI=14 TLLI=0xc000000e DIR=DL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=14 TLLI=0xc000000e DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - - TRX=0 (0) TS=4 TA=220 pollFN=-1 + - TRX=0 (0) TS=4 TA=220 TBF(TFI=14 TLLI=0xc000000e DIR=DL STATE=ASSIGN) appending 256 bytes Creating MS object, TLLI = 0xffffffff Modifying MS object, TLLI = 0xffffffff, MS class 0 -> 45 @@ -930,7 +930,7 @@ TBF(TFI=15 TLLI=0xc000000f DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000015) TBF(TFI=15 TLLI=0xc000000f DIR=DL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=15 TLLI=0xc000000f DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - - TRX=0 (0) TS=4 TA=220 pollFN=-1 + - TRX=0 (0) TS=4 TA=220 TBF(TFI=15 TLLI=0xc000000f DIR=DL STATE=ASSIGN) appending 256 bytes Creating MS object, TLLI = 0xffffffff Modifying MS object, TLLI = 0xffffffff, MS class 0 -> 45 @@ -955,7 +955,7 @@ TBF(TFI=16 TLLI=0xc0000010 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000016) TBF(TFI=16 TLLI=0xc0000010 DIR=DL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=16 TLLI=0xc0000010 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - - TRX=0 (0) TS=4 TA=220 pollFN=-1 + - TRX=0 (0) TS=4 TA=220 TBF(TFI=16 TLLI=0xc0000010 DIR=DL STATE=ASSIGN) appending 256 bytes Creating MS object, TLLI = 0xffffffff Modifying MS object, TLLI = 0xffffffff, MS class 0 -> 45 @@ -980,7 +980,7 @@ TBF(TFI=17 TLLI=0xc0000011 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000017) TBF(TFI=17 TLLI=0xc0000011 DIR=DL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=17 TLLI=0xc0000011 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - - TRX=0 (0) TS=4 TA=220 pollFN=-1 + - TRX=0 (0) TS=4 TA=220 TBF(TFI=17 TLLI=0xc0000011 DIR=DL STATE=ASSIGN) appending 256 bytes Creating MS object, TLLI = 0xffffffff Modifying MS object, TLLI = 0xffffffff, MS class 0 -> 45 @@ -1005,7 +1005,7 @@ TBF(TFI=18 TLLI=0xc0000012 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000018) TBF(TFI=18 TLLI=0xc0000012 DIR=DL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=18 TLLI=0xc0000012 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - - TRX=0 (0) TS=4 TA=220 pollFN=-1 + - TRX=0 (0) TS=4 TA=220 TBF(TFI=18 TLLI=0xc0000012 DIR=DL STATE=ASSIGN) appending 256 bytes Creating MS object, TLLI = 0xffffffff Modifying MS object, TLLI = 0xffffffff, MS class 0 -> 45 @@ -1030,7 +1030,7 @@ TBF(TFI=19 TLLI=0xc0000013 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000019) TBF(TFI=19 TLLI=0xc0000013 DIR=DL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=19 TLLI=0xc0000013 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - - TRX=0 (0) TS=4 TA=220 pollFN=-1 + - TRX=0 (0) TS=4 TA=220 TBF(TFI=19 TLLI=0xc0000013 DIR=DL STATE=ASSIGN) appending 256 bytes Creating MS object, TLLI = 0xffffffff Modifying MS object, TLLI = 0xffffffff, MS class 0 -> 45 @@ -1055,7 +1055,7 @@ TBF(TFI=20 TLLI=0xc0000014 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000020) TBF(TFI=20 TLLI=0xc0000014 DIR=DL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=20 TLLI=0xc0000014 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - - TRX=0 (0) TS=4 TA=220 pollFN=-1 + - TRX=0 (0) TS=4 TA=220 TBF(TFI=20 TLLI=0xc0000014 DIR=DL STATE=ASSIGN) appending 256 bytes Creating MS object, TLLI = 0xffffffff Modifying MS object, TLLI = 0xffffffff, MS class 0 -> 45 @@ -1080,7 +1080,7 @@ TBF(TFI=21 TLLI=0xc0000015 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000021) TBF(TFI=21 TLLI=0xc0000015 DIR=DL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=21 TLLI=0xc0000015 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - - TRX=0 (0) TS=4 TA=220 pollFN=-1 + - TRX=0 (0) TS=4 TA=220 TBF(TFI=21 TLLI=0xc0000015 DIR=DL STATE=ASSIGN) appending 256 bytes Creating MS object, TLLI = 0xffffffff Modifying MS object, TLLI = 0xffffffff, MS class 0 -> 45 @@ -1105,7 +1105,7 @@ TBF(TFI=22 TLLI=0xc0000016 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000022) TBF(TFI=22 TLLI=0xc0000016 DIR=DL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=22 TLLI=0xc0000016 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - - TRX=0 (0) TS=4 TA=220 pollFN=-1 + - TRX=0 (0) TS=4 TA=220 TBF(TFI=22 TLLI=0xc0000016 DIR=DL STATE=ASSIGN) appending 256 bytes Creating MS object, TLLI = 0xffffffff Modifying MS object, TLLI = 0xffffffff, MS class 0 -> 45 @@ -1130,7 +1130,7 @@ TBF(TFI=23 TLLI=0xc0000017 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000023) TBF(TFI=23 TLLI=0xc0000017 DIR=DL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=23 TLLI=0xc0000017 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - - TRX=0 (0) TS=4 TA=220 pollFN=-1 + - TRX=0 (0) TS=4 TA=220 TBF(TFI=23 TLLI=0xc0000017 DIR=DL STATE=ASSIGN) appending 256 bytes Creating MS object, TLLI = 0xffffffff Modifying MS object, TLLI = 0xffffffff, MS class 0 -> 45 @@ -1155,7 +1155,7 @@ TBF(TFI=24 TLLI=0xc0000018 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000024) TBF(TFI=24 TLLI=0xc0000018 DIR=DL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=24 TLLI=0xc0000018 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - - TRX=0 (0) TS=4 TA=220 pollFN=-1 + - TRX=0 (0) TS=4 TA=220 TBF(TFI=24 TLLI=0xc0000018 DIR=DL STATE=ASSIGN) appending 256 bytes Creating MS object, TLLI = 0xffffffff Modifying MS object, TLLI = 0xffffffff, MS class 0 -> 45 @@ -1180,7 +1180,7 @@ TBF(TFI=25 TLLI=0xc0000019 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000025) TBF(TFI=25 TLLI=0xc0000019 DIR=DL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=25 TLLI=0xc0000019 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - - TRX=0 (0) TS=4 TA=220 pollFN=-1 + - TRX=0 (0) TS=4 TA=220 TBF(TFI=25 TLLI=0xc0000019 DIR=DL STATE=ASSIGN) appending 256 bytes Creating MS object, TLLI = 0xffffffff Modifying MS object, TLLI = 0xffffffff, MS class 0 -> 45 @@ -1205,7 +1205,7 @@ TBF(TFI=26 TLLI=0xc000001a DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000026) TBF(TFI=26 TLLI=0xc000001a DIR=DL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=26 TLLI=0xc000001a DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - - TRX=0 (0) TS=4 TA=220 pollFN=-1 + - TRX=0 (0) TS=4 TA=220 TBF(TFI=26 TLLI=0xc000001a DIR=DL STATE=ASSIGN) appending 256 bytes Creating MS object, TLLI = 0xffffffff Modifying MS object, TLLI = 0xffffffff, MS class 0 -> 45 @@ -1230,7 +1230,7 @@ TBF(TFI=27 TLLI=0xc000001b DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000027) TBF(TFI=27 TLLI=0xc000001b DIR=DL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=27 TLLI=0xc000001b DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - - TRX=0 (0) TS=4 TA=220 pollFN=-1 + - TRX=0 (0) TS=4 TA=220 TBF(TFI=27 TLLI=0xc000001b DIR=DL STATE=ASSIGN) appending 256 bytes Creating MS object, TLLI = 0xffffffff Modifying MS object, TLLI = 0xffffffff, MS class 0 -> 45 @@ -1255,7 +1255,7 @@ TBF(TFI=28 TLLI=0xc000001c DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000028) TBF(TFI=28 TLLI=0xc000001c DIR=DL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=28 TLLI=0xc000001c DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - - TRX=0 (0) TS=4 TA=220 pollFN=-1 + - TRX=0 (0) TS=4 TA=220 TBF(TFI=28 TLLI=0xc000001c DIR=DL STATE=ASSIGN) appending 256 bytes Creating MS object, TLLI = 0xffffffff Modifying MS object, TLLI = 0xffffffff, MS class 0 -> 45 @@ -1280,7 +1280,7 @@ TBF(TFI=29 TLLI=0xc000001d DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000029) TBF(TFI=29 TLLI=0xc000001d DIR=DL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=29 TLLI=0xc000001d DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - - TRX=0 (0) TS=4 TA=220 pollFN=-1 + - TRX=0 (0) TS=4 TA=220 TBF(TFI=29 TLLI=0xc000001d DIR=DL STATE=ASSIGN) appending 256 bytes Creating MS object, TLLI = 0xffffffff Modifying MS object, TLLI = 0xffffffff, MS class 0 -> 45 @@ -1305,7 +1305,7 @@ TBF(TFI=30 TLLI=0xc000001e DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000030) TBF(TFI=30 TLLI=0xc000001e DIR=DL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=30 TLLI=0xc000001e DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - - TRX=0 (0) TS=4 TA=220 pollFN=-1 + - TRX=0 (0) TS=4 TA=220 TBF(TFI=30 TLLI=0xc000001e DIR=DL STATE=ASSIGN) appending 256 bytes Creating MS object, TLLI = 0xffffffff Modifying MS object, TLLI = 0xffffffff, MS class 0 -> 45 @@ -1330,7 +1330,7 @@ TBF(TFI=31 TLLI=0xc000001f DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000000031) TBF(TFI=31 TLLI=0xc000001f DIR=DL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=31 TLLI=0xc000001f DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - - TRX=0 (0) TS=4 TA=220 pollFN=-1 + - TRX=0 (0) TS=4 TA=220 TBF(TFI=31 TLLI=0xc000001f DIR=DL STATE=ASSIGN) appending 256 bytes Creating MS object, TLLI = 0xffffffff Modifying MS object, TLLI = 0xffffffff, MS class 0 -> 45 @@ -1368,7 +1368,7 @@ TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000123456) TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - - TRX=0 (0) TS=4 TA=220 pollFN=-1 + - TRX=0 (0) TS=4 TA=220 TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) appending 19 bytes Modifying MS object, TLLI = 0xc0123456, TA 220 -> 0 TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) appending 19 bytes @@ -1399,7 +1399,7 @@ TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001000123456) TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - - TRX=0 (0) TS=4 TA=0 pollFN=-1 + - TRX=0 (0) TS=4 TA=0 TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) appending 19 bytes TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) downlink (V(A)==0 .. V(S)==0) mcs_mode_restrict=EGPRS TBF(TFI=0 TLLI=0xc0123456 DIR=DL STATE=ASSIGN) Sending new block at BSN 0, CS=CS-1 @@ -1503,7 +1503,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=0011223344) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - - TRX=0 (0) TS=7 TA=7 pollFN=-1 + - TRX=0 (0) TS=7 TA=7 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) appending 4 bytes === end test_tbf_single_phase === === start test_tbf_two_phase === @@ -3153,7 +3153,7 @@ TBF(TFI=0 TLLI=0xc0006789 DIR=DL STATE=NULL) Send dowlink assignment on PCH, no TBF exist (IMSI=001001123456789) TBF(TFI=0 TLLI=0xc0006789 DIR=DL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=0 TLLI=0xc0006789 DIR=DL STATE=ASSIGN) TX: START Immediate Assignment Downlink (PCH) - - TRX=0 (0) TS=4 TA=220 pollFN=-1 + - TRX=0 (0) TS=4 TA=220 TBF(TFI=0 TLLI=0xc0006789 DIR=DL STATE=ASSIGN) appending 256 bytes === end test_tbf_gprs_egprs === === start test_tbf_ws === -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23530 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia48ce2a021865e76e813dedb22aca9c2522c5693 Gerrit-Change-Number: 23530 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 Mar 29 17:31:04 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 29 Mar 2021 17:31:04 +0000 Subject: Change in osmo-pcu[master]: tbf: Get rid of attribute poll_fn References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23531 ) Change subject: tbf: Get rid of attribute poll_fn ...................................................................... tbf: Get rid of attribute poll_fn That field is not needed anymore, and it works only under the assumption that only 1 poll request can be active at a time per TBF, which is not true. Change-Id: I63a34a702f028b871530fb7caeb13e8ea1cc78ac --- M src/bts.cpp M src/pdch_ul_controller.c M src/tbf.cpp M src/tbf.h M src/tbf_dl.cpp M tests/tbf/TbfTest.cpp M tests/tbf/TbfTest.err 7 files changed, 104 insertions(+), 100 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/31/23531/1 diff --git a/src/bts.cpp b/src/bts.cpp index 0443df6..b61c6b4 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -1086,10 +1086,8 @@ /* limit target TA in range 0..63 bits */ ta_target = ta_limit(ta_adj); - LOGP(DL1IF, LOGL_INFO, "PH-DATA-IND is updating TLLI=0x%08x: TA %u -> %u on " - "TRX = %d, TS = %d, FN = %d\n", - tbf->tlli(), tbf->ta(), ta_target, - tbf->trx->trx_no , tbf->poll_ts, tbf->poll_fn); + LOGP(DL1IF, LOGL_INFO, "PH-DATA-IND is updating %s: TA %u -> %u on " + "TRX = %d\n", tbf_name(tbf), tbf->ta(), ta_target, tbf->trx->trx_no); tbf->set_ta(ta_target); } } @@ -1103,10 +1101,8 @@ /* limit target TA in range 0..63 bits */ ta_target = ta_limit(ta); - LOGP(DL1IF, LOGL_INFO, "PH-RA-IND is updating TLLI=0x%08x: TA %u -> %u on " - "TRX = %d, TS = %d, FN = %d\n", - tbf->tlli(), tbf->ta(), ta_target, - tbf->trx->trx_no , tbf->poll_ts, tbf->poll_fn); + LOGP(DL1IF, LOGL_INFO, "PH-RA-IND is updating %s: TA %u -> %u on " + "TRX = %d\n", tbf_name(tbf), tbf->ta(), ta_target, tbf->trx->trx_no); tbf->set_ta(ta_target); } } diff --git a/src/pdch_ul_controller.c b/src/pdch_ul_controller.c index 8fb5582..5911080 100644 --- a/src/pdch_ul_controller.c +++ b/src/pdch_ul_controller.c @@ -318,7 +318,7 @@ LOGPDCH(ulc->pdch, DRLCMAC, LOGL_NOTICE, "Timeout for registered POLL (FN=%u): %s\n", item->fn, tbf_name(item->tbf_poll.poll_tbf)); - tbf_poll_timeout(item->tbf_poll.poll_tbf, item->tbf_poll.reason); + tbf_poll_timeout(item->tbf_poll.poll_tbf, item->fn, item->tbf_poll.reason); break; case PDCH_ULC_NODE_SBA: sba = item->sba.sba; diff --git a/src/tbf.cpp b/src/tbf.cpp index 0ea0ceb..92dede5 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -125,7 +125,6 @@ first_ts(0), first_common_ts(0), control_ts(0xff), - poll_fn(0), poll_ts(0), fT(0), num_fT_exp(0), @@ -579,10 +578,9 @@ /* schedule polling */ if (pdch_ulc_reserve_tbf_poll(trx->pdch[ts].ulc, new_poll_fn, this, reason) < 0) { LOGPTBFDL(this, LOGL_ERROR, "Failed scheduling poll on %s (FN=%d, TS=%d)\n", - chan, poll_fn, ts); + chan, new_poll_fn, ts); return; } - poll_fn = new_poll_fn; poll_ts = ts; switch (reason) { @@ -590,32 +588,32 @@ ul_ass_state = GPRS_RLCMAC_UL_ASS_WAIT_ACK; LOGPTBFDL(this, LOGL_INFO, "Scheduled UL Assignment polling on %s (FN=%d, TS=%d)\n", - chan, poll_fn, poll_ts); + chan, new_poll_fn, poll_ts); break; case PDCH_ULC_POLL_DL_ASS: dl_ass_state = GPRS_RLCMAC_DL_ASS_WAIT_ACK; LOGPTBFDL(this, LOGL_INFO, "Scheduled DL Assignment polling on %s (FN=%d, TS=%d)\n", - chan, poll_fn, poll_ts); + chan, new_poll_fn, poll_ts); break; case PDCH_ULC_POLL_UL_ACK: ul_ack_state = GPRS_RLCMAC_UL_ACK_WAIT_ACK; LOGPTBFUL(this, LOGL_DEBUG, "Scheduled UL Acknowledgement polling on %s (FN=%d, TS=%d)\n", - chan, poll_fn, poll_ts); + chan, new_poll_fn, poll_ts); break; case PDCH_ULC_POLL_DL_ACK: LOGPTBFDL(this, LOGL_DEBUG, "Scheduled DL Acknowledgement polling on %s (FN=%d, TS=%d)\n", - chan, poll_fn, poll_ts); + chan, new_poll_fn, poll_ts); break; case PDCH_ULC_POLL_CELL_CHG_CONTINUE: LOGPTBFDL(this, LOGL_DEBUG, "Scheduled 'Packet Cell Change Continue' polling on %s (FN=%d, TS=%d)\n", - chan, poll_fn, poll_ts); + chan, new_poll_fn, poll_ts); break; } } -void gprs_rlcmac_tbf::poll_timeout(enum pdch_ulc_tbf_poll_reason reason) +void gprs_rlcmac_tbf::poll_timeout(uint32_t poll_fn, enum pdch_ulc_tbf_poll_reason reason) { uint16_t pgroup; gprs_rlcmac_ul_tbf *ul_tbf = as_ul_tbf(this); @@ -1211,7 +1209,7 @@ return tbf->set_polling(new_poll_fn, ts, t); } -void tbf_poll_timeout(struct gprs_rlcmac_tbf *tbf, enum pdch_ulc_tbf_poll_reason reason) +void tbf_poll_timeout(struct gprs_rlcmac_tbf *tbf, uint32_t poll_fn, enum pdch_ulc_tbf_poll_reason reason) { - tbf->poll_timeout(reason); + tbf->poll_timeout(poll_fn, reason); } diff --git a/src/tbf.h b/src/tbf.h index cb5aac4..b0bec31 100644 --- a/src/tbf.h +++ b/src/tbf.h @@ -193,7 +193,7 @@ int tbf_assign_control_ts(struct gprs_rlcmac_tbf *tbf); int tbf_check_polling(const struct gprs_rlcmac_tbf *tbf, uint32_t fn, uint8_t ts, uint32_t *poll_fn, unsigned int *rrbp); void tbf_set_polling(struct gprs_rlcmac_tbf *tbf, uint32_t new_poll_fn, uint8_t ts, enum pdch_ulc_tbf_poll_reason t); -void tbf_poll_timeout(struct gprs_rlcmac_tbf *tbf, enum pdch_ulc_tbf_poll_reason reason); +void tbf_poll_timeout(struct gprs_rlcmac_tbf *tbf, uint32_t poll_fn, enum pdch_ulc_tbf_poll_reason reason); #ifdef __cplusplus } #endif @@ -251,7 +251,7 @@ int check_polling(uint32_t fn, uint8_t ts, uint32_t *poll_fn, unsigned int *rrbp) const; void set_polling(uint32_t poll_fn, uint8_t ts, enum pdch_ulc_tbf_poll_reason reason); - void poll_timeout(enum pdch_ulc_tbf_poll_reason reason); + void poll_timeout(uint32_t poll_fn, enum pdch_ulc_tbf_poll_reason reason); /** tlli handling */ uint32_t tlli() const; @@ -292,7 +292,6 @@ gprs_llc m_llc; - uint32_t poll_fn; /* frame number to poll */ uint8_t poll_ts; /* TS to poll */ gprs_rlc m_rlc; diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index 19415f1..c122bba 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -990,11 +990,11 @@ rlc.rrbp = rrbp; rlc.es_p = 1; /* Polling */ - m_last_dl_poll_fn = poll_fn; + m_last_dl_poll_fn = new_poll_fn; LOGPTBFDL(this, LOGL_INFO, "Scheduled Ack/Nack polling on FN=%d, TS=%d\n", - poll_fn, poll_ts); + new_poll_fn, poll_ts); } } diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp index 46667b4..8fbdde6 100644 --- a/tests/tbf/TbfTest.cpp +++ b/tests/tbf/TbfTest.cpp @@ -651,11 +651,26 @@ send_ul_mac_block_buf(bts, pdch, fn, &buf[0], num_bytes); } + +static uint32_t get_poll_fn(struct gprs_rlcmac_tbf *tbf, uint8_t poll_ts) +{ + struct gprs_rlcmac_pdch *pdch = &tbf->trx->pdch[poll_ts]; + struct pdch_ulc *ulc = pdch->ulc; + struct rb_node *node; + struct pdch_ulc_node *item; + + for (node = rb_first(&ulc->tree_root); node; node = rb_next(node)) { + item = container_of(node, struct pdch_ulc_node, node); + if (item->type == PDCH_ULC_NODE_TBF_POLL && item->tbf_poll.poll_tbf == tbf) + return item->fn; + } + OSMO_ASSERT(0); +} + static void send_control_ack(gprs_rlcmac_tbf *tbf) { RlcMacUplink_t ulreq = {0}; - OSMO_ASSERT(tbf->poll_fn != 0); OSMO_ASSERT(tbf->is_control_ts(tbf->poll_ts)); ulreq.u.MESSAGE_TYPE = MT_PACKET_CONTROL_ACK; @@ -665,7 +680,7 @@ ctrl_ack->PayloadType = GPRS_RLCMAC_CONTROL_BLOCK; ctrl_ack->TLLI = tbf->tlli(); send_ul_mac_block(tbf->bts, tbf->trx->trx_no, tbf->poll_ts, - &ulreq, tbf->poll_fn); + &ulreq, get_poll_fn(tbf, tbf->poll_ts)); } static void send_empty_block(gprs_rlcmac_tbf *tbf, unsigned ts_no, unsigned fn) @@ -1924,7 +1939,7 @@ dl_tbf = ms_dl_tbf(ms1); OSMO_ASSERT(dl_tbf); - fn = dl_tbf->poll_fn; + fn = get_poll_fn(dl_tbf, dl_tbf->poll_ts); send_empty_block(dl_tbf, dl_tbf->poll_ts, fn); fn = fn_add_blocks(fn, 1); @@ -2149,7 +2164,7 @@ ack->DOWNLINK_TFI = dl_tbf1->tfi(); ack->Ack_Nack_Description.FINAL_ACK_INDICATION = 1; - send_ul_mac_block(bts, 0, dl_tbf1->poll_ts, &ulreq, dl_tbf1->poll_fn); + send_ul_mac_block(bts, 0, dl_tbf1->poll_ts, &ulreq, get_poll_fn(dl_tbf1, dl_tbf1->poll_ts)); OSMO_ASSERT(dl_tbf1->state_is(GPRS_RLCMAC_WAIT_RELEASE)); diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index 811cfaa..b190c9a 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -2797,9 +2797,9 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) appending 21 bytes TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) appending 21 bytes TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) appending 21 bytes -Detected FN jump! 2654288 -> 2654409 -PDCH(bts=0,trx=0,ts=7) FN=2654409 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ -PDCH(bts=0,trx=0,ts=7) FN=2654409 ------------------------- RX : Uplink Control Block ------------------------- +Detected FN jump! 2654288 -> 2654379 +PDCH(bts=0,trx=0,ts=7) FN=2654379 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ +PDCH(bts=0,trx=0,ts=7) FN=2654379 ------------------------- RX : Uplink Control Block ------------------------- TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) stopping timer T3191 [ACK/NACK received] TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) RX: [PCU <- BTS] Packet Downlink Ack/Nack PDCH(bts=0,trx=0,ts=7) Got GPRS DL ACK bitmap: SSN: 0, BSN 0 to 28 - 1 (28 blocks), "RRRRRRRRRRRRRRRRRRRRRRRRRRRR" @@ -2809,7 +2809,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) V(B): (V(A)=28)""(V(S)-1=27) A=Acked N=Nacked U=Unacked X=Resend-Unacked I=Invalid TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Final ACK received. TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) changes state from FINISHED to WAIT RELEASE -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=2654409 +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) starting timer T3193 [release (DL-TBF)] with 0 sec. 100000 microsec, cur_fn=2654379 MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL DL) ********** DL-TBF starts here ********** MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL DL) Allocating DL TBF [DL] algo A (suggested TRX: 0): Alloc start @@ -2830,79 +2830,94 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) changes DL ASS state from GPRS_RLCMAC_DL_ASS_NONE to GPRS_RLCMAC_DL_ASS_SEND_ASS TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=NULL) changes state from NULL to ASSIGN TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) set ass. type PACCH [prev CCCH:0, PACCH:0] -TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=2654409 -PDCH(bts=0,trx=0,ts=7) Expiring FN=2654409 but previous FN=2654283 is still reserved! +TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) starting timer T0 [assignment (PACCH)] with 2 sec. 0 microsec, cur_fn=2654379 +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654283 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654283): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) N3101 1 => 2 (< MAX 10) -PDCH(bts=0,trx=0,ts=7) Expiring FN=2654409 but previous FN=2654288 is still reserved! +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654288 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654288): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) N3101 2 => 3 (< MAX 10) -PDCH(bts=0,trx=0,ts=7) Expiring FN=2654409 but previous FN=2654292 is still reserved! +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654292 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654292): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) N3101 3 => 4 (< MAX 10) -PDCH(bts=0,trx=0,ts=7) Expiring FN=2654409 but previous FN=2654296 is still reserved! +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654296 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654296): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) N3101 4 => 5 (< MAX 10) -PDCH(bts=0,trx=0,ts=7) Expiring FN=2654409 but previous FN=2654301 is still reserved! +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654301 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654301): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) N3101 5 => 6 (< MAX 10) -PDCH(bts=0,trx=0,ts=7) Expiring FN=2654409 but previous FN=2654305 is still reserved! +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654305 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654305): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) N3101 6 => 7 (< MAX 10) -PDCH(bts=0,trx=0,ts=7) Expiring FN=2654409 but previous FN=2654309 is still reserved! +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654309 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654309): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) N3101 7 => 8 (< MAX 10) -PDCH(bts=0,trx=0,ts=7) Expiring FN=2654409 but previous FN=2654314 is still reserved! +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654314 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654314): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) N3101 8 => 9 (< MAX 10) -PDCH(bts=0,trx=0,ts=7) Expiring FN=2654409 but previous FN=2654318 is still reserved! +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654318 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654318): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) N3101 exceeded MAX (10) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW) changes state from FLOW to RELEASING -PDCH(bts=0,trx=0,ts=7) Expiring FN=2654409 but previous FN=2654322 is still reserved! +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654322 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654322): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 10 => 11 (< MAX 10) -PDCH(bts=0,trx=0,ts=7) Expiring FN=2654409 but previous FN=2654327 is still reserved! +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654327 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654327): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 11 => 12 (< MAX 10) -PDCH(bts=0,trx=0,ts=7) Expiring FN=2654409 but previous FN=2654331 is still reserved! +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654331 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654331): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 12 => 13 (< MAX 10) -PDCH(bts=0,trx=0,ts=7) Expiring FN=2654409 but previous FN=2654335 is still reserved! +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654335 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654335): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 13 => 14 (< MAX 10) -PDCH(bts=0,trx=0,ts=7) Expiring FN=2654409 but previous FN=2654340 is still reserved! +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654340 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654340): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 14 => 15 (< MAX 10) -PDCH(bts=0,trx=0,ts=7) Expiring FN=2654409 but previous FN=2654344 is still reserved! +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654344 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654344): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 15 => 16 (< MAX 10) -PDCH(bts=0,trx=0,ts=7) Expiring FN=2654409 but previous FN=2654348 is still reserved! +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654348 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654348): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 16 => 17 (< MAX 10) -PDCH(bts=0,trx=0,ts=7) Expiring FN=2654409 but previous FN=2654353 is still reserved! +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654353 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654353): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 17 => 18 (< MAX 10) -PDCH(bts=0,trx=0,ts=7) Expiring FN=2654409 but previous FN=2654357 is still reserved! +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654357 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654357): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 18 => 19 (< MAX 10) -PDCH(bts=0,trx=0,ts=7) Expiring FN=2654409 but previous FN=2654361 is still reserved! +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654361 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654361): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 19 => 20 (< MAX 10) -PDCH(bts=0,trx=0,ts=7) Expiring FN=2654409 but previous FN=2654366 is still reserved! +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654366 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654366): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 20 => 21 (< MAX 10) -PDCH(bts=0,trx=0,ts=7) Expiring FN=2654409 but previous FN=2654370 is still reserved! +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654370 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654370): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 21 => 22 (< MAX 10) -PDCH(bts=0,trx=0,ts=7) Expiring FN=2654409 but previous FN=2654374 is still reserved! +PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654374 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654374): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 22 => 23 (< MAX 10) -PDCH(bts=0,trx=0,ts=7) Expiring FN=2654409 but previous FN=2654379 is still reserved! -PDCH(bts=0,trx=0,ts=7) Timeout for registered POLL (FN=2654379): TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) poll timeout for FN=2654409, TS=7 (curr FN 2654409) -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|Downlink ACK was received| -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) N3105 0 => 1 (< MAX 8) +PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654400 + 13 = 2654413 +TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) start Packet Downlink Assignment (PACCH) ++++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ +------------------------- TX : Packet Downlink Assignment ------------------------- +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) Scheduled DL Assignment polling on PACCH (FN=2654413, TS=7) +PDCH(bts=0,trx=0,ts=7) FN=2654400 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) +Detected FN jump! 2654379 -> 2654409 +PDCH(bts=0,trx=0,ts=7) FN=2654409 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ +PDCH(bts=0,trx=0,ts=7) FN=2654409 ------------------------- RX : Uplink Control Block ------------------------- +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) RX: [PCU <- BTS] Packet Control Ack +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) [UPLINK] DOWNLINK ASSIGNED +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) changes DL ASS state from GPRS_RLCMAC_DL_ASS_WAIT_ACK to GPRS_RLCMAC_DL_ASS_NONE +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) changes state from WAIT RELEASE to RELEASING +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=RELEASING) free +TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=RELEASING) stopping timer T3193 [freeing TBF] +PDCH(bts=0,trx=0,ts=7) Detaching TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=RELEASING), 1 TBFs, USFs = 01, TFIs = 00000002. +MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL DL) Detaching TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=RELEASING) +********** DL-TBF ends here ********** +TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) changes state from ASSIGN to FLOW +TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) stopping timer T0 [control acked (DL-TBF)] PDCH(bts=0,trx=0,ts=7) Expiring FN=2654409 but previous FN=2654383 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654383): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 23 => 24 (< MAX 10) @@ -2918,25 +2933,6 @@ PDCH(bts=0,trx=0,ts=7) Expiring FN=2654409 but previous FN=2654400 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654400): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 27 => 28 (< MAX 10) -PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654400 + 13 = 2654413 -TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) start Packet Downlink Assignment (PACCH) -+++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ -------------------------- TX : Packet Downlink Assignment ------------------------- -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) Scheduled DL Assignment polling on PACCH (FN=2654413, TS=7) -PDCH(bts=0,trx=0,ts=7) FN=2654400 Scheduling control message at RTS for TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) -PDCH(bts=0,trx=0,ts=7) FN=2654413 +++++++++++++++++++++++++ RX : Uplink Control Block +++++++++++++++++++++++++ -PDCH(bts=0,trx=0,ts=7) FN=2654413 ------------------------- RX : Uplink Control Block ------------------------- -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) RX: [PCU <- BTS] Packet Control Ack -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) [UPLINK] DOWNLINK ASSIGNED -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) changes DL ASS state from GPRS_RLCMAC_DL_ASS_WAIT_ACK to GPRS_RLCMAC_DL_ASS_NONE -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=WAIT RELEASE) changes state from WAIT RELEASE to RELEASING -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=RELEASING) free -TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=RELEASING) stopping timer T3193 [freeing TBF] -PDCH(bts=0,trx=0,ts=7) Detaching TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=RELEASING), 1 TBFs, USFs = 01, TFIs = 00000002. -MS(TLLI=0xf1223344, IMSI=0011223344, TA=7, 1/0, UL DL) Detaching TBF: TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=RELEASING) -********** DL-TBF ends here ********** -TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) changes state from ASSIGN to FLOW -TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FLOW) stopping timer T0 [control acked (DL-TBF)] Received RTS on disabled PDCH: TRX=0 TS=0 Received RTS on disabled PDCH: TRX=0 TS=1 Received RTS on disabled PDCH: TRX=0 TS=2 @@ -3125,7 +3121,7 @@ TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654448 + 13 = 2654461 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Scheduled DL Acknowledgement polling on PACCH (FN=2654461, TS=7) -TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FINISHED) starting timer T3191 [final block (DL-TBF)] with 5 sec. 0 microsec, cur_fn=2654413 +TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FINISHED) starting timer T3191 [final block (DL-TBF)] with 5 sec. 0 microsec, cur_fn=2654409 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Scheduled Ack/Nack polling on FN=2654461, TS=7 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FINISHED) msg block (BSN 10, CS-1): 0f 03 14 4d 43 20 50 41 43 4b 45 54 20 30 39 20 28 54 42 46 20 32 29 === end test_tbf_dl_reuse === @@ -3814,17 +3810,17 @@ Detected FN jump! 8 -> 112 PDCH(bts=0,trx=0,ts=4) Expiring FN=112 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=121, TS=4 (curr FN 112) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 112) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) PDCH(bts=0,trx=0,ts=4) Expiring FN=112 but previous FN=17 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=121, TS=4 (curr FN 112) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=17, TS=4 (curr FN 112) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) PDCH(bts=0,trx=0,ts=4) Expiring FN=112 but previous FN=104 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=104): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=121, TS=4 (curr FN 112) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=104, TS=4 (curr FN 112) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 2 => 3 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Final ACK received. @@ -4056,12 +4052,12 @@ Detected FN jump! 8 -> 91 PDCH(bts=0,trx=0,ts=4) Expiring FN=91 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=99, TS=4 (curr FN 91) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 91) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) PDCH(bts=0,trx=0,ts=4) Expiring FN=91 but previous FN=17 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=99, TS=4 (curr FN 91) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=17, TS=4 (curr FN 91) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge @@ -4254,12 +4250,12 @@ Detected FN jump! 8 -> 69 PDCH(bts=0,trx=0,ts=4) Expiring FN=69 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=78, TS=4 (curr FN 69) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 69) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) PDCH(bts=0,trx=0,ts=4) Expiring FN=69 but previous FN=17 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=78, TS=4 (curr FN 69) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=17, TS=4 (curr FN 69) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge @@ -4436,12 +4432,12 @@ Detected FN jump! 8 -> 60 PDCH(bts=0,trx=0,ts=4) Expiring FN=60 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=69, TS=4 (curr FN 60) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 60) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) PDCH(bts=0,trx=0,ts=4) Expiring FN=60 but previous FN=17 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=69, TS=4 (curr FN 60) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=17, TS=4 (curr FN 60) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge @@ -4602,12 +4598,12 @@ Detected FN jump! 8 -> 52 PDCH(bts=0,trx=0,ts=4) Expiring FN=52 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=60, TS=4 (curr FN 52) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 52) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) PDCH(bts=0,trx=0,ts=4) Expiring FN=52 but previous FN=17 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=60, TS=4 (curr FN 52) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=17, TS=4 (curr FN 52) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge @@ -4744,12 +4740,12 @@ Detected FN jump! 8 -> 39 PDCH(bts=0,trx=0,ts=4) Expiring FN=39 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=47, TS=4 (curr FN 39) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 39) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) PDCH(bts=0,trx=0,ts=4) Expiring FN=39 but previous FN=17 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=47, TS=4 (curr FN 39) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=17, TS=4 (curr FN 39) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge @@ -4895,12 +4891,12 @@ Detected FN jump! 8 -> 34 PDCH(bts=0,trx=0,ts=4) Expiring FN=34 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=43, TS=4 (curr FN 34) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 34) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) PDCH(bts=0,trx=0,ts=4) Expiring FN=34 but previous FN=17 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=43, TS=4 (curr FN 34) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=17, TS=4 (curr FN 34) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge @@ -5037,12 +5033,12 @@ Detected FN jump! 8 -> 30 PDCH(bts=0,trx=0,ts=4) Expiring FN=30 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=39, TS=4 (curr FN 30) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 30) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) PDCH(bts=0,trx=0,ts=4) Expiring FN=30 but previous FN=17 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=39, TS=4 (curr FN 30) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=17, TS=4 (curr FN 30) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge @@ -5168,12 +5164,12 @@ Detected FN jump! 8 -> 26 PDCH(bts=0,trx=0,ts=4) Expiring FN=26 but previous FN=13 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=13): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=34, TS=4 (curr FN 26) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=13, TS=4 (curr FN 26) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET CONTROL ACK for PACKET DOWNLINK ASSIGNMENT: |No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 0 => 1 (< MAX 8) PDCH(bts=0,trx=0,ts=4) Expiring FN=26 but previous FN=17 is still reserved! PDCH(bts=0,trx=0,ts=4) Timeout for registered POLL (FN=17): TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) -TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=34, TS=4 (curr FN 26) +TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) poll timeout for FN=17, TS=4 (curr FN 26) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Timeout for polling PACKET DOWNLINK ACK: |No downlink ACK received yet| TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) N3105 1 => 2 (< MAX 8) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) downlink acknowledge -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23531 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I63a34a702f028b871530fb7caeb13e8ea1cc78ac Gerrit-Change-Number: 23531 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 Mar 29 17:31:05 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 29 Mar 2021 17:31:05 +0000 Subject: Change in osmo-pcu[master]: tbf: Get rid of attribute poll_ts References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23532 ) Change subject: tbf: Get rid of attribute poll_ts ...................................................................... tbf: Get rid of attribute poll_ts That field is not needed anymore, and it works only under the assumption that only 1 poll request can be active at a time per TBF, which is not true. Change-Id: I9b8bed7741d385bab4cd8c64b841a78a02a05fe1 --- M src/pdch_ul_controller.c M src/tbf.cpp M src/tbf.h M src/tbf_dl.cpp M tests/tbf/TbfTest.cpp 5 files changed, 22 insertions(+), 29 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/32/23532/1 diff --git a/src/pdch_ul_controller.c b/src/pdch_ul_controller.c index 5911080..f8089ff 100644 --- a/src/pdch_ul_controller.c +++ b/src/pdch_ul_controller.c @@ -318,7 +318,7 @@ LOGPDCH(ulc->pdch, DRLCMAC, LOGL_NOTICE, "Timeout for registered POLL (FN=%u): %s\n", item->fn, tbf_name(item->tbf_poll.poll_tbf)); - tbf_poll_timeout(item->tbf_poll.poll_tbf, item->fn, item->tbf_poll.reason); + tbf_poll_timeout(item->tbf_poll.poll_tbf, ulc->pdch, item->fn, item->tbf_poll.reason); break; case PDCH_ULC_NODE_SBA: sba = item->sba.sba; diff --git a/src/tbf.cpp b/src/tbf.cpp index 92dede5..69c35f8 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -125,7 +125,6 @@ first_ts(0), first_common_ts(0), control_ts(0xff), - poll_ts(0), fT(0), num_fT_exp(0), was_releasing(0), @@ -581,45 +580,44 @@ chan, new_poll_fn, ts); return; } - poll_ts = ts; switch (reason) { case PDCH_ULC_POLL_UL_ASS: ul_ass_state = GPRS_RLCMAC_UL_ASS_WAIT_ACK; LOGPTBFDL(this, LOGL_INFO, "Scheduled UL Assignment polling on %s (FN=%d, TS=%d)\n", - chan, new_poll_fn, poll_ts); + chan, new_poll_fn, ts); break; case PDCH_ULC_POLL_DL_ASS: dl_ass_state = GPRS_RLCMAC_DL_ASS_WAIT_ACK; LOGPTBFDL(this, LOGL_INFO, "Scheduled DL Assignment polling on %s (FN=%d, TS=%d)\n", - chan, new_poll_fn, poll_ts); + chan, new_poll_fn, ts); break; case PDCH_ULC_POLL_UL_ACK: ul_ack_state = GPRS_RLCMAC_UL_ACK_WAIT_ACK; LOGPTBFUL(this, LOGL_DEBUG, "Scheduled UL Acknowledgement polling on %s (FN=%d, TS=%d)\n", - chan, new_poll_fn, poll_ts); + chan, new_poll_fn, ts); break; case PDCH_ULC_POLL_DL_ACK: LOGPTBFDL(this, LOGL_DEBUG, "Scheduled DL Acknowledgement polling on %s (FN=%d, TS=%d)\n", - chan, new_poll_fn, poll_ts); + chan, new_poll_fn, ts); break; case PDCH_ULC_POLL_CELL_CHG_CONTINUE: LOGPTBFDL(this, LOGL_DEBUG, "Scheduled 'Packet Cell Change Continue' polling on %s (FN=%d, TS=%d)\n", - chan, new_poll_fn, poll_ts); + chan, new_poll_fn, ts); break; } } -void gprs_rlcmac_tbf::poll_timeout(uint32_t poll_fn, enum pdch_ulc_tbf_poll_reason reason) +void gprs_rlcmac_tbf::poll_timeout(struct gprs_rlcmac_pdch *pdch, uint32_t poll_fn, enum pdch_ulc_tbf_poll_reason reason) { uint16_t pgroup; gprs_rlcmac_ul_tbf *ul_tbf = as_ul_tbf(this); LOGPTBF(this, LOGL_NOTICE, "poll timeout for FN=%d, TS=%d (curr FN %d)\n", - poll_fn, poll_ts, bts_current_frame_number(bts)); + poll_fn, pdch->ts_no, bts_current_frame_number(bts)); if (ul_tbf && ul_tbf->handle_ctrl_ack(reason)) { if (!ul_tbf->ctrl_ack_to_toggle()) { @@ -679,7 +677,7 @@ /* reschedule DL assignment */ dl_ass_state = GPRS_RLCMAC_DL_ASS_SEND_ASS; } else if (m_ms->nacc && m_ms->nacc->fi->state == NACC_ST_WAIT_CELL_CHG_CONTINUE_ACK && - m_ms->nacc->continue_poll_fn == poll_fn && m_ms->nacc->continue_poll_ts == poll_ts) { + m_ms->nacc->continue_poll_fn == poll_fn && m_ms->nacc->continue_poll_ts == pdch->ts_no) { /* Timeout waiting for CTRL ACK acking Pkt Cell Change Continue */ osmo_fsm_inst_dispatch(m_ms->nacc->fi, NACC_EV_TIMEOUT_CELL_CHG_CONTINUE, NULL); return; @@ -1209,7 +1207,7 @@ return tbf->set_polling(new_poll_fn, ts, t); } -void tbf_poll_timeout(struct gprs_rlcmac_tbf *tbf, uint32_t poll_fn, enum pdch_ulc_tbf_poll_reason reason) +void tbf_poll_timeout(struct gprs_rlcmac_tbf *tbf, struct gprs_rlcmac_pdch *pdch, uint32_t poll_fn, enum pdch_ulc_tbf_poll_reason reason) { - tbf->poll_timeout(poll_fn, reason); + tbf->poll_timeout(pdch, poll_fn, reason); } diff --git a/src/tbf.h b/src/tbf.h index b0bec31..ca6de0f 100644 --- a/src/tbf.h +++ b/src/tbf.h @@ -193,7 +193,7 @@ int tbf_assign_control_ts(struct gprs_rlcmac_tbf *tbf); int tbf_check_polling(const struct gprs_rlcmac_tbf *tbf, uint32_t fn, uint8_t ts, uint32_t *poll_fn, unsigned int *rrbp); void tbf_set_polling(struct gprs_rlcmac_tbf *tbf, uint32_t new_poll_fn, uint8_t ts, enum pdch_ulc_tbf_poll_reason t); -void tbf_poll_timeout(struct gprs_rlcmac_tbf *tbf, uint32_t poll_fn, enum pdch_ulc_tbf_poll_reason reason); +void tbf_poll_timeout(struct gprs_rlcmac_tbf *tbf, struct gprs_rlcmac_pdch *pdch, uint32_t poll_fn, enum pdch_ulc_tbf_poll_reason reason); #ifdef __cplusplus } #endif @@ -251,7 +251,7 @@ int check_polling(uint32_t fn, uint8_t ts, uint32_t *poll_fn, unsigned int *rrbp) const; void set_polling(uint32_t poll_fn, uint8_t ts, enum pdch_ulc_tbf_poll_reason reason); - void poll_timeout(uint32_t poll_fn, enum pdch_ulc_tbf_poll_reason reason); + void poll_timeout(struct gprs_rlcmac_pdch *pdch, uint32_t poll_fn, enum pdch_ulc_tbf_poll_reason reason); /** tlli handling */ uint32_t tlli() const; @@ -291,9 +291,6 @@ struct gprs_rlcmac_pdch *pdch[8]; /* list of PDCHs allocated to TBF */ gprs_llc m_llc; - - uint8_t poll_ts; /* TS to poll */ - gprs_rlc m_rlc; unsigned int fT; /* fTxxxx number */ diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index c122bba..dd5d0f2 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -994,7 +994,7 @@ LOGPTBFDL(this, LOGL_INFO, "Scheduled Ack/Nack polling on FN=%d, TS=%d\n", - new_poll_fn, poll_ts); + new_poll_fn, ts); } } diff --git a/tests/tbf/TbfTest.cpp b/tests/tbf/TbfTest.cpp index 8fbdde6..5ce2611 100644 --- a/tests/tbf/TbfTest.cpp +++ b/tests/tbf/TbfTest.cpp @@ -671,16 +671,14 @@ { RlcMacUplink_t ulreq = {0}; - OSMO_ASSERT(tbf->is_control_ts(tbf->poll_ts)); - ulreq.u.MESSAGE_TYPE = MT_PACKET_CONTROL_ACK; Packet_Control_Acknowledgement_t *ctrl_ack = &ulreq.u.Packet_Control_Acknowledgement; ctrl_ack->PayloadType = GPRS_RLCMAC_CONTROL_BLOCK; ctrl_ack->TLLI = tbf->tlli(); - send_ul_mac_block(tbf->bts, tbf->trx->trx_no, tbf->poll_ts, - &ulreq, get_poll_fn(tbf, tbf->poll_ts)); + send_ul_mac_block(tbf->bts, tbf->trx->trx_no, tbf->control_ts, + &ulreq, get_poll_fn(tbf, tbf->control_ts)); } static void send_empty_block(gprs_rlcmac_tbf *tbf, unsigned ts_no, unsigned fn) @@ -1939,8 +1937,8 @@ dl_tbf = ms_dl_tbf(ms1); OSMO_ASSERT(dl_tbf); - fn = get_poll_fn(dl_tbf, dl_tbf->poll_ts); - send_empty_block(dl_tbf, dl_tbf->poll_ts, fn); + fn = get_poll_fn(dl_tbf, dl_tbf->control_ts); + send_empty_block(dl_tbf, dl_tbf->control_ts, fn); fn = fn_add_blocks(fn, 1); /* Now establish a new TBF for the RA UPDATE COMPLETE (new TLLI) */ @@ -2164,7 +2162,7 @@ ack->DOWNLINK_TFI = dl_tbf1->tfi(); ack->Ack_Nack_Description.FINAL_ACK_INDICATION = 1; - send_ul_mac_block(bts, 0, dl_tbf1->poll_ts, &ulreq, get_poll_fn(dl_tbf1, dl_tbf1->poll_ts)); + send_ul_mac_block(bts, 0, dl_tbf1->control_ts, &ulreq, get_poll_fn(dl_tbf1, dl_tbf1->control_ts)); OSMO_ASSERT(dl_tbf1->state_is(GPRS_RLCMAC_WAIT_RELEASE)); @@ -2713,7 +2711,7 @@ /* Request to send one RLC/MAC block */ request_dl_rlc_block(dl_tbf, &fn); } - send_empty_block(dl_tbf, dl_tbf->poll_ts, fn); + send_empty_block(dl_tbf, dl_tbf->control_ts, fn); /* Schedule a large LLC frame */ dl_tbf->append_data(1000, test_data, sizeof(test_data)); @@ -2725,7 +2723,7 @@ /* Request to send one RLC/MAC block */ request_dl_rlc_block(dl_tbf, &fn); } - send_empty_block(dl_tbf, dl_tbf->poll_ts, fn); + send_empty_block(dl_tbf, dl_tbf->control_ts, fn); OSMO_ASSERT(dl_tbf->state_is(GPRS_RLCMAC_FLOW)); @@ -3069,7 +3067,7 @@ MAKE_ACKED(msg, dl_tbf, fn, mcs, true); } /* Clean up pending items in UL controller: */ - send_empty_block(dl_tbf, dl_tbf->poll_ts, fn+50); + send_empty_block(dl_tbf, dl_tbf->control_ts, fn+50); tbf_cleanup(dl_tbf); } -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23532 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I9b8bed7741d385bab4cd8c64b841a78a02a05fe1 Gerrit-Change-Number: 23532 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 Mar 29 17:36:06 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 29 Mar 2021 17:36:06 +0000 Subject: Change in osmo-pcu[master]: pdch_ulc: Support picking RRBP other than N+13 In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23522 ) Change subject: pdch_ulc: Support picking RRBP other than N+13 ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23522 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ic6ddeea70e1f914cf423d0daab8fc492d0c992e2 Gerrit-Change-Number: 23522 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Mon, 29 Mar 2021 17:36:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 29 18:00:49 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 29 Mar 2021 18:00:49 +0000 Subject: Change in osmo-sgsn[master]: mm_iu: Send event E_PMM_PS_CONN_ESTABLISH upon rx GMM SERVICE REQUEST In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/23499 ) Change subject: mm_iu: Send event E_PMM_PS_CONN_ESTABLISH upon rx GMM SERVICE REQUEST ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/23499 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ica00891f91834522f4dea2508b62af34e4c4eca7 Gerrit-Change-Number: 23499 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Mon, 29 Mar 2021 18:00: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 Mar 29 18:05:49 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Mon, 29 Mar 2021 18:05:49 +0000 Subject: Change in osmo-sgsn[master]: mm_iu: Expect E_PMM_PS_ATTACH when in ST_PMM_IDLE In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/23500 ) Change subject: mm_iu: Expect E_PMM_PS_ATTACH when in ST_PMM_IDLE ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/23500 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ia74a062ddc3052faad569f1428f0ddd02e5b188d Gerrit-Change-Number: 23500 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Mon, 29 Mar 2021 18:05:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 29 18:13:36 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 29 Mar 2021 18:13:36 +0000 Subject: Change in osmo-sgsn[master]: mm_iu: Send event E_PMM_PS_CONN_ESTABLISH upon rx GMM SERVICE REQUEST In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/23499 ) Change subject: mm_iu: Send event E_PMM_PS_CONN_ESTABLISH upon rx GMM SERVICE REQUEST ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/23499 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ica00891f91834522f4dea2508b62af34e4c4eca7 Gerrit-Change-Number: 23499 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 29 Mar 2021 18:13:36 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 29 18:13:38 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 29 Mar 2021 18:13:38 +0000 Subject: Change in osmo-sgsn[master]: mm_iu: Expect E_PMM_PS_ATTACH when in ST_PMM_IDLE In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/23500 ) Change subject: mm_iu: Expect E_PMM_PS_ATTACH when in ST_PMM_IDLE ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/23500 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ia74a062ddc3052faad569f1428f0ddd02e5b188d Gerrit-Change-Number: 23500 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 29 Mar 2021 18:13: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 Mar 29 18:13:40 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 29 Mar 2021 18:13:40 +0000 Subject: Change in osmo-sgsn[master]: mm_iu: Send event E_PMM_PS_CONN_ESTABLISH upon rx GMM SERVICE REQUEST In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/23499 ) Change subject: mm_iu: Send event E_PMM_PS_CONN_ESTABLISH upon rx GMM SERVICE REQUEST ...................................................................... mm_iu: Send event E_PMM_PS_CONN_ESTABLISH upon rx GMM SERVICE REQUEST Attach event should only be triggered by rx Attach Request, not other messages. Furthermore, currently E_PMM_PS_CONN_ESTABLISH is defined and expected in FSM but not sent by anyone. Also, The opposite transition is done by E_PMM_PS_CONN_RELEASE: """ MM_STATE_Iu(0)[0x81379b0]{Connected}: Received Event E_PMM_PS_CONN_RELEASE MM_STATE_Iu(0)[0x81379b0]{Connected}: state_chg to Idle ... MM(001010123456063/c8b8bd08) -> GMM SERVICE REQUEST MI(3367550216) type="signalling" MM_STATE_Iu(0)[0x81379b0]{Idle}: Received Event E_PMM_PS_ATTACH MM_STATE_Iu(0)[0x81379b0]{Idle}: Event E_PMM_PS_ATTACH not permitted """ Related: SYS#5389 Change-Id: Ica00891f91834522f4dea2508b62af34e4c4eca7 --- M src/sgsn/gprs_gmm.c 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/sgsn/gprs_gmm.c b/src/sgsn/gprs_gmm.c index 2ba6d08..545c8e7 100644 --- a/src/sgsn/gprs_gmm.c +++ b/src/sgsn/gprs_gmm.c @@ -936,7 +936,7 @@ #ifdef BUILD_IU case GSM48_MT_GMM_SERVICE_REQ: ctx->pending_req = 0; - osmo_fsm_inst_dispatch(ctx->iu.mm_state_fsm, E_PMM_PS_ATTACH, NULL); + osmo_fsm_inst_dispatch(ctx->iu.mm_state_fsm, E_PMM_PS_CONN_ESTABLISH, NULL); rc = gsm48_tx_gmm_service_ack(ctx); if (ctx->iu.service.type != GPRS_SERVICE_T_SIGNALLING) -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/23499 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ica00891f91834522f4dea2508b62af34e4c4eca7 Gerrit-Change-Number: 23499 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 29 18:13:41 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Mon, 29 Mar 2021 18:13:41 +0000 Subject: Change in osmo-sgsn[master]: mm_iu: Expect E_PMM_PS_ATTACH when in ST_PMM_IDLE In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-sgsn/+/23500 ) Change subject: mm_iu: Expect E_PMM_PS_ATTACH when in ST_PMM_IDLE ...................................................................... mm_iu: Expect E_PMM_PS_ATTACH when in ST_PMM_IDLE It can happen that the MS tries to attach while SGSN's MM Iu state is ST_PMM_IDLE (eg because UE was hard rebooted). Since Attach is a specific case of getting a Connection Established, also allow it as a trigger to transit to state ST_PMM_CONNECTED. Related: SYS#5389 Change-Id: Ia74a062ddc3052faad569f1428f0ddd02e5b188d --- M src/sgsn/gprs_mm_state_iu_fsm.c 1 file changed, 5 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, but someone else must approve fixeria: Looks good to me, but someone else must approve pespin: Looks good to me, approved Jenkins Builder: Verified diff --git a/src/sgsn/gprs_mm_state_iu_fsm.c b/src/sgsn/gprs_mm_state_iu_fsm.c index e571026..69b4ef0 100644 --- a/src/sgsn/gprs_mm_state_iu_fsm.c +++ b/src/sgsn/gprs_mm_state_iu_fsm.c @@ -81,6 +81,7 @@ static void st_pmm_idle(struct osmo_fsm_inst *fi, uint32_t event, void *data) { switch(event) { + case E_PMM_PS_ATTACH: case E_PMM_PS_CONN_ESTABLISH: mm_state_iu_fsm_state_chg(fi, ST_PMM_CONNECTED); break; @@ -117,7 +118,10 @@ .action = st_pmm_connected, }, [ST_PMM_IDLE] = { - .in_event_mask = X(E_PMM_IMPLICIT_DETACH) | X(E_PMM_PS_CONN_ESTABLISH), + .in_event_mask = + X(E_PMM_IMPLICIT_DETACH) | + X(E_PMM_PS_CONN_ESTABLISH) | + X(E_PMM_PS_ATTACH), .out_state_mask = X(ST_PMM_DETACHED) | X(ST_PMM_CONNECTED), .name = "Idle", .onenter = st_pmm_idle_on_enter, -- To view, visit https://gerrit.osmocom.org/c/osmo-sgsn/+/23500 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-sgsn Gerrit-Branch: master Gerrit-Change-Id: Ia74a062ddc3052faad569f1428f0ddd02e5b188d Gerrit-Change-Number: 23500 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 29 18:53:01 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 29 Mar 2021 18:53:01 +0000 Subject: Change in pysim[master]: pySim-shell: add availability check for elementry files In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23403 ) Change subject: pySim-shell: add availability check for elementry files ...................................................................... Patch Set 8: > Patch Set 8: > > what is the purpose of the tool? Most files' presence is optional, so unless we really only checked for mandatory files, the fact that some or even many of the specified files don't exist is not an error, but a perfectly normal situation. We might also consider to abandon this. This was basically a byproduct that I used to debug the exporter tool. I still think that it is useful to get an overview of what can be selected and what is not select-able. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23403 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I9248e2fc067f822d9c4ccc4e48d378eea9ce3354 Gerrit-Change-Number: 23403 Gerrit-PatchSet: 8 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 29 Mar 2021 18:53: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 Mon Mar 29 19:07:39 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 29 Mar 2021 19:07:39 +0000 Subject: Change in pysim[master]: filesystem: add new command add_ef References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/23533 ) Change subject: filesystem: add new command add_ef ...................................................................... filesystem: add new command add_ef Some cards may have additional propritary EF files which pySim-shell does not support. If the user knows the exact FID, the command add_ef can be used to manually add a new EF at runtime. The newly created file will then work like any other EF. Change-Id: Iafff97443130f8bb8c5bc68f51d2fe1d93fff07c Related: OS#4963 --- M pySim/filesystem.py 1 file changed, 31 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/33/23533/1 diff --git a/pySim/filesystem.py b/pySim/filesystem.py index 04fa250..2c1fe8b 100644 --- a/pySim/filesystem.py +++ b/pySim/filesystem.py @@ -130,12 +130,43 @@ class CardDF(CardFile): """DF (Dedicated File) in the smart card filesystem. Those are basically sub-directories.""" + + @with_default_category('DF/ADF Commands') + class ShellCommands(CommandSet): + def __init__(self): + super().__init__() + + add_ef_parser = argparse.ArgumentParser() + add_ef_parser.add_argument('fid', type=str, default=None, help='file identifier (hexadecimal)') + add_ef_parser.add_argument('--name', type=str, default=None, help='human readable name') + add_ef_parser.add_argument('--desc', type=str, default=None, help='human readable description') + add_ef_parser.add_argument('--struct', type=str, default="TransparentEF", help='file structure (TransparentEF|LinFixedEF)') + @cmd2.with_argparser(add_ef_parser) + + def do_add_ef(self, opts): + """Add an EF representation at the current position in the file system""" + selected_file = self._cmd.rs.selected_file + + if not opts.name: + opts.name = "EF." + opts.fid + if not opts.desc: + opts.desc = "manually added at runtime" + + if opts.struct == "TransparentEF": + ef = TransparentEF(fid=opts.fid, sfid=None, name=opts.name, desc=opts.desc) + elif opts.struct == "LinFixedEF": + ef = LinFixedEF(fid=opts.fid, sfid=None, name=opts.name, desc=opts.desc) + else: + self._cmd.poutput("add_ef: error: invalid file type specified") + selected_file.add_files([ef]) + def __init__(self, **kwargs): if not isinstance(self, CardADF): if not 'fid' in kwargs: raise TypeError('fid is mandatory for all DF') super().__init__(**kwargs) self.children = dict() + self.shell_commands = [self.ShellCommands()] def __str__(self): return "DF(%s)" % (super().__str__()) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23533 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Iafff97443130f8bb8c5bc68f51d2fe1d93fff07c Gerrit-Change-Number: 23533 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 Mar 29 19:07:40 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 29 Mar 2021 19:07:40 +0000 Subject: Change in pysim[master]: ts_31_102: do not add empty ShellCommands class. References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/23534 ) Change subject: ts_31_102: do not add empty ShellCommands class. ...................................................................... ts_31_102: do not add empty ShellCommands class. The class ShellCommands defined in ADF_USIM overloads useful CommandSet classes defined in the superclass, making their commands inaccessible. Also ts_31_102 does not have such a class definition in the ADF_ISIM class, so lets remove this class. Change-Id: I0e67c570fc4f17641d990a9cd239632ecf622de3 Related: OS#4963 --- M pySim/ts_31_102.py 1 file changed, 0 insertions(+), 7 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/34/23534/1 diff --git a/pySim/ts_31_102.py b/pySim/ts_31_102.py index 02b0aea..6cedf19 100644 --- a/pySim/ts_31_102.py +++ b/pySim/ts_31_102.py @@ -345,7 +345,6 @@ def __init__(self, aid='a0000000871002', name='ADF.USIM', fid=None, sfid=None, desc='USIM Application'): super().__init__(aid=aid, fid=fid, sfid=sfid, name=name, desc=desc) - self.shell_commands = [self.ShellCommands()] files = [ EF_LI(sfid=0x02), @@ -376,12 +375,6 @@ def decode_select_response(self, data_hex): return pySim.ts_102_221.decode_select_response(data_hex) - @with_default_category('File-Specific Commands') - class ShellCommands(CommandSet): - def __init__(self): - super().__init__() - - # TS 31.102 Section 7.3 sw_usim = { 'Security management': { -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23534 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I0e67c570fc4f17641d990a9cd239632ecf622de3 Gerrit-Change-Number: 23534 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 Mar 29 19:07:40 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 29 Mar 2021 19:07:40 +0000 Subject: Change in pysim[master]: pySim-shell: use -a / -A commandline option to authenticate References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/23535 ) Change subject: pySim-shell: use -a / -A commandline option to authenticate ...................................................................... pySim-shell: use -a / -A commandline option to authenticate pySim-shell defines, just like the other pySim programs commandline arguments that take an ADM pin to authenticate at the card as admin. The arguments are defined, but not used. Add the missing authentication part. Change-Id: I6bed14eb8f4124e28d593cf0816dbe58e7271322 Related: OS#4963 --- M pySim-shell.py 1 file changed, 10 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/35/23535/1 diff --git a/pySim-shell.py b/pySim-shell.py index e596d11..41febd6 100755 --- a/pySim-shell.py +++ b/pySim-shell.py @@ -339,4 +339,14 @@ app = PysimApp(card, rs, opts.script) rs.select('MF', app) + + # If the user supplies an ADM PIN at via commandline args authenticate + # immediatley so that the user does not have to use the shell commands + pin_adm = sanitize_pin_adm(opts.pin_adm, opts.pin_adm_hex) + if pin_adm: + try: + card.verify_adm(h2b(pin_adm)) + except Exception as e: + print(e) + app.cmdloop() -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23535 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I6bed14eb8f4124e28d593cf0816dbe58e7271322 Gerrit-Change-Number: 23535 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 Mar 29 19:07:40 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 29 Mar 2021 19:07:40 +0000 Subject: Change in pysim[master]: fileystem: fix ADF selection References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/23536 ) Change subject: fileystem: fix ADF selection ...................................................................... fileystem: fix ADF selection When the ADF is selected, then this is done by the AID. At the moment only the first 7 bytes of the AID are used to select the ADF. sysmo-isim-sja2 tolerates this, but sysmo-usim-sjs1 does not. The Cards class already has methods to deal with this problem. The method select_adf_by_aid takes an ADF name and completes the AID from an internal list. This can be extended to support partial hexadecimal AIDs as well. Change-Id: If99b143ae5ff42a889c52e8023084692e709e1b1 Related: OS#4963 --- M pySim-read.py M pySim/cards.py M pySim/filesystem.py 3 files changed, 26 insertions(+), 21 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/36/23536/1 diff --git a/pySim-read.py b/pySim-read.py index 7906685..638bd4b 100755 --- a/pySim-read.py +++ b/pySim-read.py @@ -251,7 +251,8 @@ # 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(): + data, sw = card.select_adf_by_aid(adf="usim") + if sw == '9000': # Select USIM profile usim_card = UsimCard(scc) @@ -300,7 +301,8 @@ print("ePDGSelection: Can't read file -- " + str(e)) # Select ISIM application by its AID - if '9000' == card.select_adf_by_aid(adf="isim"): + data, sw = card.select_adf_by_aid(adf="isim") + if sw == '9000': # Select USIM profile isim_card = IsimCard(scc) @@ -352,7 +354,8 @@ # 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"): + data, sw = card.select_adf_by_aid(adf="isim") + if sw == '9000': # EF.IST (res, sw) = card.read_binary('6f07') if sw == '9000': diff --git a/pySim/cards.py b/pySim/cards.py index 857d0b6..57a2bf0 100644 --- a/pySim/cards.py +++ b/pySim/cards.py @@ -224,21 +224,21 @@ # 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 + # Find full AID by partial AID: + if is_hex(adf): + for aid in self._aids: + if adf in aid: + return self._scc.select_adf(aid) + # Find full AID by application name: + elif adf in ["usim", "isim"]: + # First (known) halves of the U/ISIM AID + aid_map = {} + aid_map["usim"] = "a0000000871002" + aid_map["isim"] = "a0000000871004" + for aid in self._aids: + if aid_map[adf] in aid: + return self._scc.select_adf(aid) + return (None, None) # Erase the contents of a file def erase_binary(self, ef): @@ -1335,7 +1335,8 @@ self._scc.update_binary('6f20', p['opc'], 17) # update EF-USIM_AUTH_KEY in ADF.ISIM - if '9000' == self.select_adf_by_aid(adf="isim"): + data, sw = self.select_adf_by_aid(adf="isim") + if sw == '9000': if p.get('ki'): self._scc.update_binary('af20', p['ki'], 1) if p.get('opc'): @@ -1382,7 +1383,8 @@ if sw != '9000': print("Programming IMPU failed with code %s"%sw) - if '9000' == self.select_adf_by_aid(): + data, sw = self.select_adf_by_aid(adf="usim") + if sw == '9000': # update EF-USIM_AUTH_KEY in ADF.USIM if p.get('ki'): self._scc.update_binary('af20', p['ki'], 1) diff --git a/pySim/filesystem.py b/pySim/filesystem.py index 2c1fe8b..1f43bea 100644 --- a/pySim/filesystem.py +++ b/pySim/filesystem.py @@ -654,7 +654,7 @@ cmd_app.unregister_command_set(c) try: if isinstance(f, CardADF): - (data, sw) = self.card._scc.select_adf(f.aid) + (data, sw) = self.card.select_adf_by_aid(f.aid) else: (data, sw) = self.card._scc.select_file(f.fid) self.selected_file = f -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23536 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: If99b143ae5ff42a889c52e8023084692e709e1b1 Gerrit-Change-Number: 23536 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 Mar 29 19:07:41 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 29 Mar 2021 19:07:41 +0000 Subject: Change in pysim[master]: filesystem: avoid outputting empty lines when there is no data References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/23537 ) Change subject: filesystem: avoid outputting empty lines when there is no data ...................................................................... filesystem: avoid outputting empty lines when there is no data The do_update_... functions do always print the returned data. However, there may be no data. If this is the case than an empty line is printed. This may cause ugly log output, especially when working with scripts. Change-Id: Ia9715d46ec957544cfbeea98d2fe15eb74f5b884 Related: OS#4963 --- M pySim/filesystem.py 1 file changed, 8 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/37/23537/1 diff --git a/pySim/filesystem.py b/pySim/filesystem.py index 1f43bea..6adffd9 100644 --- a/pySim/filesystem.py +++ b/pySim/filesystem.py @@ -344,7 +344,8 @@ def do_update_binary(self, opts): """Update (Write) data of a transparent EF""" (data, sw) = self._cmd.rs.update_binary(opts.data, opts.offset) - self._cmd.poutput(data) + if data: + self._cmd.poutput(data) upd_bin_dec_parser = argparse.ArgumentParser() upd_bin_dec_parser.add_argument('data', help='Abstract data (JSON format) to write') @@ -353,7 +354,8 @@ """Encode + Update (Write) data of a transparent EF""" data_json = json.loads(opts.data) (data, sw) = self._cmd.rs.update_binary_dec(data_json) - self._cmd.poutput(json.dumps(data, indent=4)) + if data: + self._cmd.poutput(json.dumps(data, indent=4)) def __init__(self, fid, sfid=None, name=None, desc=None, parent=None, size={1,None}): super().__init__(fid=fid, sfid=sfid, name=name, desc=desc, parent=parent) @@ -441,7 +443,8 @@ def do_update_record(self, opts): """Update (write) data to a record-oriented EF""" (data, sw) = self._cmd.rs.update_record(opts.record_nr, opts.data) - self._cmd.poutput(data) + if data: + self._cmd.poutput(data) upd_rec_dec_parser = argparse.ArgumentParser() upd_rec_dec_parser.add_argument('record_nr', type=int, help='Number of record to be read') @@ -450,7 +453,8 @@ def do_update_record_decoded(self, opts): """Encode + Update (write) data to a record-oriented EF""" (data, sw) = self._cmd.rs.update_record_dec(opts.record_nr, opts.data) - self._cmd.poutput(data) + if data: + self._cmd.poutput(data) def __init__(self, fid, sfid=None, name=None, desc=None, parent=None, rec_len={1,None}): super().__init__(fid=fid, sfid=sfid, name=name, desc=desc, parent=parent) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23537 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ia9715d46ec957544cfbeea98d2fe15eb74f5b884 Gerrit-Change-Number: 23537 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 Mar 29 19:07:41 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 29 Mar 2021 19:07:41 +0000 Subject: Change in pysim[master]: pySim-shell: automatic ADM pin from CSV-File References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/23538 ) Change subject: pySim-shell: automatic ADM pin from CSV-File ...................................................................... pySim-shell: automatic ADM pin from CSV-File It can be hard to manage ADM pins when working with different cards at the same time. To make this easier, add an automatic way to determine the ADM pin for each card from a CSV file. - add a CardData clas model that can be extended to to get the data from various different sources. For now use CSV-Files. Also add a way how multiple CardData classes can be registered so that one global get function can query all registered CardData classes at once. - automatically check for CSV-File in home directory and use it as default CardData source unless the user specifies a CSV file via commandline argument. - extend the verify_adm command so that it automatically queries the ADM pin if no argument is given. Also do not try to authenticate if no ADM pin could be determined. Change-Id: I51835ccb16bcbce35e7f3765e8927a4451509e77 Related: OS#4963 --- M pySim-shell.py A pySim/card_data.py 2 files changed, 146 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/38/23538/1 diff --git a/pySim-shell.py b/pySim-shell.py index 41febd6..3f26ac5 100755 --- a/pySim-shell.py +++ b/pySim-shell.py @@ -29,6 +29,7 @@ import os import sys from optparse import OptionParser +from pathlib import Path from pySim.ts_51_011 import EF, DF, EF_SST_map, EF_AD_mode_map from pySim.ts_31_102 import EF_UST_map, EF_USIM_ADF_map @@ -47,6 +48,9 @@ from pySim.ts_31_102 import ADF_USIM from pySim.ts_31_103 import ADF_ISIM +from pySim.card_data import CardDataCsv, card_data_register, card_data_get_field + + class PysimApp(cmd2.Cmd): CUSTOM_CATEGORY = 'pySim Commands' def __init__(self, card, rs, script = None): @@ -56,6 +60,8 @@ self.intro = style('Welcome to pySim-shell!', fg=fg.red) self.default_category = 'pySim-shell built-in commands' self.card = card + iccid, sw = self.card.read_iccid() + self.iccid = iccid self.rs = rs self.py_locals = { 'card': self.card, 'rs' : self.rs } self.numeric_path = False @@ -78,8 +84,20 @@ @cmd2.with_category(CUSTOM_CATEGORY) def do_verify_adm(self, arg): """VERIFY the ADM1 PIN""" - pin_adm = sanitize_pin_adm(arg) - self.card.verify_adm(h2b(pin_adm)) + if arg: + # use specified ADM-PIN + pin_adm = sanitize_pin_adm(arg) + else: + # try to find an ADM-PIN if none is specified + result = card_data_get_field('ADM1', key='ICCID', value=self.iccid) + pin_adm = sanitize_pin_adm(result) + if pin_adm: + self.poutput("found adm-pin '%s' for ICCID '%s'" % (result, self.iccid)) + + if pin_adm: + self.card.verify_adm(h2b(pin_adm)) + else: + self.poutput("error: cannot authenticate, no adm-pin!") @cmd2.with_category(CUSTOM_CATEGORY) def do_desc(self, opts): @@ -289,6 +307,11 @@ default=None, ) + parser.add_option("--csv", dest="csv", metavar="FILE", + help="Read card data from CSV file", + default=None, + ) + parser.add_option("-a", "--pin-adm", dest="pin_adm", help="ADM PIN used for provisioning (overwrites default)", ) @@ -340,6 +363,14 @@ app = PysimApp(card, rs, opts.script) rs.select('MF', app) + # Register csv-file as card data provider, either from specified CSV + # or from CSV file in home directory + csv_default = str(Path.home()) + "/.pysim_shell_card_data.csv" + if opts.csv: + card_data_register(CardDataCsv(opts.csv)) + elif os.path.isfile(csv_default): + card_data_register(CardDataCsv(csv_default)) + # If the user supplies an ADM PIN at via commandline args authenticate # immediatley so that the user does not have to use the shell commands pin_adm = sanitize_pin_adm(opts.pin_adm, opts.pin_adm_hex) diff --git a/pySim/card_data.py b/pySim/card_data.py new file mode 100644 index 0000000..8feb84b --- /dev/null +++ b/pySim/card_data.py @@ -0,0 +1,113 @@ +# coding=utf-8 +"""Abstraction of card data that can be queried from external source + +(C) 2021 by Sysmocom s.f.m.c. GmbH +All Rights Reserved + +Author: Philipp Maier + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +""" + +import csv + +card_data_provider = [] + +class CardData(object): + + VALID_FIELD_NAMES = ['ICCID', 'ADM1', 'IMSI'] + + # check input parameters, but do nothing concrete yet + def get_data(self, fields=[], key='ICCID', value=""): + """abstract implementation of gst_data that only verifies the function parameters""" + + for f in fields: + if (f not in self.VALID_FIELD_NAMES): + raise ValueError("Requested field name '%s' is not a valid field name, valid field names are: %s" % + (f, str(self.VALID_FIELD_NAMES))) + + if (key not in self.VALID_FIELD_NAMES): + raise ValueError("Key field name '%s' is not a valid field name, valid field names are: %s" % + (key, str(self.VALID_FIELD_NAMES))) + + return {} + + def get_field(self, field, key='ICCID', value=""): + """get a single field from CSV file using a specified key/value pair""" + fields = [field] + result = self.get(fields, key, value) + return result.get(field) + + +class CardDataCsv(CardData): + """card data class that allows the user to query against a specified CSV file""" + csv_file = None + filename = None + + def __init__(self, filename): + self.csv_file = open(filename, 'r') + if not self.csv_file: + raise RuntimeError("Could not open CSV-File '%s'" % filename) + self.filename = filename + + def get(self, fields, key, value): + """get fields from CSV file using a specified key/value pair""" + super().get_data(fields, key, value) + + self.csv_file.seek(0) + cr = csv.DictReader(self.csv_file) + if not cr: + raise RuntimeError("Could not open DictReader for CSV-File '%s'" % self.filename) + cr.fieldnames = [ field.upper() for field in cr.fieldnames ] + + rc = {} + for row in cr: + if row[key] == value: + for f in fields: + if f in row: + rc.update({f : row[f]}) + else: + raise RuntimeError("CSV-File '%s' lacks column '%s'" % + (self.filename, f)) + return rc + + +def card_data_register(provider, provider_list=card_data_provider): + """Register a new card data provider""" + if not isinstance(provider, CardData): + raise ValueError("provider is not a card data provier") + provider_list.append(provider) + + +def card_data_get(fields, key, value, provider_list=card_data_provider): + """Query all registered card data providers""" + for p in provider_list: + if not isinstance(p, CardData): + raise ValueError("provider list contains provider, which is not a card data provier") + result = p.get(fields, key, value) + if result: + return result + return {} + + +def card_data_get_field(field, key, value, provider_list=card_data_provider): + """Query all registered card data providers for a single field""" + for p in provider_list: + if not isinstance(p, CardData): + raise ValueError("provider list contains provider, which is not a card data provier") + result = p.get_field(field, key, value) + if result: + return result + return None + -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23538 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I51835ccb16bcbce35e7f3765e8927a4451509e77 Gerrit-Change-Number: 23538 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 Mar 29 19:07:42 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 29 Mar 2021 19:07:42 +0000 Subject: Change in pysim[master]: commands: conserve write cycles References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/23539 ) Change subject: commands: conserve write cycles ...................................................................... commands: conserve write cycles When a record or a binary file is written the card goes throth a full flash/eeprom write cycle at this location, even when the data does not change. This can be optimized by reading before writing in order to compere if the data we are about to write is actually different. Change-Id: Ifd1b80d3ede15a7caa29077a37ac7cf58c9053f1 Related: OS#4963 --- M pySim-shell.py M pySim/commands.py M pySim/filesystem.py 3 files changed, 28 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/39/23539/1 diff --git a/pySim-shell.py b/pySim-shell.py index 3f26ac5..fa24e7b 100755 --- a/pySim-shell.py +++ b/pySim-shell.py @@ -67,11 +67,17 @@ self.numeric_path = False self.add_settable(cmd2.Settable('numeric_path', bool, 'Print File IDs instead of names', onchange_cb=self._onchange_numeric_path)) + self.conserve_write = True + self.add_settable(cmd2.Settable('conserve_write', bool, 'Read and compare before write', + onchange_cb=self._onchange_conserve_write)) self.update_prompt() def _onchange_numeric_path(self, param_name, old, new): self.update_prompt() + def _onchange_conserve_write(self, param_name, old, new): + self.rs.conserve_write = new + def update_prompt(self): path_list = self.rs.selected_file.fully_qualified_path(not self.numeric_path) self.prompt = 'pySIM-shell (%s)> ' % ('/'.join(path_list)) diff --git a/pySim/commands.py b/pySim/commands.py index 9aed588..65c3891 100644 --- a/pySim/commands.py +++ b/pySim/commands.py @@ -144,9 +144,17 @@ raise ValueError('Failed to read (offset %d)' % (offset)) return total_data, sw - def update_binary(self, ef, data, offset=0, verify=False): + def update_binary(self, ef, data, offset=0, verify=False, conserve=False): + data_length = len(data) // 2 + + # Save write cycles by reading+comparing before write + if conserve: + data_current, sw = self.read_binary(ef, data_length, offset) + if data_current == data: + return None, sw + self.select_path(ef) - pdu = self.cla_byte + 'd6%04x%02x' % (offset, len(data) // 2) + data + pdu = self.cla_byte + 'd6%04x%02x' % (offset, data_length) + data res = self._tp.send_apdu_checksw(pdu) if verify: self.verify_binary(ef, data, offset) @@ -163,7 +171,7 @@ pdu = self.cla_byte + 'b2%02x04%02x' % (rec_no, rec_length) return self._tp.send_apdu(pdu) - def update_record(self, ef, rec_no, data, force_len=False, verify=False): + def update_record(self, ef, rec_no, data, force_len=False, verify=False, conserve=False): r = self.select_path(ef) if not force_len: rec_length = self.__record_len(r) @@ -171,6 +179,14 @@ raise ValueError('Invalid data length (expected %d, got %d)' % (rec_length, len(data) // 2)) else: rec_length = len(data) // 2 + + # Save write cycles by reading+comparing before write + if conserve: + data_current, sw = self.read_record(ef, rec_no) + data_current = data_current[0:rec_length*2] + if data_current == data: + return None, sw + pdu = (self.cla_byte + 'dc%02x04%02x' % (rec_no, rec_length)) + data res = self._tp.send_apdu_checksw(pdu) if verify: diff --git a/pySim/filesystem.py b/pySim/filesystem.py index 6adffd9..f2b1677 100644 --- a/pySim/filesystem.py +++ b/pySim/filesystem.py @@ -590,6 +590,7 @@ self.mf.add_application(a) for f in self.profile.files_in_mf: self.mf.add_file(f) + self.conserve_write = True def _match_applications(self): """match the applications from the profile with applications on the card""" @@ -690,7 +691,7 @@ def update_binary(self, data_hex, offset=0): if not isinstance(self.selected_file, TransparentEF): raise TypeError("Only works with TransparentEF") - return self.card._scc.update_binary(self.selected_file.fid, data_hex, offset) + return self.card._scc.update_binary(self.selected_file.fid, data_hex, offset, conserve=self.conserve_write) def update_binary_dec(self, data): data_hex = self.selected_file.encode_hex(data) @@ -710,7 +711,7 @@ def update_record(self, rec_nr, data_hex): if not isinstance(self.selected_file, LinFixedEF): raise TypeError("Only works with Linear Fixed EF") - return self.card._scc.update_record(self.selected_file.fid, rec_nr, data_hex) + return self.card._scc.update_record(self.selected_file.fid, rec_nr, data_hex, conserve=self.conserve_write) def update_record_dec(self, rec_nr, data): hex_data = self.selected_file.encode_record_hex(data) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23539 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ifd1b80d3ede15a7caa29077a37ac7cf58c9053f1 Gerrit-Change-Number: 23539 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 Mar 29 19:07:43 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 29 Mar 2021 19:07:43 +0000 Subject: Change in pysim[master]: pySim-shell: be more specific when finding no ADM-PIN References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/23540 ) Change subject: pySim-shell: be more specific when finding no ADM-PIN ...................................................................... pySim-shell: be more specific when finding no ADM-PIN When no ADM pin is found in the external data source, then print an error message that tells the user that this is the case. Change-Id: If8f88b43f283fbe459be1b30db35d984022840ac Related: OS#4963 --- M pySim-shell.py 1 file changed, 4 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/40/23540/1 diff --git a/pySim-shell.py b/pySim-shell.py index fa24e7b..932e487 100755 --- a/pySim-shell.py +++ b/pySim-shell.py @@ -98,7 +98,10 @@ result = card_data_get_field('ADM1', key='ICCID', value=self.iccid) pin_adm = sanitize_pin_adm(result) if pin_adm: - self.poutput("found adm-pin '%s' for ICCID '%s'" % (result, self.iccid)) + self.poutput("found ADM-PIN '%s' for ICCID '%s'" % (result, self.iccid)) + else: + self.poutput("cannot find ADM-PIN for ICCID '%s'" % (self._cmd.iccid)) + return if pin_adm: self.card.verify_adm(h2b(pin_adm)) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23540 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: If8f88b43f283fbe459be1b30db35d984022840ac Gerrit-Change-Number: 23540 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 Mar 29 19:07:43 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Mon, 29 Mar 2021 19:07:43 +0000 Subject: Change in pysim[master]: pySim-shells: complete CHV/PIN management tools References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/23541 ) Change subject: pySim-shells: complete CHV/PIN management tools ...................................................................... pySim-shells: complete CHV/PIN management tools At the moment we only have a basic version of a verify_chv commnad, but in order to handle any CHV/PIN related situation we also need commands to enable, disable, change and unblock CHV. - fix verify_chv commnad: more distinct parameter names, better help strings, correct pin code encoding and add external source lookup - Add unblock_chv, change_chv, enable_chv and disable_chv commands - add/fix related functions in commands.py Change-Id: Ic89446e6bd2021095e579fb6b20458df48ba6413 Related: OS#4963 --- M pySim-shell.py M pySim/card_data.py M pySim/commands.py 3 files changed, 115 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/41/23541/1 diff --git a/pySim-shell.py b/pySim-shell.py index 932e487..e946794 100755 --- a/pySim-shell.py +++ b/pySim-shell.py @@ -39,7 +39,7 @@ from pySim.commands import SimCardCommands from pySim.cards import card_detect, Card from pySim.utils import h2b, swap_nibbles, rpad, h2s -from pySim.utils import dec_st, init_reader, sanitize_pin_adm, tabulate_str_list +from pySim.utils import dec_st, init_reader, sanitize_pin_adm, tabulate_str_list, is_hex from pySim.card_handler import card_handler from pySim.filesystem import CardMF, RuntimeState, CardDF, CardADF @@ -141,15 +141,79 @@ index_dict = { 1: self._cmd.rs.selected_file.get_selectable_names() } return self._cmd.index_based_complete(text, line, begidx, endidx, index_dict=index_dict) + def get_code(self, code): + """Use code either directly or try to get it from external data source""" + auto = ['PIN1', 'PIN2', 'PUK1', 'PUK2'] + + if str(code).upper() not in auto: + return sanitize_pin_adm(code) + + result = card_data_get_field(str(code), key='ICCID', value=self._cmd.iccid) + result = sanitize_pin_adm(result) + if result: + self._cmd.poutput("found %s '%s' for ICCID '%s'" % (code.upper(), result, self._cmd.iccid)) + else: + self._cmd.poutput("cannot find %s for ICCID '%s'" % (code.upper(), self._cmd.iccid)) + return result + verify_chv_parser = argparse.ArgumentParser() - verify_chv_parser.add_argument('--chv-nr', type=int, default=1, help='CHV Number') - verify_chv_parser.add_argument('code', help='CODE/PIN/PUK') + verify_chv_parser.add_argument('--pin-nr', type=int, default=1, help='PIN Number, 1=PIN1, 2=PIN2 or custom value (decimal)') + verify_chv_parser.add_argument('pin_code', type=str, help='PIN code digits, \"PIN1\" or \"PIN2\" to get PIN code from external data source') @cmd2.with_argparser(verify_chv_parser) def do_verify_chv(self, opts): - """Verify (authenticate) using specified CHV (PIN)""" - (data, sw) = self._cmd.card._scc.verify_chv(opts.chv_nr, opts.code) - self._cmd.poutput(data) + """Verify (authenticate) using specified PIN code""" + pin = self.get_code(opts.pin_code) + (data, sw) = self._cmd.card._scc.verify_chv(opts.pin_nr, h2b(pin)) + self._cmd.poutput("CHV verfication successful") + + unblock_chv_parser = argparse.ArgumentParser() + unblock_chv_parser.add_argument('--pin-nr', type=int, default=1, help='PUK Number, 1=PIN1, 2=PIN2 or custom value (decimal)') + unblock_chv_parser.add_argument('puk_code', type=str, help='PUK code digits \"PUK1\" or \"PUK2\" to get PUK code from external data source') + unblock_chv_parser.add_argument('new_pin_code', type=str, help='PIN code digits \"PIN1\" or \"PIN2\" to get PIN code from external data source') + + @cmd2.with_argparser(unblock_chv_parser) + def do_unblock_chv(self, opts): + """Unblock PIN code using specified PUK code""" + new_pin = self.get_code(opts.new_pin_code) + puk = self.get_code(opts.puk_code) + (data, sw) = self._cmd.card._scc.unblock_chv(opts.pin_nr, h2b(puk), h2b(new_pin)) + self._cmd.poutput("CHV unblock successful") + + change_chv_parser = argparse.ArgumentParser() + change_chv_parser.add_argument('--pin-nr', type=int, default=1, help='PUK Number, 1=PIN1, 2=PIN2 or custom value (decimal)') + change_chv_parser.add_argument('pin_code', type=str, help='PIN code digits \"PIN1\" or \"PIN2\" to get PIN code from external data source') + change_chv_parser.add_argument('new_pin_code', type=str, help='PIN code digits \"PIN1\" or \"PIN2\" to get PIN code from external data source') + + @cmd2.with_argparser(change_chv_parser) + def do_change_chv(self, opts): + """Change PIN code to a new PIN code""" + new_pin = self.get_code(opts.new_pin_code) + pin = self.get_code(opts.pin_code) + (data, sw) = self._cmd.card._scc.change_chv(opts.pin_nr, h2b(pin), h2b(new_pin)) + self._cmd.poutput("CHV change successful") + + disable_chv_parser = argparse.ArgumentParser() + disable_chv_parser.add_argument('--pin-nr', type=int, default=1, help='PIN Number, 1=PIN1, 2=PIN2 or custom value (decimal)') + disable_chv_parser.add_argument('pin_code', type=str, help='PIN code digits, \"PIN1\" or \"PIN2\" to get PIN code from external data source') + + @cmd2.with_argparser(disable_chv_parser) + def do_disable_chv(self, opts): + """Disable PIN code using specified PIN code""" + pin = self.get_code(opts.pin_code) + (data, sw) = self._cmd.card._scc.disable_chv(opts.pin_nr, h2b(pin)) + self._cmd.poutput("CHV disable successful") + + enable_chv_parser = argparse.ArgumentParser() + enable_chv_parser.add_argument('--pin-nr', type=int, default=1, help='PIN Number, 1=PIN1, 2=PIN2 or custom value (decimal)') + enable_chv_parser.add_argument('pin_code', type=str, help='PIN code digits, \"PIN1\" or \"PIN2\" to get PIN code from external data source') + + @cmd2.with_argparser(enable_chv_parser) + def do_enable_chv(self, opts): + """Enable PIN code using specified PIN code""" + pin = self.get_code(opts.pin_code) + (data, sw) = self._cmd.card._scc.enable_chv(opts.pin_nr, h2b(pin)) + self._cmd.poutput("CHV enable successful") dir_parser = argparse.ArgumentParser() dir_parser.add_argument('--fids', help='Show file identifiers', action='store_true') diff --git a/pySim/card_data.py b/pySim/card_data.py index 8feb84b..ac3e2eb 100644 --- a/pySim/card_data.py +++ b/pySim/card_data.py @@ -26,7 +26,7 @@ class CardData(object): - VALID_FIELD_NAMES = ['ICCID', 'ADM1', 'IMSI'] + VALID_FIELD_NAMES = ['ICCID', 'ADM1', 'IMSI', 'PIN1', 'PIN2', 'PUK1', 'PUK2'] # check input parameters, but do nothing concrete yet def get_data(self, fields=[], key='ICCID', value=""): diff --git a/pySim/commands.py b/pySim/commands.py index 65c3891..595e42e 100644 --- a/pySim/commands.py +++ b/pySim/commands.py @@ -21,7 +21,8 @@ # along with this program. If not, see . # -from pySim.utils import rpad, b2h +from pySim.utils import rpad, b2h, sw_match +from pySim.exceptions import SwMatchError class SimCardCommands(object): def __init__(self, transport): @@ -219,9 +220,47 @@ def reset_card(self): return self._tp.reset_card() - def verify_chv(self, chv_no, code): - fc = rpad(b2h(code), 16) + def verify_chv(self, chv_no, pin_code): + fc = rpad(b2h(pin_code), 16) data, sw = self._tp.send_apdu(self.cla_byte + '2000' + ('%02X' % chv_no) + '08' + fc) - if (sw != '9000'): - raise RuntimeError('Failed to authenticate with ADM key %s, %i tries left.' % (code, int(sw[3]))) + if sw_match(sw, '63cx'): + raise RuntimeError('Failed to authenticate chv_no 0x%02X with code 0x%s, %i tries left.' % (chv_no, b2h(pin_code).upper(), int(sw[3]))) + elif (sw != '9000'): + raise SwMatchError(sw, '9000') + return (data,sw) + + def unblock_chv(self, chv_no, puk_code, pin_code): + fc = rpad(b2h(puk_code), 16) + rpad(b2h(pin_code), 16) + data, sw = self._tp.send_apdu(self.cla_byte + '2C00' + ('%02X' % chv_no) + '10' + fc) + if sw_match(sw, '63cx'): + raise RuntimeError('Failed to unblock chv_no 0x%02X with code 0x%s, %i tries left.' % (chv_no, b2h(puk_code).upper(), int(sw[3]))) + elif (sw != '9000'): + raise SwMatchError(sw, '9000') + return (data,sw) + + def change_chv(self, chv_no, pin_code, new_pin_code): + fc = rpad(b2h(pin_code), 16) + rpad(b2h(new_pin_code), 16) + data, sw = self._tp.send_apdu(self.cla_byte + '2400' + ('%02X' % chv_no) + '10' + fc) + if sw_match(sw, '63cx'): + raise RuntimeError('Failed to change chv_no 0x%02X with code 0x%s, %i tries left.' % (chv_no, b2h(pin_code).upper(), int(sw[3]))) + elif (sw != '9000'): + raise SwMatchError(sw, '9000') + return (data,sw) + + def disable_chv(self, chv_no, pin_code): + fc = rpad(b2h(pin_code), 16) + data, sw = self._tp.send_apdu(self.cla_byte + '2600' + ('%02X' % chv_no) + '08' + fc) + if sw_match(sw, '63cx'): + raise RuntimeError('Failed to disable chv_no 0x%02X with code 0x%s, %i tries left.' % (chv_no, b2h(pin_code).upper(), int(sw[3]))) + elif (sw != '9000'): + raise SwMatchError(sw, '9000') + return (data,sw) + + def enable_chv(self, chv_no, pin_code): + fc = rpad(b2h(pin_code), 16) + data, sw = self._tp.send_apdu(self.cla_byte + '2800' + ('%02X' % chv_no) + '08' + fc) + if sw_match(sw, '63cx'): + raise RuntimeError('Failed to enable chv_no 0x%02X with code 0x%s, %i tries left.' % (chv_no, b2h(pin_code).upper(), int(sw[3]))) + elif (sw != '9000'): + raise SwMatchError(sw, '9000') return (data,sw) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23541 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ic89446e6bd2021095e579fb6b20458df48ba6413 Gerrit-Change-Number: 23541 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 Mar 29 20:27:54 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 29 Mar 2021 20:27:54 +0000 Subject: Change in osmo-ttcn3-hacks[master]: NS_Provider_IPL4: Implement new "endpoint" mode References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23542 ) Change subject: NS_Provider_IPL4: Implement new "endpoint" mode ...................................................................... NS_Provider_IPL4: Implement new "endpoint" mode This adds a new, optional "endpoint" mode to the IPL4 provider, where we remove the constraint of "one NSVC per provider", which in turn is a pre-requirement for real IP-SNS support with full mesh of NS-VCs. This code doesn't introduce any users of this "endpoint" mode yet. Change-Id: I05a50b966b8ce93497372ca403d40fd383dd35f7 --- M library/NS_Provider_IPL4.ttcn 1 file changed, 149 insertions(+), 10 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/42/23542/1 diff --git a/library/NS_Provider_IPL4.ttcn b/library/NS_Provider_IPL4.ttcn index 9d72075..d316a5e 100644 --- a/library/NS_Provider_IPL4.ttcn +++ b/library/NS_Provider_IPL4.ttcn @@ -1,5 +1,5 @@ /* NS Provider for NS/UDP/IP - * (C) 2020 Harald Welte + * (C) 2020-2021 Harald Welte * contributions by sysmocom - s.f.m.c. GmbH * All rights reserved. * @@ -9,43 +9,144 @@ * SPDX-License-Identifier: GPL-2.0-or-later */ +/* This provider can be operated in two modes: + * + * 1) the "classic" mode, where - similar to the NS_Provider_FR - there is + * only one NSVC per provider. In this mode, the "NSE" port is used to + * exchange data with the next higher level component, such as a NSVC_CT + * or a RAW_NS_CT. + * + * 2) the enew "endpoint" mode, where one provider can host a number of different + * NSVCs. This is needed in most non-trivial IP-SNS scenarios. The 'NSE' + * port of this component is no longer used. Instead, there is a NSVC port + * array, one of which will be used for each NSVC. The NSVCs are dynamically + * added and removed via the PROC procedure port, controlled by NS_CT. + */ + module NS_Provider_IPL4 { +import from Misc_Helpers all; import from NS_Emulation all; import from NS_Types all; import from IPL4asp_Types all; import from IPL4asp_PortType all; +/* maximum number of NS-VCs within one Provider (== IP endpoint) */ +private const integer NUM_MAX_NSVC := 16; + type component NS_Provider_IPL4_CT extends NS_Provider_CT { /* down-facing port towards IPL4asp to IUT */ port IPL4asp_PT IPL4; var integer g_conn_id := -1; + + /* per-NSVC ports and state */ + port NS_PROVIDER_PT NSVC[NUM_MAX_NSVC]; + var PerNsvcState g_nsvc[NUM_MAX_NSVC]; + + /* management port via which */ + port NSPIP_PROC_PT PROC; }; -function main(NSVCConfiguration config, NSConfiguration nsconfig, charstring id) runs on NS_Provider_IPL4_CT { +type record PerNsvcState { + charstring remote_ip, + PortNumber remote_port, + NSVC_CT vc_nsvc +}; - /* connect socket */ +signature NSPIP_add_nsvc(charstring remote_ip, PortNumber remote_port, NSVC_CT vc_nsvc); +signature NSPIP_del_nsvc(charstring remote_ip, PortNumber remote_port); + +type port NSPIP_PROC_PT procedure { + inout NSPIP_add_nsvc, NSPIP_del_nsvc; +} with { extension "internal" }; + +/* add a new NSVC to the provider */ +private function f_nsvc_add(PerNsvcState nsvc) runs on NS_Provider_IPL4_CT +{ + for (var integer i := 0; i < sizeof(g_nsvc); i := i+1) { + if (g_nsvc[i].vc_nsvc == null) { + g_nsvc[i] := nsvc; + connect(self:NSVC[i], nsvc.vc_nsvc:NSCP); + NSVC[i].send(NS_Provider_Evt:{link_status := NS_PROV_LINK_STATUS_UP}); + return; + } + } + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, log2str("Overflow of g_nsvc array")); +} + +private function f_nsvc_del(PerNsvcState nsvc) runs on NS_Provider_IPL4_CT +{ + for (var integer i := 0; i < sizeof(g_nsvc); i := i+1) { + if (g_nsvc[i].vc_nsvc != null and + g_nsvc[i].remote_ip == nsvc.remote_ip and + g_nsvc[i].remote_port == nsvc.remote_port) { + g_nsvc[i] := { + remote_ip := -, + remote_port := -, + vc_nsvc := null + } + NSVC[i].send(NS_Provider_Evt:{link_status := NS_PROV_LINK_STATUS_DOWN}); + disconnect(self:NSVC[i], nsvc.vc_nsvc:NSCP); + return; + } + } + Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, log2str("attempt to delete unknown NSVC")); +} + +private function f_get_nsvc_idx(charstring remote_ip, PortNumber remote_port) +runs on NS_Provider_IPL4_CT return integer +{ + for (var integer i := 0; i < sizeof(g_nsvc); i := i+1) { + if (g_nsvc[i].vc_nsvc != null and + g_nsvc[i].remote_ip == remote_ip and g_nsvc[i].remote_port == remote_port) { + return i; + } + } + return -1; +} + +function main(NSVCConfiguration config, NSConfiguration nsconfig, charstring id) runs on NS_Provider_IPL4_CT { + for (var integer i := 0; i < sizeof(g_nsvc); i := i+1) { + g_nsvc[i].vc_nsvc := null; + } + + /* in order to support any number of NSVC on this endpoiint, we only bind the socket + * to its local ip/port, but do not connect it to the remote peer provided in 'config'. */ map(self:IPL4, system:IPL4); - var Result res := f_IPL4_connect(IPL4, config.provider.ip.remote_ip, - config.provider.ip.remote_udp_port, - config.provider.ip.local_ip, - config.provider.ip.local_udp_port, 0, { udp := {}}); + var Result res := f_IPL4_listen(IPL4, config.provider.ip.local_ip, + config.provider.ip.local_udp_port, { udp := {}}); if (not ispresent(res.connId)) { setverdict(fail, "Could not connect NS UDP socket ", config.provider.ip); mtc.stop; } g_conn_id := res.connId; - NSE.send(NS_Provider_Evt:{link_status := NS_PROV_LINK_STATUS_UP}); + + if (NSE.checkstate("Connected")) { + NSE.send(NS_Provider_Evt:{link_status := NS_PROV_LINK_STATUS_UP}); + } /* transceive between user-facing port and UDP socket */ while (true) { var ASP_RecvFrom rx_rf; var PDU_NS rx_pdu; + var integer rx_idx; + var charstring remote_ip; + var PortNumber remote_port; + var NSVC_CT vc_nsvc; + var NS_CT vc_caller; alt { [] IPL4.receive(ASP_RecvFrom:?) -> value rx_rf { - NSE.send(dec_PDU_NS(rx_rf.msg)); + /* we have to resolve the NS-VC based on the remote peer */ + var integer nsvc_idx := f_get_nsvc_idx(rx_rf.remName, rx_rf.remPort); + if (nsvc_idx == -1) { + /* backwards compatibility; if there's no NSVC, send to NSE port */ + NSE.send(dec_PDU_NS(rx_rf.msg)); + } else { + /* endpoint mode; send to the per-NSVC component via NSVC port */ + NSVC[nsvc_idx].send(dec_PDU_NS(rx_rf.msg)); + } } [] IPL4.receive(ASP_ConnId_ReadyToRelease:?) { @@ -54,8 +155,39 @@ [] IPL4.receive(ASP_Event:?) { } + [] any from NSVC.receive(PDU_NS:?) -> value rx_pdu @index value rx_idx { + /* we can use the port array index directly into the g_nsvc array in order + * to resolve the IP + port of the remote peer to which to send */ + var ASP_SendTo tx := { + connId := g_conn_id, + remName := g_nsvc[rx_idx].remote_ip, + remPort := g_nsvc[rx_idx].remote_port, + proto := { udp := {} }, + msg := enc_PDU_NS(rx_pdu) + }; + IPL4.send(tx); + } [] NSE.receive(PDU_NS:?) -> value rx_pdu { - IPL4.send(ASP_Send:{connId := g_conn_id, proto := { udp := {} }, msg := enc_PDU_NS(rx_pdu)}); + /* backwards compatibility: If user uses the NSE port, use the destination + * provided during main() initialization */ + var ASP_SendTo tx := { + connId := g_conn_id, + remName := config.provider.ip.remote_ip, + remPort := config.provider.ip.remote_udp_port, + proto := { udp := {} }, + msg := enc_PDU_NS(rx_pdu) + }; + IPL4.send(tx); + } + + /* procedure port to add/remove NSVCs from this provider */ + [] PROC.getcall(NSPIP_add_nsvc:{?,?,?}) -> param (remote_ip, remote_port, vc_nsvc) sender vc_caller { + f_nsvc_add(PerNsvcState:{remote_ip, remote_port, vc_nsvc}); + PROC.reply(NSPIP_add_nsvc:{remote_ip, remote_port, vc_nsvc}) to vc_caller; + } + [] PROC.getcall(NSPIP_del_nsvc:{?,?}) -> param (remote_ip, remote_port) sender vc_caller { + f_nsvc_del(PerNsvcState:{remote_ip, remote_port}); + PROC.reply(NSPIP_del_nsvc:{remote_ip, remote_port}) to vc_caller; } } /* alt */ @@ -64,5 +196,12 @@ } /* main */ +function f_nspip_add_nsvc(NS_Provider_IPL4_CT vc_ipep, charstring remote_ip, PortNumber remote_port, NSVC_CT vc_nsvc) +runs on NS_CT { + NSPIP_PROC.call(NSPIP_add_nsvc:{remote_ip, remote_port, vc_nsvc}) to vc_ipep { + [] NSPIP_PROC.getreply(NSPIP_add_nsvc:{?,?,?}); + } +} + } /* module */ -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23542 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I05a50b966b8ce93497372ca403d40fd383dd35f7 Gerrit-Change-Number: 23542 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 Mar 29 20:27:54 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 29 Mar 2021 20:27:54 +0000 Subject: Change in osmo-ttcn3-hacks[master]: NS_Emulation: Use the "endpoint" mode of NS_Provider_IPL4 References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23543 ) Change subject: NS_Emulation: Use the "endpoint" mode of NS_Provider_IPL4 ...................................................................... NS_Emulation: Use the "endpoint" mode of NS_Provider_IPL4 Thew newly-introduced "endpoint" mode of NS_Provider_IPL4 allows us to have multiple NS-VC within one endpoint. NS_CT takes care of creating the NS_Provider_IPL4 components on-the-fly, and then associating the per-NSVC components with it. For the user nothing changes, other than that he can now configure multiple NSVCs with identical local IP + port, which was not possible before. Change-Id: Id7360f17e528706e8145d33a14550789d50cded9 --- M library/NS_Emulation.ttcnpp 1 file changed, 85 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/43/23543/1 diff --git a/library/NS_Emulation.ttcnpp b/library/NS_Emulation.ttcnpp index 38f132a..85869da 100644 --- a/library/NS_Emulation.ttcnpp +++ b/library/NS_Emulation.ttcnpp @@ -214,6 +214,11 @@ var NSConfiguration g_config; var charstring g_id; + /* references to the endpoint provider components */ + var IpEndpointTable g_ip_endpoints := {}; + /* control port for NS-IP provider */ + port NSPIP_PROC_PT NSPIP_PROC; + /* references to the per-NSVC components */ var NsvcTable g_nsvcs := {}; /* list of indexes to g_nsvcs[] of currently unblocked NSVCs */ @@ -226,6 +231,17 @@ NsvcState state }; type record of NsvcTableEntry NsvcTable; + type record IpEndpointTableEntry { + /* configuration */ + AddressFamily address_family, + PortNumber local_udp_port, + charstring local_ip, + uint8_t data_weight, + uint8_t signalling_weight, + /* state */ + NS_Provider_IPL4_CT provider_ct + }; + type record of IpEndpointTableEntry IpEndpointTable; /* internal port from the NS-VC point of view */ type port NSint_SP_PT message { @@ -267,20 +283,82 @@ ForceAliveState (3) }; + function f_ipep_find(AddressFamily af, PortNumber local_udp_port, charstring local_ip, + out IpEndpointTableEntry ret) + runs on NS_CT return boolean { + var integer i; + for (i := 0; i < lengthof(g_ip_endpoints); i := i+1) { + var IpEndpointTableEntry ipep := g_ip_endpoints[i]; + if (ipep.address_family == af and ipep.local_udp_port == local_udp_port and + ipep.local_ip == local_ip) { + ret := ipep; + return true; + } + } + return false + } + + /* find or create IP endpoint component for [local part of] nsvc_cfg */ + function f_ipep_find_or_create(NSVCConfiguration nsvc_cfg) + runs on NS_CT return NS_Provider_IPL4_CT { + var IpEndpointTableEntry ipep; + if (f_ipep_find(nsvc_cfg.provider.ip.address_family, + nsvc_cfg.provider.ip.local_udp_port, + nsvc_cfg.provider.ip.local_ip, ipep)) { + return ipep.provider_ct; + } else { + var charstring nsvc_id := g_id & "-NSVCI" & int2str(nsvc_cfg.nsvci); + ipep := { + address_family := nsvc_cfg.provider.ip.address_family, + local_udp_port := nsvc_cfg.provider.ip.local_udp_port, + local_ip := nsvc_cfg.provider.ip.local_ip, + data_weight := nsvc_cfg.provider.ip.data_weight, + signalling_weight := nsvc_cfg.provider.ip.signalling_weight, + provider_ct := - + }; + /* Create ipep and add it to the list */ + log("Creating NSIP provider for ", ipep.local_ip, ":", + ipep.local_udp_port); + ipep.provider_ct := NS_Provider_IPL4_CT.create(nsvc_id & "-provIP"); + connect(self:NSPIP_PROC, ipep.provider_ct:PROC); + ipep.provider_ct.start(NS_Provider_IPL4.main(nsvc_cfg, g_config, nsvc_id)); + g_ip_endpoints := g_ip_endpoints & { ipep }; + return ipep.provider_ct; + } + } + /* add one NSVC (component and table entry */ function f_nsvc_add(NSVCConfiguration nsvc_cfg) runs on NS_CT { var charstring nsvc_id := g_id & "-NSVCI" & int2str(nsvc_cfg.nsvci); var NsvcTableEntry te; + var NS_Provider_IPL4_CT vc_ipep := null; + + /* For the IP provider, we have one provider component per local endpoint, + * which we must create before adding the NSVcs (for each remote endpoint) + * to it */ + if (ischosen(nsvc_cfg.provider.ip)) { + vc_ipep := f_ipep_find_or_create(nsvc_cfg); + } + + /* Start the actual NSVC component */ te.cfg := nsvc_cfg; te.vc_conn := NSVC_CT.create(nsvc_id); te.state := NSVC_S_DEAD_BLOCKED; connect(self:NSVC, te.vc_conn:NS_SP); - te.vc_conn.start(NSVCStart(nsvc_cfg, g_config, nsvc_id)); + log("Starting NSVC component for ", nsvc_cfg); + te.vc_conn.start(NSVCStart(nsvc_cfg, g_config, nsvc_id, vc_ipep)); g_nsvcs := g_nsvcs & { te }; /* no need to add to g_unblocked_nsvcs, as state is always DEAD_BLOCKED above */ + + /* For the IP provider, we must explicitly associate each NSVC with it */ + if (ischosen(nsvc_cfg.provider.ip)) { + /* this causes NS_Provider_IPL4.f_nsvc_add() to be executed */ + f_nspip_add_nsvc(vc_ipep, nsvc_cfg.provider.ip.remote_ip, + nsvc_cfg.provider.ip.remote_udp_port, te.vc_conn); + } } function f_nsvc_find_idx(Nsvci nsvci) runs on NS_CT return integer { @@ -555,19 +633,18 @@ timer Tns_reset := 10.0; } - function NSVCStart(NSVCConfiguration init_config, NSConfiguration init_g_config, charstring id := testcasename()) runs on NSVC_CT { + function NSVCStart(NSVCConfiguration init_config, NSConfiguration init_g_config, charstring id := +testcasename(), NS_Provider_IPL4_CT nsp_ip := null) runs on NSVC_CT { g_nsvc_config := init_config; g_config := init_g_config; - f_init(id & "-NSVCemu" & int2str(g_nsvc_config.nsvci)); + f_init(id & "-NSVCemu" & int2str(g_nsvc_config.nsvci), nsp_ip); f_ScanEvents(); } - private function f_init(charstring id) runs on NSVC_CT { + private function f_init(charstring id, NS_Provider_IPL4_CT nsp_ip) runs on NSVC_CT { if (ischosen(g_nsvc_config.provider.ip)) { - /* Connect the UDP socket */ - vc_NSP_IP := NS_Provider_IPL4_CT.create(id & "-provIP"); - connect(self:NSCP, vc_NSP_IP:NSE); - vc_NSP_IP.start(NS_Provider_IPL4.main(g_nsvc_config, g_config, id)); + /* the provider already exists; we just associate with it */ + vc_NSP_IP := nsp_ip #ifdef NS_EMULATION_FR } else if (ischosen(g_nsvc_config.provider.fr)) { vc_NSP_FR := NS_Provider_FR_CT.create(id & "-provFR"); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23543 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id7360f17e528706e8145d33a14550789d50cded9 Gerrit-Change-Number: 23543 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 Mar 29 20:27:54 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 29 Mar 2021 20:27:54 +0000 Subject: Change in osmo-ttcn3-hacks[master]: NS_Emulation: Use endpoint list for SNS-CONFIG payload References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23544 ) Change subject: NS_Emulation: Use endpoint list for SNS-CONFIG payload ...................................................................... NS_Emulation: Use endpoint list for SNS-CONFIG payload We used to have no distinction between endpoints and NSVCs, meaning that we could not have more than one NSVC per endpoint, which in turn meant it was ok to iterate the list of NSVCs for generating the endpoint lists in the SNS-CONFIG payload. With Change-Id I05a50b966b8ce93497372ca403d40fd383dd35f7 we remove that constraint and introduce an actual local IP endpoint list. Let's use that one for SNS-CONFIG. Change-Id: Ifa91510430a017fa29592a3d5fa2a3697d29c9da --- M library/NS_Emulation.ttcnpp 1 file changed, 13 insertions(+), 18 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/44/23544/1 diff --git a/library/NS_Emulation.ttcnpp b/library/NS_Emulation.ttcnpp index 85869da..d58dc45 100644 --- a/library/NS_Emulation.ttcnpp +++ b/library/NS_Emulation.ttcnpp @@ -504,30 +504,25 @@ } } - /* generate a list of v4 + v6 endpoints based on the NSVConfigurations. This is not strictly - * accurate, as we should create a list of _endpoints_, while we actually create a list of - * NSVCs. Those are only identical as long as our peer only implements one endpoint */ + /* generate a list of v4 + v6 endpoints based on the IpEndpointTable */ private function gen_sns_ip_elems(out template (omit) IP4_Elements v4_out, out template (omit) IP6_Elements v6_out) runs on NS_CT { var integer i; var IP4_Elements v4 := {}; var IP6_Elements v6 := {}; - for (i := 0; i < lengthof(g_config.nsvc); i := i + 1) { - var NSVCConfiguration nsvc_cfg := g_config.nsvc[i]; - if (not ischosen(nsvc_cfg.provider.ip)) { - continue; - } - if (nsvc_cfg.provider.ip.address_family == AF_INET) { - v4 := v4 & { valueof(ts_SNS_IPv4(nsvc_cfg.provider.ip.local_ip, - nsvc_cfg.provider.ip.local_udp_port, - nsvc_cfg.provider.ip.signalling_weight, - nsvc_cfg.provider.ip.data_weight)) }; - } else if (nsvc_cfg.provider.ip.address_family == AF_INET6) { - v6 := v6 & { valueof(ts_SNS_IPv6(nsvc_cfg.provider.ip.local_ip, - nsvc_cfg.provider.ip.local_udp_port, - nsvc_cfg.provider.ip.signalling_weight, - nsvc_cfg.provider.ip.data_weight)) }; + for (i := 0; i < lengthof(g_ip_endpoints); i := i + 1) { + var IpEndpointTableEntry ipep := g_ip_endpoints[i]; + if (ipep.address_family == AF_INET) { + v4 := v4 & { valueof(ts_SNS_IPv4(ipep.local_ip, + ipep.local_udp_port, + ipep.signalling_weight, + ipep.data_weight)) }; + } else if (ipep.address_family == AF_INET6) { + v6 := v6 & { valueof(ts_SNS_IPv6(ipep.local_ip, + ipep.local_udp_port, + ipep.signalling_weight, + ipep.data_weight)) }; } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23544 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ifa91510430a017fa29592a3d5fa2a3697d29c9da Gerrit-Change-Number: 23544 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 Mar 29 20:34:10 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 29 Mar 2021 20:34:10 +0000 Subject: Change in pysim[master]: filesystem: add new command add_ef In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23533 ) Change subject: filesystem: add new command add_ef ...................................................................... Patch Set 1: I'm sorry, I don't like that approach. I always thought we should support arbitrary files, but not by users creating it on the command line. I think we should try to be more elegant without requiring the user to specify things we can discover. Alternative, for example: Simply allow the user to select any FID (two-digit hex number), and then use the FCP returned by the card to create an EF instance of proper nature (transparent / record / size / ...). Another idea is to have some kind of configuration file (similar to the idea with regard to the ADM/PIN) where users can configure more files. But TBH, I would rather prefer writing proper python code for all the relevant files. I also don't think it's worth investing sysmocom time on this at the moment. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23533 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Iafff97443130f8bb8c5bc68f51d2fe1d93fff07c Gerrit-Change-Number: 23533 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 29 Mar 2021 20:34:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 29 20:36:57 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 29 Mar 2021 20:36:57 +0000 Subject: Change in pysim[master]: ts_31_102: do not add empty ShellCommands class. In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23534 ) Change subject: ts_31_102: do not add empty ShellCommands class. ...................................................................... Patch Set 1: Code-Review+1 it is still useful to be able to add application specific commands. I guess the mistake was to not append those commands but rather overwrite a field that was already specified by the superclass during super.__init__. I think a working example on how to do application specific commands would be a good idea. Not sure if we have any real example of how to do that in the code? -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23534 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I0e67c570fc4f17641d990a9cd239632ecf622de3 Gerrit-Change-Number: 23534 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 29 Mar 2021 20:36: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 Mar 29 20:37:10 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 29 Mar 2021 20:37:10 +0000 Subject: Change in pysim[master]: pySim-shell: use -a / -A commandline option to authenticate In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23535 ) Change subject: pySim-shell: use -a / -A commandline option to authenticate ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23535 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I6bed14eb8f4124e28d593cf0816dbe58e7271322 Gerrit-Change-Number: 23535 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 29 Mar 2021 20:37:10 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 29 20:39:06 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 29 Mar 2021 20:39:06 +0000 Subject: Change in pysim[master]: fileystem: fix ADF selection In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23536 ) Change subject: fileystem: fix ADF selection ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/pysim/+/23536/1/pySim/cards.py File pySim/cards.py: https://gerrit.osmocom.org/c/pysim/+/23536/1/pySim/cards.py at 230 PS1, Line 230: if adf in aid: is that a random sub-string match? I think that is dangerous, as it could match at any point, not just from the start. IMHO the only acceptable match is a substring match from the start of the long AID, but not anywhere else within it. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23536 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: If99b143ae5ff42a889c52e8023084692e709e1b1 Gerrit-Change-Number: 23536 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 29 Mar 2021 20:39: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 Mon Mar 29 20:39:30 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 29 Mar 2021 20:39:30 +0000 Subject: Change in pysim[master]: filesystem: avoid outputting empty lines when there is no data In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23537 ) Change subject: filesystem: avoid outputting empty lines when there is no data ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23537 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ia9715d46ec957544cfbeea98d2fe15eb74f5b884 Gerrit-Change-Number: 23537 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 29 Mar 2021 20:39: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 Mar 29 20:43:04 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 29 Mar 2021 20:43:04 +0000 Subject: Change in pysim[master]: pySim-shell: automatic ADM pin from CSV-File In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23538 ) Change subject: pySim-shell: automatic ADM pin from CSV-File ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/pysim/+/23538/1/pySim-shell.py File pySim-shell.py: https://gerrit.osmocom.org/c/pysim/+/23538/1/pySim-shell.py at 368 PS1, Line 368: csv_ I would go for something like ~/.osmocom/pysim/card_data.csv * ~/.osmocom is already used by OsmocomBB * the filename doesn't need to contain 'shell' as this CSV file might actually end up being used by other pysim tools later on, too. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23538 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I51835ccb16bcbce35e7f3765e8927a4451509e77 Gerrit-Change-Number: 23538 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 29 Mar 2021 20:43: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 Mon Mar 29 20:46:38 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 29 Mar 2021 20:46:38 +0000 Subject: Change in pysim[master]: pySim-shell: automatic ADM pin from CSV-File In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23538 ) Change subject: pySim-shell: automatic ADM pin from CSV-File ...................................................................... Patch Set 1: (3 comments) https://gerrit.osmocom.org/c/pysim/+/23538/1/pySim-shell.py File pySim-shell.py: https://gerrit.osmocom.org/c/pysim/+/23538/1/pySim-shell.py at 372 PS1, Line 372: card_data_register(CardDataCsv(csv_default)) they might not be exclusive-or. You could register them in the order that the opts.csv is asked first, and as a fall-back the ~/.osmocom/... is used. https://gerrit.osmocom.org/c/pysim/+/23538/1/pySim/card_data.py File pySim/card_data.py: https://gerrit.osmocom.org/c/pysim/+/23538/1/pySim/card_data.py at 33 PS1, Line 33: """abstract implementation of gst_data that only verifies the function parameters""" get_data https://gerrit.osmocom.org/c/pysim/+/23538/1/pySim/card_data.py at 70 PS1, Line 70: if not cr: This way you open, read, parse and search the CSV file on every get(). Not sure if that was intentional. I would have loaded the file once int he constructor and then simply iterated through that in-memory representation. Not critical. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23538 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I51835ccb16bcbce35e7f3765e8927a4451509e77 Gerrit-Change-Number: 23538 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 29 Mar 2021 20:46:38 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 29 20:48:16 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 29 Mar 2021 20:48:16 +0000 Subject: Change in pysim[master]: commands: conserve write cycles In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23539 ) Change subject: commands: conserve write cycles ...................................................................... Patch Set 1: I think the name is not very self-explanatory. Some random ideas: conserve_write_cycles? verify_before_write? write_only_if_different? skip_useless_writes? -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23539 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ifd1b80d3ede15a7caa29077a37ac7cf58c9053f1 Gerrit-Change-Number: 23539 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 29 Mar 2021 20:48: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 Mon Mar 29 20:49:06 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 29 Mar 2021 20:49:06 +0000 Subject: Change in pysim[master]: pySim-shell: be more specific when finding no ADM-PIN In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23540 ) Change subject: pySim-shell: be more specific when finding no ADM-PIN ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23540 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: If8f88b43f283fbe459be1b30db35d984022840ac Gerrit-Change-Number: 23540 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Mon, 29 Mar 2021 20:49:06 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 29 20:55:45 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 29 Mar 2021 20:55:45 +0000 Subject: Change in pysim[master]: pySim-shells: complete CHV/PIN management tools In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23541 ) Change subject: pySim-shells: complete CHV/PIN management tools ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/pysim/+/23541/1/pySim/commands.py File pySim/commands.py: https://gerrit.osmocom.org/c/pysim/+/23541/1/pySim/commands.py at 245 PS1, Line 245: RuntimeError('Failed to change chv_no 0x%02X with code 0x%s, %i tries left.' % (chv_no, b2h(pin_code).upper(), int(sw[3]))) I'm seeing so many repetitions of this line and the arguments, and the functions converting the arguments. It may make sense to create a derived ChvRuntimeError class, to which you simply pass arguments without conversion, like raise ChvRuntimeError('change', chv_no, pin_code, sw) and leaving all the conversion and string formatting to the Exception class. Looks much more structured, IMHO. Actually, all of the surrounding code (if sw_match ... elsif 9000, ...) is copy+pasted, too. So rather than the above (or in addition to it) you can create a function that does all of this something like def _chv_process_sw(chv_no, pin_code, sw): if sw_match(sw, '63xcx'): .... elif (sw != '9000'): raise ... return (data, sw) And then use return _chv_process_sw(chv_no, pin_code, sw) in all of these functions. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23541 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ic89446e6bd2021095e579fb6b20458df48ba6413 Gerrit-Change-Number: 23541 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Mon, 29 Mar 2021 20:55:45 +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 Mar 29 20:58:59 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 29 Mar 2021 20:58:59 +0000 Subject: Change in osmo-ttcn3-hacks[master]: NS_Provider_IPL4: Implement new "endpoint" mode In-Reply-To: References: Message-ID: Hello Jenkins Builder, daniel, lynxis lazus, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23542 to look at the new patch set (#2). Change subject: NS_Provider_IPL4: Implement new "endpoint" mode ...................................................................... NS_Provider_IPL4: Implement new "endpoint" mode This adds a new, optional "endpoint" mode to the IPL4 provider, where we remove the constraint of "one NSVC per provider", which in turn is a pre-requirement for real IP-SNS support with full mesh of NS-VCs. This code doesn't introduce any users of this "endpoint" mode yet. Change-Id: I05a50b966b8ce93497372ca403d40fd383dd35f7 --- M library/NS_Provider_IPL4.ttcn 1 file changed, 142 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/42/23542/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23542 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I05a50b966b8ce93497372ca403d40fd383dd35f7 Gerrit-Change-Number: 23542 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 29 20:58:59 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 29 Mar 2021 20:58:59 +0000 Subject: Change in osmo-ttcn3-hacks[master]: NS_Emulation: Use the "endpoint" mode of NS_Provider_IPL4 In-Reply-To: References: Message-ID: Hello Jenkins Builder, daniel, lynxis lazus, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23543 to look at the new patch set (#2). Change subject: NS_Emulation: Use the "endpoint" mode of NS_Provider_IPL4 ...................................................................... NS_Emulation: Use the "endpoint" mode of NS_Provider_IPL4 Thew newly-introduced "endpoint" mode of NS_Provider_IPL4 allows us to have multiple NS-VC within one endpoint. NS_CT takes care of creating the NS_Provider_IPL4 components on-the-fly, and then associating the per-NSVC components with it. For the user nothing changes, other than that he can now configure multiple NSVCs with identical local IP + port, which was not possible before. Change-Id: Id7360f17e528706e8145d33a14550789d50cded9 --- M library/NS_Emulation.ttcnpp M library/NS_Provider_IPL4.ttcn 2 files changed, 92 insertions(+), 8 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/43/23543/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23543 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id7360f17e528706e8145d33a14550789d50cded9 Gerrit-Change-Number: 23543 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Mon Mar 29 21:26:44 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 29 Mar 2021 21:26:44 +0000 Subject: Change in libosmocore[master]: gprs_ns2: fix memory leaks when receiving SNS or invalid packets In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23484 ) Change subject: gprs_ns2: fix memory leaks when receiving SNS or invalid packets ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23484 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I8834d3f092e6cbe4f527e95e1eebd8133a386207 Gerrit-Change-Number: 23484 Gerrit-PatchSet: 1 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Mon, 29 Mar 2021 21:26: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 Mar 29 21:26:47 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Mon, 29 Mar 2021 21:26:47 +0000 Subject: Change in libosmocore[master]: gprs_ns2: fix memory leaks when receiving SNS or invalid packets In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23484 ) Change subject: gprs_ns2: fix memory leaks when receiving SNS or invalid packets ...................................................................... gprs_ns2: fix memory leaks when receiving SNS or invalid packets Change-Id: I8834d3f092e6cbe4f527e95e1eebd8133a386207 --- M src/gb/gprs_ns2.c M src/gb/gprs_ns2_sns.c M src/gb/gprs_ns2_vc_fsm.c 3 files changed, 25 insertions(+), 21 deletions(-) Approvals: laforge: Looks good to me, approved daniel: Looks good to me, approved dexter: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/src/gb/gprs_ns2.c b/src/gb/gprs_ns2.c index 507a5ac..1148d6f 100644 --- a/src/gb/gprs_ns2.c +++ b/src/gb/gprs_ns2.c @@ -1243,7 +1243,7 @@ /*! Bottom-side entry-point for received NS PDU from the driver/bind * \param[in] nsvc NS-VC for which the message was received - * \param msg the received message. Ownership is trasnferred, caller must not free it! + * \param msg the received message. Ownership is transferred, caller must not free it! * \return 0 on success; negative on error */ int ns2_recv_vc(struct gprs_ns2_vc *nsvc, struct msgb *msg) @@ -1258,8 +1258,10 @@ rate_ctr_inc(&nsvc->ctrg->ctr[NS_CTR_PKTS_IN]); rate_ctr_add(&nsvc->ctrg->ctr[NS_CTR_BYTES_IN], msg->len); - if (msg->len < sizeof(struct gprs_ns_hdr)) - return -EINVAL; + if (msg->len < sizeof(struct gprs_ns_hdr)) { + rc = -EINVAL; + goto freemsg; + } if (nsh->pdu_type != NS_PDUT_UNITDATA) LOG_NS_RX_SIGNAL(nsvc, nsh->pdu_type); @@ -1273,11 +1275,10 @@ msgb_l2len(msg) - sizeof(*nsh)-1, 0, 0); if (rc < 0) { LOGP(DLNS, LOGL_NOTICE, "Error during TLV Parse in %s\n", msgb_hexdump(msg)); - return rc; + goto freemsg; } /* All sub-network service related message types */ - rc = ns2_sns_rx(nsvc, msg, &tp); - break; + return ns2_sns_rx(nsvc, msg, &tp); case SNS_PDUT_ACK: case SNS_PDUT_ADD: case SNS_PDUT_CHANGE_WEIGHT: @@ -1287,14 +1288,13 @@ msgb_l2len(msg) - sizeof(*nsh)-5, 0, 0); if (rc < 0) { LOGP(DLNS, LOGL_NOTICE, "Error during TLV Parse in %s\n", msgb_hexdump(msg)); - return rc; + goto freemsg; } tp.lv[NS_IE_NSEI].val = nsh->data+2; tp.lv[NS_IE_NSEI].len = 2; tp.lv[NS_IE_TRANS_ID].val = nsh->data+4; tp.lv[NS_IE_TRANS_ID].len = 1; - rc = ns2_sns_rx(nsvc, msg, &tp); - break; + return ns2_sns_rx(nsvc, msg, &tp); case SNS_PDUT_CONFIG_ACK: case SNS_PDUT_SIZE: case SNS_PDUT_SIZE_ACK: @@ -1302,15 +1302,12 @@ msgb_l2len(msg) - sizeof(*nsh), 0, 0); if (rc < 0) { LOGP(DLNS, LOGL_NOTICE, "Error during TLV Parse in %s\n", msgb_hexdump(msg)); - return rc; + goto freemsg; } /* All sub-network service related message types */ - rc = ns2_sns_rx(nsvc, msg, &tp); - break; - + return ns2_sns_rx(nsvc, msg, &tp); case NS_PDUT_UNITDATA: - rc = ns2_vc_rx(nsvc, msg, &tp); - break; + return ns2_vc_rx(nsvc, msg, &tp); default: rc = ns2_tlv_parse(&tp, nsh->data, msgb_l2len(msg) - sizeof(*nsh), 0, 0); @@ -1320,9 +1317,10 @@ ns2_tx_status(nsvc, NS_CAUSE_PROTO_ERR_UNSPEC, 0, msg); return rc; } - rc = ns2_vc_rx(nsvc, msg, &tp); - break; + return ns2_vc_rx(nsvc, msg, &tp); } +freemsg: + msgb_free(msg); return rc; } diff --git a/src/gb/gprs_ns2_sns.c b/src/gb/gprs_ns2_sns.c index 144ab21..b8c44f1 100644 --- a/src/gb/gprs_ns2_sns.c +++ b/src/gb/gprs_ns2_sns.c @@ -1614,11 +1614,13 @@ uint16_t nsei = nsvc->nse->nsei; struct ns2_sns_state *gss; struct osmo_fsm_inst *fi; + int rc = 0; if (!nse->bss_sns_fi) { LOGNSVC(nsvc, LOGL_NOTICE, "Rx %s for NS Instance that has no SNS!\n", get_value_string(gprs_ns_pdu_strings, nsh->pdu_type)); - return -EINVAL; + rc = -EINVAL; + goto out; } /* FIXME: how to resolve SNS FSM Instance by NSEI (SGSN)? */ @@ -1661,10 +1663,13 @@ default: LOGPFSML(fi, LOGL_ERROR, "NSEI=%u Rx unknown SNS PDU type %s\n", nsei, get_value_string(gprs_ns_pdu_strings, nsh->pdu_type)); - return -EINVAL; + rc = -EINVAL; } - return 0; +out: + msgb_free(msg); + + return rc; } #include diff --git a/src/gb/gprs_ns2_vc_fsm.c b/src/gb/gprs_ns2_vc_fsm.c index ad8d4db..a8cb570 100644 --- a/src/gb/gprs_ns2_vc_fsm.c +++ b/src/gb/gprs_ns2_vc_fsm.c @@ -883,7 +883,8 @@ default: LOGPFSML(fi, LOGL_ERROR, "NSEI=%u Rx unknown NS PDU type %s\n", nsvc->nse->nsei, get_value_string(gprs_ns_pdu_strings, nsh->pdu_type)); - return -EINVAL; + rc = -EINVAL; + break; } out: -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23484 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I8834d3f092e6cbe4f527e95e1eebd8133a386207 Gerrit-Change-Number: 23484 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 30 00:25:44 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 30 Mar 2021 00:25:44 +0000 Subject: Change in pysim[master]: pySim-shells: complete CHV/PIN management tools In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23541 ) Change subject: pySim-shells: complete CHV/PIN management tools ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/pysim/+/23541/1/pySim-shell.py File pySim-shell.py: https://gerrit.osmocom.org/c/pysim/+/23541/1/pySim-shell.py at 146 PS1, Line 146: auto I would rather use tuple here, it's immutable. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23541 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ic89446e6bd2021095e579fb6b20458df48ba6413 Gerrit-Change-Number: 23541 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 30 Mar 2021 00:25:44 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Tue Mar 30 01:37:33 2021 From: admin at opensuse.org (OBS Notification) Date: Tue, 30 Mar 2021 01:37:33 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.10/x86_64 In-Reply-To: References: Message-ID: <606280edcfa2b_31412ac69ccb25f4293686@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_20.10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_20.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 111s] [COMPILING libboard/qmod/source/board_qmod.c] [ 111s] [COMPILING libboard/qmod/source/card_pres.c] [ 111s] [COMPILING libboard/qmod/source/i2c.c] [ 112s] [COMPILING libboard/qmod/source/wwan_led.c] [ 112s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 112s] [COMPILING apps/dfu/main.c] [ 112s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 112s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 112s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 112s] Memory region Used Size Region Size %age Used [ 112s] rom: 16592 B 16 KB 101.27% [ 112s] ram: 11680 B 48 KB 23.76/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 112s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 208 bytes [ 112s] collect2: error: ld returned 1 exit status [ 112s] % [ 112s] make[2]: *** [Makefile:230: flash] Error 1 [ 112s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 112s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 112s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 112s] dh_auto_build: error: make -j1 returned exit code 2 [ 112s] make: *** [debian/rules:16: build] Error 25 [ 112s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 112s] ### VM INTERACTION START ### [ 115s] [ 104.886204] sysrq: Power Off [ 115s] [ 104.890440] reboot: Power down [ 115s] ### VM INTERACTION END ### [ 115s] [ 115s] sheep87 failed "build simtrace2_0.7.0.76.62ad.dsc" at Tue Mar 30 01:37:22 UTC 2021. [ 115s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Tue Mar 30 01:38:41 2021 From: admin at opensuse.org (OBS Notification) Date: Tue, 30 Mar 2021 01:38:41 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <6062812c59b95_31412ac69ccb25f4294091@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_20.04/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_20.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 159s] [COMPILING apps/dfu/main.c] [ 159s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 159s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 159s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 159s] Memory region Used Size Region Size %age Used [ 159s] rom: 16600 B 16 KB 101.32% [ 159s] ram: 11688 B 48 KB 23.78/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 159s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 159s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 159s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 159s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 159s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 159s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 216 bytes [ 159s] collect2: error: ld returned 1 exit status [ 159s] % [ 159s] make[2]: *** [Makefile:230: flash] Error 1 [ 159s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 159s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 159s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 159s] dh_auto_build: error: make -j1 returned exit code 2 [ 159s] make: *** [debian/rules:16: build] Error 25 [ 159s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 159s] ### VM INTERACTION START ### [ 163s] [ 151.018686] sysrq: Power Off [ 163s] [ 151.025619] reboot: Power down [ 163s] ### VM INTERACTION END ### [ 163s] [ 163s] lamb62 failed "build simtrace2_0.7.0.76.62ad.dsc" at Tue Mar 30 01:38:39 UTC 2021. [ 163s] -- 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 Mar 30 08:31:55 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 30 Mar 2021 08:31:55 +0000 Subject: Change in osmo-pcu[master]: Pick unreserved UL FN when allocating an SBA In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23520 ) Change subject: Pick unreserved UL FN when allocating an SBA ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23520 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I2d4e21e2307de6c17748e8da5c7e149c947a7eb9 Gerrit-Change-Number: 23520 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 30 Mar 2021 08:31:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 30 08:53:44 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 30 Mar 2021 08:53:44 +0000 Subject: Change in osmo-ttcn3-hacks[master]: NS_Emulation: Use endpoint list for SNS-CONFIG payload In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23544 ) Change subject: NS_Emulation: Use endpoint list for SNS-CONFIG payload ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23544 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Ifa91510430a017fa29592a3d5fa2a3697d29c9da Gerrit-Change-Number: 23544 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 30 Mar 2021 08:53:44 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 30 10:06:12 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 30 Mar 2021 10:06:12 +0000 Subject: Change in pysim[master]: filesystem: avoid outputting empty lines when there is no data In-Reply-To: References: Message-ID: dexter has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/23537 ) Change subject: filesystem: avoid outputting empty lines when there is no data ...................................................................... filesystem: avoid outputting empty lines when there is no data The do_update_... functions do always print the returned data. However, there may be no data. If this is the case than an empty line is printed. This may cause ugly log output, especially when working with scripts. Change-Id: Ia9715d46ec957544cfbeea98d2fe15eb74f5b884 Related: OS#4963 --- M pySim/filesystem.py 1 file changed, 8 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim/filesystem.py b/pySim/filesystem.py index 04fa250..cb39b94 100644 --- a/pySim/filesystem.py +++ b/pySim/filesystem.py @@ -313,7 +313,8 @@ def do_update_binary(self, opts): """Update (Write) data of a transparent EF""" (data, sw) = self._cmd.rs.update_binary(opts.data, opts.offset) - self._cmd.poutput(data) + if data: + self._cmd.poutput(data) upd_bin_dec_parser = argparse.ArgumentParser() upd_bin_dec_parser.add_argument('data', help='Abstract data (JSON format) to write') @@ -322,7 +323,8 @@ """Encode + Update (Write) data of a transparent EF""" data_json = json.loads(opts.data) (data, sw) = self._cmd.rs.update_binary_dec(data_json) - self._cmd.poutput(json.dumps(data, indent=4)) + if data: + self._cmd.poutput(json.dumps(data, indent=4)) def __init__(self, fid, sfid=None, name=None, desc=None, parent=None, size={1,None}): super().__init__(fid=fid, sfid=sfid, name=name, desc=desc, parent=parent) @@ -410,7 +412,8 @@ def do_update_record(self, opts): """Update (write) data to a record-oriented EF""" (data, sw) = self._cmd.rs.update_record(opts.record_nr, opts.data) - self._cmd.poutput(data) + if data: + self._cmd.poutput(data) upd_rec_dec_parser = argparse.ArgumentParser() upd_rec_dec_parser.add_argument('record_nr', type=int, help='Number of record to be read') @@ -419,7 +422,8 @@ def do_update_record_decoded(self, opts): """Encode + Update (write) data to a record-oriented EF""" (data, sw) = self._cmd.rs.update_record_dec(opts.record_nr, opts.data) - self._cmd.poutput(data) + if data: + self._cmd.poutput(data) def __init__(self, fid, sfid=None, name=None, desc=None, parent=None, rec_len={1,None}): super().__init__(fid=fid, sfid=sfid, name=name, desc=desc, parent=parent) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23537 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ia9715d46ec957544cfbeea98d2fe15eb74f5b884 Gerrit-Change-Number: 23537 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 30 10:06:30 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 30 Mar 2021 10:06:30 +0000 Subject: Change in pysim[master]: pySim-shell: use -a / -A commandline option to authenticate In-Reply-To: References: Message-ID: dexter has submitted this change. ( https://gerrit.osmocom.org/c/pysim/+/23535 ) Change subject: pySim-shell: use -a / -A commandline option to authenticate ...................................................................... pySim-shell: use -a / -A commandline option to authenticate pySim-shell defines, just like the other pySim programs commandline arguments that take an ADM pin to authenticate at the card as admin. The arguments are defined, but not used. Add the missing authentication part. Change-Id: I6bed14eb8f4124e28d593cf0816dbe58e7271322 Related: OS#4963 --- M pySim-shell.py 1 file changed, 10 insertions(+), 0 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/pySim-shell.py b/pySim-shell.py index e596d11..41febd6 100755 --- a/pySim-shell.py +++ b/pySim-shell.py @@ -339,4 +339,14 @@ app = PysimApp(card, rs, opts.script) rs.select('MF', app) + + # If the user supplies an ADM PIN at via commandline args authenticate + # immediatley so that the user does not have to use the shell commands + pin_adm = sanitize_pin_adm(opts.pin_adm, opts.pin_adm_hex) + if pin_adm: + try: + card.verify_adm(h2b(pin_adm)) + except Exception as e: + print(e) + app.cmdloop() -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23535 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I6bed14eb8f4124e28d593cf0816dbe58e7271322 Gerrit-Change-Number: 23535 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 30 10:07:06 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 30 Mar 2021 10:07:06 +0000 Subject: Change in libosmocore[master]: frame_relay: Export osmo_fr_network_free() References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/23545 ) Change subject: frame_relay: Export osmo_fr_network_free() ...................................................................... frame_relay: Export osmo_fr_network_free() The function already existed, it was just not declared and not exported. Change-Id: I3f2a7e2fd1a4eda6bbed8510cf82951d73bb3f84 --- M include/osmocom/gprs/frame_relay.h M src/gb/libosmogb.map 2 files changed, 2 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/45/23545/1 diff --git a/include/osmocom/gprs/frame_relay.h b/include/osmocom/gprs/frame_relay.h index e316707..8ab9790 100644 --- a/include/osmocom/gprs/frame_relay.h +++ b/include/osmocom/gprs/frame_relay.h @@ -131,6 +131,7 @@ /* allocate a frame relay network */ struct osmo_fr_network *osmo_fr_network_alloc(void *ctx); +void osmo_fr_network_free(struct osmo_fr_network *net); /* allocate a frame relay link in a given network */ struct osmo_fr_link *osmo_fr_link_alloc(struct osmo_fr_network *net, enum osmo_fr_role role, const char *name); diff --git a/src/gb/libosmogb.map b/src/gb/libosmogb.map index fc8ab45..ed9b822 100644 --- a/src/gb/libosmogb.map +++ b/src/gb/libosmogb.map @@ -100,6 +100,7 @@ bssgp_bvc_fsm_get_max_pdu_len; osmo_fr_network_alloc; +osmo_fr_network_free; osmo_fr_link_alloc; osmo_fr_link_free; osmo_fr_dlc_alloc; -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23545 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I3f2a7e2fd1a4eda6bbed8510cf82951d73bb3f84 Gerrit-Change-Number: 23545 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 Mar 30 10:07:07 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 30 Mar 2021 10:07:07 +0000 Subject: Change in libosmocore[master]: ns2: Dump frame relay state to VTY during "show ns" References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/23546 ) Change subject: ns2: Dump frame relay state to VTY during "show ns" ...................................................................... ns2: Dump frame relay state to VTY during "show ns" When doing a "show ns", let's also dump the state of the frame relay network, with all its links and DLCs (if any). Change-Id: I798af3e97dc014b6e0fcde86560a1809852f7510 Related: OS#4877 --- M include/osmocom/gprs/frame_relay.h M src/gb/frame_relay.c M src/gb/gprs_ns2_vty.c 3 files changed, 39 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/46/23546/1 diff --git a/include/osmocom/gprs/frame_relay.h b/include/osmocom/gprs/frame_relay.h index 8ab9790..81b42a6 100644 --- a/include/osmocom/gprs/frame_relay.h +++ b/include/osmocom/gprs/frame_relay.h @@ -33,6 +33,7 @@ struct osmo_tdef; struct msgb; +struct vty; enum osmo_fr_role { FR_ROLE_USER_EQUIPMENT, @@ -132,6 +133,7 @@ /* allocate a frame relay network */ struct osmo_fr_network *osmo_fr_network_alloc(void *ctx); void osmo_fr_network_free(struct osmo_fr_network *net); +void osmo_fr_network_dump_vty(struct vty *vty, const struct osmo_fr_network *net); /* allocate a frame relay link in a given network */ struct osmo_fr_link *osmo_fr_link_alloc(struct osmo_fr_network *net, enum osmo_fr_role role, const char *name); diff --git a/src/gb/frame_relay.c b/src/gb/frame_relay.c index 84cd17f..4d1df67 100644 --- a/src/gb/frame_relay.c +++ b/src/gb/frame_relay.c @@ -1014,3 +1014,38 @@ } return NULL; } + + +#include +#include + +static void fr_dlc_dump_vty(struct vty *vty, const struct osmo_fr_dlc *dlc) +{ + vty_out(vty, " FR DLC %05u: %s%s%s%s", dlc->dlci, + dlc->active ? "ACTIVE" : "INACTIVE", + dlc->add ? " ADDED" : "", dlc->del ? " DELETED" : "", VTY_NEWLINE); +} + +static void fr_link_dump_vty(struct vty *vty, const struct osmo_fr_link *link) +{ + const struct osmo_fr_dlc *dlc; + + vty_out(vty, "FR Link '%s': Role %s, LastRxSeq %u, LastTxSeq %u%s", + link->name, link->role == FR_ROLE_USER_EQUIPMENT ? "USER" : "NETWORK", + link->last_rx_seq, link->last_tx_seq, VTY_NEWLINE); + llist_for_each_entry(dlc, &link->dlc_list, list) { + fr_dlc_dump_vty(vty, dlc); + } +} + +void osmo_fr_network_dump_vty(struct vty *vty, const struct osmo_fr_network *net) +{ + struct osmo_fr_link *link; + + vty_out(vty, "FR Network: N391 %u, N392 %u, N393 %u%s", + net->n391, net->n392, net->n393, VTY_NEWLINE); + osmo_tdef_vty_out_all(vty, net->T_defs, " "); + llist_for_each_entry(link, &net->links, list) { + fr_link_dump_vty(vty, link); + } +} diff --git a/src/gb/gprs_ns2_vty.c b/src/gb/gprs_ns2_vty.c index 6eea00d..8ef9f00 100644 --- a/src/gb/gprs_ns2_vty.c +++ b/src/gb/gprs_ns2_vty.c @@ -2018,6 +2018,8 @@ { dump_ns_entities(vty, vty_nsi, false, false); dump_ns_bind(vty, vty_nsi, false); + if (vty_fr_network && llist_count(&vty_fr_network->links)) + osmo_fr_network_dump_vty(vty, vty_fr_network); return CMD_SUCCESS; } -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23546 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I798af3e97dc014b6e0fcde86560a1809852f7510 Gerrit-Change-Number: 23546 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 Mar 30 10:19:17 2021 From: gerrit-no-reply at lists.osmocom.org (neels) Date: Tue, 30 Mar 2021 10:19:17 +0000 Subject: Change in osmo-bsc[master]: fixup for neighbor config for coverity In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-bsc/+/23524 to look at the new patch set (#2). Change subject: fixup for neighbor config for coverity ...................................................................... fixup for neighbor config for coverity Check against NULL pointers to allow only resolving local or only remote neighbors in resolve_neighbors(). (Though no caller exists currently that would need this feature, it is trivial and more future-safe.) Related: CID#220459 CID#220460 Change-Id: I8c2046335ec6f8a5d6b757446c98d8e630ee015f --- M src/osmo-bsc/neighbor_ident.c 1 file changed, 4 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/24/23524/2 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23524 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8c2046335ec6f8a5d6b757446c98d8e630ee015f Gerrit-Change-Number: 23524 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 30 10:34:31 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 30 Mar 2021 10:34:31 +0000 Subject: Change in libosmocore[master]: frame_relay: Export osmo_fr_network_free() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23545 ) Change subject: frame_relay: Export osmo_fr_network_free() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23545 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I3f2a7e2fd1a4eda6bbed8510cf82951d73bb3f84 Gerrit-Change-Number: 23545 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 30 Mar 2021 10:34:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 30 10:35:39 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 30 Mar 2021 10:35:39 +0000 Subject: Change in libosmocore[master]: ns2: Dump frame relay state to VTY during "show ns" In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23546 ) Change subject: ns2: Dump frame relay state to VTY during "show ns" ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23546 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I798af3e97dc014b6e0fcde86560a1809852f7510 Gerrit-Change-Number: 23546 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 30 Mar 2021 10: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 Tue Mar 30 11:25:49 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 30 Mar 2021 11:25:49 +0000 Subject: Change in osmo-ttcn3-hacks[master]: gbproxy: Generalize as_count_bvc_block() into as_count_bvc_sts() References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23547 ) Change subject: gbproxy: Generalize as_count_bvc_block() into as_count_bvc_sts() ...................................................................... gbproxy: Generalize as_count_bvc_block() into as_count_bvc_sts() ... and while add it, add as_count_bvc_unblock() based on it. Related: OS#4968 Change-Id: I33ceace527d6a0cd816fb4e042fdcffd8f0dd23f --- M gbproxy/GBProxy_Tests.ttcn 1 file changed, 14 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/47/23547/1 diff --git a/gbproxy/GBProxy_Tests.ttcn b/gbproxy/GBProxy_Tests.ttcn index f1e5c79..5ae153f 100644 --- a/gbproxy/GBProxy_Tests.ttcn +++ b/gbproxy/GBProxy_Tests.ttcn @@ -2521,14 +2521,26 @@ f_cleanup(); } -private altstep as_count_bvc_block(integer sgsn_idx, BssgpBvci bvci, inout roro_integer roroi) +private altstep as_count_bvc_sts(integer sgsn_idx, BssgpBvci bvci, + template (present) BvcState exp_bvc_state, inout roro_integer roroi) runs on test_CT { var BSSGP_BVC_CT sgsn_bvc_ct := f_get_sgsn_bvc_ct(sgsn_idx, bvci); - [] SGSN_MGMT.receive(tr_BssgpStsInd(?, bvci, BVC_S_BLOCKED)) from sgsn_bvc_ct { + [] SGSN_MGMT.receive(tr_BssgpStsInd(?, bvci, exp_bvc_state)) from sgsn_bvc_ct { roroi[sgsn_idx] := roroi[sgsn_idx] & { bvci }; repeat; } } + +private altstep as_count_bvc_block(integer sgsn_idx, BssgpBvci bvci, inout roro_integer roroi) +runs on test_CT { + [] as_count_bvc_sts(sgsn_idx, bvci, BVC_S_BLOCKED, roroi); +} + +private altstep as_count_bvc_unblock(integer sgsn_idx, BssgpBvci bvci, inout roro_integer roroi) +runs on test_CT { + [] as_count_bvc_sts(sgsn_idx, bvci, BVC_S_UNBLOCKED, roroi); +} + /* reset the signaling BVC from one BSS; expect no signaling BVC reset on SGSN; but BVC-BLOCK for PTP */ testcase TC_bvc_reset_sig_from_bss() runs on test_CT { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23547 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I33ceace527d6a0cd816fb4e042fdcffd8f0dd23f Gerrit-Change-Number: 23547 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 Mar 30 11:25:50 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 30 Mar 2021 11:25:50 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Make f_{block, unblock}_ptp_bvc_from_pcu handle multiple SGSNs References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23548 ) Change subject: Make f_{block,unblock}_ptp_bvc_from_pcu handle multiple SGSNs ...................................................................... Make f_{block,unblock}_ptp_bvc_from_pcu handle multiple SGSNs Those tests predated SGSN pooling support and needed to update their assumptions to also cover other SGSNs in the pool. We could come up with more complex, auto-scaling mechanisms to handle different numbers of SGSNs, but that would make the code quite unreadable, as it means we cannot use interleave but have to dynamically activate altsteps for counting. I went for the simpler approach instead. Change-Id: I8c3ec4e00b78cff40ac72bc857161fa7abc352b0 Related: OS#4968 --- M gbproxy/GBProxy_Tests.ttcn 1 file changed, 9 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/48/23548/1 diff --git a/gbproxy/GBProxy_Tests.ttcn b/gbproxy/GBProxy_Tests.ttcn index 5ae153f..91ccbb0 100644 --- a/gbproxy/GBProxy_Tests.ttcn +++ b/gbproxy/GBProxy_Tests.ttcn @@ -325,6 +325,9 @@ type record of NSConfiguration NSConfigurations; type record of BssgpCellId BssgpCellIds; +/* you cannot simply change this to any larger number of SGSNs and expect all test + * cases to work. This would have overly complicated the code. Check below for + * tests that use interleave on SGSN_MGMT.receive() for each SGSN NSEI for example */ const integer NUM_SGSN := 2; type component test_CT { @@ -2399,7 +2402,9 @@ /* expect state on both PCU and SGSN side to change */ interleave { [] PCU_MGMT.receive(tr_BssgpStsInd(nsei_pcu, bvc_cfg.bvci, BVC_S_BLOCKED)) from bvc_ct; - [] SGSN_MGMT.receive(tr_BssgpStsInd(*, bvc_cfg.bvci, BVC_S_BLOCKED)); + [] SGSN_MGMT.receive(tr_BssgpStsInd(mp_nsconfig_sgsn[0].nsei, bvc_cfg.bvci, BVC_S_BLOCKED)); + [] SGSN_MGMT.receive(tr_BssgpStsInd(mp_nsconfig_sgsn[1].nsei, bvc_cfg.bvci, BVC_S_BLOCKED)); + /* Doesn't auto-scale with NUM_SGSN */ } setverdict(pass); } @@ -2425,7 +2430,9 @@ /* expect state on both PCU and SGSN side to change */ interleave { [] PCU_MGMT.receive(tr_BssgpStsInd(nsei_pcu, bvc_cfg.bvci, BVC_S_UNBLOCKED)) from bvc_ct; - [] SGSN_MGMT.receive(tr_BssgpStsInd(*, bvc_cfg.bvci, BVC_S_UNBLOCKED)); + [] SGSN_MGMT.receive(tr_BssgpStsInd(mp_nsconfig_sgsn[0].nsei, bvc_cfg.bvci, BVC_S_UNBLOCKED)); + [] SGSN_MGMT.receive(tr_BssgpStsInd(mp_nsconfig_sgsn[1].nsei, bvc_cfg.bvci, BVC_S_UNBLOCKED)); + /* Doesn't auto-scale with NUM_SGSN */ } setverdict(pass); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23548 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8c3ec4e00b78cff40ac72bc857161fa7abc352b0 Gerrit-Change-Number: 23548 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 Mar 30 11:30:00 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 30 Mar 2021 11:30:00 +0000 Subject: Change in osmo-pcu[master]: pdch_ulc: Support picking RRBP other than N+13 In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23522 ) Change subject: pdch_ulc: Support picking RRBP other than N+13 ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23522 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ic6ddeea70e1f914cf423d0daab8fc492d0c992e2 Gerrit-Change-Number: 23522 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 30 Mar 2021 11:30:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 30 11:30:11 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 30 Mar 2021 11:30:11 +0000 Subject: Change in osmo-pcu[master]: Drop unused function tbf_check() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23523 ) Change subject: Drop unused function tbf_check() ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23523 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I90d75a75ae5b528c6ca7b409e60bd158d6043b35 Gerrit-Change-Number: 23523 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 30 Mar 2021 11:30: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 Mar 30 11:30:48 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 30 Mar 2021 11:30:48 +0000 Subject: Change in osmo-pcu[master]: pdch_ulc: Store TBF poll reason In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23525 ) Change subject: pdch_ulc: Store TBF poll reason ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23525 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie8fefd1f47ad674ce597a8065b15284088956bde Gerrit-Change-Number: 23525 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 30 Mar 2021 11:30:48 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 30 11:31:58 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 30 Mar 2021 11:31:58 +0000 Subject: Change in osmo-pcu[master]: tbf: Get rid of unneeded poll_scheduled() In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23526 ) Change subject: tbf: Get rid of unneeded poll_scheduled() ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/23526/1/tests/tbf/TbfTest.err File tests/tbf/TbfTest.err: https://gerrit.osmocom.org/c/osmo-pcu/+/23526/1/tests/tbf/TbfTest.err at a418 PS1, Line 418: r are those kind of changes of 'prip' expected? I don't immediately see how? -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23526 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I875f51cade95faeb2d79dcebfead4c83e23a731b Gerrit-Change-Number: 23526 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 30 Mar 2021 11: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 Tue Mar 30 11:32:47 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 30 Mar 2021 11:32:47 +0000 Subject: Change in osmo-pcu[master]: tbf: Allow multiple concurrent polls In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23527 ) Change subject: tbf: Allow multiple concurrent polls ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23527 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ic4080db684a4626cae90dd574d123081981284ca Gerrit-Change-Number: 23527 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 30 Mar 2021 11:32:47 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 30 11:33:08 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 30 Mar 2021 11:33:08 +0000 Subject: Change in osmo-pcu[master]: Remove unneeded poll_state check In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23528 ) Change subject: Remove unneeded poll_state check ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23528 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5e12280a6835407fa452bd4d5df799d2672790ec Gerrit-Change-Number: 23528 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 30 Mar 2021 11:33:08 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 30 11:33:51 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 30 Mar 2021 11:33:51 +0000 Subject: Change in osmo-pcu[master]: tbf: get rid of poll_state completely In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23529 ) Change subject: tbf: get rid of poll_state completely ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/23529/1//COMMIT_MSG Commit Message: https://gerrit.osmocom.org/c/osmo-pcu/+/23529/1//COMMIT_MSG at 10 PS1, Line 10: had have -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23529 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie5b807ccd38aa736ae11b3310ca61ad0156ca4d4 Gerrit-Change-Number: 23529 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 30 Mar 2021 11:33:51 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 30 11:34:19 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 30 Mar 2021 11:34:19 +0000 Subject: Change in osmo-pcu[master]: Get rid of param 'poll' with constant value In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23530 ) Change subject: Get rid of param 'poll' with constant value ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23530 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia48ce2a021865e76e813dedb22aca9c2522c5693 Gerrit-Change-Number: 23530 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 30 Mar 2021 11:34: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 Mar 30 13:23:09 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 30 Mar 2021 13:23:09 +0000 Subject: Change in osmo-e1-hardware[master]: manual: Fix USB ProductID swap between bootloader and application References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-e1-hardware/+/23549 ) Change subject: manual: Fix USB ProductID swap between bootloader and application ...................................................................... manual: Fix USB ProductID swap between bootloader and application Change-Id: I7adf31cb731f34834bb859f667e5edf51964ad32 --- M doc/manuals/chapters/firmware.adoc 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-e1-hardware refs/changes/49/23549/1 diff --git a/doc/manuals/chapters/firmware.adoc b/doc/manuals/chapters/firmware.adoc index 254e235..b4fdebd 100644 --- a/doc/manuals/chapters/firmware.adoc +++ b/doc/manuals/chapters/firmware.adoc @@ -26,8 +26,8 @@ Simply disconnect the USB cable, then push that button and keep it pushed while re-attaching the USB cable. -The icE1usb boot loader enumerates as VID:PID `1d50:6145`, while the -normal application firmware enumerates as `1d50:6144`, +The icE1usb boot loader enumerates as VID:PID `1d50:6144`, while the +normal application firmware enumerates as `1d50:6145`, You can for example use `lsusb` to check the VID:PID: -- To view, visit https://gerrit.osmocom.org/c/osmo-e1-hardware/+/23549 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-e1-hardware Gerrit-Branch: master Gerrit-Change-Id: I7adf31cb731f34834bb859f667e5edf51964ad32 Gerrit-Change-Number: 23549 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 Mar 30 13:29:14 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 30 Mar 2021 13:29:14 +0000 Subject: Change in osmo-e1-hardware[master]: manual: clarify download locations References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-e1-hardware/+/23550 ) Change subject: manual: clarify download locations ...................................................................... manual: clarify download locations Change-Id: Ibfeff7cc964445565b0ba08580532fc4baf97dbf --- M doc/manuals/chapters/firmware.adoc 1 file changed, 5 insertions(+), 3 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-e1-hardware refs/changes/50/23550/1 diff --git a/doc/manuals/chapters/firmware.adoc b/doc/manuals/chapters/firmware.adoc index b4fdebd..5802cca 100644 --- a/doc/manuals/chapters/firmware.adoc +++ b/doc/manuals/chapters/firmware.adoc @@ -45,10 +45,12 @@ ==== Obtaining firmware upgrades -The latest firmware can currently be found at the personal developer -directory of tnt at https://people.osmocom.org/tnt/e1/ +The latest firmware can be found at +https://ftp.osmocom.org/binaries/icE1usb/firmware/latest/ -A more official download location will be provided shortly. +The latest gateware can currently only be found at the personal developer +directory of tnt at https://people.osmocom.org/tnt/e1/icE1usb-202010-bd399e96.bin +A more official download location for the gateware will be provided shortly. ==== Upgrading the FPGA gateware -- To view, visit https://gerrit.osmocom.org/c/osmo-e1-hardware/+/23550 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-e1-hardware Gerrit-Branch: master Gerrit-Change-Id: Ibfeff7cc964445565b0ba08580532fc4baf97dbf Gerrit-Change-Number: 23550 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 Mar 30 13:29:16 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 30 Mar 2021 13:29:16 +0000 Subject: Change in osmo-e1-hardware[master]: maunal: update firmware filenaming References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-e1-hardware/+/23551 ) Change subject: maunal: update firmware filenaming ...................................................................... maunal: update firmware filenaming In Change-Id I319edb76dd74be6904395692ab1599fb8f1f9065 we had changed the file naming of the firmware binaries from the somewhat general fw_app*.bin format to icE1usb-fw*.bin, but the manual was not updated accordingly. Change-Id: I0cc2cd3f3f8f166b9409463fbd4b01e344cfe399 --- M doc/manuals/chapters/firmware.adoc 1 file changed, 2 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-e1-hardware refs/changes/51/23551/1 diff --git a/doc/manuals/chapters/firmware.adoc b/doc/manuals/chapters/firmware.adoc index 5802cca..12c5710 100644 --- a/doc/manuals/chapters/firmware.adoc +++ b/doc/manuals/chapters/firmware.adoc @@ -54,7 +54,7 @@ ==== Upgrading the FPGA gateware -Gateware files are called `icE1usb-*.bin`. +Gateware files are called `icE1usb-*.bin`. (without 'fw' in the name) The gateware can be upgraded by accessing the DFU _altsetting 0_ using `dfu-util` *`-a 0`* @@ -67,7 +67,7 @@ ==== Upgrading the picoRISCV firmware -Firmware files are called `fw_app*.bin`. +Firmware files are called `icE1usb-fw*.bin`. The firmware can be upgraded by accessing the DFU _altsetting 1_ using `dfu-util` *`-a 1`* -- To view, visit https://gerrit.osmocom.org/c/osmo-e1-hardware/+/23551 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-e1-hardware Gerrit-Branch: master Gerrit-Change-Id: I0cc2cd3f3f8f166b9409463fbd4b01e344cfe399 Gerrit-Change-Number: 23551 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 Mar 30 13:30:49 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 30 Mar 2021 13:30:49 +0000 Subject: Change in osmo-e1-hardware[master]: manual: Fix USB ProductID swap between bootloader and application In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-e1-hardware/+/23549 ) Change subject: manual: Fix USB ProductID swap between bootloader and application ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-e1-hardware/+/23549 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-e1-hardware Gerrit-Branch: master Gerrit-Change-Id: I7adf31cb731f34834bb859f667e5edf51964ad32 Gerrit-Change-Number: 23549 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 30 Mar 2021 13:30:49 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 30 13:30:55 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 30 Mar 2021 13:30:55 +0000 Subject: Change in osmo-e1-hardware[master]: manual: clarify download locations In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-e1-hardware/+/23550 ) Change subject: manual: clarify download locations ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-e1-hardware/+/23550 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-e1-hardware Gerrit-Branch: master Gerrit-Change-Id: Ibfeff7cc964445565b0ba08580532fc4baf97dbf Gerrit-Change-Number: 23550 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 30 Mar 2021 13:30:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 30 13:31:02 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 30 Mar 2021 13:31:02 +0000 Subject: Change in osmo-e1-hardware[master]: maunal: update firmware filenaming In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-e1-hardware/+/23551 ) Change subject: maunal: update firmware filenaming ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-e1-hardware/+/23551 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-e1-hardware Gerrit-Branch: master Gerrit-Change-Id: I0cc2cd3f3f8f166b9409463fbd4b01e344cfe399 Gerrit-Change-Number: 23551 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 30 Mar 2021 13:31:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 30 13:31:04 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 30 Mar 2021 13:31:04 +0000 Subject: Change in osmo-e1-hardware[master]: manual: Fix USB ProductID swap between bootloader and application In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-e1-hardware/+/23549 ) Change subject: manual: Fix USB ProductID swap between bootloader and application ...................................................................... manual: Fix USB ProductID swap between bootloader and application Change-Id: I7adf31cb731f34834bb859f667e5edf51964ad32 --- M doc/manuals/chapters/firmware.adoc 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/doc/manuals/chapters/firmware.adoc b/doc/manuals/chapters/firmware.adoc index 254e235..b4fdebd 100644 --- a/doc/manuals/chapters/firmware.adoc +++ b/doc/manuals/chapters/firmware.adoc @@ -26,8 +26,8 @@ Simply disconnect the USB cable, then push that button and keep it pushed while re-attaching the USB cable. -The icE1usb boot loader enumerates as VID:PID `1d50:6145`, while the -normal application firmware enumerates as `1d50:6144`, +The icE1usb boot loader enumerates as VID:PID `1d50:6144`, while the +normal application firmware enumerates as `1d50:6145`, You can for example use `lsusb` to check the VID:PID: -- To view, visit https://gerrit.osmocom.org/c/osmo-e1-hardware/+/23549 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-e1-hardware Gerrit-Branch: master Gerrit-Change-Id: I7adf31cb731f34834bb859f667e5edf51964ad32 Gerrit-Change-Number: 23549 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 Mar 30 13:31:04 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 30 Mar 2021 13:31:04 +0000 Subject: Change in osmo-e1-hardware[master]: manual: clarify download locations In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-e1-hardware/+/23550 ) Change subject: manual: clarify download locations ...................................................................... manual: clarify download locations Change-Id: Ibfeff7cc964445565b0ba08580532fc4baf97dbf --- M doc/manuals/chapters/firmware.adoc 1 file changed, 5 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/doc/manuals/chapters/firmware.adoc b/doc/manuals/chapters/firmware.adoc index b4fdebd..5802cca 100644 --- a/doc/manuals/chapters/firmware.adoc +++ b/doc/manuals/chapters/firmware.adoc @@ -45,10 +45,12 @@ ==== Obtaining firmware upgrades -The latest firmware can currently be found at the personal developer -directory of tnt at https://people.osmocom.org/tnt/e1/ +The latest firmware can be found at +https://ftp.osmocom.org/binaries/icE1usb/firmware/latest/ -A more official download location will be provided shortly. +The latest gateware can currently only be found at the personal developer +directory of tnt at https://people.osmocom.org/tnt/e1/icE1usb-202010-bd399e96.bin +A more official download location for the gateware will be provided shortly. ==== Upgrading the FPGA gateware -- To view, visit https://gerrit.osmocom.org/c/osmo-e1-hardware/+/23550 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-e1-hardware Gerrit-Branch: master Gerrit-Change-Id: Ibfeff7cc964445565b0ba08580532fc4baf97dbf Gerrit-Change-Number: 23550 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 Mar 30 13:31:04 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 30 Mar 2021 13:31:04 +0000 Subject: Change in osmo-e1-hardware[master]: maunal: update firmware filenaming In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-e1-hardware/+/23551 ) Change subject: maunal: update firmware filenaming ...................................................................... maunal: update firmware filenaming In Change-Id I319edb76dd74be6904395692ab1599fb8f1f9065 we had changed the file naming of the firmware binaries from the somewhat general fw_app*.bin format to icE1usb-fw*.bin, but the manual was not updated accordingly. Change-Id: I0cc2cd3f3f8f166b9409463fbd4b01e344cfe399 --- M doc/manuals/chapters/firmware.adoc 1 file changed, 2 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/doc/manuals/chapters/firmware.adoc b/doc/manuals/chapters/firmware.adoc index 5802cca..12c5710 100644 --- a/doc/manuals/chapters/firmware.adoc +++ b/doc/manuals/chapters/firmware.adoc @@ -54,7 +54,7 @@ ==== Upgrading the FPGA gateware -Gateware files are called `icE1usb-*.bin`. +Gateware files are called `icE1usb-*.bin`. (without 'fw' in the name) The gateware can be upgraded by accessing the DFU _altsetting 0_ using `dfu-util` *`-a 0`* @@ -67,7 +67,7 @@ ==== Upgrading the picoRISCV firmware -Firmware files are called `fw_app*.bin`. +Firmware files are called `icE1usb-fw*.bin`. The firmware can be upgraded by accessing the DFU _altsetting 1_ using `dfu-util` *`-a 1`* -- To view, visit https://gerrit.osmocom.org/c/osmo-e1-hardware/+/23551 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-e1-hardware Gerrit-Branch: master Gerrit-Change-Id: I0cc2cd3f3f8f166b9409463fbd4b01e344cfe399 Gerrit-Change-Number: 23551 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 Mar 30 13:40:23 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 30 Mar 2021 13:40:23 +0000 Subject: Change in osmo-e1-hardware[master]: manual: Add link to DAHDI driver References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-e1-hardware/+/23552 ) Change subject: manual: Add link to DAHDI driver ...................................................................... manual: Add link to DAHDI driver Change-Id: I96c7b43fe0112c66391df8f4867c2eb60cf3005f --- M doc/manuals/chapters/host-software.adoc 1 file changed, 16 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-e1-hardware refs/changes/52/23552/1 diff --git a/doc/manuals/chapters/host-software.adoc b/doc/manuals/chapters/host-software.adoc index 8af1018..8373c36 100644 --- a/doc/manuals/chapters/host-software.adoc +++ b/doc/manuals/chapters/host-software.adoc @@ -17,6 +17,22 @@ More information about `osmo-e1d` can be found at its homepage https://osmocom.org/projects/osmo-e1d/wiki +=== DAHDI driver + +DAHDI (Digium Asterisk Hardware Driver Interface) is an extremely +popular driver for a variety of POTS/PSTN and also TDM interface boards +by originally Zaptel, later Digium and now most recently Sangoma. + +DAHDI is supported by a wide range of open source PBX / softswitch software, +including Asterisk, FreeSWITCH and yate. + +There is an experimental DAHDI driver for the icE1usb available from +the `laforge/icE1usb` branch of the https://github.com/osmocom/dahdi-linux +git repository. + +When using that DAHDI Linux kernel driver, there is no need for +osmo-e1d. The USB interface is directly managed inside the kernel. + === Other software you can interface 3rd party applications with osmo-e1d in the following @@ -24,8 +40,6 @@ * by adding support for `osmo-e1d`, e.g. via `libosmo-e1d` to the respective appliation -* by implementing a device driver for whatever hardware interface (e.g. - for DAHDI) supported by your software * by directly implementing the USB interface exposed by icE1usb in your software -- To view, visit https://gerrit.osmocom.org/c/osmo-e1-hardware/+/23552 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-e1-hardware Gerrit-Branch: master Gerrit-Change-Id: I96c7b43fe0112c66391df8f4867c2eb60cf3005f Gerrit-Change-Number: 23552 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 Mar 30 13:40:23 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 30 Mar 2021 13:40:23 +0000 Subject: Change in osmo-e1-hardware[master]: manual: typo fix References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-e1-hardware/+/23553 ) Change subject: manual: typo fix ...................................................................... manual: typo fix Change-Id: I86b682b2b4bf6415b59558b00fba1288d7db3b50 --- M doc/manuals/chapters/host-software.adoc 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-e1-hardware refs/changes/53/23553/1 diff --git a/doc/manuals/chapters/host-software.adoc b/doc/manuals/chapters/host-software.adoc index 8373c36..1d23312 100644 --- a/doc/manuals/chapters/host-software.adoc +++ b/doc/manuals/chapters/host-software.adoc @@ -39,7 +39,7 @@ ways: * by adding support for `osmo-e1d`, e.g. via `libosmo-e1d` to the - respective appliation + respective application * by directly implementing the USB interface exposed by icE1usb in your software -- To view, visit https://gerrit.osmocom.org/c/osmo-e1-hardware/+/23553 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-e1-hardware Gerrit-Branch: master Gerrit-Change-Id: I86b682b2b4bf6415b59558b00fba1288d7db3b50 Gerrit-Change-Number: 23553 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 Mar 30 13:40:59 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 30 Mar 2021 13:40:59 +0000 Subject: Change in osmo-e1-hardware[master]: manual: typo fix In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-e1-hardware/+/23553 ) Change subject: manual: typo fix ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-e1-hardware/+/23553 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-e1-hardware Gerrit-Branch: master Gerrit-Change-Id: I86b682b2b4bf6415b59558b00fba1288d7db3b50 Gerrit-Change-Number: 23553 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 30 Mar 2021 13:40: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 Mar 30 13:41:01 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 30 Mar 2021 13:41:01 +0000 Subject: Change in osmo-e1-hardware[master]: manual: Add link to DAHDI driver In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-e1-hardware/+/23552 ) Change subject: manual: Add link to DAHDI driver ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-e1-hardware/+/23552 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-e1-hardware Gerrit-Branch: master Gerrit-Change-Id: I96c7b43fe0112c66391df8f4867c2eb60cf3005f Gerrit-Change-Number: 23552 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 30 Mar 2021 13:41: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 Mar 30 13:41:04 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 30 Mar 2021 13:41:04 +0000 Subject: Change in osmo-e1-hardware[master]: manual: Add link to DAHDI driver In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-e1-hardware/+/23552 ) Change subject: manual: Add link to DAHDI driver ...................................................................... manual: Add link to DAHDI driver Change-Id: I96c7b43fe0112c66391df8f4867c2eb60cf3005f --- M doc/manuals/chapters/host-software.adoc 1 file changed, 16 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/doc/manuals/chapters/host-software.adoc b/doc/manuals/chapters/host-software.adoc index 8af1018..8373c36 100644 --- a/doc/manuals/chapters/host-software.adoc +++ b/doc/manuals/chapters/host-software.adoc @@ -17,6 +17,22 @@ More information about `osmo-e1d` can be found at its homepage https://osmocom.org/projects/osmo-e1d/wiki +=== DAHDI driver + +DAHDI (Digium Asterisk Hardware Driver Interface) is an extremely +popular driver for a variety of POTS/PSTN and also TDM interface boards +by originally Zaptel, later Digium and now most recently Sangoma. + +DAHDI is supported by a wide range of open source PBX / softswitch software, +including Asterisk, FreeSWITCH and yate. + +There is an experimental DAHDI driver for the icE1usb available from +the `laforge/icE1usb` branch of the https://github.com/osmocom/dahdi-linux +git repository. + +When using that DAHDI Linux kernel driver, there is no need for +osmo-e1d. The USB interface is directly managed inside the kernel. + === Other software you can interface 3rd party applications with osmo-e1d in the following @@ -24,8 +40,6 @@ * by adding support for `osmo-e1d`, e.g. via `libosmo-e1d` to the respective appliation -* by implementing a device driver for whatever hardware interface (e.g. - for DAHDI) supported by your software * by directly implementing the USB interface exposed by icE1usb in your software -- To view, visit https://gerrit.osmocom.org/c/osmo-e1-hardware/+/23552 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-e1-hardware Gerrit-Branch: master Gerrit-Change-Id: I96c7b43fe0112c66391df8f4867c2eb60cf3005f Gerrit-Change-Number: 23552 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 Mar 30 13:41:04 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 30 Mar 2021 13:41:04 +0000 Subject: Change in osmo-e1-hardware[master]: manual: typo fix In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-e1-hardware/+/23553 ) Change subject: manual: typo fix ...................................................................... manual: typo fix Change-Id: I86b682b2b4bf6415b59558b00fba1288d7db3b50 --- M doc/manuals/chapters/host-software.adoc 1 file changed, 1 insertion(+), 1 deletion(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved diff --git a/doc/manuals/chapters/host-software.adoc b/doc/manuals/chapters/host-software.adoc index 8373c36..1d23312 100644 --- a/doc/manuals/chapters/host-software.adoc +++ b/doc/manuals/chapters/host-software.adoc @@ -39,7 +39,7 @@ ways: * by adding support for `osmo-e1d`, e.g. via `libosmo-e1d` to the - respective appliation + respective application * by directly implementing the USB interface exposed by icE1usb in your software -- To view, visit https://gerrit.osmocom.org/c/osmo-e1-hardware/+/23553 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-e1-hardware Gerrit-Branch: master Gerrit-Change-Id: I86b682b2b4bf6415b59558b00fba1288d7db3b50 Gerrit-Change-Number: 23553 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 Mar 30 14:33:59 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 30 Mar 2021 14:33:59 +0000 Subject: Change in osmo-ttcn3-hacks[master]: CTRL_Adapter: Add function to obtain FSM instance state References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23554 ) Change subject: CTRL_Adapter: Add function to obtain FSM instance state ...................................................................... CTRL_Adapter: Add function to obtain FSM instance state This can be useful to verify expectations about the state of FSMs in the IUT. Change-Id: I33afc2e73be06e23147b5ac0b0fd3b9003935444 --- M library/Osmocom_CTRL_Adapter.ttcn 1 file changed, 17 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/54/23554/1 diff --git a/library/Osmocom_CTRL_Adapter.ttcn b/library/Osmocom_CTRL_Adapter.ttcn index adc2887..34ea300 100644 --- a/library/Osmocom_CTRL_Adapter.ttcn +++ b/library/Osmocom_CTRL_Adapter.ttcn @@ -112,5 +112,22 @@ f_ctrl_get_exp(pt, valueof(ts_bts_trx(bts_nr, trx_nr)) & suffix, exp); } +template (value) charstring ts_fsm_inst_id(charstring class_name, charstring inst_id) := + "fsm." & class_name & ".id." & inst_id & "."; + +/* obtain the state of a specified FSM instance */ +function f_ctrl_get_fsm_inst_state(IPA_CTRL_PT pt, charstring fsm_class_name, charstring fsm_inst_id) +return charstring { + return f_ctrl_get(pt, valueof(ts_fsm_inst_id(fsm_class_name, fsm_inst_id)) & "state"); +} + +/* expect the state of a specified FSM instance to match template */ +function f_ctrl_get_exp_inst_state(IPA_CTRL_PT pt, charstring fsm_class_name, + template (value) charstring fsm_inst_id, + template (present) CtrlValue exp) +{ + f_ctrl_get_exp(pt, valueof(ts_fsm_inst_id(fsm_class_name, valueof(fsm_inst_id))) & "state", exp); +} + } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23554 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I33afc2e73be06e23147b5ac0b0fd3b9003935444 Gerrit-Change-Number: 23554 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 Mar 30 14:33:59 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 30 Mar 2021 14:33:59 +0000 Subject: Change in osmo-ttcn3-hacks[master]: gbproxy: Verify BVC FSM state during bring-up References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23555 ) Change subject: gbproxy: Verify BVC FSM state during bring-up ...................................................................... gbproxy: Verify BVC FSM state during bring-up This adds IUT fsm state instrospection via the CTRL interface. docker-playground will need to set "mp_gbproxy_ip" in its configs. Change-Id: I272e43b9be8ba53d8a815e8ab099c939f63413a7 --- M gbproxy/GBProxy_Tests.ttcn M library/Osmocom_Types.ttcn 2 files changed, 40 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/55/23555/1 diff --git a/gbproxy/GBProxy_Tests.ttcn b/gbproxy/GBProxy_Tests.ttcn index 91ccbb0..d3c6df6 100644 --- a/gbproxy/GBProxy_Tests.ttcn +++ b/gbproxy/GBProxy_Tests.ttcn @@ -33,6 +33,7 @@ import from TELNETasp_PortType all; import from Osmocom_VTY_Functions all; +import from Osmocom_CTRL_Adapter all; import from LLC_Types all; import from LLC_Templates all; @@ -46,6 +47,8 @@ const integer max_fr_info_size := 1600; modulepar { + charstring mp_gbproxy_ip := "127.0.0.1"; + integer mp_gbproxy_ctrl_port := 4263; /* NRI bit-length. 0 for no pooling */ integer mp_nri_bitlength := 5; roro_integer mp_sgsn_nri := { @@ -330,7 +333,7 @@ * tests that use interleave on SGSN_MGMT.receive() for each SGSN NSEI for example */ const integer NUM_SGSN := 2; -type component test_CT { +type component test_CT extends CTRL_Adapter_CT { var GbInstances g_pcu; var GbInstances g_sgsn; @@ -516,6 +519,14 @@ } } +private template (value) charstring ts_pcu_bvc_fsm_id(uint16_t nsei, uint16_t bvci) := + "NSE" & f_int2str(nsei, 5) & "-BVC" & f_int2str(bvci, 5); + +function f_bvc_fsm_ensure_state(uint16_t nsei, uint16_t bvci, template (present) charstring exp) +runs on CTRL_Adapter_CT { + f_ctrl_get_exp_inst_state(IPA_CTRL, "BSSGP-BVC", ts_pcu_bvc_fsm_id(nsei, bvci), exp); +} + function f_init(float t_guard := 30.0) runs on test_CT { var roro_integer bvci_unblocked; var BssgpStatusIndication bsi; @@ -529,6 +540,8 @@ g_Tguard.start(t_guard); activate(as_gTguard(g_Tguard)); + f_ipa_ctrl_start_client(mp_gbproxy_ip, mp_gbproxy_ctrl_port); + var BssgpBvcConfigs bvcs := { }; for (i := 0; i < lengthof(mp_gbconfigs); i := i+1) { g_pcu[i].cfg := mp_gbconfigs[i]; @@ -616,6 +629,25 @@ } } + /* verify all SGSN-side BVC FSM in IUT are UNBLOCKED */ + for (i := 0; i < lengthof(mp_nsconfig_sgsn); i := i+1) { + f_bvc_fsm_ensure_state(mp_nsconfig_sgsn[i].nsei, 0, "UNBLOCKED"); + /* iterate over list and check all BVCI */ + for (var integer j := 0; j < lengthof(g_sgsn[i].cfg.bvc); j := j+1) { + var BssgpBvci bvci := g_sgsn[i].cfg.bvc[j].bvci; + f_bvc_fsm_ensure_state(mp_nsconfig_sgsn[i].nsei, bvci, "UNBLOCKED"); + } + } + /* verify all PCU-side BVC FSM in IUT are UNBLOCKED */ + for (i := 0; i < lengthof(mp_nsconfig_pcu); i := i+1) { + f_bvc_fsm_ensure_state(mp_nsconfig_pcu[i].nsei, 0, "UNBLOCKED"); + /* iterate over list and check all BVCI */ + for (var integer j := 0; j < lengthof(g_pcu[i].cfg.bvc); j := j+1) { + var BssgpBvci bvci := g_pcu[i].cfg.bvc[j].bvci; + f_bvc_fsm_ensure_state(mp_nsconfig_pcu[i].nsei, bvci, "UNBLOCKED"); + } + } + /* re-start guard timer after all BVCs are up, so it only counts the actual test case */ g_Tguard.start(t_guard); } diff --git a/library/Osmocom_Types.ttcn b/library/Osmocom_Types.ttcn index 23f8fd9..3c0137c 100644 --- a/library/Osmocom_Types.ttcn +++ b/library/Osmocom_Types.ttcn @@ -51,6 +51,13 @@ AF_INET6 ('0a'O) } +/* like TTCN-3 int2str() but with padding of leading zeroes */ +function f_int2str(integer i, integer total_digits) return charstring { + var charstring istr := int2str(i); + var charstring padstr := hex2str(int2hex(0, total_digits - lengthof(istr))); + return padstr & istr; +} + /* return random integer 0 <= ret < max. According to ETSI ES 201 873 C.6.1, rnd() returns *less* than 1, so * the returned int will always be ret < max, or ret <= (max-1). */ function f_rnd_int(integer max) return integer { -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23555 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I272e43b9be8ba53d8a815e8ab099c939f63413a7 Gerrit-Change-Number: 23555 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 Mar 30 14:44:20 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 30 Mar 2021 14:44:20 +0000 Subject: Change in pysim[master]: pySim-shell: automatic ADM pin from CSV-File In-Reply-To: References: Message-ID: Hello Jenkins Builder, pespin, daniel, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/23538 to look at the new patch set (#2). Change subject: pySim-shell: automatic ADM pin from CSV-File ...................................................................... pySim-shell: automatic ADM pin from CSV-File It can be hard to manage ADM pins when working with different cards at the same time. To make this easier, add an automatic way to determine the ADM pin for each card from a CSV file. - add a CardData clas model that can be extended to to get the data from various different sources. For now use CSV-Files. Also add a way how multiple CardData classes can be registered so that one global get function can query all registered CardData classes at once. - automatically check for CSV-File in home directory and use it as default CardData source unless the user specifies a CSV file via commandline argument. - extend the verify_adm command so that it automatically queries the ADM pin if no argument is given. Also do not try to authenticate if no ADM pin could be determined. Change-Id: I51835ccb16bcbce35e7f3765e8927a4451509e77 Related: OS#4963 --- M pySim-shell.py A pySim/card_data.py 2 files changed, 146 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/38/23538/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23538 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I51835ccb16bcbce35e7f3765e8927a4451509e77 Gerrit-Change-Number: 23538 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 30 14:44:20 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 30 Mar 2021 14:44:20 +0000 Subject: Change in pysim[master]: commands: conserve write cycles In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, daniel, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/23539 to look at the new patch set (#2). Change subject: commands: conserve write cycles ...................................................................... commands: conserve write cycles When a record or a binary file is written the card goes throth a full flash/eeprom write cycle at this location, even when the data does not change. This can be optimized by reading before writing in order to compere if the data we are about to write is actually different. Change-Id: Ifd1b80d3ede15a7caa29077a37ac7cf58c9053f1 Related: OS#4963 --- M pySim-shell.py M pySim/commands.py M pySim/filesystem.py 3 files changed, 28 insertions(+), 5 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/39/23539/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23539 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ifd1b80d3ede15a7caa29077a37ac7cf58c9053f1 Gerrit-Change-Number: 23539 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 30 14:44:20 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 30 Mar 2021 14:44:20 +0000 Subject: Change in pysim[master]: pySim-shell: be more specific when finding no ADM-PIN In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/23540 to look at the new patch set (#2). Change subject: pySim-shell: be more specific when finding no ADM-PIN ...................................................................... pySim-shell: be more specific when finding no ADM-PIN When no ADM pin is found in the external data source, then print an error message that tells the user that this is the case. Change-Id: If8f88b43f283fbe459be1b30db35d984022840ac Related: OS#4963 --- M pySim-shell.py 1 file changed, 4 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/40/23540/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23540 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: If8f88b43f283fbe459be1b30db35d984022840ac Gerrit-Change-Number: 23540 Gerrit-PatchSet: 2 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 Tue Mar 30 14:44:20 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 30 Mar 2021 14:44:20 +0000 Subject: Change in pysim[master]: pySim-shells: complete CHV/PIN management tools In-Reply-To: References: Message-ID: Hello Jenkins Builder, daniel, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/23541 to look at the new patch set (#2). Change subject: pySim-shells: complete CHV/PIN management tools ...................................................................... pySim-shells: complete CHV/PIN management tools At the moment we only have a basic version of a verify_chv commnad, but in order to handle any CHV/PIN related situation we also need commands to enable, disable, change and unblock CHV. - fix verify_chv commnad: more distinct parameter names, better help strings, correct pin code encoding and add external source lookup - Add unblock_chv, change_chv, enable_chv and disable_chv commands - add/fix related functions in commands.py Change-Id: Ic89446e6bd2021095e579fb6b20458df48ba6413 Related: OS#4963 --- M pySim-shell.py M pySim/card_data.py M pySim/commands.py 3 files changed, 115 insertions(+), 12 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/41/23541/2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23541 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ic89446e6bd2021095e579fb6b20458df48ba6413 Gerrit-Change-Number: 23541 Gerrit-PatchSet: 2 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-CC: fixeria Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 30 14:45:01 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 30 Mar 2021 14:45:01 +0000 Subject: Change in pysim[master]: commands, ts_102_221: replace pytlv with uttlv In-Reply-To: References: Message-ID: Hello Jenkins Builder, laforge, daniel, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/pysim/+/23483 to look at the new patch set (#4). Change subject: commands, ts_102_221: replace pytlv with uttlv ...................................................................... commands, ts_102_221: replace pytlv with uttlv pytlv requires to tell it all expected tags in a TLV string that is going to be parsed. This often causes problems since TLV is by design extensible, so newer specifications may add additional tags which our code then would not tolerate. uttlv does not have such a limitation, pre defining the tags in advance is optional here. Lets use uttlv from now on. Change-Id: I971b818836aff2fbeb6769f819d496cee4bfa7cf Related: OS#4963 --- M README.md M contrib/jenkins.sh M pySim/cards.py M pySim/commands.py A pySim/tlvutils.py M pySim/ts_102_221.py M requirements.txt 7 files changed, 72 insertions(+), 52 deletions(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/83/23483/4 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23483 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I971b818836aff2fbeb6769f819d496cee4bfa7cf Gerrit-Change-Number: 23483 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 30 14:45:24 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 30 Mar 2021 14:45:24 +0000 Subject: Change in pysim[master]: commands, ts_102_221: replace pytlv with uttlv In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23483 ) Change subject: commands, ts_102_221: replace pytlv with uttlv ...................................................................... Patch Set 4: (2 comments) https://gerrit.osmocom.org/c/pysim/+/23483/3/pySim/commands.py File pySim/commands.py: https://gerrit.osmocom.org/c/pysim/+/23483/3/pySim/commands.py at 36 PS3, Line 36: from u > there's at least 5 instances of "... = TLV() tag_size=1, len_size=1" in the code. [?] I have had a look at cyberfle-shell and the card repo from mitshell. mitshell has a BER-TLV parser. I have tried it out with some testcode and it seems to work. uttlv is MIT license (I don't know how compatible that is). Mitshell uses GPL. https://gerrit.osmocom.org/c/pysim/+/23483/3/pySim/commands.py at 36 PS3, Line 36: from u > I think we should move this to the top of the file. [?] Done -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23483 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: I971b818836aff2fbeb6769f819d496cee4bfa7cf Gerrit-Change-Number: 23483 Gerrit-PatchSet: 4 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 30 Mar 2021 14:45:24 +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 Mar 30 14:57:05 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 30 Mar 2021 14:57:05 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vty: print a response to vty `nsvc (block|unblock|re... In-Reply-To: References: Message-ID: lynxis lazus has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23455 ) Change subject: gprs_ns2_vty: print a response to vty `nsvc (block|unblock|reset) ...................................................................... Patch Set 2: (3 comments) https://gerrit.osmocom.org/c/libosmocore/+/23455/2/src/gb/gprs_ns2_vty.c File src/gb/gprs_ns2_vty.c: https://gerrit.osmocom.org/c/libosmocore/+/23455/2/src/gb/gprs_ns2_vty.c at 2061 PS2, Line 2061: %d > I find this inconsistent with the existing code: above %05u is used. Ack https://gerrit.osmocom.org/c/libosmocore/+/23455/2/src/gb/gprs_ns2_vty.c at 2067 PS2, Line 2067: vty_out(vty, "An unknown error %d happend%s", rc, VTY_NEWLINE); > Consistency: missing dot, other statements have it. Ack https://gerrit.osmocom.org/c/libosmocore/+/23455/2/src/gb/gprs_ns2_vty.c at 2080 PS2, Line 2080: vty_out(vty, "An unknown error %d happend%s", rc, VTY_NEWLINE); > Consistency: missing dot, other statements have it. Ack -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23455 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Idbb83ea319bbdc94177febdd66e79c49fce7fdd2 Gerrit-Change-Number: 23455 Gerrit-PatchSet: 2 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 30 Mar 2021 14:57:05 +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 Mar 30 14:57:13 2021 From: gerrit-no-reply at lists.osmocom.org (lynxis lazus) Date: Tue, 30 Mar 2021 14:57:13 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vty: print a response to vty `nsvc (block|unblock|re... In-Reply-To: References: Message-ID: Hello Jenkins Builder, fixeria, pespin, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/libosmocore/+/23455 to look at the new patch set (#3). Change subject: gprs_ns2_vty: print a response to vty `nsvc (block|unblock|reset) ...................................................................... gprs_ns2_vty: print a response to vty `nsvc (block|unblock|reset) The vty wasn't printing anything to the user if it was a success or not Change-Id: Idbb83ea319bbdc94177febdd66e79c49fce7fdd2 --- M src/gb/gprs_ns2_vc_fsm.c M src/gb/gprs_ns2_vty.c 2 files changed, 34 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/55/23455/3 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23455 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Idbb83ea319bbdc94177febdd66e79c49fce7fdd2 Gerrit-Change-Number: 23455 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 30 15:05:12 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 30 Mar 2021 15:05:12 +0000 Subject: Change in osmo-pcu[master]: tbf: Get rid of unneeded poll_scheduled() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23526 ) Change subject: tbf: Get rid of unneeded poll_scheduled() ...................................................................... Patch Set 1: (1 comment) https://gerrit.osmocom.org/c/osmo-pcu/+/23526/1/tests/tbf/TbfTest.err File tests/tbf/TbfTest.err: https://gerrit.osmocom.org/c/osmo-pcu/+/23526/1/tests/tbf/TbfTest.err at a418 PS1, Line 418: r > are those kind of changes of 'prip' expected? I don't immediately see how? That's due to the "if (poll-scheduled()) return false) being removed. That's removed because a TBF should actually be fine scheduling a control block even if a POLL is scheduled, since multiple POLL schedules should be possible concurrently. This check was there to prevent that happening since the whole implementation was not supporting that kind of thing. As a result, need_control_ts() may return now true in that situation, where it used to return false, hence increasing the priority of this tbf. -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23526 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I875f51cade95faeb2d79dcebfead4c83e23a731b Gerrit-Change-Number: 23526 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 30 Mar 2021 15:05:12 +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 Mar 30 15:18:02 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Tue, 30 Mar 2021 15:18:02 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vty: print a response to vty `nsvc (block|unblock|re... In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23455 ) Change subject: gprs_ns2_vty: print a response to vty `nsvc (block|unblock|reset) ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/23455/3/src/gb/gprs_ns2_vty.c File src/gb/gprs_ns2_vty.c: https://gerrit.osmocom.org/c/libosmocore/+/23455/3/src/gb/gprs_ns2_vty.c at 2067 PS3, Line 2067: %05u rc should be %d... -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23455 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Idbb83ea319bbdc94177febdd66e79c49fce7fdd2 Gerrit-Change-Number: 23455 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 30 Mar 2021 15:18:02 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 30 15:25:07 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 30 Mar 2021 15:25:07 +0000 Subject: Change in osmo-ttcn3-hacks[master]: gbproxy: Generalize as_count_bvc_block() into as_count_bvc_sts() In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23547 ) Change subject: gbproxy: Generalize as_count_bvc_block() into as_count_bvc_sts() ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23547 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I33ceace527d6a0cd816fb4e042fdcffd8f0dd23f Gerrit-Change-Number: 23547 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 30 Mar 2021 15:25: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 Mar 30 15:25:55 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 30 Mar 2021 15:25:55 +0000 Subject: Change in osmo-ttcn3-hacks[master]: Make f_{block, unblock}_ptp_bvc_from_pcu handle multiple SGSNs In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23548 ) Change subject: Make f_{block,unblock}_ptp_bvc_from_pcu handle multiple SGSNs ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23548 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I8c3ec4e00b78cff40ac72bc857161fa7abc352b0 Gerrit-Change-Number: 23548 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 30 Mar 2021 15: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 Tue Mar 30 16:08:14 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 30 Mar 2021 16:08:14 +0000 Subject: Change in osmo-ttcn3-hacks[master]: CTRL_Adapter: Add function to obtain FSM instance state In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23554 ) Change subject: CTRL_Adapter: Add function to obtain FSM instance state ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23554 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I33afc2e73be06e23147b5ac0b0fd3b9003935444 Gerrit-Change-Number: 23554 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 30 Mar 2021 16: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 Mar 30 16:09:10 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Tue, 30 Mar 2021 16:09:10 +0000 Subject: Change in osmo-ttcn3-hacks[master]: gbproxy: Verify BVC FSM state during bring-up In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23555 ) Change subject: gbproxy: Verify BVC FSM state during bring-up ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/23555 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I272e43b9be8ba53d8a815e8ab099c939f63413a7 Gerrit-Change-Number: 23555 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 30 Mar 2021 16:09: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 Mar 30 17:24:31 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 30 Mar 2021 17:24:31 +0000 Subject: Change in docker-playground[master]: add osmo-ns-master container with osmo-ns-dummy binary References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/23556 ) Change subject: add osmo-ns-master container with osmo-ns-dummy binary ...................................................................... add osmo-ns-master container with osmo-ns-dummy binary Change-Id: I8372088722f5a487e0068418d543bd5cc707a5a1 Related: OS#5396 --- A osmo-ns-master/Dockerfile A osmo-ns-master/Makefile A osmo-ns-master/osmo-ns-dummy.cfg 3 files changed, 105 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/56/23556/1 diff --git a/osmo-ns-master/Dockerfile b/osmo-ns-master/Dockerfile new file mode 100644 index 0000000..1511493 --- /dev/null +++ b/osmo-ns-master/Dockerfile @@ -0,0 +1,44 @@ +ARG USER +ARG DISTRO +FROM $USER/$DISTRO-build +# Arguments used after FROM must be specified again +ARG DISTRO + +RUN case "$DISTRO" in \ + debian*) \ + apt-get update && \ + apt-get install -y --no-install-recommends \ + python3-osmopy-utils \ + libmnl-dev && \ + apt-get clean \ + ;; \ + centos*) \ + dnf install -y \ + "pkgconfig(libmnl)" \ + ;; \ + esac + +WORKDIR /tmp + +ARG LIBOSMOCORE_BRANCH="master" + +RUN git clone git://git.osmocom.org/libosmocore.git +ADD http://git.osmocom.org/libosmocore/patch?h=$LIBOSMOCORE_BRANCH /tmp/commit-libosmocore + +RUN cd libosmocore && \ + git fetch && git checkout $LIBOSMOCORE_BRANCH && \ + (git symbolic-ref -q HEAD && git reset --hard origin/$LIBOSMOCORE_BRANCH || exit 1); \ + git rev-parse --abbrev-ref HEAD && git rev-parse HEAD && \ + autoreconf -fi && \ + ./configure --disable-doxygen --disable-pcsc --enable-external-tests && \ + make "-j$(nproc)" install && \ + install -m 0755 utils/.libs/osmo-ns-dummy /usr/local/bin/osmo-ns-dummy + +VOLUME /data + +COPY osmo-ns-dummy.cfg /data/osmo-ns-dummy.cfg + +WORKDIR /data +CMD ["/usr/local/bin/osmo-ns-dummy", "-p", "13245"] + +#EXPOSE diff --git a/osmo-ns-master/Makefile b/osmo-ns-master/Makefile new file mode 100644 index 0000000..8d0e10b --- /dev/null +++ b/osmo-ns-master/Makefile @@ -0,0 +1 @@ +include ../make/Makefile diff --git a/osmo-ns-master/osmo-ns-dummy.cfg b/osmo-ns-master/osmo-ns-dummy.cfg new file mode 100644 index 0000000..2a6a9ba --- /dev/null +++ b/osmo-ns-master/osmo-ns-dummy.cfg @@ -0,0 +1,60 @@ +! +! OsmoNSdummy (1.5.0.3-45cf) configuration saved from vty +!! +! +log stderr + logging filter all 1 + logging color 1 + logging print category-hex 0 + logging print category 1 + logging print thread-id 0 + logging timestamp 1 + logging print file 1 + logging level force-all info + logging level lglobal notice + logging level llapd notice + logging level linp notice + logging level lmux notice + logging level lmi notice + logging level lmib notice + logging level lsms notice + logging level lctrl notice + logging level lgtp notice + logging level lstats notice + logging level lgsup notice + logging level loap notice + logging level lss7 notice + logging level lsccp notice + logging level lsua notice + logging level lm3ua notice + logging level lmgcp notice + logging level ljibuf notice + logging level lrspro notice + logging level lns debug + logging level lbssgp notice +! +stats interval 5 +! +line vty + no login + bind 127.0.0.10 +! +ns + timer tns-block 3 + timer tns-block-retries 3 + timer tns-reset 3 + timer tns-reset-retries 3 + timer tns-test 30 + timer tns-alive 3 + timer tns-alive-retries 10 + timer tsns-prov 3 + timer tsns-size-retries 3 + timer tsns-config-retries 3 + bind udp pcu-side + listen 127.0.0.10 25000 + ip-sns signalling-weight 23 data-weight 42 + accept-dynamic-ip-sns + nse 1234 + ip-sns-bind pcu-side + ip-sns-remote 127.0.0.1 23000 +mirror-mode disable -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23556 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I8372088722f5a487e0068418d543bd5cc707a5a1 Gerrit-Change-Number: 23556 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 Mar 30 18:13:10 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 30 Mar 2021 18:13:10 +0000 Subject: Change in docker-playground[master]: add osmo-ns-master container with osmo-ns-dummy binary In-Reply-To: References: Message-ID: laforge has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/docker-playground/+/23556 ) Change subject: add osmo-ns-master container with osmo-ns-dummy binary ...................................................................... add osmo-ns-master container with osmo-ns-dummy binary Change-Id: I8372088722f5a487e0068418d543bd5cc707a5a1 Related: OS#5396 --- A osmo-ns-master/Dockerfile A osmo-ns-master/Makefile A osmo-ns-master/osmo-ns-dummy.cfg 3 files changed, 106 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/56/23556/2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23556 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I8372088722f5a487e0068418d543bd5cc707a5a1 Gerrit-Change-Number: 23556 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 Tue Mar 30 18:13:11 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 30 Mar 2021 18:13:11 +0000 Subject: Change in docker-playground[master]: Add ttcn3-ns-test container References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/23557 ) Change subject: Add ttcn3-ns-test container ...................................................................... Add ttcn3-ns-test container Change-Id: I45d211f4edd39e5be8f63185f1b7bd100fb2644b Related: OS#5396 --- A ttcn3-ns-test/Dockerfile A ttcn3-ns-test/Makefile A ttcn3-ns-test/NS_Tests.cfg A ttcn3-ns-test/jenkins-sns.sh A ttcn3-ns-test/jenkins.sh A ttcn3-ns-test/osmo-ns-dummy.cfg 6 files changed, 225 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/57/23557/1 diff --git a/ttcn3-ns-test/Dockerfile b/ttcn3-ns-test/Dockerfile new file mode 100644 index 0000000..850046d --- /dev/null +++ b/ttcn3-ns-test/Dockerfile @@ -0,0 +1,13 @@ +ARG REGISTRY +ARG USER +FROM $REGISTRY/$USER/debian-stretch-titan +ARG OSMO_TTCN3_BRANCH="master" + +ADD http://git.osmocom.org/osmo-ttcn3-hacks/patch?h=$OSMO_TTCN3_BRANCH /tmp/commit +RUN ttcn3-docker-prepare "$OSMO_TTCN3_BRANCH" ns + +VOLUME /data + +COPY NS_Tests.cfg /data/NS_Tests.cfg + +CMD ttcn3-docker-run ns NS_Tests diff --git a/ttcn3-ns-test/Makefile b/ttcn3-ns-test/Makefile new file mode 100644 index 0000000..8d0e10b --- /dev/null +++ b/ttcn3-ns-test/Makefile @@ -0,0 +1 @@ +include ../make/Makefile diff --git a/ttcn3-ns-test/NS_Tests.cfg b/ttcn3-ns-test/NS_Tests.cfg new file mode 100644 index 0000000..1bb202d --- /dev/null +++ b/ttcn3-ns-test/NS_Tests.cfg @@ -0,0 +1,33 @@ +[ORDERED_INCLUDE] +"/osmo-ttcn3-hacks/Common.cfg" +"/osmo-ttcn3-hacks/ns/NS_Tests.default" + +[LOGGING] + +[TESTPORT_PARAMETERS] +*.NSVTY.CTRL_HOSTNAME := "172.18.28.101" + +[MODULE_PARAMETERS] +NS_Tests.mp_nsconfig := { + nsei := 1234, + nsvc := { + { + provider := { + ip := { + address_family := AF_INET, + local_ip := "172.18.28.10", + local_udp_port := 22000, + remote_ip := "172.18.28.101", + remote_udp_port := 23000 + } + }, + nsvci := 1234 + } + } +} +NS_Tests.mp_dialect := NS2_DIALECT_STATIC_RESETBLOCK + +[MAIN_CONTROLLER] + +[EXECUTE] +NS_Tests.control diff --git a/ttcn3-ns-test/jenkins-sns.sh b/ttcn3-ns-test/jenkins-sns.sh new file mode 100755 index 0000000..aaed27a --- /dev/null +++ b/ttcn3-ns-test/jenkins-sns.sh @@ -0,0 +1,45 @@ +#!/bin/sh + +. ../jenkins-common.sh +IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" +docker_images_require \ + "osmo-pcu-$IMAGE_SUFFIX" \ + "ttcn3-pcu-test" + +set_clean_up_trap +set -e + +SUBNET=14 +network_create $SUBNET + +mkdir $VOL_BASE_DIR/pcu-tester +mkdir $VOL_BASE_DIR/pcu-tester/unix +cp sns/PCU_Tests.cfg $VOL_BASE_DIR/pcu-tester/ + +mkdir $VOL_BASE_DIR/pcu +mkdir $VOL_BASE_DIR/pcu/unix +cp sns/osmo-pcu.cfg $VOL_BASE_DIR/pcu/ + +mkdir $VOL_BASE_DIR/unix + +echo Starting container with PCU +docker run --rm \ + $(docker_network_params $SUBNET 101) \ + --ulimit core=-1 \ + -v $VOL_BASE_DIR/pcu:/data \ + -v $VOL_BASE_DIR/unix:/data/unix \ + --name ${BUILD_TAG}-pcu-sns -d \ + $DOCKER_ARGS \ + $REPO_USER/osmo-pcu-$IMAGE_SUFFIX \ + /bin/sh -c "/usr/local/bin/respawn.sh osmo-pcu -c /data/osmo-pcu.cfg -i 172.18.14.10 >>/data/osmo-pcu.log 2>&1" + +echo Starting container with PCU testsuite +docker run --rm \ + $(docker_network_params $SUBNET 10) \ + --ulimit core=-1 \ + -e "TTCN3_PCAP_PATH=/data" \ + -v $VOL_BASE_DIR/pcu-tester:/data \ + -v $VOL_BASE_DIR/unix:/data/unix \ + --name ${BUILD_TAG}-ttcn3-pcu-test-sns \ + $DOCKER_ARGS \ + $REPO_USER/ttcn3-pcu-test diff --git a/ttcn3-ns-test/jenkins.sh b/ttcn3-ns-test/jenkins.sh new file mode 100755 index 0000000..aeb1ba9 --- /dev/null +++ b/ttcn3-ns-test/jenkins.sh @@ -0,0 +1,39 @@ +#!/bin/sh + +. ../jenkins-common.sh +IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" +docker_images_require \ + "osmo-ns-$IMAGE_SUFFIX" \ + "ttcn3-ns-test" + +set_clean_up_trap +set -e + +SUBNET=28 +network_create $SUBNET + +mkdir $VOL_BASE_DIR/ns-tester +cp NS_Tests.cfg $VOL_BASE_DIR/ns-tester/ + +mkdir $VOL_BASE_DIR/ns +cp osmo-ns-dummy.cfg $VOL_BASE_DIR/ns/ + +echo Starting container with osmo-ns-dummy +docker run --rm \ + $(docker_network_params $SUBNET 101) \ + --ulimit core=-1 \ + -v $VOL_BASE_DIR/ns:/data \ + --name ${BUILD_TAG}-ns -d \ + $DOCKER_ARGS \ + $REPO_USER/osmo-ns-$IMAGE_SUFFIX \ + /bin/sh -c "/usr/local/bin/osmo-ns-dummy -c /data/osmo-ns-dummy.cfg -p 4240 >>/data/osmo-ns-dummy.log 2>&1" + +echo Starting container with NS testsuite +docker run --rm \ + $(docker_network_params $SUBNET 10) \ + --ulimit core=-1 \ + -e "TTCN3_PCAP_PATH=/data" \ + -v $VOL_BASE_DIR/ns-tester:/data \ + --name ${BUILD_TAG}-ttcn3-ns-test \ + $DOCKER_ARGS \ + $REPO_USER/ttcn3-ns-test diff --git a/ttcn3-ns-test/osmo-ns-dummy.cfg b/ttcn3-ns-test/osmo-ns-dummy.cfg new file mode 100644 index 0000000..1da041d --- /dev/null +++ b/ttcn3-ns-test/osmo-ns-dummy.cfg @@ -0,0 +1,94 @@ +! +! OsmoNSdummy (1.4.0.326-f57c-dirty) configuration saved from vty +!! +! +log stderr + logging filter all 1 + logging color 0 + logging print category-hex 0 + logging print category 1 + logging print extended-timestamp 1 + logging print level 1 + logging print file basename + logging level force-all info + logging level lglobal debug + logging level llapd debug + logging level linp debug + logging level lmux debug + logging level lmi debug + logging level lmib debug + logging level lsms debug + logging level lctrl debug + logging level lgtp debug + logging level lstats debug + logging level lgsup debug + logging level loap debug + logging level lss7 debug + logging level lsccp debug + logging level lsua debug + logging level lm3ua debug + logging level lmgcp debug + logging level ljibuf debug + logging level lrspro debug + logging level lns debug + logging level lbssgp debug +log gsmtap 172.18.28.10 + logging filter all 0 + logging color 1 + logging print category-hex 1 + logging print category 0 + logging timestamp 0 + logging print file 1 + logging level lglobal debug + logging level llapd debug + logging level linp debug + logging level lmux debug + logging level lmi debug + logging level lmib debug + logging level lsms debug + logging level lctrl debug + logging level lgtp debug + logging level lstats debug + logging level lgsup debug + logging level loap debug + logging level lss7 debug + logging level lsccp debug + logging level lsua debug + logging level lm3ua debug + logging level lmgcp debug + logging level ljibuf debug + logging level lrspro debug + logging level lns debug + logging level lbssgp debug +! +stats reporter statsd + disable + remote-ip 172.18.28.10 + remote-port 8125 + mtu 1024 + level subscriber + prefix TTCN3 + flush-period 1 + enable +stats interval 0 +! +line vty + no login + bind 172.18.28.101 +! +ns + timer tns-block 3 + timer tns-block-retries 3 + timer tns-reset 3 + timer tns-reset-retries 3 + timer tns-test 12 + timer tns-alive 3 + timer tns-alive-retries 3 + timer tsns-prov 3 + timer tsns-size-retries 3 + timer tsns-config-retries 3 + bind udp local + listen 172.18.28.101 23000 + accept-ipaccess + nse 1234 + nsvc ipa local 172.18.28.10 22000 nsvci 1234 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23557 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I45d211f4edd39e5be8f63185f1b7bd100fb2644b Gerrit-Change-Number: 23557 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 Mar 30 18:33:32 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 30 Mar 2021 18:33:32 +0000 Subject: Change in docker-playground[master]: Add ttcn3-ns-test container In-Reply-To: References: Message-ID: laforge has uploaded a new patch set (#2). ( https://gerrit.osmocom.org/c/docker-playground/+/23557 ) Change subject: Add ttcn3-ns-test container ...................................................................... Add ttcn3-ns-test container Change-Id: I45d211f4edd39e5be8f63185f1b7bd100fb2644b Related: OS#5396 --- A ttcn3-ns-test/Dockerfile A ttcn3-ns-test/Makefile A ttcn3-ns-test/NS_Tests.cfg A ttcn3-ns-test/jenkins.sh A ttcn3-ns-test/osmo-ns-dummy.cfg 5 files changed, 180 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/57/23557/2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23557 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I45d211f4edd39e5be8f63185f1b7bd100fb2644b Gerrit-Change-Number: 23557 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 Tue Mar 30 18:34:43 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 30 Mar 2021 18:34:43 +0000 Subject: Change in docker-playground[master]: add osmo-ns-master container with osmo-ns-dummy binary In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23556 ) Change subject: add osmo-ns-master container with osmo-ns-dummy binary ...................................................................... Patch Set 2: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23556 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I8372088722f5a487e0068418d543bd5cc707a5a1 Gerrit-Change-Number: 23556 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 30 Mar 2021 18:34: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 Mar 30 18:34:47 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 30 Mar 2021 18:34:47 +0000 Subject: Change in docker-playground[master]: Add ttcn3-ns-test container In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23557 ) Change subject: Add ttcn3-ns-test container ...................................................................... Patch Set 2: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23557 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I45d211f4edd39e5be8f63185f1b7bd100fb2644b Gerrit-Change-Number: 23557 Gerrit-PatchSet: 2 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 30 Mar 2021 18:34: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 Mar 30 18:34:49 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 30 Mar 2021 18:34:49 +0000 Subject: Change in docker-playground[master]: add osmo-ns-master container with osmo-ns-dummy binary In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23556 ) Change subject: add osmo-ns-master container with osmo-ns-dummy binary ...................................................................... add osmo-ns-master container with osmo-ns-dummy binary Change-Id: I8372088722f5a487e0068418d543bd5cc707a5a1 Related: OS#5396 --- A osmo-ns-master/Dockerfile A osmo-ns-master/Makefile A osmo-ns-master/osmo-ns-dummy.cfg 3 files changed, 106 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/osmo-ns-master/Dockerfile b/osmo-ns-master/Dockerfile new file mode 100644 index 0000000..283c410 --- /dev/null +++ b/osmo-ns-master/Dockerfile @@ -0,0 +1,45 @@ +ARG USER +ARG DISTRO +FROM $USER/$DISTRO-build +# Arguments used after FROM must be specified again +ARG DISTRO + +RUN case "$DISTRO" in \ + debian*) \ + apt-get update && \ + apt-get install -y --no-install-recommends \ + python3-osmopy-utils \ + libmnl-dev && \ + apt-get clean \ + ;; \ + centos*) \ + dnf install -y \ + "pkgconfig(libmnl)" \ + ;; \ + esac + +WORKDIR /tmp + +ARG LIBOSMOCORE_BRANCH="master" + +RUN git clone git://git.osmocom.org/libosmocore.git +ADD http://git.osmocom.org/libosmocore/patch?h=$LIBOSMOCORE_BRANCH /tmp/commit-libosmocore + +RUN cd libosmocore && \ + git fetch && git checkout $LIBOSMOCORE_BRANCH && \ + (git symbolic-ref -q HEAD && git reset --hard origin/$LIBOSMOCORE_BRANCH || exit 1); \ + git rev-parse --abbrev-ref HEAD && git rev-parse HEAD && \ + autoreconf -fi && \ + ./configure --disable-doxygen --disable-pcsc --enable-external-tests && \ + make "-j$(nproc)" install && \ + install -m 0755 utils/.libs/osmo-ns-dummy /usr/local/bin/osmo-ns-dummy && \ + /sbin/ldconfig + +VOLUME /data + +COPY osmo-ns-dummy.cfg /data/osmo-ns-dummy.cfg + +WORKDIR /data +CMD ["/usr/local/bin/osmo-ns-dummy", "-p", "13245"] + +#EXPOSE diff --git a/osmo-ns-master/Makefile b/osmo-ns-master/Makefile new file mode 100644 index 0000000..8d0e10b --- /dev/null +++ b/osmo-ns-master/Makefile @@ -0,0 +1 @@ +include ../make/Makefile diff --git a/osmo-ns-master/osmo-ns-dummy.cfg b/osmo-ns-master/osmo-ns-dummy.cfg new file mode 100644 index 0000000..2a6a9ba --- /dev/null +++ b/osmo-ns-master/osmo-ns-dummy.cfg @@ -0,0 +1,60 @@ +! +! OsmoNSdummy (1.5.0.3-45cf) configuration saved from vty +!! +! +log stderr + logging filter all 1 + logging color 1 + logging print category-hex 0 + logging print category 1 + logging print thread-id 0 + logging timestamp 1 + logging print file 1 + logging level force-all info + logging level lglobal notice + logging level llapd notice + logging level linp notice + logging level lmux notice + logging level lmi notice + logging level lmib notice + logging level lsms notice + logging level lctrl notice + logging level lgtp notice + logging level lstats notice + logging level lgsup notice + logging level loap notice + logging level lss7 notice + logging level lsccp notice + logging level lsua notice + logging level lm3ua notice + logging level lmgcp notice + logging level ljibuf notice + logging level lrspro notice + logging level lns debug + logging level lbssgp notice +! +stats interval 5 +! +line vty + no login + bind 127.0.0.10 +! +ns + timer tns-block 3 + timer tns-block-retries 3 + timer tns-reset 3 + timer tns-reset-retries 3 + timer tns-test 30 + timer tns-alive 3 + timer tns-alive-retries 10 + timer tsns-prov 3 + timer tsns-size-retries 3 + timer tsns-config-retries 3 + bind udp pcu-side + listen 127.0.0.10 25000 + ip-sns signalling-weight 23 data-weight 42 + accept-dynamic-ip-sns + nse 1234 + ip-sns-bind pcu-side + ip-sns-remote 127.0.0.1 23000 +mirror-mode disable -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23556 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I8372088722f5a487e0068418d543bd5cc707a5a1 Gerrit-Change-Number: 23556 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 Mar 30 18:34:50 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 30 Mar 2021 18:34:50 +0000 Subject: Change in docker-playground[master]: Add ttcn3-ns-test container In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23557 ) Change subject: Add ttcn3-ns-test container ...................................................................... Add ttcn3-ns-test container Change-Id: I45d211f4edd39e5be8f63185f1b7bd100fb2644b Related: OS#5396 --- A ttcn3-ns-test/Dockerfile A ttcn3-ns-test/Makefile A ttcn3-ns-test/NS_Tests.cfg A ttcn3-ns-test/jenkins.sh A ttcn3-ns-test/osmo-ns-dummy.cfg 5 files changed, 180 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/ttcn3-ns-test/Dockerfile b/ttcn3-ns-test/Dockerfile new file mode 100644 index 0000000..850046d --- /dev/null +++ b/ttcn3-ns-test/Dockerfile @@ -0,0 +1,13 @@ +ARG REGISTRY +ARG USER +FROM $REGISTRY/$USER/debian-stretch-titan +ARG OSMO_TTCN3_BRANCH="master" + +ADD http://git.osmocom.org/osmo-ttcn3-hacks/patch?h=$OSMO_TTCN3_BRANCH /tmp/commit +RUN ttcn3-docker-prepare "$OSMO_TTCN3_BRANCH" ns + +VOLUME /data + +COPY NS_Tests.cfg /data/NS_Tests.cfg + +CMD ttcn3-docker-run ns NS_Tests diff --git a/ttcn3-ns-test/Makefile b/ttcn3-ns-test/Makefile new file mode 100644 index 0000000..8d0e10b --- /dev/null +++ b/ttcn3-ns-test/Makefile @@ -0,0 +1 @@ +include ../make/Makefile diff --git a/ttcn3-ns-test/NS_Tests.cfg b/ttcn3-ns-test/NS_Tests.cfg new file mode 100644 index 0000000..1bb202d --- /dev/null +++ b/ttcn3-ns-test/NS_Tests.cfg @@ -0,0 +1,33 @@ +[ORDERED_INCLUDE] +"/osmo-ttcn3-hacks/Common.cfg" +"/osmo-ttcn3-hacks/ns/NS_Tests.default" + +[LOGGING] + +[TESTPORT_PARAMETERS] +*.NSVTY.CTRL_HOSTNAME := "172.18.28.101" + +[MODULE_PARAMETERS] +NS_Tests.mp_nsconfig := { + nsei := 1234, + nsvc := { + { + provider := { + ip := { + address_family := AF_INET, + local_ip := "172.18.28.10", + local_udp_port := 22000, + remote_ip := "172.18.28.101", + remote_udp_port := 23000 + } + }, + nsvci := 1234 + } + } +} +NS_Tests.mp_dialect := NS2_DIALECT_STATIC_RESETBLOCK + +[MAIN_CONTROLLER] + +[EXECUTE] +NS_Tests.control diff --git a/ttcn3-ns-test/jenkins.sh b/ttcn3-ns-test/jenkins.sh new file mode 100755 index 0000000..aeb1ba9 --- /dev/null +++ b/ttcn3-ns-test/jenkins.sh @@ -0,0 +1,39 @@ +#!/bin/sh + +. ../jenkins-common.sh +IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" +docker_images_require \ + "osmo-ns-$IMAGE_SUFFIX" \ + "ttcn3-ns-test" + +set_clean_up_trap +set -e + +SUBNET=28 +network_create $SUBNET + +mkdir $VOL_BASE_DIR/ns-tester +cp NS_Tests.cfg $VOL_BASE_DIR/ns-tester/ + +mkdir $VOL_BASE_DIR/ns +cp osmo-ns-dummy.cfg $VOL_BASE_DIR/ns/ + +echo Starting container with osmo-ns-dummy +docker run --rm \ + $(docker_network_params $SUBNET 101) \ + --ulimit core=-1 \ + -v $VOL_BASE_DIR/ns:/data \ + --name ${BUILD_TAG}-ns -d \ + $DOCKER_ARGS \ + $REPO_USER/osmo-ns-$IMAGE_SUFFIX \ + /bin/sh -c "/usr/local/bin/osmo-ns-dummy -c /data/osmo-ns-dummy.cfg -p 4240 >>/data/osmo-ns-dummy.log 2>&1" + +echo Starting container with NS testsuite +docker run --rm \ + $(docker_network_params $SUBNET 10) \ + --ulimit core=-1 \ + -e "TTCN3_PCAP_PATH=/data" \ + -v $VOL_BASE_DIR/ns-tester:/data \ + --name ${BUILD_TAG}-ttcn3-ns-test \ + $DOCKER_ARGS \ + $REPO_USER/ttcn3-ns-test diff --git a/ttcn3-ns-test/osmo-ns-dummy.cfg b/ttcn3-ns-test/osmo-ns-dummy.cfg new file mode 100644 index 0000000..1da041d --- /dev/null +++ b/ttcn3-ns-test/osmo-ns-dummy.cfg @@ -0,0 +1,94 @@ +! +! OsmoNSdummy (1.4.0.326-f57c-dirty) configuration saved from vty +!! +! +log stderr + logging filter all 1 + logging color 0 + logging print category-hex 0 + logging print category 1 + logging print extended-timestamp 1 + logging print level 1 + logging print file basename + logging level force-all info + logging level lglobal debug + logging level llapd debug + logging level linp debug + logging level lmux debug + logging level lmi debug + logging level lmib debug + logging level lsms debug + logging level lctrl debug + logging level lgtp debug + logging level lstats debug + logging level lgsup debug + logging level loap debug + logging level lss7 debug + logging level lsccp debug + logging level lsua debug + logging level lm3ua debug + logging level lmgcp debug + logging level ljibuf debug + logging level lrspro debug + logging level lns debug + logging level lbssgp debug +log gsmtap 172.18.28.10 + logging filter all 0 + logging color 1 + logging print category-hex 1 + logging print category 0 + logging timestamp 0 + logging print file 1 + logging level lglobal debug + logging level llapd debug + logging level linp debug + logging level lmux debug + logging level lmi debug + logging level lmib debug + logging level lsms debug + logging level lctrl debug + logging level lgtp debug + logging level lstats debug + logging level lgsup debug + logging level loap debug + logging level lss7 debug + logging level lsccp debug + logging level lsua debug + logging level lm3ua debug + logging level lmgcp debug + logging level ljibuf debug + logging level lrspro debug + logging level lns debug + logging level lbssgp debug +! +stats reporter statsd + disable + remote-ip 172.18.28.10 + remote-port 8125 + mtu 1024 + level subscriber + prefix TTCN3 + flush-period 1 + enable +stats interval 0 +! +line vty + no login + bind 172.18.28.101 +! +ns + timer tns-block 3 + timer tns-block-retries 3 + timer tns-reset 3 + timer tns-reset-retries 3 + timer tns-test 12 + timer tns-alive 3 + timer tns-alive-retries 3 + timer tsns-prov 3 + timer tsns-size-retries 3 + timer tsns-config-retries 3 + bind udp local + listen 172.18.28.101 23000 + accept-ipaccess + nse 1234 + nsvc ipa local 172.18.28.10 22000 nsvci 1234 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23557 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I45d211f4edd39e5be8f63185f1b7bd100fb2644b Gerrit-Change-Number: 23557 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 Mar 30 18:37:36 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 30 Mar 2021 18:37:36 +0000 Subject: Change in osmo-ci[master]: Add TTCN3 test job for osmo-ns-dummy master References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/23558 ) Change subject: Add TTCN3 test job for osmo-ns-dummy master ...................................................................... Add TTCN3 test job for osmo-ns-dummy master Related: OS#5396 Change-Id: I3442c1fb826385a847f3965306bc48249474176a --- M jobs/ttcn3-testsuites.yml 1 file changed, 3 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/58/23558/1 diff --git a/jobs/ttcn3-testsuites.yml b/jobs/ttcn3-testsuites.yml index 888511d..5a23b14 100644 --- a/jobs/ttcn3-testsuites.yml +++ b/jobs/ttcn3-testsuites.yml @@ -116,6 +116,9 @@ - ttcn3-cbc-test: blocking: "^(ttcn3|TTCN3-.*)-cbc-test.*" timer: 40 10 * * * + - ttcn3-ns-test: + blocking: "^(ttcn3|TTCN3-.*)-ns-test.*" + timer: 00 11 * * * # debian-stretch latest stable - nplab-m3ua-test-latest: -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23558 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I3442c1fb826385a847f3965306bc48249474176a Gerrit-Change-Number: 23558 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 Mar 30 18:45:55 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 30 Mar 2021 18:45:55 +0000 Subject: Change in osmo-ci[master]: Add TTCN3 test job for osmo-ns-dummy master In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23558 ) Change subject: Add TTCN3 test job for osmo-ns-dummy master ...................................................................... Patch Set 1: Verified+1 Code-Review+2 already deployed, works. All tests pass! -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23558 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I3442c1fb826385a847f3965306bc48249474176a Gerrit-Change-Number: 23558 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-CC: daniel Gerrit-CC: lynxis lazus Gerrit-Comment-Date: Tue, 30 Mar 2021 18:45:55 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 30 18:45:57 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 30 Mar 2021 18:45:57 +0000 Subject: Change in osmo-ci[master]: Add TTCN3 test job for osmo-ns-dummy master In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23558 ) Change subject: Add TTCN3 test job for osmo-ns-dummy master ...................................................................... Add TTCN3 test job for osmo-ns-dummy master Related: OS#5396 Change-Id: I3442c1fb826385a847f3965306bc48249474176a --- M jobs/ttcn3-testsuites.yml 1 file changed, 3 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/jobs/ttcn3-testsuites.yml b/jobs/ttcn3-testsuites.yml index 888511d..5a23b14 100644 --- a/jobs/ttcn3-testsuites.yml +++ b/jobs/ttcn3-testsuites.yml @@ -116,6 +116,9 @@ - ttcn3-cbc-test: blocking: "^(ttcn3|TTCN3-.*)-cbc-test.*" timer: 40 10 * * * + - ttcn3-ns-test: + blocking: "^(ttcn3|TTCN3-.*)-ns-test.*" + timer: 00 11 * * * # debian-stretch latest stable - nplab-m3ua-test-latest: -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23558 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I3442c1fb826385a847f3965306bc48249474176a Gerrit-Change-Number: 23558 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-CC: daniel Gerrit-CC: lynxis lazus Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 30 20:37:59 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 30 Mar 2021 20:37:59 +0000 Subject: Change in libosmocore[master]: gprs_ns2_vty: print a response to vty `nsvc (block|unblock|re... In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23455 ) Change subject: gprs_ns2_vty: print a response to vty `nsvc (block|unblock|reset) ...................................................................... Patch Set 3: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23455 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Idbb83ea319bbdc94177febdd66e79c49fce7fdd2 Gerrit-Change-Number: 23455 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: pespin Gerrit-CC: laforge Gerrit-Comment-Date: Tue, 30 Mar 2021 20:37: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 Mar 30 20:38:53 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 30 Mar 2021 20:38:53 +0000 Subject: Change in docker-playground[master]: Add ttcn3-ns-test-sns container References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/23559 ) Change subject: Add ttcn3-ns-test-sns container ...................................................................... Add ttcn3-ns-test-sns container Change-Id: I8fc4f6453f04aa579762da9200900f25e78034c5 Related: OS#5396 --- A ttcn3-ns-test-sns/jenkins.sh A ttcn3-ns-test-sns/sns A ttcn3-ns-test/jenkins-sns.sh A ttcn3-ns-test/sns/NS_Tests.cfg A ttcn3-ns-test/sns/osmo-ns-dummy.cfg 5 files changed, 170 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/59/23559/1 diff --git a/ttcn3-ns-test-sns/jenkins.sh b/ttcn3-ns-test-sns/jenkins.sh new file mode 120000 index 0000000..eaf7ae2 --- /dev/null +++ b/ttcn3-ns-test-sns/jenkins.sh @@ -0,0 +1 @@ +../ttcn3-ns-test/jenkins-sns.sh \ No newline at end of file diff --git a/ttcn3-ns-test-sns/sns b/ttcn3-ns-test-sns/sns new file mode 120000 index 0000000..5660c48 --- /dev/null +++ b/ttcn3-ns-test-sns/sns @@ -0,0 +1 @@ +../ttcn3-ns-test/sns \ No newline at end of file diff --git a/ttcn3-ns-test/jenkins-sns.sh b/ttcn3-ns-test/jenkins-sns.sh new file mode 100755 index 0000000..7fb899e --- /dev/null +++ b/ttcn3-ns-test/jenkins-sns.sh @@ -0,0 +1,39 @@ +#!/bin/sh + +. ../jenkins-common.sh +IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" +docker_images_require \ + "osmo-ns-$IMAGE_SUFFIX" \ + "ttcn3-ns-test" + +set_clean_up_trap +set -e + +SUBNET=29 +network_create $SUBNET + +mkdir $VOL_BASE_DIR/ns-tester +cp sns/NS_Tests.cfg $VOL_BASE_DIR/ns-tester/ + +mkdir $VOL_BASE_DIR/ns +cp sns/osmo-ns-dummy.cfg $VOL_BASE_DIR/ns/ + +echo Starting container with osmo-ns-dummy +docker run --rm \ + $(docker_network_params $SUBNET 101) \ + --ulimit core=-1 \ + -v $VOL_BASE_DIR/ns:/data \ + --name ${BUILD_TAG}-ns-sns -d \ + $DOCKER_ARGS \ + $REPO_USER/osmo-ns-$IMAGE_SUFFIX \ + /bin/sh -c "/usr/local/bin/osmo-ns-dummy -c /data/osmo-ns-dummy.cfg -p 4240 >>/data/osmo-ns-dummy.log 2>&1" + +echo Starting container with NS testsuite +docker run --rm \ + $(docker_network_params $SUBNET 10) \ + --ulimit core=-1 \ + -e "TTCN3_PCAP_PATH=/data" \ + -v $VOL_BASE_DIR/ns-tester:/data \ + --name ${BUILD_TAG}-ttcn3-ns-test-sns \ + $DOCKER_ARGS \ + $REPO_USER/ttcn3-ns-test diff --git a/ttcn3-ns-test/sns/NS_Tests.cfg b/ttcn3-ns-test/sns/NS_Tests.cfg new file mode 100644 index 0000000..bc3c870 --- /dev/null +++ b/ttcn3-ns-test/sns/NS_Tests.cfg @@ -0,0 +1,33 @@ +[ORDERED_INCLUDE] +"/osmo-ttcn3-hacks/Common.cfg" +"/osmo-ttcn3-hacks/ns/NS_Tests.default" + +[LOGGING] + +[TESTPORT_PARAMETERS] +*.NSVTY.CTRL_HOSTNAME := "172.18.29.101" + +[MODULE_PARAMETERS] +NS_Tests.mp_nsconfig := { + nsei := 1234, + nsvc := { + { + provider := { + ip := { + address_family := AF_INET, + local_ip := "172.18.29.10", + local_udp_port := 22000, + remote_ip := "172.18.29.101", + remote_udp_port := 23000 + } + }, + nsvci := 1234 + } + } +} +NS_Tests.mp_dialect := NS2_DIALECT_SNS + +[MAIN_CONTROLLER] + +[EXECUTE] +NS_Tests.control diff --git a/ttcn3-ns-test/sns/osmo-ns-dummy.cfg b/ttcn3-ns-test/sns/osmo-ns-dummy.cfg new file mode 100644 index 0000000..985aff3 --- /dev/null +++ b/ttcn3-ns-test/sns/osmo-ns-dummy.cfg @@ -0,0 +1,96 @@ +! +! OsmoNSdummy (1.4.0.326-f57c-dirty) configuration saved from vty +!! +! +log stderr + logging filter all 1 + logging color 0 + logging print category-hex 0 + logging print category 1 + logging print extended-timestamp 1 + logging print level 1 + logging print file basename + logging level force-all info + logging level lglobal debug + logging level llapd debug + logging level linp debug + logging level lmux debug + logging level lmi debug + logging level lmib debug + logging level lsms debug + logging level lctrl debug + logging level lgtp debug + logging level lstats debug + logging level lgsup debug + logging level loap debug + logging level lss7 debug + logging level lsccp debug + logging level lsua debug + logging level lm3ua debug + logging level lmgcp debug + logging level ljibuf debug + logging level lrspro debug + logging level lns debug + logging level lbssgp debug +log gsmtap 172.18.29.10 + logging filter all 0 + logging color 1 + logging print category-hex 1 + logging print category 0 + logging timestamp 0 + logging print file 1 + logging level lglobal debug + logging level llapd debug + logging level linp debug + logging level lmux debug + logging level lmi debug + logging level lmib debug + logging level lsms debug + logging level lctrl debug + logging level lgtp debug + logging level lstats debug + logging level lgsup debug + logging level loap debug + logging level lss7 debug + logging level lsccp debug + logging level lsua debug + logging level lm3ua debug + logging level lmgcp debug + logging level ljibuf debug + logging level lrspro debug + logging level lns debug + logging level lbssgp debug +! +stats reporter statsd + disable + remote-ip 172.18.29.10 + remote-port 8125 + mtu 1024 + level subscriber + prefix TTCN3 + flush-period 1 + enable +stats interval 0 +! +line vty + no login + bind 172.18.29.101 +! +ns + timer tns-block 3 + timer tns-block-retries 3 + timer tns-reset 3 + timer tns-reset-retries 3 + timer tns-test 12 + timer tns-alive 3 + timer tns-alive-retries 3 + timer tsns-prov 3 + timer tsns-size-retries 3 + timer tsns-config-retries 3 + bind udp local + listen 172.18.29.101 23000 + accept-ipaccess + ip-sns signalling-weight 2 data-weight 2 + nse 1234 + ip-sns-remote 172.18.29.10 22000 + ip-sns-bind local -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23559 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I8fc4f6453f04aa579762da9200900f25e78034c5 Gerrit-Change-Number: 23559 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 Mar 30 20:40:32 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Tue, 30 Mar 2021 20:40:32 +0000 Subject: Change in docker-playground[master]: Add ttcn3-ns-test-sns container In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23559 ) Change subject: Add ttcn3-ns-test-sns container ...................................................................... Patch Set 1: I created this NS_Tests.cfg file as there was no SNS example in the repo. Currently, only TC_sns_config_success passes, while TC_sns_bss_change_weight and TC_sns_bss_change_weight_timeout both fail. -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23559 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I8fc4f6453f04aa579762da9200900f25e78034c5 Gerrit-Change-Number: 23559 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Tue, 30 Mar 2021 20:40:32 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 30 20:41:00 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 30 Mar 2021 20:41:00 +0000 Subject: Change in osmo-pcu[master]: Get rid of param 'poll' with constant value In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23530 ) Change subject: Get rid of param 'poll' with constant value ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23530 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ia48ce2a021865e76e813dedb22aca9c2522c5693 Gerrit-Change-Number: 23530 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 30 Mar 2021 20:41:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 30 20:41:58 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 30 Mar 2021 20:41:58 +0000 Subject: Change in osmo-pcu[master]: Remove unneeded poll_state check In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23528 ) Change subject: Remove unneeded poll_state check ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23528 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I5e12280a6835407fa452bd4d5df799d2672790ec Gerrit-Change-Number: 23528 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 30 Mar 2021 20:41: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 Mar 30 20:46:00 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 30 Mar 2021 20:46:00 +0000 Subject: Change in osmo-pcu[master]: pdch_ulc: Store TBF poll reason In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23525 ) Change subject: pdch_ulc: Store TBF poll reason ...................................................................... Patch Set 1: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23525 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie8fefd1f47ad674ce597a8065b15284088956bde Gerrit-Change-Number: 23525 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 30 Mar 2021 20:46:00 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 30 20:47:51 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 30 Mar 2021 20:47:51 +0000 Subject: Change in osmo-pcu[master]: Drop unused function tbf_check() In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23523 ) Change subject: Drop unused function tbf_check() ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23523 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I90d75a75ae5b528c6ca7b409e60bd158d6043b35 Gerrit-Change-Number: 23523 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Tue, 30 Mar 2021 20:47: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 Mar 30 20:52:58 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 30 Mar 2021 20:52:58 +0000 Subject: Change in osmo-bsc[master]: fixup for neighbor config for coverity In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/23524 ) Change subject: fixup for neighbor config for coverity ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/23524 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-bsc Gerrit-Branch: master Gerrit-Change-Id: I8c2046335ec6f8a5d6b757446c98d8e630ee015f Gerrit-Change-Number: 23524 Gerrit-PatchSet: 2 Gerrit-Owner: neels Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 30 Mar 2021 20:52:58 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 30 20:57:43 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 30 Mar 2021 20:57:43 +0000 Subject: Change in libosmocore[master]: ns2: Dump frame relay state to VTY during "show ns" In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23546 ) Change subject: ns2: Dump frame relay state to VTY during "show ns" ...................................................................... Patch Set 1: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/23546/1/src/gb/gprs_ns2_vty.c File src/gb/gprs_ns2_vty.c: https://gerrit.osmocom.org/c/libosmocore/+/23546/1/src/gb/gprs_ns2_vty.c at 2022 PS1, Line 2022: osmo_fr_network_dump_vty(vty, vty_fr_network); I wonder why this is only in show ns, which is deprecated/hidden? maybe this is still useful to have it in a non hidden vty function? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23546 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I798af3e97dc014b6e0fcde86560a1809852f7510 Gerrit-Change-Number: 23546 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 30 Mar 2021 20:57:43 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Tue Mar 30 21:00:42 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Tue, 30 Mar 2021 21:00:42 +0000 Subject: Change in libosmocore[master]: gprs_ns2: vty: remove a white space in `show binds` In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23456 ) Change subject: gprs_ns2: vty: remove a white space in `show binds` ...................................................................... Patch Set 3: Code-Review+1 (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/23456/3/src/gb/gprs_ns2_udp.c File src/gb/gprs_ns2_udp.c: https://gerrit.osmocom.org/c/libosmocore/+/23456/3/src/gb/gprs_ns2_udp.c at 109 PS3, Line 109: vty_out(vty, " %lu NS-VC:%s", nsvcs, VTY_NEWLINE); UDP bind: DSCP: IP-SNS: signalling weight:, they all still have a whitespace? -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23456 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia3579ec5599f5f5c58eebab03f1ed9e17f171177 Gerrit-Change-Number: 23456 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Tue, 30 Mar 2021 21:00:42 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From admin at opensuse.org Wed Mar 31 01:37:47 2021 From: admin at opensuse.org (OBS Notification) Date: Wed, 31 Mar 2021 01:37:47 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.04/x86_64 In-Reply-To: References: Message-ID: <6063d27fe5b49_64f2afa6f3cc5f0275a3@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_20.04/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_20.04/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 154s] [COMPILING apps/dfu/main.c] [ 154s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 154s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 154s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 154s] Memory region Used Size Region Size %age Used [ 154s] rom: 16600 B 16 KB 101.32% [ 154s] ram: 11688 B 48 KB 23.78/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 154s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 154s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 154s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 154s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 154s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: warning: changing start of section .stack by 4 bytes [ 154s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 216 bytes [ 154s] collect2: error: ld returned 1 exit status [ 154s] % [ 154s] make[2]: *** [Makefile:230: flash] Error 1 [ 154s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 154s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 154s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 154s] dh_auto_build: error: make -j1 returned exit code 2 [ 154s] make: *** [debian/rules:16: build] Error 25 [ 154s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 154s] ### VM INTERACTION START ### [ 158s] [ 145.075221] sysrq: Power Off [ 158s] [ 145.079354] reboot: Power down [ 158s] ### VM INTERACTION END ### [ 158s] [ 158s] cloud114 failed "build simtrace2_0.7.0.76.62ad.dsc" at Wed Mar 31 01:37:38 UTC 2021. [ 158s] -- Configure notifications at https://build.opensuse.org/my/subscriptions openSUSE Build Service (https://build.opensuse.org/) From admin at opensuse.org Wed Mar 31 01:38:21 2021 From: admin at opensuse.org (OBS Notification) Date: Wed, 31 Mar 2021 01:38:21 +0000 Subject: Build failure of network:osmocom:nightly/simtrace2 in xUbuntu_20.10/x86_64 In-Reply-To: References: Message-ID: <6063d29ecbebc_64f2afa6f3cc5f0277f1@build.opensuse.org> Visit https://build.opensuse.org/package/live_build_log/network:osmocom:nightly/simtrace2/xUbuntu_20.10/x86_64 Package network:osmocom:nightly/simtrace2 failed to build in xUbuntu_20.10/x86_64 Check out the package for editing: osc checkout network:osmocom:nightly simtrace2 Last lines of build log: [ 87s] [COMPILING libboard/qmod/source/board_qmod.c] [ 87s] [COMPILING libboard/qmod/source/card_pres.c] [ 87s] [COMPILING libboard/qmod/source/i2c.c] [ 87s] [COMPILING libboard/qmod/source/wwan_led.c] [ 87s] [COMPILING libboard/qmod/source/wwan_perst.c] [ 87s] [COMPILING apps/dfu/main.c] [ 87s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu.c] [ 87s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_desc.c] [ 87s] [COMPILING ./atmel_softpack_libraries/usb/device/dfu/dfu_driver.c] [ 87s] Memory region Used Size Region Size %age Used [ 87s] rom: 16592 B 16 KB 101.27% [ 87s] ram: 11680 B 48 KB 23.76/usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: bin/qmod-dfu-flash.elf section `.text' will not fit in region `rom' [ 87s] /usr/lib/gcc/arm-none-eabi/9.2.1/../../../arm-none-eabi/bin/ld: region `rom' overflowed by 208 bytes [ 87s] collect2: error: ld returned 1 exit status [ 87s] % [ 87s] make[2]: *** [Makefile:230: flash] Error 1 [ 87s] make[2]: Leaving directory '/usr/src/packages/BUILD/firmware' [ 87s] make[1]: *** [Makefile:13: fw-qmod-dfu] Error 2 [ 87s] make[1]: Leaving directory '/usr/src/packages/BUILD' [ 87s] dh_auto_build: error: make -j1 returned exit code 2 [ 87s] make: *** [debian/rules:16: build] Error 25 [ 87s] dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2 [ 87s] ### VM INTERACTION START ### [ 90s] [ 82.989320] sysrq: Power Off [ 90s] [ 82.990604] reboot: Power down [ 91s] ### VM INTERACTION END ### [ 91s] [ 91s] build77 failed "build simtrace2_0.7.0.76.62ad.dsc" at Wed Mar 31 01:38:11 UTC 2021. [ 91s] -- 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 Mar 31 06:00:40 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 31 Mar 2021 06:00:40 +0000 Subject: Change in libosmocore[master]: gprs_ns2: vty: remove a white space in `show binds` In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23456 ) Change subject: gprs_ns2: vty: remove a white space in `show binds` ...................................................................... Patch Set 3: (1 comment) https://gerrit.osmocom.org/c/libosmocore/+/23456/3/src/gb/gprs_ns2_udp.c File src/gb/gprs_ns2_udp.c: https://gerrit.osmocom.org/c/libosmocore/+/23456/3/src/gb/gprs_ns2_udp.c at 109 PS3, Line 109: vty_out(vty, " %lu NS-VC:%s", nsvcs, VTY_NEWLINE); > UDP bind: DSCP: IP-SNS: signalling weight:, they all still have a whitespace? the point is that this line ends with a newline, so you get a whitespace before CR/LF. The others still print something after the white-space. -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23456 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia3579ec5599f5f5c58eebab03f1ed9e17f171177 Gerrit-Change-Number: 23456 Gerrit-PatchSet: 3 Gerrit-Owner: lynxis lazus Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 31 Mar 2021 06:00:40 +0000 Gerrit-HasComments: Yes Gerrit-Has-Labels: No Comment-In-Reply-To: dexter Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 31 08:19:01 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 31 Mar 2021 08:19:01 +0000 Subject: Change in docker-playground[master]: Add ttcn3-ns-test-fr container References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/23560 ) Change subject: Add ttcn3-ns-test-fr container ...................................................................... Add ttcn3-ns-test-fr container ... which requires some modifications to osmo-ns-master regarding pipework / docker-entrypoint.sh Change-Id: I418f81eb1fbb2b15335ef64a3aa04d1c98a452c9 Related: SYS#5396 --- M osmo-ns-master/Dockerfile A osmo-ns-master/docker-entrypoint.sh A osmo-ns-master/pipework A ttcn3-ns-test-fr/fr A ttcn3-ns-test-fr/jenkins.sh A ttcn3-ns-test-fr/netdev-to-docker.sh A ttcn3-ns-test/fr/NS_Tests.cfg A ttcn3-ns-test/fr/osmo-ns-dummy.cfg A ttcn3-ns-test/jenkins-fr.sh 9 files changed, 691 insertions(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/60/23560/1 diff --git a/osmo-ns-master/Dockerfile b/osmo-ns-master/Dockerfile index 283c410..1185253 100644 --- a/osmo-ns-master/Dockerfile +++ b/osmo-ns-master/Dockerfile @@ -39,7 +39,12 @@ COPY osmo-ns-dummy.cfg /data/osmo-ns-dummy.cfg +# work-around for stupid docker not being able to properly deal with host netdevices or start +# containers in pre-existing netns +COPY pipework /usr/bin/pipework +COPY docker-entrypoint.sh /docker-entrypoint.sh + WORKDIR /data -CMD ["/usr/local/bin/osmo-ns-dummy", "-p", "13245"] +CMD ["/docker-entrypoint.sh"] #EXPOSE diff --git a/osmo-ns-master/docker-entrypoint.sh b/osmo-ns-master/docker-entrypoint.sh new file mode 100755 index 0000000..7bb480d --- /dev/null +++ b/osmo-ns-master/docker-entrypoint.sh @@ -0,0 +1,9 @@ +#!/bin/bash +set -e +set -x + +if [[ -n ${WAIT_FOR_NETDEV:-} ]]; then + /usr/bin/pipework --wait -i ${WAIT_FOR_NETDEV} +fi + +/usr/local/bin/osmo-ns-dummy -c /data/osmo-ns-dummy.cfg -p 4240 >/data/osmo-ns-dummy.log 2>&1 diff --git a/osmo-ns-master/pipework b/osmo-ns-master/pipework new file mode 100755 index 0000000..97ce66b --- /dev/null +++ b/osmo-ns-master/pipework @@ -0,0 +1,489 @@ +#!/bin/sh +# This code should (try to) follow Google's Shell Style Guide +# (https://google.github.io/styleguide/shell.xml) +set -e + +case "$1" in + --wait) + WAIT=1 + ;; + --direct-phys) + DIRECT_PHYS=1 + shift + ;; +esac + +IFNAME=$1 + +# default value set further down if not set here +CONTAINER_IFNAME= +if [ "$2" = "-i" ]; then + CONTAINER_IFNAME=$3 + shift 2 +fi + +if [ "$2" = "-l" ]; then + LOCAL_IFNAME=$3 + shift 2 +fi + +#inet or inet6 +FAMILY_FLAG="-4" +if [ "$2" = "-a" ]; then + FAMILY_FLAG="-$3" + shift 2 +fi + +GUESTNAME=$2 +IPADDR=$3 +MACADDR=$4 + +case "$MACADDR" in + *@*) + VLAN="${MACADDR#*@}" + VLAN="${VLAN%%@*}" + MACADDR="${MACADDR%%@*}" + ;; + *) + VLAN= + ;; +esac + +# did they ask to generate a custom MACADDR? +# generate the unique string +case "$MACADDR" in + U:*) + macunique="${MACADDR#*:}" + # now generate a 48-bit hash string from $macunique + MACADDR=$(echo $macunique|md5sum|sed 's/^\(..\)\(..\)\(..\)\(..\)\(..\).*$/02:\1:\2:\3:\4:\5/') + ;; +esac + + +[ "$IPADDR" ] || [ "$WAIT" ] || { + echo "Syntax:" + echo "pipework [-i containerinterface] [-l localinterfacename] [-a addressfamily] /[@default_gateway] [macaddr][@vlan]" + echo "pipework [-i containerinterface] [-l localinterfacename] dhcp [macaddr][@vlan]" + echo "pipework mac: [-i containerinterface] [-l localinterfacename] [-a addressfamily] /[@default_gateway] [macaddr][@vlan]" + echo "pipework mac: [-i containerinterface] [-l localinterfacename] dhcp [macaddr][@vlan]" + echo "pipework route " + echo "pipework rule " + echo "pipework tc " + echo "pipework --wait [-i containerinterface]" + exit 1 +} + +# Succeed if the given utility is installed. Fail otherwise. +# For explanations about `which` vs `type` vs `command`, see: +# http://stackoverflow.com/questions/592620/check-if-a-program-exists-from-a-bash-script/677212#677212 +# (Thanks to @chenhanxiao for pointing this out!) +installed () { + command -v "$1" >/dev/null 2>&1 +} + +# Google Styleguide says error messages should go to standard error. +warn () { + echo "$@" >&2 +} +die () { + status="$1" + shift + warn "$@" + exit "$status" +} + +if echo $IFNAME | grep -q '^mac:'; then + mac_address=$(echo $IFNAME | cut -c5-) + ifmatch= + for iftest in /sys/class/net/*; do + if [ -f $iftest/address ] && [ "$mac_address" = "$(cat $iftest/address)" ]; then + ifmatch="$(basename $iftest)" + break + fi + done + + if [ -z "$ifmatch" ]; then + die 1 "Mac address $mac_address specified for interface but no host interface matched." + else + IFNAME=$ifmatch + fi +fi + +# First step: determine type of first argument (bridge, physical interface...), +# Unless "--wait" is set (then skip the whole section) +if [ -z "$WAIT" ]; then + if [ -d "/sys/class/net/$IFNAME" ] + then + if [ -d "/sys/class/net/$IFNAME/bridge" ]; then + IFTYPE=bridge + BRTYPE=linux + elif installed ovs-vsctl && ovs-vsctl list-br|grep -q "^${IFNAME}$"; then + IFTYPE=bridge + BRTYPE=openvswitch + elif [ "$(cat "/sys/class/net/$IFNAME/type")" -eq 32 ]; then # InfiniBand IPoIB interface type 32 + IFTYPE=ipoib + # The IPoIB kernel module is fussy, set device name to ib0 if not overridden + CONTAINER_IFNAME=${CONTAINER_IFNAME:-ib0} + PKEY=$VLAN + else IFTYPE=phys + fi + else + case "$IFNAME" in + br*) + IFTYPE=bridge + BRTYPE=linux + ;; + ovs*) + if ! installed ovs-vsctl; then + die 1 "Need OVS installed on the system to create an ovs bridge" + fi + IFTYPE=bridge + BRTYPE=openvswitch + ;; + route*) + IFTYPE=route + ;; + rule*) + IFTYPE=rule + ;; + tc*) + IFTYPE=tc + ;; + dummy*) + IFTYPE=dummy + ;; + *) die 1 "I do not know how to setup interface $IFNAME." ;; + esac + fi +fi + +# Set the default container interface name to eth1 if not already set +CONTAINER_IFNAME=${CONTAINER_IFNAME:-eth1} + +[ "$WAIT" ] && { + while true; do + # This first method works even without `ip` or `ifconfig` installed, + # but doesn't work on older kernels (e.g. CentOS 6.X). See #128. + grep -q '^1$' "/sys/class/net/$CONTAINER_IFNAME/carrier" && break + # This method hopefully works on those older kernels. + ip link ls dev "$CONTAINER_IFNAME" && break + sleep 1 + done > /dev/null 2>&1 + exit 0 +} + +[ "$IFTYPE" = bridge ] && [ "$BRTYPE" = linux ] && [ "$VLAN" ] && { + die 1 "VLAN configuration currently unsupported for Linux bridge." +} + +[ "$IFTYPE" = ipoib ] && [ "$MACADDR" ] && { + die 1 "MACADDR configuration unsupported for IPoIB interfaces." +} + +# Second step: find the guest (for now, we only support LXC containers) +while read _ mnt fstype options _; do + [ "$fstype" != "cgroup" ] && continue + echo "$options" | grep -qw devices || continue + CGROUPMNT=$mnt +done < /proc/mounts + +[ "$CGROUPMNT" ] || { + die 1 "Could not locate cgroup mount point." +} + +# Try to find a cgroup matching exactly the provided name. +M=$(find "$CGROUPMNT" -name "$GUESTNAME") +N=$(echo "$M" | wc -l) +if [ -z "$M" ] ; then + N=0 +fi +case "$N" in + 0) + # If we didn't find anything, try to lookup the container with Docker. + if installed docker; then + RETRIES=3 + while [ "$RETRIES" -gt 0 ]; do + DOCKERPID=$(docker inspect --format='{{ .State.Pid }}' "$GUESTNAME") + DOCKERCID=$(docker inspect --format='{{ .ID }}' "$GUESTNAME") + DOCKERCNAME=$(docker inspect --format='{{ .Name }}' "$GUESTNAME") + + [ "$DOCKERPID" != 0 ] && break + sleep 1 + RETRIES=$((RETRIES - 1)) + done + + [ "$DOCKERPID" = 0 ] && { + die 1 "Docker inspect returned invalid PID 0" + } + + [ "$DOCKERPID" = "" ] && { + die 1 "Container $GUESTNAME not found, and unknown to Docker." + } + else + die 1 "Container $GUESTNAME not found, and Docker not installed." + fi + ;; + 1) true ;; + 2) # LXC >=3.1.0 returns two entries from the cgroups mount instead of one. + echo "$M" | grep -q "lxc\.monitor" || die 1 "Found more than one container matching $GUESTNAME." + ;; + *) die 1 "Found more than one container matching $GUESTNAME." ;; +esac + +# only check IPADDR if we are not in a route mode +[ "$IFTYPE" != route ] && [ "$IFTYPE" != rule ] && [ "$IFTYPE" != tc ] && { + case "$IPADDR" in + # Let's check first if the user asked for DHCP allocation. + dhcp|dhcp:*) + # Use Docker-specific strategy to run the DHCP client + # from the busybox image, in the network namespace of + # the container. + if ! [ "$DOCKERPID" ]; then + warn "You asked for a Docker-specific DHCP method." + warn "However, $GUESTNAME doesn't seem to be a Docker container." + warn "Try to replace 'dhcp' with another option?" + die 1 "Aborting." + fi + DHCP_CLIENT=${IPADDR%%:*} + ;; + udhcpc|udhcpc:*|udhcpc-f|udhcpc-f:*|dhcpcd|dhcpcd:*|dhclient|dhclient:*|dhclient-f|dhclient-f:*) + DHCP_CLIENT=${IPADDR%%:*} + # did they ask for the client to remain? + DHCP_FOREGROUND= + [ "${DHCP_CLIENT%-f}" != "${DHCP_CLIENT}" ] && { + DHCP_FOREGROUND=true + } + DHCP_CLIENT=${DHCP_CLIENT%-f} + if ! installed "$DHCP_CLIENT"; then + die 1 "You asked for DHCP client $DHCP_CLIENT, but I can't find it." + fi + ;; + # Alright, no DHCP? Then let's see if we have a subnet *and* gateway. + */*@*) + GATEWAY="${IPADDR#*@}" GATEWAY="${GATEWAY%%@*}" + IPADDR="${IPADDR%%@*}" + ;; + # No gateway? We need at least a subnet, anyway! + */*) : ;; + # ... No? Then stop right here. + *) + warn "The IP address should include a netmask." + die 1 "Maybe you meant $IPADDR/24 ?" + ;; + esac +} + +# If a DHCP method was specified, extract the DHCP options. +if [ "$DHCP_CLIENT" ]; then + case "$IPADDR" in + *:*) DHCP_OPTIONS="${IPADDR#*:}" ;; + esac +fi + +if [ "$DOCKERPID" ]; then + NSPID=$DOCKERPID +else + NSPID=$(head -n 1 "$(find "$CGROUPMNT" -name "$GUESTNAME" | head -n 1)/tasks") + [ "$NSPID" ] || { + # it is an alternative way to get the pid + NSPID=$(lxc-info -n "$GUESTNAME" | grep PID | grep -Eo '[0-9]+') + [ "$NSPID" ] || { + die 1 "Could not find a process inside container $GUESTNAME." + } + } +fi + +# Check if an incompatible VLAN device already exists +[ "$IFTYPE" = phys ] && [ "$VLAN" ] && [ -d "/sys/class/net/$IFNAME.VLAN" ] && { + ip -d link show "$IFNAME.$VLAN" | grep -q "vlan.*id $VLAN" || { + die 1 "$IFNAME.VLAN already exists but is not a VLAN device for tag $VLAN" + } +} + +[ ! -d /var/run/netns ] && mkdir -p /var/run/netns +rm -f "/var/run/netns/$NSPID" +ln -s "/proc/$NSPID/ns/net" "/var/run/netns/$NSPID" + +# Check if we need to create a bridge. +[ "$IFTYPE" = bridge ] && [ ! -d "/sys/class/net/$IFNAME" ] && { + [ "$BRTYPE" = linux ] && { + (ip link add dev "$IFNAME" type bridge > /dev/null 2>&1) || (brctl addbr "$IFNAME") + ip link set "$IFNAME" up + } + [ "$BRTYPE" = openvswitch ] && { + ovs-vsctl add-br "$IFNAME" + } +} + +[ "$IFTYPE" != "route" ] && [ "$IFTYPE" != "dummy" ] && [ "$IFTYPE" != "rule" ] && [ "$IFTYPE" != "tc" ] && MTU=$(ip link show "$IFNAME" | awk '{print $5}') + +# If it's a bridge, we need to create a veth pair +[ "$IFTYPE" = bridge ] && { + if [ -z "$LOCAL_IFNAME" ]; then + LOCAL_IFNAME="v${CONTAINER_IFNAME}pl${NSPID}" + fi + GUEST_IFNAME="v${CONTAINER_IFNAME}pg${NSPID}" + # Does the link already exist? + if ip link show "$LOCAL_IFNAME" >/dev/null 2>&1; then + # link exists, is it in use? + if ip link show "$LOCAL_IFNAME" up | grep -q "UP"; then + echo "Link $LOCAL_IFNAME exists and is up" + exit 1 + fi + # delete the link so we can re-add it afterwards + ip link del "$LOCAL_IFNAME" + fi + ip link add name "$LOCAL_IFNAME" mtu "$MTU" type veth peer name "$GUEST_IFNAME" mtu "$MTU" + case "$BRTYPE" in + linux) + (ip link set "$LOCAL_IFNAME" master "$IFNAME" > /dev/null 2>&1) || (brctl addif "$IFNAME" "$LOCAL_IFNAME") + ;; + openvswitch) + if ! ovs-vsctl list-ports "$IFNAME" | grep -q "^${LOCAL_IFNAME}$"; then + ovs-vsctl add-port "$IFNAME" "$LOCAL_IFNAME" ${VLAN:+tag="$VLAN"} \ + -- set Interface "$LOCAL_IFNAME" \ + external-ids:pipework.interface="$LOCAL_IFNAME" \ + external-ids:pipework.bridge="$IFNAME" \ + ${DOCKERCID:+external-ids:pipework.containerid="$DOCKERCID"} \ + ${DOCKERCNAME:+external-ids:pipework.containername="$DOCKERCNAME"} \ + ${NSPID:+external-ids:pipework.nspid="$NSPID"} \ + ${VLAN:+external-ids:pipework.vlan="$VLAN"} + fi + ;; + esac + ip link set "$LOCAL_IFNAME" up +} + +# If it's a physical interface, create a macvlan subinterface +[ "$IFTYPE" = phys ] && { + [ "$VLAN" ] && { + [ ! -d "/sys/class/net/${IFNAME}.${VLAN}" ] && { + ip link add link "$IFNAME" name "$IFNAME.$VLAN" mtu "$MTU" type vlan id "$VLAN" + } + ip link set "$IFNAME" up + IFNAME=$IFNAME.$VLAN + } + + if [ ! -z "$DIRECT_PHYS" ]; then + GUEST_IFNAME=$IFNAME + else + GUEST_IFNAME=ph$NSPID$CONTAINER_IFNAME + ip link add link "$IFNAME" dev "$GUEST_IFNAME" mtu "$MTU" type macvlan mode bridge + fi + + ip link set "$IFNAME" up +} + +# If it's an IPoIB interface, create a virtual IPoIB interface (the IPoIB +# equivalent of a macvlan device) +# +# Note: no macvlan subinterface nor Ethernet bridge can be created on top of an +# IPoIB interface. InfiniBand is not Ethernet. IPoIB is an IP layer on top of +# InfiniBand, without an intermediate Ethernet layer. +[ "$IFTYPE" = ipoib ] && { + GUEST_IFNAME="${IFNAME}.${NSPID}" + + # If a partition key is provided, use it + [ "$PKEY" ] && { + GUEST_IFNAME="${IFNAME}.${PKEY}.${NSPID}" + PKEY="pkey 0x$PKEY" + } + + ip link add link "$IFNAME" name "$GUEST_IFNAME" type ipoib $PKEY + ip link set "$IFNAME" up +} + +# If its a dummy interface, create a dummy interface. +[ "$IFTYPE" = dummy ] && { + GUEST_IFNAME=du$NSPID$CONTAINER_IFNAME + ip link add dev "$GUEST_IFNAME" type dummy +} + +# If the `route` command was specified ... +if [ "$IFTYPE" = route ]; then + # ... discard the first two arguments and pass the rest to the route command. + shift 2 + ip netns exec "$NSPID" ip route "$@" +elif [ "$IFTYPE" = rule ] ; then + shift 2 + ip netns exec "$NSPID" ip rule "$@" +elif [ "$IFTYPE" = tc ] ; then + shift 2 + ip netns exec "$NSPID" tc "$@" +else + # Otherwise, run normally. + ip link set "$GUEST_IFNAME" netns "$NSPID" + ip netns exec "$NSPID" ip link set "$GUEST_IFNAME" name "$CONTAINER_IFNAME" + [ "$MACADDR" ] && ip netns exec "$NSPID" ip link set dev "$CONTAINER_IFNAME" address "$MACADDR" + + # When using any of the DHCP methods, we start a DHCP client in the + # network namespace of the container. With the 'dhcp' method, the + # client used is taken from the Docker busybox image (therefore + # requiring no specific client installed on the host). Other methods + # use a locally installed client. + case "$DHCP_CLIENT" in + dhcp) + docker run -d --net container:$GUESTNAME --cap-add NET_ADMIN \ + busybox udhcpc -i "$CONTAINER_IFNAME" -x "hostname:$GUESTNAME" \ + $DHCP_OPTIONS \ + >/dev/null + ;; + udhcpc) + DHCP_Q="-q" + [ "$DHCP_FOREGROUND" ] && { + DHCP_OPTIONS="$DHCP_OPTIONS -f" + } + ip netns exec "$NSPID" "$DHCP_CLIENT" -qi "$CONTAINER_IFNAME" \ + -x "hostname:$GUESTNAME" \ + -p "/var/run/udhcpc.$GUESTNAME.pid" \ + $DHCP_OPTIONS + [ ! "$DHCP_FOREGROUND" ] && { + rm "/var/run/udhcpc.$GUESTNAME.pid" + } + ;; + dhclient) + ip netns exec "$NSPID" "$DHCP_CLIENT" "$CONTAINER_IFNAME" \ + -pf "/var/run/dhclient.$GUESTNAME.pid" \ + -lf "/etc/dhclient/dhclient.$GUESTNAME.leases" \ + $DHCP_OPTIONS + # kill dhclient after get ip address to prevent device be used after container close + [ ! "$DHCP_FOREGROUND" ] && { + kill "$(cat "/var/run/dhclient.$GUESTNAME.pid")" + rm "/var/run/dhclient.$GUESTNAME.pid" + } + ;; + dhcpcd) + ip netns exec "$NSPID" "$DHCP_CLIENT" -q "$CONTAINER_IFNAME" -h "$GUESTNAME" + ;; + "") + if installed ipcalc; then + eval $(ipcalc -b $IPADDR) + ip netns exec "$NSPID" ip "$FAMILY_FLAG" addr add "$IPADDR" brd "$BROADCAST" dev "$CONTAINER_IFNAME" + else + ip netns exec "$NSPID" ip "$FAMILY_FLAG" addr add "$IPADDR" dev "$CONTAINER_IFNAME" + fi + + [ "$GATEWAY" ] && { + ip netns exec "$NSPID" ip "$FAMILY_FLAG" route delete default >/dev/null 2>&1 && true + } + ip netns exec "$NSPID" ip "$FAMILY_FLAG" link set "$CONTAINER_IFNAME" up + [ "$GATEWAY" ] && { + ip netns exec "$NSPID" ip "$FAMILY_FLAG" route get "$GATEWAY" >/dev/null 2>&1 || \ + ip netns exec "$NSPID" ip "$FAMILY_FLAG" route add "$GATEWAY/32" dev "$CONTAINER_IFNAME" + ip netns exec "$NSPID" ip "$FAMILY_FLAG" route replace default via "$GATEWAY" dev "$CONTAINER_IFNAME" + } + ;; + esac + + # Give our ARP neighbors a nudge about the new interface + if installed arping; then + IPADDR=$(echo "$IPADDR" | cut -d/ -f1) + ip netns exec "$NSPID" arping -c 1 -A -I "$CONTAINER_IFNAME" "$IPADDR" > /dev/null 2>&1 || true + else + echo "Warning: arping not found; interface may not be immediately reachable" + fi +fi +# Remove NSPID to avoid `ip netns` catch it. +rm -f "/var/run/netns/$NSPID" + +# vim: set tabstop=2 shiftwidth=2 softtabstop=2 expandtab : diff --git a/ttcn3-ns-test-fr/fr b/ttcn3-ns-test-fr/fr new file mode 120000 index 0000000..ce2797b --- /dev/null +++ b/ttcn3-ns-test-fr/fr @@ -0,0 +1 @@ +../ttcn3-ns-test/fr \ No newline at end of file diff --git a/ttcn3-ns-test-fr/jenkins.sh b/ttcn3-ns-test-fr/jenkins.sh new file mode 120000 index 0000000..19f578b --- /dev/null +++ b/ttcn3-ns-test-fr/jenkins.sh @@ -0,0 +1 @@ +../ttcn3-ns-test/jenkins-fr.sh \ No newline at end of file diff --git a/ttcn3-ns-test-fr/netdev-to-docker.sh b/ttcn3-ns-test-fr/netdev-to-docker.sh new file mode 120000 index 0000000..3ae2cf8 --- /dev/null +++ b/ttcn3-ns-test-fr/netdev-to-docker.sh @@ -0,0 +1 @@ +../ttcn3-gbproxy-test-fr/netdev-to-docker.sh \ No newline at end of file diff --git a/ttcn3-ns-test/fr/NS_Tests.cfg b/ttcn3-ns-test/fr/NS_Tests.cfg new file mode 100644 index 0000000..5ece397 --- /dev/null +++ b/ttcn3-ns-test/fr/NS_Tests.cfg @@ -0,0 +1,56 @@ +[ORDERED_INCLUDE] +"/osmo-ttcn3-hacks/Common.cfg" +"/osmo-ttcn3-hacks/ns/NS_Tests.default" + +[LOGGING] + +[TESTPORT_PARAMETERS] +*.NSVTY.CTRL_HOSTNAME := "172.18.30.101" + +[MODULE_PARAMETERS] +NS_Tests.mp_dialect := NS2_DIALECT_IPACCESS +NS_Tests.mp_nsconfig := { + nsei := 2001, + role_sgsn := false, + handle_sns := false, + nsvc := { + { + provider := { + fr := { + netdev := "hdlc1", + dlci := 16 + } + }, + nsvci := 1 + }, { + provider := { + fr := { + netdev := "hdlc2", + dlci := 17 + } + }, + nsvci := 2 + }, { + provider := { + fr := { + netdev := "hdlc3", + dlci := 18 + } + }, + nsvci := 3 + }, { + provider := { + fr := { + netdev := "hdlc4", + dlci := 19 + } + }, + nsvci := 4 + } + } +} + +[MAIN_CONTROLLER] + +[EXECUTE] +NS_Tests.control diff --git a/ttcn3-ns-test/fr/osmo-ns-dummy.cfg b/ttcn3-ns-test/fr/osmo-ns-dummy.cfg new file mode 100644 index 0000000..0a3515d --- /dev/null +++ b/ttcn3-ns-test/fr/osmo-ns-dummy.cfg @@ -0,0 +1,55 @@ +log gsmtap 172.18.30.10 + logging level set-all debug + +log stderr + 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 +! +stats interval 0 +stats reporter statsd + prefix TTCN3 + level subscriber + remote-ip 172.18.30.10 + remote-port 8125 + flush-period 1 + mtu 1024 + enable + +line vty + no login + bind 172.18.30.101 + +ns + bind fr hdlcnet1 + fr hdlcnet1 frnet + bind fr hdlcnet2 + fr hdlcnet2 frnet + bind fr hdlcnet3 + fr hdlcnet3 frnet + bind fr hdlcnet4 + fr hdlcnet4 frnet + bind fr hdlcnet5 + fr hdlcnet5 frnet + bind fr hdlcnet6 + fr hdlcnet6 frnet + bind fr hdlcnet7 + fr hdlcnet7 frnet + bind fr hdlcnet8 + fr hdlcnet8 frnet + nse 2001 + nsvc fr hdlcnet1 dlci 16 nsvci 1 + nsvc fr hdlcnet2 dlci 17 nsvci 2 + nsvc fr hdlcnet3 dlci 18 nsvci 3 + nsvc fr hdlcnet4 dlci 19 nsvci 4 + nse 2002 + nsvc fr hdlcnet5 dlci 20 nsvci 5 + nsvc fr hdlcnet6 dlci 21 nsvci 6 + nse 2003 + nsvc fr hdlcnet7 dlci 22 nsvci 7 + nsvc fr hdlcnet8 dlci 23 nsvci 8 + diff --git a/ttcn3-ns-test/jenkins-fr.sh b/ttcn3-ns-test/jenkins-fr.sh new file mode 100755 index 0000000..df23a35 --- /dev/null +++ b/ttcn3-ns-test/jenkins-fr.sh @@ -0,0 +1,73 @@ +#!/bin/sh + +# WARNING: This cannot be executed on any random Linux machine or jenkins slave node! +# +# We require a kernel with HLDC net-devices, specifically eight pairs of devices named +# hdlc1 + hdlcnet1 ... hdlc8 + hdclnet8. +# +# Those pairs of netdevices can e.g. be implemented by actually physically looping back +# the related E1 interfaces, or e.g.by using DAHDI_NET + dahdi_dynamic_loc to create +# pairs of virtual E1 spans. +# +# In addition, we need to use 'sudo' permissions in order to move the hdlc +# net-devices into the docker containers. So in automatic test execution this means +# that the user will need sudo privileges without entering a password (NOPASS) + +. ../jenkins-common.sh +IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" +docker_images_require \ + "osmo-ns-$IMAGE_SUFFIX" \ + "ttcn3-ns-test" + +set_clean_up_trap +set -e + +SUBNET=30 +network_create $SUBNET + +mkdir $VOL_BASE_DIR/ns-tester +cp fr/NS_Tests.cfg $VOL_BASE_DIR/ns-tester/ + +mkdir $VOL_BASE_DIR/ns +cp fr/osmo-ns-dummy.cfg $VOL_BASE_DIR/ns/ + +echo Starting container with osmo-ns-dummy +docker run --rm \ + --cap-add=NET_RAW --cap-add=SYS_RAWIO \ + $(docker_network_params $SUBNET 101) \ + --ulimit core=-1 \ + -e "WAIT_FOR_NETDEV=hdlcnet8" \ + -v $VOL_BASE_DIR/ns:/data \ + --name ${BUILD_TAG}-ns -d \ + $DOCKER_ARGS \ + $REPO_USER/osmo-ns-$IMAGE_SUFFIX + +# move all hdlcX net-devices into container +for i in `seq 1 8`; do + DEV="hdlcnet$i" + #sudo sethdlc ${DEV} fr lmi none + sudo ./netdev-to-docker.sh ${DEV} ${BUILD_TAG}-ns +done + +echo Starting container with NS testsuite +docker run --rm \ + --cap-add=NET_RAW --cap-add=SYS_RAWIO \ + $(docker_network_params $SUBNET 10) \ + --ulimit core=-1 \ + -e "TTCN3_PCAP_PATH=/data" \ + -e "WAIT_FOR_NETDEV=hdlc8" \ + -v $VOL_BASE_DIR/ns-tester:/data \ + --name ${BUILD_TAG}-ttcn3-ns-test -d \ + $DOCKER_ARGS \ + $REPO_USER/ttcn3-ns-test + +# move all hdlcnetX net-devices into container +for i in `seq 1 8`; do + DEV="hdlc$i" + #sudo sethdlc ${DEV} fr lmi none + sudo ./netdev-to-docker.sh ${DEV} ${BUILD_TAG}-ttcn3-ns-test +done + +# emulate running container in foreground, which is no longer possible as we +# must shift the net-devices into the container _after_ it is started +docker logs -f ${BUILD_TAG}-ttcn3-ns-test -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23560 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I418f81eb1fbb2b15335ef64a3aa04d1c98a452c9 Gerrit-Change-Number: 23560 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 Mar 31 08:19:16 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 31 Mar 2021 08:19:16 +0000 Subject: Change in docker-playground[master]: Add ttcn3-ns-test-fr container In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23560 ) Change subject: Add ttcn3-ns-test-fr container ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23560 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I418f81eb1fbb2b15335ef64a3aa04d1c98a452c9 Gerrit-Change-Number: 23560 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 31 Mar 2021 08:19: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 Mar 31 08:19:51 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 31 Mar 2021 08:19:51 +0000 Subject: Change in docker-playground[master]: Add ttcn3-ns-test-sns container In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23559 ) Change subject: Add ttcn3-ns-test-sns container ...................................................................... Patch Set 1: Verified+1 Code-Review+2 merging this now as running the tests is more important than whether or not the config is 100% correct. We can always modify the config later. -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23559 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I8fc4f6453f04aa579762da9200900f25e78034c5 Gerrit-Change-Number: 23559 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Comment-Date: Wed, 31 Mar 2021 08:19: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 Mar 31 08:19:55 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 31 Mar 2021 08:19:55 +0000 Subject: Change in docker-playground[master]: Add ttcn3-ns-test-sns container In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23559 ) Change subject: Add ttcn3-ns-test-sns container ...................................................................... Add ttcn3-ns-test-sns container Change-Id: I8fc4f6453f04aa579762da9200900f25e78034c5 Related: OS#5396 --- A ttcn3-ns-test-sns/jenkins.sh A ttcn3-ns-test-sns/sns A ttcn3-ns-test/jenkins-sns.sh A ttcn3-ns-test/sns/NS_Tests.cfg A ttcn3-ns-test/sns/osmo-ns-dummy.cfg 5 files changed, 170 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/ttcn3-ns-test-sns/jenkins.sh b/ttcn3-ns-test-sns/jenkins.sh new file mode 120000 index 0000000..eaf7ae2 --- /dev/null +++ b/ttcn3-ns-test-sns/jenkins.sh @@ -0,0 +1 @@ +../ttcn3-ns-test/jenkins-sns.sh \ No newline at end of file diff --git a/ttcn3-ns-test-sns/sns b/ttcn3-ns-test-sns/sns new file mode 120000 index 0000000..5660c48 --- /dev/null +++ b/ttcn3-ns-test-sns/sns @@ -0,0 +1 @@ +../ttcn3-ns-test/sns \ No newline at end of file diff --git a/ttcn3-ns-test/jenkins-sns.sh b/ttcn3-ns-test/jenkins-sns.sh new file mode 100755 index 0000000..7fb899e --- /dev/null +++ b/ttcn3-ns-test/jenkins-sns.sh @@ -0,0 +1,39 @@ +#!/bin/sh + +. ../jenkins-common.sh +IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" +docker_images_require \ + "osmo-ns-$IMAGE_SUFFIX" \ + "ttcn3-ns-test" + +set_clean_up_trap +set -e + +SUBNET=29 +network_create $SUBNET + +mkdir $VOL_BASE_DIR/ns-tester +cp sns/NS_Tests.cfg $VOL_BASE_DIR/ns-tester/ + +mkdir $VOL_BASE_DIR/ns +cp sns/osmo-ns-dummy.cfg $VOL_BASE_DIR/ns/ + +echo Starting container with osmo-ns-dummy +docker run --rm \ + $(docker_network_params $SUBNET 101) \ + --ulimit core=-1 \ + -v $VOL_BASE_DIR/ns:/data \ + --name ${BUILD_TAG}-ns-sns -d \ + $DOCKER_ARGS \ + $REPO_USER/osmo-ns-$IMAGE_SUFFIX \ + /bin/sh -c "/usr/local/bin/osmo-ns-dummy -c /data/osmo-ns-dummy.cfg -p 4240 >>/data/osmo-ns-dummy.log 2>&1" + +echo Starting container with NS testsuite +docker run --rm \ + $(docker_network_params $SUBNET 10) \ + --ulimit core=-1 \ + -e "TTCN3_PCAP_PATH=/data" \ + -v $VOL_BASE_DIR/ns-tester:/data \ + --name ${BUILD_TAG}-ttcn3-ns-test-sns \ + $DOCKER_ARGS \ + $REPO_USER/ttcn3-ns-test diff --git a/ttcn3-ns-test/sns/NS_Tests.cfg b/ttcn3-ns-test/sns/NS_Tests.cfg new file mode 100644 index 0000000..bc3c870 --- /dev/null +++ b/ttcn3-ns-test/sns/NS_Tests.cfg @@ -0,0 +1,33 @@ +[ORDERED_INCLUDE] +"/osmo-ttcn3-hacks/Common.cfg" +"/osmo-ttcn3-hacks/ns/NS_Tests.default" + +[LOGGING] + +[TESTPORT_PARAMETERS] +*.NSVTY.CTRL_HOSTNAME := "172.18.29.101" + +[MODULE_PARAMETERS] +NS_Tests.mp_nsconfig := { + nsei := 1234, + nsvc := { + { + provider := { + ip := { + address_family := AF_INET, + local_ip := "172.18.29.10", + local_udp_port := 22000, + remote_ip := "172.18.29.101", + remote_udp_port := 23000 + } + }, + nsvci := 1234 + } + } +} +NS_Tests.mp_dialect := NS2_DIALECT_SNS + +[MAIN_CONTROLLER] + +[EXECUTE] +NS_Tests.control diff --git a/ttcn3-ns-test/sns/osmo-ns-dummy.cfg b/ttcn3-ns-test/sns/osmo-ns-dummy.cfg new file mode 100644 index 0000000..985aff3 --- /dev/null +++ b/ttcn3-ns-test/sns/osmo-ns-dummy.cfg @@ -0,0 +1,96 @@ +! +! OsmoNSdummy (1.4.0.326-f57c-dirty) configuration saved from vty +!! +! +log stderr + logging filter all 1 + logging color 0 + logging print category-hex 0 + logging print category 1 + logging print extended-timestamp 1 + logging print level 1 + logging print file basename + logging level force-all info + logging level lglobal debug + logging level llapd debug + logging level linp debug + logging level lmux debug + logging level lmi debug + logging level lmib debug + logging level lsms debug + logging level lctrl debug + logging level lgtp debug + logging level lstats debug + logging level lgsup debug + logging level loap debug + logging level lss7 debug + logging level lsccp debug + logging level lsua debug + logging level lm3ua debug + logging level lmgcp debug + logging level ljibuf debug + logging level lrspro debug + logging level lns debug + logging level lbssgp debug +log gsmtap 172.18.29.10 + logging filter all 0 + logging color 1 + logging print category-hex 1 + logging print category 0 + logging timestamp 0 + logging print file 1 + logging level lglobal debug + logging level llapd debug + logging level linp debug + logging level lmux debug + logging level lmi debug + logging level lmib debug + logging level lsms debug + logging level lctrl debug + logging level lgtp debug + logging level lstats debug + logging level lgsup debug + logging level loap debug + logging level lss7 debug + logging level lsccp debug + logging level lsua debug + logging level lm3ua debug + logging level lmgcp debug + logging level ljibuf debug + logging level lrspro debug + logging level lns debug + logging level lbssgp debug +! +stats reporter statsd + disable + remote-ip 172.18.29.10 + remote-port 8125 + mtu 1024 + level subscriber + prefix TTCN3 + flush-period 1 + enable +stats interval 0 +! +line vty + no login + bind 172.18.29.101 +! +ns + timer tns-block 3 + timer tns-block-retries 3 + timer tns-reset 3 + timer tns-reset-retries 3 + timer tns-test 12 + timer tns-alive 3 + timer tns-alive-retries 3 + timer tsns-prov 3 + timer tsns-size-retries 3 + timer tsns-config-retries 3 + bind udp local + listen 172.18.29.101 23000 + accept-ipaccess + ip-sns signalling-weight 2 data-weight 2 + nse 1234 + ip-sns-remote 172.18.29.10 22000 + ip-sns-bind local -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23559 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I8fc4f6453f04aa579762da9200900f25e78034c5 Gerrit-Change-Number: 23559 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 31 08:19:55 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 31 Mar 2021 08:19:55 +0000 Subject: Change in docker-playground[master]: Add ttcn3-ns-test-fr container In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23560 ) Change subject: Add ttcn3-ns-test-fr container ...................................................................... Add ttcn3-ns-test-fr container ... which requires some modifications to osmo-ns-master regarding pipework / docker-entrypoint.sh Change-Id: I418f81eb1fbb2b15335ef64a3aa04d1c98a452c9 Related: SYS#5396 --- M osmo-ns-master/Dockerfile A osmo-ns-master/docker-entrypoint.sh A osmo-ns-master/pipework A ttcn3-ns-test-fr/fr A ttcn3-ns-test-fr/jenkins.sh A ttcn3-ns-test-fr/netdev-to-docker.sh A ttcn3-ns-test/fr/NS_Tests.cfg A ttcn3-ns-test/fr/osmo-ns-dummy.cfg A ttcn3-ns-test/jenkins-fr.sh 9 files changed, 691 insertions(+), 1 deletion(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/osmo-ns-master/Dockerfile b/osmo-ns-master/Dockerfile index 283c410..1185253 100644 --- a/osmo-ns-master/Dockerfile +++ b/osmo-ns-master/Dockerfile @@ -39,7 +39,12 @@ COPY osmo-ns-dummy.cfg /data/osmo-ns-dummy.cfg +# work-around for stupid docker not being able to properly deal with host netdevices or start +# containers in pre-existing netns +COPY pipework /usr/bin/pipework +COPY docker-entrypoint.sh /docker-entrypoint.sh + WORKDIR /data -CMD ["/usr/local/bin/osmo-ns-dummy", "-p", "13245"] +CMD ["/docker-entrypoint.sh"] #EXPOSE diff --git a/osmo-ns-master/docker-entrypoint.sh b/osmo-ns-master/docker-entrypoint.sh new file mode 100755 index 0000000..7bb480d --- /dev/null +++ b/osmo-ns-master/docker-entrypoint.sh @@ -0,0 +1,9 @@ +#!/bin/bash +set -e +set -x + +if [[ -n ${WAIT_FOR_NETDEV:-} ]]; then + /usr/bin/pipework --wait -i ${WAIT_FOR_NETDEV} +fi + +/usr/local/bin/osmo-ns-dummy -c /data/osmo-ns-dummy.cfg -p 4240 >/data/osmo-ns-dummy.log 2>&1 diff --git a/osmo-ns-master/pipework b/osmo-ns-master/pipework new file mode 100755 index 0000000..97ce66b --- /dev/null +++ b/osmo-ns-master/pipework @@ -0,0 +1,489 @@ +#!/bin/sh +# This code should (try to) follow Google's Shell Style Guide +# (https://google.github.io/styleguide/shell.xml) +set -e + +case "$1" in + --wait) + WAIT=1 + ;; + --direct-phys) + DIRECT_PHYS=1 + shift + ;; +esac + +IFNAME=$1 + +# default value set further down if not set here +CONTAINER_IFNAME= +if [ "$2" = "-i" ]; then + CONTAINER_IFNAME=$3 + shift 2 +fi + +if [ "$2" = "-l" ]; then + LOCAL_IFNAME=$3 + shift 2 +fi + +#inet or inet6 +FAMILY_FLAG="-4" +if [ "$2" = "-a" ]; then + FAMILY_FLAG="-$3" + shift 2 +fi + +GUESTNAME=$2 +IPADDR=$3 +MACADDR=$4 + +case "$MACADDR" in + *@*) + VLAN="${MACADDR#*@}" + VLAN="${VLAN%%@*}" + MACADDR="${MACADDR%%@*}" + ;; + *) + VLAN= + ;; +esac + +# did they ask to generate a custom MACADDR? +# generate the unique string +case "$MACADDR" in + U:*) + macunique="${MACADDR#*:}" + # now generate a 48-bit hash string from $macunique + MACADDR=$(echo $macunique|md5sum|sed 's/^\(..\)\(..\)\(..\)\(..\)\(..\).*$/02:\1:\2:\3:\4:\5/') + ;; +esac + + +[ "$IPADDR" ] || [ "$WAIT" ] || { + echo "Syntax:" + echo "pipework [-i containerinterface] [-l localinterfacename] [-a addressfamily] /[@default_gateway] [macaddr][@vlan]" + echo "pipework [-i containerinterface] [-l localinterfacename] dhcp [macaddr][@vlan]" + echo "pipework mac: [-i containerinterface] [-l localinterfacename] [-a addressfamily] /[@default_gateway] [macaddr][@vlan]" + echo "pipework mac: [-i containerinterface] [-l localinterfacename] dhcp [macaddr][@vlan]" + echo "pipework route " + echo "pipework rule " + echo "pipework tc " + echo "pipework --wait [-i containerinterface]" + exit 1 +} + +# Succeed if the given utility is installed. Fail otherwise. +# For explanations about `which` vs `type` vs `command`, see: +# http://stackoverflow.com/questions/592620/check-if-a-program-exists-from-a-bash-script/677212#677212 +# (Thanks to @chenhanxiao for pointing this out!) +installed () { + command -v "$1" >/dev/null 2>&1 +} + +# Google Styleguide says error messages should go to standard error. +warn () { + echo "$@" >&2 +} +die () { + status="$1" + shift + warn "$@" + exit "$status" +} + +if echo $IFNAME | grep -q '^mac:'; then + mac_address=$(echo $IFNAME | cut -c5-) + ifmatch= + for iftest in /sys/class/net/*; do + if [ -f $iftest/address ] && [ "$mac_address" = "$(cat $iftest/address)" ]; then + ifmatch="$(basename $iftest)" + break + fi + done + + if [ -z "$ifmatch" ]; then + die 1 "Mac address $mac_address specified for interface but no host interface matched." + else + IFNAME=$ifmatch + fi +fi + +# First step: determine type of first argument (bridge, physical interface...), +# Unless "--wait" is set (then skip the whole section) +if [ -z "$WAIT" ]; then + if [ -d "/sys/class/net/$IFNAME" ] + then + if [ -d "/sys/class/net/$IFNAME/bridge" ]; then + IFTYPE=bridge + BRTYPE=linux + elif installed ovs-vsctl && ovs-vsctl list-br|grep -q "^${IFNAME}$"; then + IFTYPE=bridge + BRTYPE=openvswitch + elif [ "$(cat "/sys/class/net/$IFNAME/type")" -eq 32 ]; then # InfiniBand IPoIB interface type 32 + IFTYPE=ipoib + # The IPoIB kernel module is fussy, set device name to ib0 if not overridden + CONTAINER_IFNAME=${CONTAINER_IFNAME:-ib0} + PKEY=$VLAN + else IFTYPE=phys + fi + else + case "$IFNAME" in + br*) + IFTYPE=bridge + BRTYPE=linux + ;; + ovs*) + if ! installed ovs-vsctl; then + die 1 "Need OVS installed on the system to create an ovs bridge" + fi + IFTYPE=bridge + BRTYPE=openvswitch + ;; + route*) + IFTYPE=route + ;; + rule*) + IFTYPE=rule + ;; + tc*) + IFTYPE=tc + ;; + dummy*) + IFTYPE=dummy + ;; + *) die 1 "I do not know how to setup interface $IFNAME." ;; + esac + fi +fi + +# Set the default container interface name to eth1 if not already set +CONTAINER_IFNAME=${CONTAINER_IFNAME:-eth1} + +[ "$WAIT" ] && { + while true; do + # This first method works even without `ip` or `ifconfig` installed, + # but doesn't work on older kernels (e.g. CentOS 6.X). See #128. + grep -q '^1$' "/sys/class/net/$CONTAINER_IFNAME/carrier" && break + # This method hopefully works on those older kernels. + ip link ls dev "$CONTAINER_IFNAME" && break + sleep 1 + done > /dev/null 2>&1 + exit 0 +} + +[ "$IFTYPE" = bridge ] && [ "$BRTYPE" = linux ] && [ "$VLAN" ] && { + die 1 "VLAN configuration currently unsupported for Linux bridge." +} + +[ "$IFTYPE" = ipoib ] && [ "$MACADDR" ] && { + die 1 "MACADDR configuration unsupported for IPoIB interfaces." +} + +# Second step: find the guest (for now, we only support LXC containers) +while read _ mnt fstype options _; do + [ "$fstype" != "cgroup" ] && continue + echo "$options" | grep -qw devices || continue + CGROUPMNT=$mnt +done < /proc/mounts + +[ "$CGROUPMNT" ] || { + die 1 "Could not locate cgroup mount point." +} + +# Try to find a cgroup matching exactly the provided name. +M=$(find "$CGROUPMNT" -name "$GUESTNAME") +N=$(echo "$M" | wc -l) +if [ -z "$M" ] ; then + N=0 +fi +case "$N" in + 0) + # If we didn't find anything, try to lookup the container with Docker. + if installed docker; then + RETRIES=3 + while [ "$RETRIES" -gt 0 ]; do + DOCKERPID=$(docker inspect --format='{{ .State.Pid }}' "$GUESTNAME") + DOCKERCID=$(docker inspect --format='{{ .ID }}' "$GUESTNAME") + DOCKERCNAME=$(docker inspect --format='{{ .Name }}' "$GUESTNAME") + + [ "$DOCKERPID" != 0 ] && break + sleep 1 + RETRIES=$((RETRIES - 1)) + done + + [ "$DOCKERPID" = 0 ] && { + die 1 "Docker inspect returned invalid PID 0" + } + + [ "$DOCKERPID" = "" ] && { + die 1 "Container $GUESTNAME not found, and unknown to Docker." + } + else + die 1 "Container $GUESTNAME not found, and Docker not installed." + fi + ;; + 1) true ;; + 2) # LXC >=3.1.0 returns two entries from the cgroups mount instead of one. + echo "$M" | grep -q "lxc\.monitor" || die 1 "Found more than one container matching $GUESTNAME." + ;; + *) die 1 "Found more than one container matching $GUESTNAME." ;; +esac + +# only check IPADDR if we are not in a route mode +[ "$IFTYPE" != route ] && [ "$IFTYPE" != rule ] && [ "$IFTYPE" != tc ] && { + case "$IPADDR" in + # Let's check first if the user asked for DHCP allocation. + dhcp|dhcp:*) + # Use Docker-specific strategy to run the DHCP client + # from the busybox image, in the network namespace of + # the container. + if ! [ "$DOCKERPID" ]; then + warn "You asked for a Docker-specific DHCP method." + warn "However, $GUESTNAME doesn't seem to be a Docker container." + warn "Try to replace 'dhcp' with another option?" + die 1 "Aborting." + fi + DHCP_CLIENT=${IPADDR%%:*} + ;; + udhcpc|udhcpc:*|udhcpc-f|udhcpc-f:*|dhcpcd|dhcpcd:*|dhclient|dhclient:*|dhclient-f|dhclient-f:*) + DHCP_CLIENT=${IPADDR%%:*} + # did they ask for the client to remain? + DHCP_FOREGROUND= + [ "${DHCP_CLIENT%-f}" != "${DHCP_CLIENT}" ] && { + DHCP_FOREGROUND=true + } + DHCP_CLIENT=${DHCP_CLIENT%-f} + if ! installed "$DHCP_CLIENT"; then + die 1 "You asked for DHCP client $DHCP_CLIENT, but I can't find it." + fi + ;; + # Alright, no DHCP? Then let's see if we have a subnet *and* gateway. + */*@*) + GATEWAY="${IPADDR#*@}" GATEWAY="${GATEWAY%%@*}" + IPADDR="${IPADDR%%@*}" + ;; + # No gateway? We need at least a subnet, anyway! + */*) : ;; + # ... No? Then stop right here. + *) + warn "The IP address should include a netmask." + die 1 "Maybe you meant $IPADDR/24 ?" + ;; + esac +} + +# If a DHCP method was specified, extract the DHCP options. +if [ "$DHCP_CLIENT" ]; then + case "$IPADDR" in + *:*) DHCP_OPTIONS="${IPADDR#*:}" ;; + esac +fi + +if [ "$DOCKERPID" ]; then + NSPID=$DOCKERPID +else + NSPID=$(head -n 1 "$(find "$CGROUPMNT" -name "$GUESTNAME" | head -n 1)/tasks") + [ "$NSPID" ] || { + # it is an alternative way to get the pid + NSPID=$(lxc-info -n "$GUESTNAME" | grep PID | grep -Eo '[0-9]+') + [ "$NSPID" ] || { + die 1 "Could not find a process inside container $GUESTNAME." + } + } +fi + +# Check if an incompatible VLAN device already exists +[ "$IFTYPE" = phys ] && [ "$VLAN" ] && [ -d "/sys/class/net/$IFNAME.VLAN" ] && { + ip -d link show "$IFNAME.$VLAN" | grep -q "vlan.*id $VLAN" || { + die 1 "$IFNAME.VLAN already exists but is not a VLAN device for tag $VLAN" + } +} + +[ ! -d /var/run/netns ] && mkdir -p /var/run/netns +rm -f "/var/run/netns/$NSPID" +ln -s "/proc/$NSPID/ns/net" "/var/run/netns/$NSPID" + +# Check if we need to create a bridge. +[ "$IFTYPE" = bridge ] && [ ! -d "/sys/class/net/$IFNAME" ] && { + [ "$BRTYPE" = linux ] && { + (ip link add dev "$IFNAME" type bridge > /dev/null 2>&1) || (brctl addbr "$IFNAME") + ip link set "$IFNAME" up + } + [ "$BRTYPE" = openvswitch ] && { + ovs-vsctl add-br "$IFNAME" + } +} + +[ "$IFTYPE" != "route" ] && [ "$IFTYPE" != "dummy" ] && [ "$IFTYPE" != "rule" ] && [ "$IFTYPE" != "tc" ] && MTU=$(ip link show "$IFNAME" | awk '{print $5}') + +# If it's a bridge, we need to create a veth pair +[ "$IFTYPE" = bridge ] && { + if [ -z "$LOCAL_IFNAME" ]; then + LOCAL_IFNAME="v${CONTAINER_IFNAME}pl${NSPID}" + fi + GUEST_IFNAME="v${CONTAINER_IFNAME}pg${NSPID}" + # Does the link already exist? + if ip link show "$LOCAL_IFNAME" >/dev/null 2>&1; then + # link exists, is it in use? + if ip link show "$LOCAL_IFNAME" up | grep -q "UP"; then + echo "Link $LOCAL_IFNAME exists and is up" + exit 1 + fi + # delete the link so we can re-add it afterwards + ip link del "$LOCAL_IFNAME" + fi + ip link add name "$LOCAL_IFNAME" mtu "$MTU" type veth peer name "$GUEST_IFNAME" mtu "$MTU" + case "$BRTYPE" in + linux) + (ip link set "$LOCAL_IFNAME" master "$IFNAME" > /dev/null 2>&1) || (brctl addif "$IFNAME" "$LOCAL_IFNAME") + ;; + openvswitch) + if ! ovs-vsctl list-ports "$IFNAME" | grep -q "^${LOCAL_IFNAME}$"; then + ovs-vsctl add-port "$IFNAME" "$LOCAL_IFNAME" ${VLAN:+tag="$VLAN"} \ + -- set Interface "$LOCAL_IFNAME" \ + external-ids:pipework.interface="$LOCAL_IFNAME" \ + external-ids:pipework.bridge="$IFNAME" \ + ${DOCKERCID:+external-ids:pipework.containerid="$DOCKERCID"} \ + ${DOCKERCNAME:+external-ids:pipework.containername="$DOCKERCNAME"} \ + ${NSPID:+external-ids:pipework.nspid="$NSPID"} \ + ${VLAN:+external-ids:pipework.vlan="$VLAN"} + fi + ;; + esac + ip link set "$LOCAL_IFNAME" up +} + +# If it's a physical interface, create a macvlan subinterface +[ "$IFTYPE" = phys ] && { + [ "$VLAN" ] && { + [ ! -d "/sys/class/net/${IFNAME}.${VLAN}" ] && { + ip link add link "$IFNAME" name "$IFNAME.$VLAN" mtu "$MTU" type vlan id "$VLAN" + } + ip link set "$IFNAME" up + IFNAME=$IFNAME.$VLAN + } + + if [ ! -z "$DIRECT_PHYS" ]; then + GUEST_IFNAME=$IFNAME + else + GUEST_IFNAME=ph$NSPID$CONTAINER_IFNAME + ip link add link "$IFNAME" dev "$GUEST_IFNAME" mtu "$MTU" type macvlan mode bridge + fi + + ip link set "$IFNAME" up +} + +# If it's an IPoIB interface, create a virtual IPoIB interface (the IPoIB +# equivalent of a macvlan device) +# +# Note: no macvlan subinterface nor Ethernet bridge can be created on top of an +# IPoIB interface. InfiniBand is not Ethernet. IPoIB is an IP layer on top of +# InfiniBand, without an intermediate Ethernet layer. +[ "$IFTYPE" = ipoib ] && { + GUEST_IFNAME="${IFNAME}.${NSPID}" + + # If a partition key is provided, use it + [ "$PKEY" ] && { + GUEST_IFNAME="${IFNAME}.${PKEY}.${NSPID}" + PKEY="pkey 0x$PKEY" + } + + ip link add link "$IFNAME" name "$GUEST_IFNAME" type ipoib $PKEY + ip link set "$IFNAME" up +} + +# If its a dummy interface, create a dummy interface. +[ "$IFTYPE" = dummy ] && { + GUEST_IFNAME=du$NSPID$CONTAINER_IFNAME + ip link add dev "$GUEST_IFNAME" type dummy +} + +# If the `route` command was specified ... +if [ "$IFTYPE" = route ]; then + # ... discard the first two arguments and pass the rest to the route command. + shift 2 + ip netns exec "$NSPID" ip route "$@" +elif [ "$IFTYPE" = rule ] ; then + shift 2 + ip netns exec "$NSPID" ip rule "$@" +elif [ "$IFTYPE" = tc ] ; then + shift 2 + ip netns exec "$NSPID" tc "$@" +else + # Otherwise, run normally. + ip link set "$GUEST_IFNAME" netns "$NSPID" + ip netns exec "$NSPID" ip link set "$GUEST_IFNAME" name "$CONTAINER_IFNAME" + [ "$MACADDR" ] && ip netns exec "$NSPID" ip link set dev "$CONTAINER_IFNAME" address "$MACADDR" + + # When using any of the DHCP methods, we start a DHCP client in the + # network namespace of the container. With the 'dhcp' method, the + # client used is taken from the Docker busybox image (therefore + # requiring no specific client installed on the host). Other methods + # use a locally installed client. + case "$DHCP_CLIENT" in + dhcp) + docker run -d --net container:$GUESTNAME --cap-add NET_ADMIN \ + busybox udhcpc -i "$CONTAINER_IFNAME" -x "hostname:$GUESTNAME" \ + $DHCP_OPTIONS \ + >/dev/null + ;; + udhcpc) + DHCP_Q="-q" + [ "$DHCP_FOREGROUND" ] && { + DHCP_OPTIONS="$DHCP_OPTIONS -f" + } + ip netns exec "$NSPID" "$DHCP_CLIENT" -qi "$CONTAINER_IFNAME" \ + -x "hostname:$GUESTNAME" \ + -p "/var/run/udhcpc.$GUESTNAME.pid" \ + $DHCP_OPTIONS + [ ! "$DHCP_FOREGROUND" ] && { + rm "/var/run/udhcpc.$GUESTNAME.pid" + } + ;; + dhclient) + ip netns exec "$NSPID" "$DHCP_CLIENT" "$CONTAINER_IFNAME" \ + -pf "/var/run/dhclient.$GUESTNAME.pid" \ + -lf "/etc/dhclient/dhclient.$GUESTNAME.leases" \ + $DHCP_OPTIONS + # kill dhclient after get ip address to prevent device be used after container close + [ ! "$DHCP_FOREGROUND" ] && { + kill "$(cat "/var/run/dhclient.$GUESTNAME.pid")" + rm "/var/run/dhclient.$GUESTNAME.pid" + } + ;; + dhcpcd) + ip netns exec "$NSPID" "$DHCP_CLIENT" -q "$CONTAINER_IFNAME" -h "$GUESTNAME" + ;; + "") + if installed ipcalc; then + eval $(ipcalc -b $IPADDR) + ip netns exec "$NSPID" ip "$FAMILY_FLAG" addr add "$IPADDR" brd "$BROADCAST" dev "$CONTAINER_IFNAME" + else + ip netns exec "$NSPID" ip "$FAMILY_FLAG" addr add "$IPADDR" dev "$CONTAINER_IFNAME" + fi + + [ "$GATEWAY" ] && { + ip netns exec "$NSPID" ip "$FAMILY_FLAG" route delete default >/dev/null 2>&1 && true + } + ip netns exec "$NSPID" ip "$FAMILY_FLAG" link set "$CONTAINER_IFNAME" up + [ "$GATEWAY" ] && { + ip netns exec "$NSPID" ip "$FAMILY_FLAG" route get "$GATEWAY" >/dev/null 2>&1 || \ + ip netns exec "$NSPID" ip "$FAMILY_FLAG" route add "$GATEWAY/32" dev "$CONTAINER_IFNAME" + ip netns exec "$NSPID" ip "$FAMILY_FLAG" route replace default via "$GATEWAY" dev "$CONTAINER_IFNAME" + } + ;; + esac + + # Give our ARP neighbors a nudge about the new interface + if installed arping; then + IPADDR=$(echo "$IPADDR" | cut -d/ -f1) + ip netns exec "$NSPID" arping -c 1 -A -I "$CONTAINER_IFNAME" "$IPADDR" > /dev/null 2>&1 || true + else + echo "Warning: arping not found; interface may not be immediately reachable" + fi +fi +# Remove NSPID to avoid `ip netns` catch it. +rm -f "/var/run/netns/$NSPID" + +# vim: set tabstop=2 shiftwidth=2 softtabstop=2 expandtab : diff --git a/ttcn3-ns-test-fr/fr b/ttcn3-ns-test-fr/fr new file mode 120000 index 0000000..ce2797b --- /dev/null +++ b/ttcn3-ns-test-fr/fr @@ -0,0 +1 @@ +../ttcn3-ns-test/fr \ No newline at end of file diff --git a/ttcn3-ns-test-fr/jenkins.sh b/ttcn3-ns-test-fr/jenkins.sh new file mode 120000 index 0000000..19f578b --- /dev/null +++ b/ttcn3-ns-test-fr/jenkins.sh @@ -0,0 +1 @@ +../ttcn3-ns-test/jenkins-fr.sh \ No newline at end of file diff --git a/ttcn3-ns-test-fr/netdev-to-docker.sh b/ttcn3-ns-test-fr/netdev-to-docker.sh new file mode 120000 index 0000000..3ae2cf8 --- /dev/null +++ b/ttcn3-ns-test-fr/netdev-to-docker.sh @@ -0,0 +1 @@ +../ttcn3-gbproxy-test-fr/netdev-to-docker.sh \ No newline at end of file diff --git a/ttcn3-ns-test/fr/NS_Tests.cfg b/ttcn3-ns-test/fr/NS_Tests.cfg new file mode 100644 index 0000000..5ece397 --- /dev/null +++ b/ttcn3-ns-test/fr/NS_Tests.cfg @@ -0,0 +1,56 @@ +[ORDERED_INCLUDE] +"/osmo-ttcn3-hacks/Common.cfg" +"/osmo-ttcn3-hacks/ns/NS_Tests.default" + +[LOGGING] + +[TESTPORT_PARAMETERS] +*.NSVTY.CTRL_HOSTNAME := "172.18.30.101" + +[MODULE_PARAMETERS] +NS_Tests.mp_dialect := NS2_DIALECT_IPACCESS +NS_Tests.mp_nsconfig := { + nsei := 2001, + role_sgsn := false, + handle_sns := false, + nsvc := { + { + provider := { + fr := { + netdev := "hdlc1", + dlci := 16 + } + }, + nsvci := 1 + }, { + provider := { + fr := { + netdev := "hdlc2", + dlci := 17 + } + }, + nsvci := 2 + }, { + provider := { + fr := { + netdev := "hdlc3", + dlci := 18 + } + }, + nsvci := 3 + }, { + provider := { + fr := { + netdev := "hdlc4", + dlci := 19 + } + }, + nsvci := 4 + } + } +} + +[MAIN_CONTROLLER] + +[EXECUTE] +NS_Tests.control diff --git a/ttcn3-ns-test/fr/osmo-ns-dummy.cfg b/ttcn3-ns-test/fr/osmo-ns-dummy.cfg new file mode 100644 index 0000000..0a3515d --- /dev/null +++ b/ttcn3-ns-test/fr/osmo-ns-dummy.cfg @@ -0,0 +1,55 @@ +log gsmtap 172.18.30.10 + logging level set-all debug + +log stderr + 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 +! +stats interval 0 +stats reporter statsd + prefix TTCN3 + level subscriber + remote-ip 172.18.30.10 + remote-port 8125 + flush-period 1 + mtu 1024 + enable + +line vty + no login + bind 172.18.30.101 + +ns + bind fr hdlcnet1 + fr hdlcnet1 frnet + bind fr hdlcnet2 + fr hdlcnet2 frnet + bind fr hdlcnet3 + fr hdlcnet3 frnet + bind fr hdlcnet4 + fr hdlcnet4 frnet + bind fr hdlcnet5 + fr hdlcnet5 frnet + bind fr hdlcnet6 + fr hdlcnet6 frnet + bind fr hdlcnet7 + fr hdlcnet7 frnet + bind fr hdlcnet8 + fr hdlcnet8 frnet + nse 2001 + nsvc fr hdlcnet1 dlci 16 nsvci 1 + nsvc fr hdlcnet2 dlci 17 nsvci 2 + nsvc fr hdlcnet3 dlci 18 nsvci 3 + nsvc fr hdlcnet4 dlci 19 nsvci 4 + nse 2002 + nsvc fr hdlcnet5 dlci 20 nsvci 5 + nsvc fr hdlcnet6 dlci 21 nsvci 6 + nse 2003 + nsvc fr hdlcnet7 dlci 22 nsvci 7 + nsvc fr hdlcnet8 dlci 23 nsvci 8 + diff --git a/ttcn3-ns-test/jenkins-fr.sh b/ttcn3-ns-test/jenkins-fr.sh new file mode 100755 index 0000000..df23a35 --- /dev/null +++ b/ttcn3-ns-test/jenkins-fr.sh @@ -0,0 +1,73 @@ +#!/bin/sh + +# WARNING: This cannot be executed on any random Linux machine or jenkins slave node! +# +# We require a kernel with HLDC net-devices, specifically eight pairs of devices named +# hdlc1 + hdlcnet1 ... hdlc8 + hdclnet8. +# +# Those pairs of netdevices can e.g. be implemented by actually physically looping back +# the related E1 interfaces, or e.g.by using DAHDI_NET + dahdi_dynamic_loc to create +# pairs of virtual E1 spans. +# +# In addition, we need to use 'sudo' permissions in order to move the hdlc +# net-devices into the docker containers. So in automatic test execution this means +# that the user will need sudo privileges without entering a password (NOPASS) + +. ../jenkins-common.sh +IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" +docker_images_require \ + "osmo-ns-$IMAGE_SUFFIX" \ + "ttcn3-ns-test" + +set_clean_up_trap +set -e + +SUBNET=30 +network_create $SUBNET + +mkdir $VOL_BASE_DIR/ns-tester +cp fr/NS_Tests.cfg $VOL_BASE_DIR/ns-tester/ + +mkdir $VOL_BASE_DIR/ns +cp fr/osmo-ns-dummy.cfg $VOL_BASE_DIR/ns/ + +echo Starting container with osmo-ns-dummy +docker run --rm \ + --cap-add=NET_RAW --cap-add=SYS_RAWIO \ + $(docker_network_params $SUBNET 101) \ + --ulimit core=-1 \ + -e "WAIT_FOR_NETDEV=hdlcnet8" \ + -v $VOL_BASE_DIR/ns:/data \ + --name ${BUILD_TAG}-ns -d \ + $DOCKER_ARGS \ + $REPO_USER/osmo-ns-$IMAGE_SUFFIX + +# move all hdlcX net-devices into container +for i in `seq 1 8`; do + DEV="hdlcnet$i" + #sudo sethdlc ${DEV} fr lmi none + sudo ./netdev-to-docker.sh ${DEV} ${BUILD_TAG}-ns +done + +echo Starting container with NS testsuite +docker run --rm \ + --cap-add=NET_RAW --cap-add=SYS_RAWIO \ + $(docker_network_params $SUBNET 10) \ + --ulimit core=-1 \ + -e "TTCN3_PCAP_PATH=/data" \ + -e "WAIT_FOR_NETDEV=hdlc8" \ + -v $VOL_BASE_DIR/ns-tester:/data \ + --name ${BUILD_TAG}-ttcn3-ns-test -d \ + $DOCKER_ARGS \ + $REPO_USER/ttcn3-ns-test + +# move all hdlcnetX net-devices into container +for i in `seq 1 8`; do + DEV="hdlc$i" + #sudo sethdlc ${DEV} fr lmi none + sudo ./netdev-to-docker.sh ${DEV} ${BUILD_TAG}-ttcn3-ns-test +done + +# emulate running container in foreground, which is no longer possible as we +# must shift the net-devices into the container _after_ it is started +docker logs -f ${BUILD_TAG}-ttcn3-ns-test -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23560 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: I418f81eb1fbb2b15335ef64a3aa04d1c98a452c9 Gerrit-Change-Number: 23560 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 Mar 31 08:24:08 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 31 Mar 2021 08:24:08 +0000 Subject: Change in osmo-ci[master]: jobs: Add TTCN3 test job for osmo-ns-dummy master "sns" and "fr" References: Message-ID: laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ci/+/23561 ) Change subject: jobs: Add TTCN3 test job for osmo-ns-dummy master "sns" and "fr" ...................................................................... jobs: Add TTCN3 test job for osmo-ns-dummy master "sns" and "fr" Change-Id: I1e7bb5a00b91ca3cb33750c9f2035125b797b45c Related: SYS#5396 --- M jobs/ttcn3-testsuites.yml 1 file changed, 7 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/61/23561/1 diff --git a/jobs/ttcn3-testsuites.yml b/jobs/ttcn3-testsuites.yml index 5a23b14..4478dc8 100644 --- a/jobs/ttcn3-testsuites.yml +++ b/jobs/ttcn3-testsuites.yml @@ -119,6 +119,13 @@ - ttcn3-ns-test: blocking: "^(ttcn3|TTCN3-.*)-ns-test.*" timer: 00 11 * * * + - ttcn3-ns-test-sns: + blocking: "^(ttcn3|TTCN3-.*)-ns-test-sns.*" + timer: 10 11 * * * + - ttcn3-ns-test-fr: + blocking: "^(ttcn3|TTCN3-.*)-ns-test-fr.*" + timer: 20 11 * * * + node: hdlc # debian-stretch latest stable - nplab-m3ua-test-latest: -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23561 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I1e7bb5a00b91ca3cb33750c9f2035125b797b45c Gerrit-Change-Number: 23561 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 Mar 31 08:25:54 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 31 Mar 2021 08:25:54 +0000 Subject: Change in osmo-ci[master]: jobs: Add TTCN3 test job for osmo-ns-dummy master "sns" and "fr" In-Reply-To: References: Message-ID: laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23561 ) Change subject: jobs: Add TTCN3 test job for osmo-ns-dummy master "sns" and "fr" ...................................................................... Patch Set 1: Verified+1 Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23561 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I1e7bb5a00b91ca3cb33750c9f2035125b797b45c Gerrit-Change-Number: 23561 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 31 Mar 2021 08:25: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 Mar 31 08:25:56 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 31 Mar 2021 08:25:56 +0000 Subject: Change in osmo-ci[master]: jobs: Add TTCN3 test job for osmo-ns-dummy master "sns" and "fr" In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/23561 ) Change subject: jobs: Add TTCN3 test job for osmo-ns-dummy master "sns" and "fr" ...................................................................... jobs: Add TTCN3 test job for osmo-ns-dummy master "sns" and "fr" Change-Id: I1e7bb5a00b91ca3cb33750c9f2035125b797b45c Related: SYS#5396 --- M jobs/ttcn3-testsuites.yml 1 file changed, 7 insertions(+), 0 deletions(-) Approvals: laforge: Looks good to me, approved; Verified diff --git a/jobs/ttcn3-testsuites.yml b/jobs/ttcn3-testsuites.yml index 5a23b14..4478dc8 100644 --- a/jobs/ttcn3-testsuites.yml +++ b/jobs/ttcn3-testsuites.yml @@ -119,6 +119,13 @@ - ttcn3-ns-test: blocking: "^(ttcn3|TTCN3-.*)-ns-test.*" timer: 00 11 * * * + - ttcn3-ns-test-sns: + blocking: "^(ttcn3|TTCN3-.*)-ns-test-sns.*" + timer: 10 11 * * * + - ttcn3-ns-test-fr: + blocking: "^(ttcn3|TTCN3-.*)-ns-test-fr.*" + timer: 20 11 * * * + node: hdlc # debian-stretch latest stable - nplab-m3ua-test-latest: -- To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/23561 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ci Gerrit-Branch: master Gerrit-Change-Id: I1e7bb5a00b91ca3cb33750c9f2035125b797b45c Gerrit-Change-Number: 23561 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 Mar 31 08:32:30 2021 From: gerrit-no-reply at lists.osmocom.org (laforge) Date: Wed, 31 Mar 2021 08:32:30 +0000 Subject: Change in libosmocore[master]: gprs_ns2: vty: remove a white space in `show binds` In-Reply-To: References: Message-ID: laforge has submitted this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23456 ) Change subject: gprs_ns2: vty: remove a white space in `show binds` ...................................................................... gprs_ns2: vty: remove a white space in `show binds` Change-Id: Ia3579ec5599f5f5c58eebab03f1ed9e17f171177 --- M src/gb/gprs_ns2_udp.c M tests/gb/gprs_ns2_vty.vty 2 files changed, 4 insertions(+), 4 deletions(-) Approvals: Jenkins Builder: Verified dexter: Looks good to me, but someone else must approve pespin: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/gb/gprs_ns2_udp.c b/src/gb/gprs_ns2_udp.c index 4c986a2..8350ad8 100644 --- a/src/gb/gprs_ns2_udp.c +++ b/src/gb/gprs_ns2_udp.c @@ -106,7 +106,7 @@ vty_out(vty, "UDP bind: %s:%d DSCP: %d%s", sockstr.ip, sockstr.port, priv->dscp, VTY_NEWLINE); vty_out(vty, " IP-SNS signalling weight: %u data weight: %u%s", bind->sns_sig_weight, bind->sns_data_weight, VTY_NEWLINE); - vty_out(vty, " %lu NS-VC: %s", nsvcs, VTY_NEWLINE); + vty_out(vty, " %lu NS-VC:%s", nsvcs, VTY_NEWLINE); llist_for_each_entry(nsvc, &bind->nsvc, blist) { ns2_vty_dump_nsvc(vty, nsvc, stats); diff --git a/tests/gb/gprs_ns2_vty.vty b/tests/gb/gprs_ns2_vty.vty index 63cf973..78c7e78 100644 --- a/tests/gb/gprs_ns2_vty.vty +++ b/tests/gb/gprs_ns2_vty.vty @@ -31,7 +31,7 @@ OsmoNSdummy# show ns UDP bind: 127.0.0.14:42999 DSCP: 0 IP-SNS signalling weight: 1 data weight: 1 - 0 NS-VC: + 0 NS-VC: OsmoNSdummy# configure terminal OsmoNSdummy(config)# ns OsmoNSdummy(config-ns)# nse 1234 @@ -43,7 +43,7 @@ NSVCI none: RECOVERING PERSIST data_weight=1 sig_weight=1 udp)[127.0.0.14]:42999<>[127.0.0.15]:9496 UDP bind: 127.0.0.14:42999 DSCP: 0 IP-SNS signalling weight: 1 data weight: 1 - 1 NS-VC: + 1 NS-VC: NSVCI none: RECOVERING PERSIST data_weight=1 sig_weight=1 udp)[127.0.0.14]:42999<>[127.0.0.15]:9496 OsmoNSdummy# configure terminal OsmoNSdummy(config)# ns @@ -59,7 +59,7 @@ NSVCI none: RECOVERING PERSIST data_weight=1 sig_weight=1 udp)[127.0.0.14]:42999<>[127.0.0.15]:9496 UDP bind: 127.0.0.14:42999 DSCP: 0 IP-SNS signalling weight: 1 data weight: 1 - 3 NS-VC: + 3 NS-VC: NSVCI none: RECOVERING PERSIST data_weight=0 sig_weight=0 udp)[127.0.0.14]:42999<>[127.0.0.17]:9496 NSVCI none: RECOVERING PERSIST data_weight=9 sig_weight=0 udp)[127.0.0.14]:42999<>[127.0.0.16]:9496 NSVCI none: RECOVERING PERSIST data_weight=1 sig_weight=1 udp)[127.0.0.14]:42999<>[127.0.0.15]:9496 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23456 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: Ia3579ec5599f5f5c58eebab03f1ed9e17f171177 Gerrit-Change-Number: 23456 Gerrit-PatchSet: 4 Gerrit-Owner: lynxis lazus 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 Wed Mar 31 09:49:16 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 31 Mar 2021 09:49:16 +0000 Subject: Change in osmo-gsm-tester[master]: Initial Open5GS support In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23476 ) Change subject: Initial Open5GS support ...................................................................... Patch Set 2: Code-Review+2 Let's get it merged, even if there are still issues, to let whoever give it a try if they wish for. -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23476 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Iff8b88dc22d8f156572839abb48b0c1377c55e33 Gerrit-Change-Number: 23476 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 31 Mar 2021 09:49: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 Mar 31 09:49:25 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 31 Mar 2021 09:49:25 +0000 Subject: Change in osmo-gsm-tester[master]: Initial Open5GS support In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23476 ) Change subject: Initial Open5GS support ...................................................................... Initial Open5GS support Change-Id: Iff8b88dc22d8f156572839abb48b0c1377c55e33 --- M contrib/jenkins-build-common.sh M doc/manuals/chapters/install.adoc M src/osmo_gsm_tester/obj/epc.py A src/osmo_gsm_tester/obj/epc_open5gs.py A src/osmo_gsm_tester/obj/hss_open5gs.py A src/osmo_gsm_tester/obj/mme_open5gs.py A src/osmo_gsm_tester/obj/pcrf_open5gs.py A src/osmo_gsm_tester/obj/sgwc_open5gs.py A src/osmo_gsm_tester/obj/sgwu_open5gs.py A src/osmo_gsm_tester/obj/smf_open5gs.py A src/osmo_gsm_tester/obj/upf_open5gs.py A src/osmo_gsm_tester/templates/open5gs-freediameter.conf.tmpl A src/osmo_gsm_tester/templates/open5gs-hssd.yaml.tmpl A src/osmo_gsm_tester/templates/open5gs-mmed.yaml.tmpl A src/osmo_gsm_tester/templates/open5gs-pcrfd.yaml.tmpl A src/osmo_gsm_tester/templates/open5gs-sgwcd.yaml.tmpl A src/osmo_gsm_tester/templates/open5gs-sgwud.yaml.tmpl A src/osmo_gsm_tester/templates/open5gs-smfd.yaml.tmpl A src/osmo_gsm_tester/templates/open5gs-upfd.yaml.tmpl M sysmocom/defaults.conf A sysmocom/scenarios/cfg-epc-db at .conf 21 files changed, 2,973 insertions(+), 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 75d1e4f..9d59ca7 100644 --- a/contrib/jenkins-build-common.sh +++ b/contrib/jenkins-build-common.sh @@ -154,7 +154,7 @@ elif [ -f meson.build ]; then rm -rf build && mkdir build && cd build || exit 1 set +x; echo; echo; set -x - meson ../ --prefix=$prefix $configure_opts + meson ../ --prefix=$prefix --libdir="lib" $configure_opts ninja -j8 ninja install return diff --git a/doc/manuals/chapters/install.adoc b/doc/manuals/chapters/install.adoc index c94c596..fb364aa 100644 --- a/doc/manuals/chapters/install.adoc +++ b/doc/manuals/chapters/install.adoc @@ -392,6 +392,13 @@ pydbus ---- +If one plans to use Open5GS EPC, pymongo modules to interact against MongoDB +(_epc_open5gs.py_) shall be installed: +---- +pip3 install \ + pymongo +---- + IMPORTANT: ofono may need to be installed from source to contain the most recent fixes needed to operate your modems. This depends on the modem hardware used and the tests run. Please see <>. diff --git a/src/osmo_gsm_tester/obj/epc.py b/src/osmo_gsm_tester/obj/epc.py index aaa96b7..4c43f5e 100644 --- a/src/osmo_gsm_tester/obj/epc.py +++ b/src/osmo_gsm_tester/obj/epc.py @@ -71,6 +71,9 @@ elif epc_type == 'srsepc': from .epc_srs import srsEPC epc_class = srsEPC + elif epc_type == 'open5gsepc': + from .epc_open5gs import Open5gsEPC + epc_class = Open5gsEPC else: raise log.Error('EPC type not supported:', epc_type) diff --git a/src/osmo_gsm_tester/obj/epc_open5gs.py b/src/osmo_gsm_tester/obj/epc_open5gs.py new file mode 100644 index 0000000..15f4eab --- /dev/null +++ b/src/osmo_gsm_tester/obj/epc_open5gs.py @@ -0,0 +1,184 @@ +# osmo_gsm_tester: specifics for running an Open5GS EPC +# +# Copyright (C) 2021 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 +import copy + +from ..core import log, util, config, template, process, remote +from ..core import schema +from . import epc +from .pcrf_open5gs import Open5gsPCRF +from .upf_open5gs import Open5gsUPF +from .smf_open5gs import Open5gsSMF +from .hss_open5gs import Open5gsHSS +from .mme_open5gs import Open5gsMME +from .sgwc_open5gs import Open5gsSGWC +from .sgwu_open5gs import Open5gsSGWU + +def on_register_schemas(): + config_schema = { + 'db_host': schema.STR, + } + schema.register_config_schema('epc', config_schema) + +class Open5gsEPC(epc.EPC): + + REMOTE_DIR = '/osmo-gsm-tester-open5gs' + + def __init__(self, testenv, run_node): + super().__init__(testenv, run_node, 'open5gs_epc') + self.run_dir = None + self.pcrf = None + self.upf = None + self.smf = None + self.mme = None + self.hss = None + self.sgwc = None + self.sgwu = None + self.subscriber_list = [] + + def cleanup(self): + if self.pcrf: + self.pcrf.cleanup() + if self.upf: + self.upf.cleanup() + if self.smf: + self.smf.cleanup() + if self.hss: + self.hss.cleanup() + if self.mme: + self.mme.cleanup() + if self.sgwc: + self.sgwc.cleanup() + if self.sgwu: + self.sgwu.cleanup() + + def configure(self): + values = super().configure(['open5gsepc']) + db_host = values['epc']['db_host'] + db_uri = 'mongodb://'+db_host+'/open5gs' + config.overlay(values, dict(epc=dict(db_uri=db_uri))) + self.fill_subscribers_mongodb(values['epc']['db_host'], 27017) + self.pcrf = Open5gsPCRF(self.testenv, self) + self.upf = Open5gsUPF(self.testenv, self) + self.smf = Open5gsSMF(self.testenv, self) + self.hss = Open5gsHSS(self.testenv, self) + self.mme = Open5gsMME(self.testenv, self) + self.sgwc = Open5gsSGWC(self.testenv, self) + self.sgwu = Open5gsSGWU(self.testenv, self) + self.pcrf.configure(copy.deepcopy(values)) + self.upf.configure(copy.deepcopy(values)) + self.smf.configure(copy.deepcopy(values)) + self.hss.configure(copy.deepcopy(values)) + self.mme.configure(copy.deepcopy(values)) + self.sgwc.configure(copy.deepcopy(values)) + self.sgwu.configure(copy.deepcopy(values)) + + def start(self): + self.log('Starting srsepc') + self.run_dir = util.Dir(self.testenv.test().get_run_dir().new_dir(self.name())) + self.configure() + self.pcrf.start() + self.upf.start() + self.smf.start() + self.hss.start() + self.mme.start() + self.sgwc.start() + self.sgwu.start() + + def subscriber_add(self, modem, msisdn=None, algo_str=None): + if msisdn is None: + msisdn = modem.msisdn() + + if algo_str is None: + algo_str = modem.auth_algo() or 'milenage' + + if algo_str == 'milenage': + if not modem.ki(): + raise log.Error("Auth algo milenage selected but no KI specified") + if not modem.opc(): + raise log.Error("Auth algo milenage selected but no OPC specified") + else: + raise log.Error("Open5Gs only supports auth algo: milenage") + + 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': modem.opc(), 'apn_ipaddr': modem.apn_ipaddr()}) + return subscriber_id + + def fill_subscribers_mongodb(self, server, port): + import pymongo + + myclient = pymongo.MongoClient("mongodb://" + str(server) + ":" + str(port) + "/") + mydb = myclient["open5gs"] + mycol = mydb["subscribers"] + + for s in self.subscriber_list: + self.log('Insert subscriber to DB', msisdn=s['msisdn'], imsi=s['imsi'], subscriber_id=s['id'], + algo_str=s['auth_algo']) + slice_data = [ { \ + "sst": 1, \ + "default_indicator": True, \ + "session": [ \ + { \ + "name": "internet", \ + "type": 3, "pcc_rule": [], "ambr": {"uplink": {"value": 1, "unit": 0}, "downlink": {"value": 1, "unit": 0}}, \ + "qos": { "index": 9, "arp": {"priority_level": 8, "pre_emption_capability": 1, "pre_emption_vulnerability": 1} } \ + } \ + ] \ + } ] + + sub_data = {'imsi': s['imsi'], \ + 'subscribed_rau_tau_timer': 12, \ + 'network_access_mode': 2, \ + 'subscriber_status': 0, \ + "access_restriction_data": 32, \ + 'slice': slice_data, \ + 'ambr': {"uplink": {"value": 1, "unit": 0}, "downlink": {"value": 1, "unit": 0}}, \ + 'security': {'k': s['ki'], 'amf': '8000', 'op': None, 'opc': s['opc']}, + 'schema_version': 1, \ + '__v': 0} + x = mycol.insert_one(sub_data) + self.dbg("Added subscriber with Inserted ID : " + str(x.inserted_id)) + s['inserted_id'] = x.inserted_id + + def enb_is_connected(self, enb): + # Match against sample mmed line: "eNB-S1 accepted[172.18.50.101]:50867" + if not self.mme or not self.mme.running(): + return False + stdout_lines = (self.mme.process.get_stdout() or '').splitlines() + for l in stdout_lines: + if 'eNB' in l and 'accepted' in l and enb.addr() in l: + return True + return False + + def running(self): + return self.pcrf and self.upf and self.smf and self.hss and \ + self.mme and self.sgwc and self.sgwu and \ + self.pcrf.running() and self.upf.running() and self.smf.running() and \ + self.hss.running() and self.mme.running() and self.sgwc.running() and \ + self.sgwu.running() + + def tun_addr(self): + return '172.16.0.1' + + def get_kpis(self): + return {} + +# vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/obj/hss_open5gs.py b/src/osmo_gsm_tester/obj/hss_open5gs.py new file mode 100644 index 0000000..211d09a --- /dev/null +++ b/src/osmo_gsm_tester/obj/hss_open5gs.py @@ -0,0 +1,158 @@ +# osmo_gsm_tester: specifics for running an Open5GS hssd process +# +# Copyright (C) 2021 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 ..core import log, util, config, template, process, remote +from ..core import schema +from . import epc + +def on_register_schemas(): + pass + +class Open5gsHSS(log.Origin): + + REMOTE_DIR = '/osmo-gsm-tester-open5gs' + BINFILE = 'open5gs-hssd' + CFGFILE = 'open5gs-hssd.yaml' + LOGFILE = 'open5gs-hssd.log' + DIAMETERFILE = 'open5gs-freediameter.conf' + + def __init__(self, testenv, o5gs_epc): + super().__init__(log.C_RUN, 'open5gs-hssd') + self.testenv = testenv + self.o5gs_epc = o5gs_epc + self._run_node = o5gs_epc.run_node() + self.run_dir = None + self.config_file = None + self.log_file = None + self.diameter_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_diameter_file = None + + 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 %s' % Open5gsHSS.BINFILE) + if self._run_node.is_local(): + self.start_locally() + else: + self.start_remotely() + + def start_remotely(self): + remote_env = { 'LD_LIBRARY_PATH': self.remote_inst.child('lib') } + remote_lib = self.remote_inst.child('lib') + remote_binary = self.remote_inst.child('bin', Open5gsHSS.BINFILE) + + args = (remote_binary, '-c', self.remote_config_file) + + self.process = self.rem_host.RemoteProcess(Open5gsHSS.BINFILE, args, remote_env=remote_env) + self.testenv.remember_to_stop(self.process) + self.process.launch() + + def start_locally(self): + binary = self.inst.child('bin', Open5gsHSS.BINFILE) + lib = self.inst.child('lib') + env = { 'LD_LIBRARY_PATH': util.prepend_library_path(lib) } + + args = (binary, '-c', os.path.abspath(self.config_file)) + + self.process = process.Process(self.name(), self.run_dir, args, env=env) + self.testenv.remember_to_stop(self.process) + self.process.launch() + + def configure(self, values): + self.run_dir = util.Dir(self.o5gs_epc.run_dir.new_dir(self.name())) + self.inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('open5gs', self._run_node.run_label()))) + if not os.path.isdir(self.inst.child('lib')): + raise log.Error('No lib/ in', self.inst) + if not self.inst.isfile('bin', Open5gsHSS.BINFILE): + raise log.Error('No %s binary in' % Open5gsHSS.BINFILE, self.inst) + + self.config_file = self.run_dir.child(Open5gsHSS.CFGFILE) + self.log_file = self.run_dir.child(Open5gsHSS.LOGFILE) + self.diameter_file = self.run_dir.child(Open5gsHSS.DIAMETERFILE) + + 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(Open5gsHSS.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(Open5gsHSS.BINFILE)) + + self.remote_config_file = remote_run_dir.child(Open5gsHSS.CFGFILE) + self.remote_log_file = remote_run_dir.child(Open5gsHSS.LOGFILE) + self.remote_diameter_file = remote_run_dir.child(Open5gsHSS.DIAMETERFILE) + + logfile = self.log_file if self._run_node.is_local() else self.remote_log_file + diameter_file = self.diameter_file if self._run_node.is_local() else self.remote_diameter_file + inst_prefix = str(self.inst) if self._run_node.is_local() else str(self.remote_inst) + config.overlay(values, dict(hss=dict(log_filename=logfile, + diameter_filename=diameter_file, + inst_prefix=inst_prefix))) + config.overlay(values, dict(diameter=dict(identity=self.diameter_name(), + inst_prefix=inst_prefix, + listen_address=self.o5gs_epc.addr(), + listen_port=self.diameter_port(), + connect_name=self.o5gs_epc.mme.diameter_name(), + connect_address=self.o5gs_epc.addr(), + connect_port=self.o5gs_epc.mme.diameter_port()))) + + self.dbg('OPEN5GS-HSS CONFIG:\n' + pprint.pformat(values)) + + with open(self.config_file, 'w') as f: + r = template.render(Open5gsHSS.CFGFILE, values) + self.dbg(r) + f.write(r) + + with open(self.diameter_file, 'w') as f: + r = template.render(Open5gsHSS.DIAMETERFILE, 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-diam-to-remote', self.diameter_file, self.remote_diameter_file) + + def running(self): + return not self.process.terminated() + + def diameter_name(self): + return 'hss' + + def diameter_port(self): + return 3868; + +# vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/obj/mme_open5gs.py b/src/osmo_gsm_tester/obj/mme_open5gs.py new file mode 100644 index 0000000..0b3d633 --- /dev/null +++ b/src/osmo_gsm_tester/obj/mme_open5gs.py @@ -0,0 +1,172 @@ +# osmo_gsm_tester: specifics for running an Open5GS mmed process +# +# Copyright (C) 2021 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 ..core import log, util, config, template, process, remote +from ..core import schema +from . import epc + +def on_register_schemas(): + pass + +class Open5gsMME(log.Origin): + + REMOTE_DIR = '/osmo-gsm-tester-open5gs' + BINFILE = 'open5gs-mmed' + CFGFILE = 'open5gs-mmed.yaml' + LOGFILE = 'open5gs-mmed.log' + DIAMETERFILE = 'open5gs-freediameter.conf' + + def __init__(self, testenv, o5gs_epc): + super().__init__(log.C_RUN, 'open5gs-mmed') + self.testenv = testenv + self.o5gs_epc = o5gs_epc + self._run_node = o5gs_epc.run_node() + self.run_dir = None + self.config_file = None + self.log_file = None + self.diameter_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_diameter_file = None + + 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 %s' % Open5gsMME.BINFILE) + if self._run_node.is_local(): + self.start_locally() + else: + self.start_remotely() + + def start_remotely(self): + remote_lib = self.remote_inst.child('lib') + remote_binary = self.remote_inst.child('bin', Open5gsMME.BINFILE) + + # setting capabilities will later disable use of LD_LIBRARY_PATH from ELF loader -> modify RPATH instead. + self.log('Setting RPATH for open5gs-mmed') + self.rem_host.change_elf_rpath(remote_binary, remote_lib) + # open5gs-mmed requires CAP_NET_ADMIN to create tunnel devices: ioctl(TUNSETIFF): + self.log('Applying CAP_NET_ADMIN capability to open5gs-mmed') + self.rem_host.setcap_net_admin(remote_binary) + + args = (remote_binary, '-c', self.remote_config_file) + + self.process = self.rem_host.RemoteProcess(Open5gsMME.BINFILE, args) + self.testenv.remember_to_stop(self.process) + self.process.launch() + + def start_locally(self): + binary = self.inst.child('bin', Open5gsMME.BINFILE) + lib = self.inst.child('lib') + env = {} + + # setting capabilities will later disable use of LD_LIBRARY_PATH from ELF loader -> modify RPATH instead. + self.log('Setting RPATH for open5gs-mmed') + # open5gs-mmed binary needs patchelf <= 0.9 (0.10 and current master fail) to avoid failing during patch. OS#4389, patchelf-GH#192. + util.change_elf_rpath(binary, util.prepend_library_path(lib), self.run_dir.new_dir('patchelf')) + # open5gs-mmed requires CAP_NET_ADMIN to create tunnel devices: ioctl(TUNSETIFF): + self.log('Applying CAP_NET_ADMIN capability to open5gs-mmed') + util.setcap_net_admin(binary, self.run_dir.new_dir('setcap_net_admin')) + + args = (binary, '-c', os.path.abspath(self.config_file)) + + self.process = process.Process(self.name(), self.run_dir, args, env=env) + self.testenv.remember_to_stop(self.process) + self.process.launch() + + def configure(self, values): + self.run_dir = util.Dir(self.o5gs_epc.run_dir.new_dir(self.name())) + self.inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('open5gs', self._run_node.run_label()))) + if not os.path.isdir(self.inst.child('lib')): + raise log.Error('No lib/ in', self.inst) + if not self.inst.isfile('bin', Open5gsMME.BINFILE): + raise log.Error('No %s binary in' % Open5gsMME.BINFILE, self.inst) + + self.config_file = self.run_dir.child(Open5gsMME.CFGFILE) + self.log_file = self.run_dir.child(Open5gsMME.LOGFILE) + self.diameter_file = self.run_dir.child(Open5gsMME.DIAMETERFILE) + + 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(Open5gsMME.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(Open5gsMME.BINFILE)) + + self.remote_config_file = remote_run_dir.child(Open5gsMME.CFGFILE) + self.remote_log_file = remote_run_dir.child(Open5gsMME.LOGFILE) + self.remote_diameter_file = remote_run_dir.child(Open5gsMME.DIAMETERFILE) + + logfile = self.log_file if self._run_node.is_local() else self.remote_log_file + diameter_file = self.diameter_file if self._run_node.is_local() else self.remote_diameter_file + inst_prefix = str(self.inst) if self._run_node.is_local() else str(self.remote_inst) + config.overlay(values, dict(mme=dict(log_filename=logfile, + diameter_filename=diameter_file, + inst_prefix=inst_prefix))) + config.overlay(values, dict(diameter=dict(identity=self.diameter_name(), + inst_prefix=inst_prefix, + listen_address=self.o5gs_epc.addr(), + listen_port=self.diameter_port(), + connect_name=self.o5gs_epc.hss.diameter_name(), + connect_address=self.o5gs_epc.addr(), + connect_port=self.o5gs_epc.hss.diameter_port()))) + + self.dbg('OPEN5GS-MME CONFIG:\n' + pprint.pformat(values)) + + with open(self.config_file, 'w') as f: + r = template.render(Open5gsMME.CFGFILE, values) + self.dbg(r) + f.write(r) + + with open(self.diameter_file, 'w') as f: + r = template.render(Open5gsMME.DIAMETERFILE, 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-diam-to-remote', self.diameter_file, self.remote_diameter_file) + + def running(self): + return not self.process.terminated() + + def diameter_name(self): + return 'mme' + + def diameter_port(self): + return 3868 + 1; + +# vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/obj/pcrf_open5gs.py b/src/osmo_gsm_tester/obj/pcrf_open5gs.py new file mode 100644 index 0000000..4f93a47 --- /dev/null +++ b/src/osmo_gsm_tester/obj/pcrf_open5gs.py @@ -0,0 +1,158 @@ +# osmo_gsm_tester: specifics for running an Open5GS pcrfd process +# +# Copyright (C) 2021 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 ..core import log, util, config, template, process, remote +from ..core import schema +from . import epc + +def on_register_schemas(): + pass + +class Open5gsPCRF(log.Origin): + + REMOTE_DIR = '/osmo-gsm-tester-open5gs' + BINFILE = 'open5gs-pcrfd' + CFGFILE = 'open5gs-pcrfd.yaml' + LOGFILE = 'open5gs-pcrfd.log' + DIAMETERFILE = 'open5gs-freediameter.conf' + + def __init__(self, testenv, o5gs_epc): + super().__init__(log.C_RUN, 'open5gs-pcrfd') + self.testenv = testenv + self.o5gs_epc = o5gs_epc + self._run_node = o5gs_epc.run_node() + self.run_dir = None + self.config_file = None + self.log_file = None + self.diameter_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_diameter_file = None + + 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 %s' % Open5gsPCRF.BINFILE) + if self._run_node.is_local(): + self.start_locally() + else: + self.start_remotely() + + def start_remotely(self): + remote_env = { 'LD_LIBRARY_PATH': self.remote_inst.child('lib') } + remote_lib = self.remote_inst.child('lib') + remote_binary = self.remote_inst.child('bin', Open5gsPCRF.BINFILE) + + args = (remote_binary, '-c', self.remote_config_file) + + self.process = self.rem_host.RemoteProcess(Open5gsPCRF.BINFILE, args, remote_env=remote_env) + self.testenv.remember_to_stop(self.process) + self.process.launch() + + def start_locally(self): + binary = self.inst.child('bin', Open5gsPCRF.BINFILE) + lib = self.inst.child('lib') + env = { 'LD_LIBRARY_PATH': util.prepend_library_path(lib) } + + args = (binary, '-c', os.path.abspath(self.config_file)) + + self.process = process.Process(self.name(), self.run_dir, args, env=env) + self.testenv.remember_to_stop(self.process) + self.process.launch() + + def configure(self, values): + self.run_dir = util.Dir(self.o5gs_epc.run_dir.new_dir(self.name())) + self.inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('open5gs', self._run_node.run_label()))) + if not os.path.isdir(self.inst.child('lib')): + raise log.Error('No lib/ in', self.inst) + if not self.inst.isfile('bin', Open5gsPCRF.BINFILE): + raise log.Error('No %s binary in' % Open5gsPCRF.BINFILE, self.inst) + + self.config_file = self.run_dir.child(Open5gsPCRF.CFGFILE) + self.log_file = self.run_dir.child(Open5gsPCRF.LOGFILE) + self.diameter_file = self.run_dir.child(Open5gsPCRF.DIAMETERFILE) + + 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(Open5gsPCRF.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(Open5gsPCRF.BINFILE)) + + self.remote_config_file = remote_run_dir.child(Open5gsPCRF.CFGFILE) + self.remote_log_file = remote_run_dir.child(Open5gsPCRF.LOGFILE) + self.remote_diameter_file = remote_run_dir.child(Open5gsPCRF.DIAMETERFILE) + + logfile = self.log_file if self._run_node.is_local() else self.remote_log_file + diameter_file = self.diameter_file if self._run_node.is_local() else self.remote_diameter_file + inst_prefix = str(self.inst) if self._run_node.is_local() else str(self.remote_inst) + config.overlay(values, dict(pcrf=dict(log_filename=logfile, + diameter_filename=diameter_file, + inst_prefix=inst_prefix))) + config.overlay(values, dict(diameter=dict(identity=self.diameter_name(), + inst_prefix=inst_prefix, + listen_address=self.o5gs_epc.addr(), + listen_port=self.diameter_port(), + connect_name=self.o5gs_epc.smf.diameter_name(), + connect_address=self.o5gs_epc.addr(), + connect_port=self.o5gs_epc.smf.diameter_port()))) + + self.dbg('OPEN5GS-PCRF CONFIG:\n' + pprint.pformat(values)) + + with open(self.config_file, 'w') as f: + r = template.render(Open5gsPCRF.CFGFILE, values) + self.dbg(r) + f.write(r) + + with open(self.diameter_file, 'w') as f: + r = template.render(Open5gsPCRF.DIAMETERFILE, 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-diam-to-remote', self.diameter_file, self.remote_diameter_file) + + def running(self): + return not self.process.terminated() + + def diameter_name(self): + return 'pcrf' + + def diameter_port(self): + return 3868 + 2; + +# vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/obj/sgwc_open5gs.py b/src/osmo_gsm_tester/obj/sgwc_open5gs.py new file mode 100644 index 0000000..efc4568 --- /dev/null +++ b/src/osmo_gsm_tester/obj/sgwc_open5gs.py @@ -0,0 +1,132 @@ +# osmo_gsm_tester: specifics for running an Open5GS swgcd process +# +# Copyright (C) 2021 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 ..core import log, util, config, template, process, remote +from ..core import schema +from . import epc + +def on_register_schemas(): + pass + +class Open5gsSGWC(log.Origin): + + REMOTE_DIR = '/osmo-gsm-tester-open5gs' + BINFILE = 'open5gs-sgwcd' + CFGFILE = 'open5gs-sgwcd.yaml' + LOGFILE = 'open5gs-sgwcd.log' + + def __init__(self, testenv, o5gs_epc): + super().__init__(log.C_RUN, 'open5gs-sgwcd') + self.testenv = testenv + self.o5gs_epc = o5gs_epc + self._run_node = o5gs_epc.run_node() + self.run_dir = None + self.config_file = None + self.log_file = None + self.process = None + self.rem_host = None + self.remote_inst = None + self.remote_config_file = None + self.remote_log_file = None + + 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 %s' % Open5gsSGWC.BINFILE) + if self._run_node.is_local(): + self.start_locally() + else: + self.start_remotely() + + def start_remotely(self): + remote_env = { 'LD_LIBRARY_PATH': self.remote_inst.child('lib') } + remote_lib = self.remote_inst.child('lib') + remote_binary = self.remote_inst.child('bin', Open5gsSGWC.BINFILE) + + args = (remote_binary, '-c', self.remote_config_file) + + self.process = self.rem_host.RemoteProcess(Open5gsSGWC.BINFILE, args, remote_env=remote_env) + self.testenv.remember_to_stop(self.process) + self.process.launch() + + def start_locally(self): + binary = self.inst.child('bin', Open5gsSGWC.BINFILE) + lib = self.inst.child('lib') + env = { 'LD_LIBRARY_PATH': util.prepend_library_path(lib) } + + args = (binary, '-c', os.path.abspath(self.config_file)) + + self.process = process.Process(self.name(), self.run_dir, args, env=env) + self.testenv.remember_to_stop(self.process) + self.process.launch() + + def configure(self, values): + self.run_dir = util.Dir(self.o5gs_epc.run_dir.new_dir(self.name())) + self.inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('open5gs', self._run_node.run_label()))) + if not os.path.isdir(self.inst.child('lib')): + raise log.Error('No lib/ in', self.inst) + if not self.inst.isfile('bin', Open5gsSGWC.BINFILE): + raise log.Error('No %s binary in' % Open5gsSGWC.BINFILE, self.inst) + + self.config_file = self.run_dir.child(Open5gsSGWC.CFGFILE) + self.log_file = self.run_dir.child(Open5gsSGWC.LOGFILE) + + 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(Open5gsSGWC.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(Open5gsSGWC.BINFILE)) + + self.remote_config_file = remote_run_dir.child(Open5gsSGWC.CFGFILE) + self.remote_log_file = remote_run_dir.child(Open5gsSGWC.LOGFILE) + + logfile = self.log_file if self._run_node.is_local() else self.remote_log_file + inst_prefix = str(self.inst) if self._run_node.is_local() else str(self.remote_inst) + config.overlay(values, dict(sgwc=dict(log_filename=logfile, + inst_prefix=inst_prefix))) + + self.dbg('OPEN5GS-SGWC CONFIG:\n' + pprint.pformat(values)) + + with open(self.config_file, 'w') as f: + r = template.render(Open5gsSGWC.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) + + def running(self): + return not self.process.terminated() + +# vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/obj/sgwu_open5gs.py b/src/osmo_gsm_tester/obj/sgwu_open5gs.py new file mode 100644 index 0000000..b97dd92 --- /dev/null +++ b/src/osmo_gsm_tester/obj/sgwu_open5gs.py @@ -0,0 +1,140 @@ +# osmo_gsm_tester: specifics for running an Open5GS sgwud process +# +# Copyright (C) 2021 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 ..core import log, util, config, template, process, remote +from ..core import schema +from . import epc + +def on_register_schemas(): + pass + +class Open5gsSGWU(log.Origin): + + REMOTE_DIR = '/osmo-gsm-tester-open5gs' + BINFILE = 'open5gs-sgwud' + CFGFILE = 'open5gs-sgwud.yaml' + LOGFILE = 'open5gs-sgwud.log' + + def __init__(self, testenv, o5gs_epc): + super().__init__(log.C_RUN, 'open5gs-sgwud') + self.testenv = testenv + self.o5gs_epc = o5gs_epc + self._run_node = o5gs_epc.run_node() + self.run_dir = None + self.config_file = None + self.log_file = None + self.process = None + self.rem_host = None + self.remote_inst = None + self.remote_config_file = None + self.remote_log_file = None + + 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 %s' % Open5gsSGWU.BINFILE) + if self._run_node.is_local(): + self.start_locally() + else: + self.start_remotely() + + def start_remotely(self): + remote_env = { 'LD_LIBRARY_PATH': self.remote_inst.child('lib') } + remote_lib = self.remote_inst.child('lib') + remote_binary = self.remote_inst.child('bin', Open5gsSGWU.BINFILE) + + args = (remote_binary, '-c', self.remote_config_file) + + self.process = self.rem_host.RemoteProcess(Open5gsSGWU.BINFILE, args, remote_env=remote_env) + self.testenv.remember_to_stop(self.process) + self.process.launch() + + def start_locally(self): + binary = self.inst.child('bin', Open5gsSGWU.BINFILE) + lib = self.inst.child('lib') + env = { 'LD_LIBRARY_PATH': util.prepend_library_path(lib) } + + # setting capabilities will later disable use of LD_LIBRARY_PATH from ELF loader -> modify RPATH instead. + self.log('Setting RPATH for open5gs-sgwud') + # open5gs-sgwud binary needs patchelf <= 0.9 (0.10 and current master fail) to avoid failing during patch. OS#4389, patchelf-GH#192. + util.change_elf_rpath(binary, util.prepend_library_path(lib), self.run_dir.new_dir('patchelf')) + # open5gs-sgwud requires CAP_NET_ADMIN to create tunnel devices: ioctl(TUNSETIFF): + self.log('Applying CAP_NET_ADMIN capability to open5gs-sgwud') + util.setcap_net_admin(binary, self.run_dir.new_dir('setcap_net_admin')) + + args = (binary, '-c', os.path.abspath(self.config_file)) + + self.process = process.Process(self.name(), self.run_dir, args, env=env) + self.testenv.remember_to_stop(self.process) + self.process.launch() + + def configure(self, values): + self.run_dir = util.Dir(self.o5gs_epc.run_dir.new_dir(self.name())) + self.inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('open5gs', self._run_node.run_label()))) + if not os.path.isdir(self.inst.child('lib')): + raise log.Error('No lib/ in', self.inst) + if not self.inst.isfile('bin', Open5gsSGWU.BINFILE): + raise log.Error('No %s binary in' % Open5gsSGWU.BINFILE, self.inst) + + self.config_file = self.run_dir.child(Open5gsSGWU.CFGFILE) + self.log_file = self.run_dir.child(Open5gsSGWU.LOGFILE) + + 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(Open5gsSGWU.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(Open5gsSGWU.BINFILE)) + + self.remote_config_file = remote_run_dir.child(Open5gsSGWU.CFGFILE) + self.remote_log_file = remote_run_dir.child(Open5gsSGWU.LOGFILE) + + logfile = self.log_file if self._run_node.is_local() else self.remote_log_file + inst_prefix = str(self.inst) if self._run_node.is_local() else str(self.remote_inst) + config.overlay(values, dict(sgwu=dict(log_filename=logfile, + inst_prefix=inst_prefix))) + + self.dbg('OPEN5GS-SGWU CONFIG:\n' + pprint.pformat(values)) + + with open(self.config_file, 'w') as f: + r = template.render(Open5gsSGWU.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) + + def running(self): + return not self.process.terminated() + +# vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/obj/smf_open5gs.py b/src/osmo_gsm_tester/obj/smf_open5gs.py new file mode 100644 index 0000000..5241dc2 --- /dev/null +++ b/src/osmo_gsm_tester/obj/smf_open5gs.py @@ -0,0 +1,158 @@ +# osmo_gsm_tester: specifics for running an Open5GS smfd process +# +# Copyright (C) 2021 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 ..core import log, util, config, template, process, remote +from ..core import schema +from . import epc + +def on_register_schemas(): + pass + +class Open5gsSMF(log.Origin): + + REMOTE_DIR = '/osmo-gsm-tester-open5gs' + BINFILE = 'open5gs-smfd' + CFGFILE = 'open5gs-smfd.yaml' + LOGFILE = 'open5gs-smfd.log' + DIAMETERFILE = 'open5gs-freediameter.conf' + + def __init__(self, testenv, o5gs_epc): + super().__init__(log.C_RUN, 'open5gs-smfd') + self.testenv = testenv + self.o5gs_epc = o5gs_epc + self._run_node = o5gs_epc.run_node() + self.run_dir = None + self.config_file = None + self.log_file = None + self.diameter_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_diameter_file = None + + 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 %s' % Open5gsSMF.BINFILE) + if self._run_node.is_local(): + self.start_locally() + else: + self.start_remotely() + + def start_remotely(self): + remote_env = { 'LD_LIBRARY_PATH': self.remote_inst.child('lib') } + remote_lib = self.remote_inst.child('lib') + remote_binary = self.remote_inst.child('bin', Open5gsSMF.BINFILE) + + args = (remote_binary, '-c', self.remote_config_file) + + self.process = self.rem_host.RemoteProcess(Open5gsSMF.BINFILE, args, remote_env=remote_env) + self.testenv.remember_to_stop(self.process) + self.process.launch() + + def start_locally(self): + binary = self.inst.child('bin', Open5gsSMF.BINFILE) + lib = self.inst.child('lib') + env = { 'LD_LIBRARY_PATH': util.prepend_library_path(lib) } + + args = (binary, '-c', os.path.abspath(self.config_file)) + + self.process = process.Process(self.name(), self.run_dir, args, env=env) + self.testenv.remember_to_stop(self.process) + self.process.launch() + + def configure(self, values): + self.run_dir = util.Dir(self.o5gs_epc.run_dir.new_dir(self.name())) + self.inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('open5gs', self._run_node.run_label()))) + if not os.path.isdir(self.inst.child('lib')): + raise log.Error('No lib/ in', self.inst) + if not self.inst.isfile('bin', Open5gsSMF.BINFILE): + raise log.Error('No %s binary in' % Open5gsSMF.BINFILE, self.inst) + + self.config_file = self.run_dir.child(Open5gsSMF.CFGFILE) + self.log_file = self.run_dir.child(Open5gsSMF.LOGFILE) + self.diameter_file = self.run_dir.child(Open5gsSMF.DIAMETERFILE) + + 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(Open5gsSMF.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(Open5gsSMF.BINFILE)) + + self.remote_config_file = remote_run_dir.child(Open5gsSMF.CFGFILE) + self.remote_log_file = remote_run_dir.child(Open5gsSMF.LOGFILE) + self.remote_diameter_file = remote_run_dir.child(Open5gsSMF.DIAMETERFILE) + + logfile = self.log_file if self._run_node.is_local() else self.remote_log_file + diameter_file = self.diameter_file if self._run_node.is_local() else self.remote_diameter_file + inst_prefix = str(self.inst) if self._run_node.is_local() else str(self.remote_inst) + config.overlay(values, dict(smf=dict(log_filename=logfile, + diameter_filename=diameter_file, + inst_prefix=inst_prefix))) + config.overlay(values, dict(diameter=dict(identity=self.diameter_name(), + inst_prefix=inst_prefix, + listen_address=self.o5gs_epc.addr(), + listen_port=self.diameter_port(), + connect_name=self.o5gs_epc.pcrf.diameter_name(), + connect_address=self.o5gs_epc.addr(), + connect_port=self.o5gs_epc.pcrf.diameter_port()))) + + self.dbg('OPEN5GS-SMF CONFIG:\n' + pprint.pformat(values)) + + with open(self.config_file, 'w') as f: + r = template.render(Open5gsSMF.CFGFILE, values) + self.dbg(r) + f.write(r) + + with open(self.diameter_file, 'w') as f: + r = template.render(Open5gsSMF.DIAMETERFILE, 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-diam-to-remote', self.diameter_file, self.remote_diameter_file) + + def running(self): + return not self.process.terminated() + + def diameter_name(self): + return 'smf' + + def diameter_port(self): + return 3868 + 3; + +# vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/obj/upf_open5gs.py b/src/osmo_gsm_tester/obj/upf_open5gs.py new file mode 100644 index 0000000..f22a6d7 --- /dev/null +++ b/src/osmo_gsm_tester/obj/upf_open5gs.py @@ -0,0 +1,147 @@ +# osmo_gsm_tester: specifics for running an Open%GS upfd process +# +# Copyright (C) 2021 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 ..core import log, util, config, template, process, remote +from ..core import schema +from . import epc + +def on_register_schemas(): + pass + +class Open5gsUPF(log.Origin): + + REMOTE_DIR = '/osmo-gsm-tester-open5gs' + BINFILE = 'open5gs-upfd' + CFGFILE = 'open5gs-upfd.yaml' + LOGFILE = 'open5gs-upfd.log' + DIAMETERFILE = 'open5gs-freediameter.conf' + + def __init__(self, testenv, o5gs_epc): + super().__init__(log.C_RUN, 'open5gs-upfd') + self.testenv = testenv + self.o5gs_epc = o5gs_epc + self._run_node = o5gs_epc.run_node() + self.run_dir = None + self.config_file = None + self.log_file = None + self.process = None + self.rem_host = None + self.remote_inst = None + self.remote_config_file = None + self.remote_log_file = None + + 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 %s' % Open5gsUPF.BINFILE) + if self._run_node.is_local(): + self.start_locally() + else: + self.start_remotely() + + def start_remotely(self): + remote_lib = self.remote_inst.child('lib') + remote_binary = self.remote_inst.child('bin', Open5gsUPF.BINFILE) + + # setting capabilities will later disable use of LD_LIBRARY_PATH from ELF loader -> modify RPATH instead. + self.log('Setting RPATH for open5gs-upfd') + self.rem_host.change_elf_rpath(remote_binary, remote_lib) + # open5gs-upfd requires CAP_NET_ADMIN to create tunnel devices: ioctl(TUNSETIFF): + self.log('Applying CAP_NET_ADMIN capability to open5gs-upfd') + self.rem_host.setcap_net_admin(remote_binary) + + args = (remote_binary, '-c', self.remote_config_file) + + self.process = self.rem_host.RemoteProcess(Open5gsUPF.BINFILE, args) + self.testenv.remember_to_stop(self.process) + self.process.launch() + + def start_locally(self): + binary = self.inst.child('bin', Open5gsUPF.BINFILE) + lib = self.inst.child('lib') + env = {} + + # setting capabilities will later disable use of LD_LIBRARY_PATH from ELF loader -> modify RPATH instead. + self.log('Setting RPATH for open5gs-upfd') + # open5gs-upfd binary needs patchelf <= 0.9 (0.10 and current master fail) to avoid failing during patch. OS#4389, patchelf-GH#192. + util.change_elf_rpath(binary, util.prepend_library_path(lib), self.run_dir.new_dir('patchelf')) + # open5gs-upfd requires CAP_NET_ADMIN to create tunnel devices: ioctl(TUNSETIFF): + self.log('Applying CAP_NET_ADMIN capability to open5gs-upfd') + util.setcap_net_admin(binary, self.run_dir.new_dir('setcap_net_admin')) + + args = (binary, '-c', os.path.abspath(self.config_file)) + + self.process = process.Process(self.name(), self.run_dir, args, env=env) + self.testenv.remember_to_stop(self.process) + self.process.launch() + + def configure(self, values): + self.run_dir = util.Dir(self.o5gs_epc.run_dir.new_dir(self.name())) + self.inst = util.Dir(os.path.abspath(self.testenv.suite().trial().get_inst('open5gs', self._run_node.run_label()))) + if not os.path.isdir(self.inst.child('lib')): + raise log.Error('No lib/ in', self.inst) + if not self.inst.isfile('bin', Open5gsUPF.BINFILE): + raise log.Error('No %s binary in' % Open5gsUPF.BINFILE, self.inst) + + self.config_file = self.run_dir.child(Open5gsUPF.CFGFILE) + self.log_file = self.run_dir.child(Open5gsUPF.LOGFILE) + + 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(Open5gsUPF.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(Open5gsUPF.BINFILE)) + + self.remote_config_file = remote_run_dir.child(Open5gsUPF.CFGFILE) + self.remote_log_file = remote_run_dir.child(Open5gsUPF.LOGFILE) + + logfile = self.log_file if self._run_node.is_local() else self.remote_log_file + inst_prefix = str(self.inst) if self._run_node.is_local() else str(self.remote_inst) + config.overlay(values, dict(upf=dict(log_filename=logfile, + inst_prefix=inst_prefix))) + + self.dbg('OPEN5GS-UPF CONFIG:\n' + pprint.pformat(values)) + + with open(self.config_file, 'w') as f: + r = template.render(Open5gsUPF.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) + + def running(self): + return not self.process.terminated() + +# vim: expandtab tabstop=4 shiftwidth=4 diff --git a/src/osmo_gsm_tester/templates/open5gs-freediameter.conf.tmpl b/src/osmo_gsm_tester/templates/open5gs-freediameter.conf.tmpl new file mode 100644 index 0000000..e3e0f5c --- /dev/null +++ b/src/osmo_gsm_tester/templates/open5gs-freediameter.conf.tmpl @@ -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 = "${diameter.identity}.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 = ${diameter.listen_port}; + +# 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 = 0; + +# 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 = "${diameter.listen_address}"; + + +############################################################## +## 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 = "${diameter.inst_prefix}/etc/freeDiameter/${diameter.identity}.cert.pem", "${diameter.inst_prefix}/etc/freeDiameter/${diameter.identity}.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 = "${diameter.inst_prefix}/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 = 30; + +# 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 = "${diameter.inst_prefix}/lib/freeDiameter/dbg_msg_dumps.fdx" : "0x8888"; +LoadExtension = "${diameter.inst_prefix}/lib/freeDiameter/dict_rfc5777.fdx"; +LoadExtension = "${diameter.inst_prefix}/lib/freeDiameter/dict_mip6i.fdx"; +LoadExtension = "${diameter.inst_prefix}/lib/freeDiameter/dict_nasreq.fdx"; +LoadExtension = "${diameter.inst_prefix}/lib/freeDiameter/dict_nas_mipv6.fdx"; +LoadExtension = "${diameter.inst_prefix}/lib/freeDiameter/dict_dcca.fdx"; +LoadExtension = "${diameter.inst_prefix}/lib/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 = "${diameter.connect_name}.localdomain" { ConnectTo = "${diameter.connect_address}"; Port = ${diameter.connect_port}; No_TLS; }; + + +############################################################## diff --git a/src/osmo_gsm_tester/templates/open5gs-hssd.yaml.tmpl b/src/osmo_gsm_tester/templates/open5gs-hssd.yaml.tmpl new file mode 100644 index 0000000..830e8cd --- /dev/null +++ b/src/osmo_gsm_tester/templates/open5gs-hssd.yaml.tmpl @@ -0,0 +1,85 @@ +db_uri: ${epc.db_uri} + +# +# logger: +# +# o Set OGS_LOG_INFO to all domain level +# - If `level` is omitted, the default level is OGS_LOG_INFO) +# - If `domain` is omitted, the all domain level is set from 'level' +# (Nothing is needed) +# +# o Set OGS_LOG_ERROR to all domain level +# - `level` can be set with none, fatal, error, warn, info, debug, trace +# level: error +# +# o Set OGS_LOG_DEBUG to mme/emm domain level +# level: debug +# domain: mme,emm +# +# o Set OGS_LOG_TRACE to all domain level +# level: trace +# domain: core,fd,hss,event,mem,sock +# +logger: + file: ${hss.log_filename} + level: debug + +hss: + freeDiameter: ${hss.diameter_filename} + +# +# parameter: +# +# o Number of output streams per SCTP associations. +# sctp_streams: 30 +# +# o Disable use of IPv4 addresses (only IPv6) +# no_ipv4: true +# +# o Disable use of IPv6 addresses (only IPv4) +# no_ipv6: true +# +# o Prefer IPv4 instead of IPv6 for estabishing new GTP connections. +# prefer_ipv4: true +# +# o Enable Multicast traffic to the UE +# multicast: true +# +# o Disable Stateless Address Autoconfiguration for IPv6 +# no_slaac: true +# +parameter: + +# +# max: +# +# o Maximum Number of UE per AMF/MME +# ue: 1024 +# o Maximum Number of gNB/eNB per AMF/MME +# gnb: 32 +# +max: + +# +# pool: +# +# o The default memory pool size was set assuming 1024 UEs. +# To connect more UEs, you need to increase the size further. +# +# - Pool-size 128 => 65536 Number +# - Pool-size 256 => 16384 Number +# - Pool-size 512 => 4096 Number +# - Pool-size 1024 => 1024 Number +# - Pool-size 2048 => 512 Number +# - Pool-size 8192 => 128 Number +# - Pool-size 1024*1024 => 8 Number +# +# 128: 65536 +# 256: 16384 +# 512: 4096 +# 1024: 1024 +# 2048: 512 +# 8192: 128 +# big: 8 +# +pool: diff --git a/src/osmo_gsm_tester/templates/open5gs-mmed.yaml.tmpl b/src/osmo_gsm_tester/templates/open5gs-mmed.yaml.tmpl new file mode 100644 index 0000000..9aec578 --- /dev/null +++ b/src/osmo_gsm_tester/templates/open5gs-mmed.yaml.tmpl @@ -0,0 +1,245 @@ +# +# logger: +# +# o Set OGS_LOG_INFO to all domain level +# - If `level` is omitted, the default level is OGS_LOG_INFO) +# - If `domain` is omitted, the all domain level is set from 'level' +# (Nothing is needed) +# +# o Set OGS_LOG_ERROR to all domain level +# - `level` can be set with none, fatal, error, warn, info, debug, trace +# level: error +# +# o Set OGS_LOG_DEBUG to mme/emm domain level +# level: debug +# domain: mme,emm +# +# o Set OGS_LOG_TRACE to all domain level +# level: trace +# domain: core,s1ap,nas,fd,gtp,mme,emm,esm,event,tlv,mem,sock +# +logger: + file: ${mme.log_filename} + level: debug + +mme: + freeDiameter: ${mme.diameter_filename} + s1ap: + - addr: ${epc.run_addr} + gtpc: + - addr: ${epc.run_addr} + gummei: + plmn_id: + mcc: ${epc.mcc} + mnc: ${epc.mnc} + mme_gid: 2 + mme_code: 1 + tai: + plmn_id: + mcc: ${epc.mcc} + mnc: ${epc.mnc} + tac: 7 + security: + integrity_order : [ EIA2, EIA1, EIA0 ] + ciphering_order : [ EEA0, EEA1, EEA2 ] + network_name: + full: Open5GS + mme_name: open5gs-mme0 + +# +# sgwc: +# +# +# +# o Specify SGW addresses the GTP-C must connect to +# +# o One SGW is defined. +# If prefer_ipv4 is not true, [fe80::2%lo] is selected. +# gtpc: +# addr: +# - 127.0.0.3 +# - fe80::2%lo +# +# o Two SGW are defined. MME selects SGW with round-robin manner per UE +# gtpc: +# - addr: 127.0.0.3 +# - addr: fe80::2%lo +# +# o Three SGW are defined. MME selects SGW with round-robin manner per UE +# gtpc: +# - addr +# - 127.0.0.3 +# - fe80::2%lo +# - addr +# - 127.0.0.22 +# - fe80::12%lo +# - name: sgw3.open5gs.org +# +# +# +# o Round-Robin +# +# gtpc: +# addr: 127.0.0.3 +# addr: 127.0.2.2 +# addr: 127.0.4.2 +# +# o SGW selection by eNodeB TAC +# (either single TAC or multiple TACs, DECIMAL representation) +# +# gtpc: +# - addr: 127.0.0.3 +# tac: 26000 +# - addr: 127.0.2.2 +# tac: [25000, 27000, 28000] +# +# o SGW selection by e_cell_id(28bit) +# (either single or multiple e_cell_id, HEX representation) +# +# gtpc: +# - addr: 127.0.0.3 +# e_cell_id: abcde01 +# - addr: 127.0.2.2 +# e_cell_id: [12345, a9413, 98765] +# +sgwc: + gtpc: + - addr: ${epc.run_addr} + port: 2125 + +# +# smf: +# +# +# +# o By default, the SMF uses the first SMF node. +# - To use a different APN for each SMF, specify gtpc.apn as the APN name. +# - If the HSS uses WebUI to set the SMF IP for each UE, +# you can use a specific SMF node for each UE. +# +# o Two SMF are defined. 127.0.0.4:2123 is used. +# [fe80::3%lo]:2123 is ignored. +# gtpc: +# - addr: 127.0.0.4 +# - addr: fe80::3%lo +# +# o One SMF is defined. if prefer_ipv4 is not true, +# [fe80::3%lo] is selected. +# gtpc: +# - addr: +# - 127.0.0.4 +# - fe80::3%lo +# +# o Two SMF are defined with a different APN. +# - Note that if SMF IP for UE is configured in HSS, +# the following configurion for this UE is ignored. +# gtpc: +# - addr: 127.0.0.4 +# apn: internet +# - addr: 127.0.0.5 +# apn: volte +# +# o If APN is omitted, the default APN uses the first SMF node. +# gtpc: +# - addr: 127.0.0.4 +# - addr: 127.0.0.5 +# apn: volte +smf: + gtpc: + - addr: ${epc.run_addr} + port: 2124 + +# +# parameter: +# +# o Number of output streams per SCTP associations. +# sctp_streams: 30 +# +# o Disable use of IPv4 addresses (only IPv6) +# no_ipv4: true +# +# o Disable use of IPv6 addresses (only IPv4) +# no_ipv6: true +# +# o Prefer IPv4 instead of IPv6 for estabishing new GTP connections. +# prefer_ipv4: true +# +# o Enable Multicast traffic to the UE +# multicast: true +# +# o Disable Stateless Address Autoconfiguration for IPv6 +# no_slaac: true +# +# o Use OAI UE +# - Remove HashMME in Security-mode command message +# - Use the length 1 of EPS network feature support in Attach accept message +# use_openair: true +# +parameter: + +# +# max: +# +# o Maximum Number of UE per AMF/MME +# ue: 1024 +# o Maximum Number of gNB/eNB per AMF/MME +# gnb: 32 +# +max: + +# +# pool: +# +# o The default memory pool size was set assuming 1024 UEs. +# To connect more UEs, you need to increase the size further. +# +# - Pool-size 128 => 65536 Number +# - Pool-size 256 => 16384 Number +# - Pool-size 512 => 4096 Number +# - Pool-size 1024 => 1024 Number +# - Pool-size 2048 => 512 Number +# - Pool-size 8192 => 128 Number +# - Pool-size 1024*1024 => 8 Number +# +# 128: 65536 +# 256: 16384 +# 512: 4096 +# 1024: 1024 +# 2048: 512 +# 8192: 128 +# big: 8 +# +pool: + +# +# sctp: +# +# o heartbit_interval : 5000 (5secs) +# o rto_initial : 3000 (3secs) +# o rto_min : 1000 (1sec) +# o rto_max : 5000 (5secs) +# o max_num_of_ostreams : 30 +# o max_num_of_istreams : 65535 +# o max_attempts : 4 +# o max_initial_timeout : 8000(8secs) +# o usrsctp_udp_port : 9899 +# +sctp: + +# +# time: +# +# o Message Wait Duration (Default : 10,000 ms = 10 seconds) +# +# o Message Wait Duration (3000 ms) +# message: +# duration: 3000 +# +# o Handover Wait Duration (Default : 300 ms) +# Time to wait for MME to send UEContextReleaseCommand +# to the source eNB after receiving HandoverNotify +# +# o Handover Wait Duration (500ms) +# handover: +# duration: 500 +time: diff --git a/src/osmo_gsm_tester/templates/open5gs-pcrfd.yaml.tmpl b/src/osmo_gsm_tester/templates/open5gs-pcrfd.yaml.tmpl new file mode 100644 index 0000000..d61d8ef --- /dev/null +++ b/src/osmo_gsm_tester/templates/open5gs-pcrfd.yaml.tmpl @@ -0,0 +1,87 @@ +db_uri: ${epc.db_uri} + +# +# logger: +# +# o Set OGS_LOG_INFO to all domain level +# - If `level` is omitted, the default level is OGS_LOG_INFO) +# - If `domain` is omitted, the all domain level is set from 'level' +# (Nothing is needed) +# +# o Set OGS_LOG_ERROR to all domain level +# - `level` can be set with none, fatal, error, warn, info, debug, trace +# level: error +# +# o Set OGS_LOG_DEBUG to mme/emm domain level +# level: debug +# domain: mme,emm +# +# o Set OGS_LOG_TRACE to all domain level +# level: trace +# domain: core,fd,pcrf,event,mem,sock +logger: + file: ${pcrf.log_filename} + +pcrf: + freeDiameter: ${pcrf.diameter_filename} + +# +# parameter: +# +# o Number of output streams per SCTP associations. +# sctp_streams: 30 +# +# o Disable use of IPv4 addresses (only IPv6) +# no_ipv4: true +# +# o Disable use of IPv6 addresses (only IPv4) +# no_ipv6: true +# +# o Prefer IPv4 instead of IPv6 for estabishing new GTP connections. +# prefer_ipv4: true +# +# o Enable Multicast traffic to the UE +# multicast: true +# +# o Disable Stateless Address Autoconfiguration for IPv6 +# no_slaac: true +# +# o Legacy support for pre-release LTE 11 devices to do calling +# - Replace IPv4/v6 local addr field in AAR Media-Subcomponent AVP by any +# no_ipv4v6_local_addr_in_packet_filter: true +# +parameter: + +# +# max: +# +# o Maximum Number of UE per AMF/MME +# ue: 1024 +# o Maximum Number of gNB/eNB per AMF/MME +# gnb: 32 +# +max: + +# +# pool: +# +# o The default memory pool size was set assuming 1024 UEs. +# To connect more UEs, you need to increase the size further. +# +# - Pool-size 128 => 65536 Number +# - Pool-size 256 => 16384 Number +# - Pool-size 512 => 4096 Number +# - Pool-size 1024 => 1024 Number +# - Pool-size 2048 => 512 Number +# - Pool-size 8192 => 128 Number +# - Pool-size 1024*1024 => 8 Number +# +# 128: 65536 +# 256: 16384 +# 512: 4096 +# 1024: 1024 +# 2048: 512 +# 8192: 128 +# big: 8 +# +pool: diff --git a/src/osmo_gsm_tester/templates/open5gs-sgwcd.yaml.tmpl b/src/osmo_gsm_tester/templates/open5gs-sgwcd.yaml.tmpl new file mode 100644 index 0000000..8d2bd1a --- /dev/null +++ b/src/osmo_gsm_tester/templates/open5gs-sgwcd.yaml.tmpl @@ -0,0 +1,183 @@ +# +# logger: +# +# o Set OGS_LOG_INFO to all domain level +# - If `level` is omitted, the default level is OGS_LOG_INFO) +# - If `domain` is omitted, the all domain level is set from 'level' +# (Nothing is needed) +# +# o Set OGS_LOG_ERROR to all domain level +# - `level` can be set with none, fatal, error, warn, info, debug, trace +# level: error +# +# o Set OGS_LOG_DEBUG to mme/emm domain level +# level: debug +# domain: mme,emm +# +# o Set OGS_LOG_TRACE to all domain level +# level: trace +# domain: core,pfcp,gtp,sgwc,event,tlv,mem,sock +# +logger: + file: ${sgwc.log_filename} + level: debug + +# +# sgwc: +# +# +# +# o GTP-C Server(127.0.0.3:2123, [fe80::2%lo]:2123) +# gtpc: +# addr: +# - 127.0.0.3 +# - fe80::2%lo +# +# o On SGW, Same Configuration(127.0.0.3:2123, +# [fe80::2%lo]:2123) as below. +# gtpc: +# - addr: 127.0.0.3 +# - addr: fe80::2%lo +# +# +# +# o PFCP Server(127.0.0.3:8805, ::1:8805) +# pfcp: +# - addr: 127.0.0.3 +# - addr: ::1 +# +# o PFCP-U Server(127.0.0.1:2152, [::1]:2152) +# pfcp: +# name: localhost +# +sgwc: + gtpc: + - addr: ${epc.run_addr} + port: 2125 + pfcp: + - addr: ${epc.run_addr} + port: 8805 + +# +# sgwu: +# +# > +# +# o PFCP Client(127.0.0.6:8805) +# +# pfcp: +# addr: 127.0.0.6 +# +# +# +# o Round-Robin +# (note that round robin can be disabled for a particular node +# by setting flag 'rr' to 0) +# +# sgwu: +# pfcp: +# - addr: 127.0.0.6 +# - addr: 127.0.0.12 +# rr: 0 +# - addr: 127.0.0.18 +# +# o SGWU selection by eNodeB TAC +# (either single TAC or multiple TACs, DECIMAL representation) +# +# sgwu: +# pfcp: +# - addr: 127.0.0.6 +# tac: 1 +# - addr: 127.0.0.12 +# tac: [3,5,8] +# +# o SGWU selection by UE's APN (either single APN or multiple APNs) +# +# sgwu: +# pfcp: +# - addr: 127.0.0.6 +# apn: ims +# - addr: 127.0.0.12 +# apn: [internet, web] +# +# o SGWU selection by CellID(e_cell_id: 28bit) +# (either single e_cell_id or multiple e_cell_id, HEX representation) +# +# sgwu: +# pfcp: +# - addr: 127.0.0.6 +# e_cell_id: 463 +# - addr: 127.0.0.12 +# e_cell_id: [123456789, 9413] +# +sgwu: + pfcp: + - addr: ${epc.run_addr} + port: 8806 + +# +# parameter: +# +# o Number of output streams per SCTP associations. +# sctp_streams: 30 +# +# o Disable use of IPv4 addresses (only IPv6) +# no_ipv4: true +# +# o Disable use of IPv6 addresses (only IPv4) +# no_ipv6: true +# +# o Prefer IPv4 instead of IPv6 for estabishing new GTP connections. +# prefer_ipv4: true +# +# o Enable Multicast traffic to the UE +# multicast: true +# +# o Disable Stateless Address Autoconfiguration for IPv6 +# no_slaac: true +# +parameter: + +# +# max: +# +# o Maximum Number of UE per AMF/MME +# ue: 1024 +# o Maximum Number of gNB/eNB per AMF/MME +# gnb: 32 +# +max: + +# +# pool: +# +# o The default memory pool size was set assuming 1024 UEs. +# To connect more UEs, you need to increase the size further. +# +# - Pool-size 128 => 65536 Number +# - Pool-size 256 => 16384 Number +# - Pool-size 512 => 4096 Number +# - Pool-size 1024 => 1024 Number +# - Pool-size 2048 => 512 Number +# - Pool-size 8192 => 128 Number +# - Pool-size 1024*1024 => 8 Number +# +# 128: 65536 +# 256: 16384 +# 512: 4096 +# 1024: 1024 +# 2048: 512 +# 8192: 128 +# big: 8 +# +pool: + +# +# time: +# +# o Message Wait Duration (Default : 10,000 ms = 10 seconds) +# +# o Message Wait Duration (3000 ms) +# message: +# duration: 3000 +time: diff --git a/src/osmo_gsm_tester/templates/open5gs-sgwud.yaml.tmpl b/src/osmo_gsm_tester/templates/open5gs-sgwud.yaml.tmpl new file mode 100644 index 0000000..27dd55c --- /dev/null +++ b/src/osmo_gsm_tester/templates/open5gs-sgwud.yaml.tmpl @@ -0,0 +1,138 @@ +# +# logger: +# +# o Set OGS_LOG_INFO to all domain level +# - If `level` is omitted, the default level is OGS_LOG_INFO) +# - If `domain` is omitted, the all domain level is set from 'level' +# (Nothing is needed) +# +# o Set OGS_LOG_ERROR to all domain level +# - `level` can be set with none, fatal, error, warn, info, debug, trace +# level: error +# +# o Set OGS_LOG_DEBUG to mme/emm domain level +# level: debug +# domain: mme,emm +# +# o Set OGS_LOG_TRACE to all domain level +# level: trace +# domain: core,pfcp,gtp,sgwu,event,tlv,mem,sock +# +logger: + file: ${sgwu.log_filename} + level: debug + +# +# sgwu: +# +# +# +# o PFCP Server(127.0.0.6:8805, ::1:8805) +# pfcp: +# - addr: 127.0.0.6 +# - addr: ::1 +# +# o PFCP-U Server(127.0.0.1:2152, [::1]:2152) +# pfcp: +# - name: localhost +# +# +# +# o GTP-U Server(127.0.0.6:2152, [::1]:2152) +# gtpu: +# - addr: 127.0.0.6 +# - addr: ::1 +# +# o GTP-U Server(127.0.0.1:2152, [::1]:2152) +# gtpu: +# - name: localhost +# +sgwu: + pfcp: + - addr: ${epc.run_addr} + port: 8806 + gtpu: + - addr: ${epc.run_addr} + port: 2152 + +# +# sgwc: +# +# > +# +# o PFCP Client(127.0.0.6:8805) +# +# pfcp: +# addr: 127.0.0.6 +# +sgwc: + pfcp: + - addr: ${epc.run_addr} + port: 8805 + +# +# parameter: +# +# o Number of output streams per SCTP associations. +# sctp_streams: 30 +# +# o Disable use of IPv4 addresses (only IPv6) +# no_ipv4: true +# +# o Disable use of IPv6 addresses (only IPv4) +# no_ipv6: true +# +# o Prefer IPv4 instead of IPv6 for estabishing new GTP connections. +# prefer_ipv4: true +# +# o Enable Multicast traffic to the UE +# multicast: true +# +# o Disable Stateless Address Autoconfiguration for IPv6 +# no_slaac: true +# +parameter: + +# +# max: +# +# o Maximum Number of UE per AMF/MME +# ue: 1024 +# o Maximum Number of gNB/eNB per AMF/MME +# gnb: 32 +# +max: + +# +# pool: +# +# o The default memory pool size was set assuming 1024 UEs. +# To connect more UEs, you need to increase the size further. +# +# - Pool-size 128 => 65536 Number +# - Pool-size 256 => 16384 Number +# - Pool-size 512 => 4096 Number +# - Pool-size 1024 => 1024 Number +# - Pool-size 2048 => 512 Number +# - Pool-size 8192 => 128 Number +# - Pool-size 1024*1024 => 8 Number +# +# 128: 65536 +# 256: 16384 +# 512: 4096 +# 1024: 1024 +# 2048: 512 +# 8192: 128 +# big: 8 +# +pool: + +# +# time: +# +# o Message Wait Duration (Default : 10,000 ms = 10 seconds) +# +# o Message Wait Duration (3000 ms) +# message: +# duration: 3000 +time: diff --git a/src/osmo_gsm_tester/templates/open5gs-smfd.yaml.tmpl b/src/osmo_gsm_tester/templates/open5gs-smfd.yaml.tmpl new file mode 100644 index 0000000..0e01337 --- /dev/null +++ b/src/osmo_gsm_tester/templates/open5gs-smfd.yaml.tmpl @@ -0,0 +1,506 @@ +# +# logger: +# +# o Set OGS_LOG_INFO to all domain level +# - If `level` is omitted, the default level is OGS_LOG_INFO) +# - If `domain` is omitted, the all domain level is set from 'level' +# (Nothing is needed) +# +# o Set OGS_LOG_ERROR to all domain level +# - `level` can be set with none, fatal, error, warn, info, debug, trace +# level: error +# +# o Set OGS_LOG_DEBUG to mme/emm domain level +# level: debug +# domain: mme,emm +# +# o Set OGS_LOG_TRACE to all domain level +# level: trace +# domain: core,pfcp,fd,pfcp,gtp,smf,event,tlv,mem,sock +# +logger: + file: ${smf.log_filename} +# +# smf: +# +# +# +# o SBI Server(http://:80) +# sbi: +# +# o SBI Server(http://:80) +# sbi: +# - addr: +# - 0.0.0.0 +# - ::0 +# port: 7777 +# +# o SBI Server(https://:443) +# sbi: +# tls: +# key: smf.key +# pem: smf.pem +# +# o SBI Server(https://127.0.0.4:443, http://[::1]:80) +# sbi: +# - addr: 127.0.0.4 +# tls: +# key: smf.key +# pem: smf.pem +# - addr: ::1 +# +# o SBI Server(http://smf.open5gs.org:80) +# sbi: +# name: smf.open5gs.org +# +# o SBI Server(http://127.0.0.4:7777) +# sbi: +# - addr: 127.0.0.4 +# port: 7777 +# +# o SBI Server(http://:80) +# sbi: +# dev: eth0 +# +# +# +# o PFCP Server(127.0.0.4:8805, ::1:8805) +# pfcp: +# - addr: 127.0.0.4 +# - addr: ::1 +# +# o PFCP-U Server(127.0.0.1:2152, [::1]:2152) +# pfcp: +# name: localhost +# +# +# +# o GTP-C Server(127.0.0.4:2123, [fe80::3%lo]:2123) +# gtpc: +# addr: +# - 127.0.0.4 +# - fe80::3%lo +# +# o On SMF, Same configuration +# (127.0.0.4:2123, [fe80::3%lo]:2123). +# gtpc: +# - addr: 127.0.0.4 +# - addr: fe80::3%lo +# +# > +# +# o GTP-U Server(127.0.0.4:2152, [::1]:2152) +# gtpu: +# - addr: 127.0.0.4 +# - addr: ::1 +# +# o GTP-U Server(127.0.0.1:2152, [::1]:2152) +# gtpu: +# name: localhost +# +# +# +# o IPv4 Pool +# subnet: +# addr: 10.45.0.1/16 +# +# o IPv4/IPv6 Pool +# subnet: +# - addr: 10.45.0.1/16 +# - addr: 2001:230:cafe::1/48 +# +# +# o Specific DNN/APN(e.g 'ims') uses 10.46.0.1/16, 2001:230:babe::1/48 +# +# subnet: +# - addr: 10.45.0.1/16 +# dnn: internet +# - addr: 2001:230:cafe::1/48 +# dnn: internet +# - addr: 10.46.0.1/16 +# dnn: ims +# - addr: 2001:230:babe::1/48 +# dnn: ims +# +# o Pool Range Sample +# subnet: +# - addr: 10.45.0.1/24 +# range: 10.45.0.100-10.45.0.200 +# +# subnet: +# - addr: 10.45.0.1/24 +# range: +# - 10.45.0.5-10.45.0.50 +# - 10.45.0.100- +# +# subnet: +# - addr: 10.45.0.1/24 +# range: +# - -10.45.0.200 +# - 10.45.0.210-10.45.0.220 +# +# subnet: +# - addr: 10.45.0.1/16 +# range: +# - 10.45.0.100-10.45.0.200 +# - 10.45.1.100-10.45.1.200 +# - addr: 2001:230:cafe::1/48 +# range: +# - 2001:230:cafe:a0::0-2001:230:cafe:b0::0 +# - 2001:230:cafe:c0::0-2001:230:cafe:d0::0 +# +# +# +# o Primary/Secondary can be configured. Others are ignored. +# +# dns: +# - 8.8.8.8 +# - 8.8.4.4 +# - 2001:4860:4860::8888 +# - 2001:4860:4860::8844 +# +# +# +# o Provisioning a limit on the size of the packets sent by the MS +# to avoid packet fragmentation in the backbone network +# between the MS and the GGSN/PGW and/or across the (S)Gi reference point) +# when some of the backbone links does not support +# packets larger then 1500 octets +# +# +# +# o Proxy Call Session Control Function +# +# p-cscf: +# - 127.0.0.1 +# - ::1 +# +# +# 1. SMF sends SmfInfo(S-NSSAI, DNN, TAI) to the NRF +# 2. NRF responds to AMF with SmfInfo during NF-Discovery. +# 3. AMF selects SMF based on S-NSSAI, DNN and TAI in SmfInfo. +# +# Note that if there is no SmfInfo, any AMF can select this SMF. +# +# o S-NSSAI[SST:1] and DNN[internet] - At least 1 DNN is required in S-NSSAI +# info: +# - s_nssai: +# - sst: 1 +# dnn: +# - internet +# +# o S-NSSAI[SST:1 SD:009000] and DNN[internet or ims] +# info: +# - s_nssai: +# - sst: 1 +# sd: 009000 +# dnn: +# - internet +# - ims +# +# o S-NSSAI[SST:1] and DNN[internet] and TAI[PLMN-ID:90170 TAC:1] +# info: +# - s_nssai: +# - sst: 1 +# dnn: +# - internet +# tai: +# - plmn_id: +# mcc: 901 +# mnc: 70 +# tac: 1 +# +# o If any of conditions below are met: +# - S-NSSAI[SST:1] and DNN[internet] and TAI[PLMN-ID:90170 TAC:1-9] +# - S-NSSAI[SST:2 SD:000080] and DNN[internet or ims] +# - S-NSSAI[SST:4] and DNN[internet] and TAI[PLMN-ID:90170 TAC:10-20,30-40] +# +# info: +# - s_nssai: +# - sst: 1 +# dnn: +# - internet +# tai: +# - plmn_id: +# mcc: 901 +# mnc: 70 +# range: +# - 1-9 +# - s_nssai: +# - sst: 2 +# sd: 000080 +# dnn: +# - internet +# - ims +# - s_nssai: +# - sst: 4 +# dnn: +# - internet +# tai: +# - plmn_id: +# mcc: 901 +# mnc: 70 +# range: +# - 10-20 +# - 30-40 +# +# o Complex Example +# info: +# - s_nssai: +# - sst: 1 +# dnn: +# - internet +# - sst: 1 +# sd: 000080 +# dnn: +# - internet +# - ims +# - sst: 1 +# sd: 009000 +# dnn: +# [internet, ims] +# - sst: 2 +# dnn: +# - internet +# - sst: 3 +# sd: 123456 +# dnn: +# - internet +# tai: +# - plmn_id: +# mcc: 901 +# mnc: 70 +# tac: [1, 2, 3] +# - plmn_id: +# mcc: 901 +# mnc: 70 +# tac: 4 +# - plmn_id: +# mcc: 901 +# mnc: 70 +# tac: +# - 5 +# - 6 +# - plmn_id: +# mcc: 901 +# mnc: 70 +# range: +# - 100-200 +# - 300-400 +# - plmn_id: +# mcc: 901 +# mnc: 70 +# range: +# - 500-600 +# - 700-800 +# - 900-1000 +# - s_nssai: +# - sst: 4 +# dnn: +# - internet +# tai: +# - plmn_id: +# mcc: 901 +# mnc: 70 +# tac: 99 +# + +smf: + sbi: + - addr: ${epc.run_addr} + port: 7777 + pfcp: + - addr: ${epc.run_addr} + port: 8808 + gtpc: + - addr: ${epc.run_addr} + port: 2124 + gtpu: + - addr: ${epc.run_addr} + port: 2153 + subnet: + - addr: 10.45.0.1/16 + - addr: 2001:230:cafe::1/48 + dns: + - 8.8.8.8 + - 8.8.4.4 + - 2001:4860:4860::8888 + - 2001:4860:4860::8844 + mtu: 1400 + freeDiameter: ${smf.diameter_filename} + +# +# nrf: +# +# > +# +# o SBI Client(http://127.0.0.1:7777) +# sbi: +# addr: 127.0.0.10 +# port: 7777 +# +# o SBI Client(https://127.0.0.10:443, http://nrf.open5gs.org:80) +# sbi: +# - addr: 127.0.0.10 +# tls: +# key: nrf.key +# pem: nrf.pem +# - name: nrf.open5gs.org +# +# o SBI Client(http://[fe80::1%lo]:80) +# If prefer_ipv4 is true, http://127.0.0.10:80 is selected. +# +# sbi: +# addr: +# - 127.0.0.10 +# - fe80::1%lo +# +nrf: + sbi: + - addr: + - ${epc.run_addr} + port: 7777 + +# +# upf: +# +# > +# +# o PFCP Client(127.0.0.7:8805) +# +# pfcp: +# addr: 127.0.0.7 +# +# +# +# o Round-Robin +# (note that round robin can be disabled for a particular node +# by setting flag 'rr' to 0) +# +# upf: +# pfcp: +# - addr: 127.0.0.7 +# - addr: 127.0.0.12 +# rr: 0 +# - addr: 127.0.0.19 +# +# o UPF selection by eNodeB TAC +# (either single TAC or multiple TACs, DECIMAL representation) +# +# upf: +# pfcp: +# - addr: 127.0.0.7 +# tac: 1 +# - addr: 127.0.0.12 +# tac: [3,5,8] +# +# o UPF selection by UE's DNN/APN (either single DNN/APN or multiple DNNs/APNs) +# +# upf: +# pfcp: +# - addr: 127.0.0.7 +# dnn: ims +# - addr: 127.0.0.12 +# dnn: [internet, web] +# +# o UPF selection by CellID(e_cell_id: 28bit, nr_cell_id: 36bit) +# (either single enb_id or multiple enb_ids, HEX representation) +# +# upf: +# pfcp: +# - addr: 127.0.0.7 +# e_cell_id: 463 +# - addr: 127.0.0.12 +# nr_cell_id: [123456789, 9413] +# +upf: + pfcp: + - addr: ${epc.run_addr} + port: 8807 + +# +# parameter: +# +# o Number of output streams per SCTP associations. +# sctp_streams: 30 +# +# o Disable use of IPv4 addresses (only IPv6) +# no_ipv4: true +# +# o Disable use of IPv6 addresses (only IPv4) +# no_ipv6: true +# +# o Prefer IPv4 instead of IPv6 for estabishing new GTP connections. +# prefer_ipv4: true +# +# o Enable Multicast traffic to the UE +# multicast: true +# +# o Disable Stateless Address Autoconfiguration for IPv6 +# no_slaac: true +# +parameter: + +# +# max: +# +# o Maximum Number of UE per AMF/MME +# ue: 1024 +# o Maximum Number of gNB/eNB per AMF/MME +# gnb: 32 +# +max: + +# +# pool: +# +# o The default memory pool size was set assuming 1024 UEs. +# To connect more UEs, you need to increase the size further. +# +# - Pool-size 128 => 65536 Number +# - Pool-size 256 => 16384 Number +# - Pool-size 512 => 4096 Number +# - Pool-size 1024 => 1024 Number +# - Pool-size 2048 => 512 Number +# - Pool-size 8192 => 128 Number +# - Pool-size 1024*1024 => 8 Number +# +# 128: 65536 +# 256: 16384 +# 512: 4096 +# 1024: 1024 +# 2048: 512 +# 8192: 128 +# big: 8 +# +pool: + +# +# time: +# +# o NF Instance Heartbeat (Default : 0) +# NFs will not send heart-beat timer in NFProfile +# NRF will send heart-beat timer in NFProfile +# +# o NF Instance Heartbeat (20 seconds) +# NFs will send heart-beat timer (20 seconds) in NFProfile +# NRF can change heart-beat timer in NFProfile +# +# nf_instance: +# heartbeat: 20 +# +# o Message Wait Duration (Default : 10,000 ms = 10 seconds) +# +# o Message Wait Duration (3000 ms) +# message: +# duration: 3000 +# +# o Handover Wait Duration (Default : 300 ms) +# Time to wait for SMF to send +# PFCP Session Modification Request(Remove Indirect Tunnel) to the UPF +# after sending Nsmf_PDUSession_UpdateSMContext Response(hoState:COMPLETED) +# +# o Handover Wait Duration (500ms) +# handover: +# duration: 500 +time: diff --git a/src/osmo_gsm_tester/templates/open5gs-upfd.yaml.tmpl b/src/osmo_gsm_tester/templates/open5gs-upfd.yaml.tmpl new file mode 100644 index 0000000..4f7a25d --- /dev/null +++ b/src/osmo_gsm_tester/templates/open5gs-upfd.yaml.tmpl @@ -0,0 +1,197 @@ +# +# logger: +# +# o Set OGS_LOG_INFO to all domain level +# - If `level` is omitted, the default level is OGS_LOG_INFO) +# - If `domain` is omitted, the all domain level is set from 'level' +# (Nothing is needed) +# +# o Set OGS_LOG_ERROR to all domain level +# - `level` can be set with none, fatal, error, warn, info, debug, trace +# level: error +# +# o Set OGS_LOG_DEBUG to mme/emm domain level +# level: debug +# domain: mme,emm +# +# o Set OGS_LOG_TRACE to all domain level +# level: trace +# domain: core,pfcp,gtp,upf,event,tlv,mem,sock +# +logger: + file: ${upf.log_filename} + +# +# upf: +# +# +# +# o PFCP Server(127.0.0.7:8805, ::1:8805) +# pfcp: +# - addr: 127.0.0.7 +# - addr: ::1 +# +# o PFCP-U Server(127.0.0.1:2152, [::1]:2152) +# pfcp: +# name: localhost +# +# > +# +# o GTP-U Server(127.0.0.7:2152, [::1]:2152) +# gtpu: +# - addr: 127.0.0.7 +# - addr: ::1 +# +# o GTP-U Server(127.0.0.1:2152, [::1]:2152) +# gtpu: +# name: localhost +# +# +# +# Note that you need to setup your UE network using TUN device. +# (ogstun, ogstun2, ogstunX, ..) +# +# o IPv4 Pool +# $ sudo ip addr add 10.45.0.1/16 dev ogstun +# +# subnet: +# addr: 10.45.0.1/16 +# +# o IPv4/IPv6 Pool +# $ sudo ip addr add 10.45.0.1/16 dev ogstun +# $ sudo ip addr add 2001:230:cafe::1/48 dev ogstun +# +# subnet: +# - addr: 10.45.0.1/16 +# - addr: 2001:230:cafe::1/48 +# +# +# o Specific DNN/APN(e.g 'ims') uses 10.46.0.1/16, 2001:230:babe::1/48 +# All other APNs use 10.45.0.1/16, 2001:230:cafe::1/48 +# $ sudo ip addr add 10.45.0.1/16 dev ogstun +# $ sudo ip addr add 10.46.0.1/16 dev ogstun +# $ sudo ip addr add 2001:230:cafe::1/48 dev ogstun +# $ sudo ip addr add 2001:230:babe::1/48 dev ogstun +# +# subnet: +# - addr: 10.45.0.1/16 +# dnn: internet +# - addr: 2001:230:cafe::1/48 +# dnn: internet +# - addr: 10.46.0.1/16 +# dnn: ims +# - addr: 2001:230:babe::1/48 +# dnn: ims +# +# o Multiple Devices (default: ogstun) +# $ sudo ip addr add 10.45.0.1/16 dev ogstun +# $ sudo ip addr add 2001:230:cafe::1/48 dev ogstun2 +# $ sudo ip addr add 10.46.0.1/16 dev ogstun3 +# $ sudo ip addr add 2001:230:babe::1/48 dev ogstun3 +# +# subnet: +# - addr: 10.45.0.1/16 +# dnn: internet +# - addr: 2001:230:cafe::1/48 +# dnn: internet +# dev: ogstun2 +# - addr: 10.46.0.1/16 +# dnn: ims +# dev: ogstun3 +# - addr: 2001:230:babe::1/48 +# dnn: ims +# dev: ogstun3 +# +upf: + pfcp: + - addr: ${epc.run_addr} + port: 8807 + gtpu: + - addr: ${epc.run_addr} + port: 2154 + subnet: + - addr: 10.45.0.1/16 + - addr: 2001:230:cafe::1/48 + +# +# smf: +# +# > +# +# o PFCP Client(127.0.0.3:8805) +# +# pfcp: +# addr: 127.0.0.3 +# +smf: + pfcp: + - addr: ${epc.run_addr} + port: 8808 + +# +# parameter: +# +# o Number of output streams per SCTP associations. +# sctp_streams: 30 +# +# o Disable use of IPv4 addresses (only IPv6) +# no_ipv4: true +# +# o Disable use of IPv6 addresses (only IPv4) +# no_ipv6: true +# +# o Prefer IPv4 instead of IPv6 for estabishing new GTP connections. +# prefer_ipv4: true +# +# o Enable Multicast traffic to the UE +# multicast: true +# +# o Disable Stateless Address Autoconfiguration for IPv6 +# no_slaac: true +# +# +parameter: + +# +# max: +# +# o Maximum Number of UE per AMF/MME +# ue: 1024 +# o Maximum Number of gNB/eNB per AMF/MME +# gnb: 32 +# +max: + +# +# pool: +# +# o The default memory pool size was set assuming 1024 UEs. +# To connect more UEs, you need to increase the size further. +# +# - Pool-size 128 => 65536 Number +# - Pool-size 256 => 16384 Number +# - Pool-size 512 => 4096 Number +# - Pool-size 1024 => 1024 Number +# - Pool-size 2048 => 512 Number +# - Pool-size 8192 => 128 Number +# - Pool-size 1024*1024 => 8 Number +# +# 128: 65536 +# 256: 16384 +# 512: 4096 +# 1024: 1024 +# 2048: 512 +# 8192: 128 +# big: 8 +# +pool: + +# +# time: +# +# o Message Wait Duration (Default : 10,000 ms = 10 seconds) +# +# o Message Wait Duration (3000 ms) +# message: +# duration: 3000 +time: diff --git a/sysmocom/defaults.conf b/sysmocom/defaults.conf index 69d9ed9..eeb2b83 100644 --- a/sysmocom/defaults.conf +++ b/sysmocom/defaults.conf @@ -101,6 +101,9 @@ enable_pcap: false log_all_level: warning +open5gsepc: + db_host: "localhost" + amarisoft: license_server_addr: 0.0.0.0 diff --git a/sysmocom/scenarios/cfg-epc-db at .conf b/sysmocom/scenarios/cfg-epc-db at .conf new file mode 100644 index 0000000..e6c79c4 --- /dev/null +++ b/sysmocom/scenarios/cfg-epc-db at .conf @@ -0,0 +1,3 @@ +config: + epc: + db_host: ${param1} -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/23476 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-gsm-tester Gerrit-Branch: master Gerrit-Change-Id: Iff8b88dc22d8f156572839abb48b0c1377c55e33 Gerrit-Change-Number: 23476 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 Mar 31 09:51:28 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 31 Mar 2021 09:51:28 +0000 Subject: Change in docker-playground[master]: ogt: Add support to build open5gs References: Message-ID: pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/docker-playground/+/23562 ) Change subject: ogt: Add support to build open5gs ...................................................................... ogt: Add support to build open5gs meson from open5gs requires debian10's version. physicial sysmocom OGT setup already migrated to debian10, do the same here. Related: SYS#4805 Change-Id: Id329726f93251b617219beeb674046065c30a436 --- M osmo-gsm-tester/Dockerfile M osmo-gsm-tester/jenkins.sh M osmo-gsm-tester/osmo-gsm-tester-master.sh M osmo-gsm-tester/resources.conf 4 files changed, 106 insertions(+), 20 deletions(-) git pull ssh://gerrit.osmocom.org:29418/docker-playground refs/changes/62/23562/1 diff --git a/osmo-gsm-tester/Dockerfile b/osmo-gsm-tester/Dockerfile index 8dea613..dc8ba1b 100644 --- a/osmo-gsm-tester/Dockerfile +++ b/osmo-gsm-tester/Dockerfile @@ -1,5 +1,6 @@ ARG USER FROM $USER/debian-buster-jenkins +ARG OGT_MASTER_ADDR="172.18.50.2" MAINTAINER Pau Espin Pedrol @@ -37,7 +38,8 @@ "git+https://github.com/podshumok/python-smpplib.git at master#egg=smpplib" \ pydbus \ pyusb \ - pysispm + pysispm \ + pymongo # Intall sshd: RUN apt-get update && apt-get install -y openssh-server @@ -51,13 +53,10 @@ /osmo-gsm-tester-srsenb \ /osmo-gsm-tester-srsepc \ /osmo-gsm-tester-trx \ - /osmo-gsm-tester-grbroker + /osmo-gsm-tester-grbroker \ + /osmo-gsm-tester-open5gs RUN chown -R jenkins:jenkins \ - /osmo-gsm-tester-srsue \ - /osmo-gsm-tester-srsenb \ - /osmo-gsm-tester-srsepc \ - /osmo-gsm-tester-trx \ - /osmo-gsm-tester-grbroker + /osmo-gsm-tester-* # Set a UTF-8 locale RUN sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && \ @@ -112,6 +111,45 @@ gnuradio && \ apt-get clean +# install open5gs dependencies: (mongodb not available in Debian) +# systemctl stuff: workaround for https://jira.mongodb.org/browse/SERVER-54386 +ADD https://www.mongodb.org/static/pgp/server-4.4.asc /tmp/mongodb-server-4.4.asc +RUN apt-key add /tmp/mongodb-server-4.4.asc && \ + echo "deb http://repo.mongodb.org/apt/debian buster/mongodb-org/4.4 main" > /etc/apt/sources.list.d/mongodb-org-4.4.list +RUN apt-get update && \ + systemctl_path=$(which systemctl) && \ + mv $systemctl_path /tmp/systemctl && \ + apt-get install -y --no-install-recommends mongodb-org && \ + apt-get clean && \ + mv /tmp/systemctl $systemctl_path && \ + sed -i "s/127.0.0.1/$OGT_MASTER_ADDR/g" /etc/mongod.conf + +# install open5gs dependencies: +RUN apt-get update && \ + 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 \ + libnghttp2-dev \ + libmicrohttpd-dev \ + libcurl4-gnutls-dev \ + libnghttp2-dev \ + meson && \ + apt-get clean + WORKDIR /tmp ARG OSMO_GSM_TESTER_BRANCH="master" diff --git a/osmo-gsm-tester/jenkins.sh b/osmo-gsm-tester/jenkins.sh index ae645e7..536e119 100755 --- a/osmo-gsm-tester/jenkins.sh +++ b/osmo-gsm-tester/jenkins.sh @@ -28,34 +28,45 @@ SRS_LTE_BRANCH=${SRS_LTE_BRANCH:-master} SRS_LTE_REPO_PREFIX=${SRS_LTE_REPO_PREFIX:-git at github.com:srsLTE} SRS_LTE_REPO_NAME=${SRS_LTE_REPO_NAME:-srsLTE} -have_repo_srslte() { +OPEN5GS_REPO_PREFIX=${OPEN5GS_REPO_PREFIX:-git at github.com:open5gs} +OPEN5GS_BRANCH=${OPEN5GS_BRANCH:-main} +have_repo() { + repo_prefix=$1 + repo_name=$2 + branch=$3 echo "srsLTE inst not provided, fetching it now and it will be build in container" - if [ -d "${TRIAL_DIR}/${SRS_LTE_REPO_NAME}" ]; then - git fetch -C ${TRIAL_DIR}/${SRS_LTE_REPO_NAME} + if [ -d "${TRIAL_DIR}/${repo_name}" ]; then + git fetch -C ${TRIAL_DIR}/${repo_name} else mkdir -p ${TRIAL_DIR} - git clone "${SRS_LTE_REPO_PREFIX}/${SRS_LTE_REPO_NAME}" "${TRIAL_DIR}/${SRS_LTE_REPO_NAME}" + git clone "${repo_prefix}/${repo_name}" "${TRIAL_DIR}/${repo_name}" fi # Figure out whether we need to prepend origin/ to find branches in upstream. # Doing this allows using git hashes instead of a branch name. - if git -C "${TRIAL_DIR}/${SRS_LTE_REPO_NAME}" rev-parse "origin/$SRS_LTE_BRANCH"; then - SRS_LTE_BRANCH="origin/$SRS_LTE_BRANCH" + if git -C "${TRIAL_DIR}/${repo_name}" rev-parse "origin/$branch"; then + branch="origin/$branch" fi - git -C "${TRIAL_DIR}/${SRS_LTE_REPO_NAME}" checkout -B build_branch "$SRS_LTE_BRANCH" - rm -rf "${TRIAL_DIR:?}/${SRS_LTE_REPO_NAME}/*" - git -C "${TRIAL_DIR}/${SRS_LTE_REPO_NAME}" reset --hard "$SRS_LTE_BRANCH" + git -C "${TRIAL_DIR}/${repo_name}" checkout -B build_branch "$branch" + rm -rf "${TRIAL_DIR:?}/${repo_name}/*" + git -C "${TRIAL_DIR}/${repo_name}" reset --hard "$branch" } - # If srsLTE trial not provided by user, fetch srsLTE git repo and let the container build it: if [ "x$(ls ${TRIAL_DIR}/srslte.*.tgz 2>/dev/null | wc -l)" = "x0" ]; then - have_repo_srslte + have_repo $SRS_LTE_REPO_PREFIX $SRS_LTE_REPO_NAME $SRS_LTE_BRANCH +fi + +# If open5gs trial not provided by user, fetch srsLTE git repo and let the container build it: +if [ "x$(ls ${TRIAL_DIR}/open5gs.*.tgz 2>/dev/null | wc -l)" = "x0" ]; then + have_repo $OPEN5GS_REPO_PREFIX "open5gs" $OPEN5GS_BRANCH + have_repo "https://github.com/open5gs" "freeDiameter" "open5gs" + mv "${TRIAL_DIR}/freeDiameter" "${TRIAL_DIR}/open5gs/subprojects" fi . ../jenkins-common.sh IMAGE_SUFFIX="${IMAGE_SUFFIX:-master}" docker_images_require \ - "debian-stretch-jenkins" \ + "debian-buster-jenkins" \ "osmo-gsm-tester" set_clean_up_trap diff --git a/osmo-gsm-tester/osmo-gsm-tester-master.sh b/osmo-gsm-tester/osmo-gsm-tester-master.sh index 4a32376..ae300c9 100755 --- a/osmo-gsm-tester/osmo-gsm-tester-master.sh +++ b/osmo-gsm-tester/osmo-gsm-tester-master.sh @@ -34,11 +34,47 @@ popd } +build_open5gs() { + git_repo_dir="/tmp/trial/open5gs" + if [ ! -d "$git_repo_dir" ]; then + echo "No external trial nor git repo provided for Open5GS!" + exit 1 + fi + pushd "/tmp/trial" + rm -rf sysroot && mkdir sysroot + rm -rf build && mkdir build && cd build || exit 1 + meson "${git_repo_dir}" --prefix="/tmp/trial/sysroot" --libdir="lib" + set +x; echo; echo; set -x + ninja "-j$(nproc)" + set +x; echo; echo; set -x + ninja install + find "/tmp/trial/sysroot/lib" -depth -type f -name "lib*.so.*" -exec patchelf --set-rpath '$ORIGIN/' {} \; + cd .. + this="open5gs.build-${BUILD_NUMBER-$(date +%Y-%m-%d_%H_%M_%S)}" + tar="${this}.tgz" + tar czf "/tmp/trial/$tar" -C "/tmp/trial/sysroot" . + rm -rf build sysroot + md5sum "$tar" >>checksums.md5 + popd +} + # Build srsLTE.git if not provided by host system: if [ "x$(ls /tmp/trial/srslte.*.tgz 2>/dev/null | wc -l)" = "x0" ]; then build_srslte fi +# Build open5gs.git if not provided by host system: +if [ "x$(ls /tmp/trial/open5gs.*.tgz 2>/dev/null | wc -l)" = "x0" ]; then + build_open5gs +fi + +# If open5gs is available, start mongodb in the background: +if [ "x$(ls /tmp/trial/open5gs.*.tgz 2>/dev/null | wc -l)" != "x0" ]; then + echo "Starting mongodb in the background..." + /usr/bin/mongod --fork --config /etc/mongod.conf --logpath /data/mongodb.log + chown "${HOST_USER_ID}:${HOST_GROUP_ID}" /data/mongodb.log +fi + # Make trial dir avaialable to jenkins user inside container: chown -R jenkins /tmp/trial/ diff --git a/osmo-gsm-tester/resources.conf b/osmo-gsm-tester/resources.conf index d10cc1e..1a8f2a7 100644 --- a/osmo-gsm-tester/resources.conf +++ b/osmo-gsm-tester/resources.conf @@ -56,7 +56,8 @@ rf_dev_type: zmq imsi: '001010123456789' ki: '00112233445566778899aabbccddeeff' - auth_algo: 'xor' + opc: '63BFA50EE6523365FF14C1F45F88737D' + auth_algo: 'milenage' features: ['4g'] run_node: run_type: ssh -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23562 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Id329726f93251b617219beeb674046065c30a436 Gerrit-Change-Number: 23562 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 Mar 31 14:52:54 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 31 Mar 2021 14:52:54 +0000 Subject: Change in osmo-pcu[master]: sba: Document AGCH_START_OFFSET after some experimental tests In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23511 ) Change subject: sba: Document AGCH_START_OFFSET after some experimental tests ...................................................................... Patch Set 4: (2 comments) https://gerrit.osmocom.org/c/osmo-pcu/+/23511/4/src/sba.c File src/sba.c: https://gerrit.osmocom.org/c/osmo-pcu/+/23511/4/src/sba.c at 39 PS4, Line 39: * for the MS to analyse the message and get ready to receive or transmit". typo: analyze https://gerrit.osmocom.org/c/osmo-pcu/+/23511/4/src/sba.c at 40 PS4, Line 40: * Hence, k=1 (offset=8-9) is hteoretically the minimum offset which could be typo: theoretically -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23511 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id1460207be25750aeb5c1d7af2fac6591cf5e424 Gerrit-Change-Number: 23511 Gerrit-PatchSet: 4 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-CC: dexter Gerrit-Comment-Date: Wed, 31 Mar 2021 14:52: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 Wed Mar 31 15:01:09 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 31 Mar 2021 15:01:09 +0000 Subject: Change in osmo-pcu[master]: pdch_ulc: Support picking RRBP other than N+13 In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23522 ) Change subject: pdch_ulc: Support picking RRBP other than N+13 ...................................................................... Patch Set 2: Code-Review+1 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23522 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ic6ddeea70e1f914cf423d0daab8fc492d0c992e2 Gerrit-Change-Number: 23522 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Comment-Date: Wed, 31 Mar 2021 15:01:09 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 31 15:07:31 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 31 Mar 2021 15:07:31 +0000 Subject: Change in libosmocore[master]: frame_relay: Export osmo_fr_network_free() In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/libosmocore/+/23545 ) Change subject: frame_relay: Export osmo_fr_network_free() ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/libosmocore/+/23545 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: libosmocore Gerrit-Branch: master Gerrit-Change-Id: I3f2a7e2fd1a4eda6bbed8510cf82951d73bb3f84 Gerrit-Change-Number: 23545 Gerrit-PatchSet: 1 Gerrit-Owner: laforge Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 31 Mar 2021 15:07:31 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 31 15:33:42 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 31 Mar 2021 15:33:42 +0000 Subject: Change in pysim[master]: ts_102_221: use keywords to avoid conflicts with positional args References: Message-ID: dexter has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/23563 ) Change subject: ts_102_221: use keywords to avoid conflicts with positional args ...................................................................... ts_102_221: use keywords to avoid conflicts with positional args The Change I83d718ff9c3ff6aef47930f38d7f50424f9b880f removes the keyword arguments from the CardProfile class constructor. This requires us to use the keywords during instantiation since we can not rely on the position anymore. Change-Id: Ia62597c59287848662dbbedcc38ba90f183c4aca --- M pySim/ts_102_221.py 1 file changed, 1 insertion(+), 1 deletion(-) git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/63/23563/1 diff --git a/pySim/ts_102_221.py b/pySim/ts_102_221.py index 256a697..b8fce1b 100644 --- a/pySim/ts_102_221.py +++ b/pySim/ts_102_221.py @@ -294,4 +294,4 @@ }, } - super().__init__('UICC', 'ETSI TS 102 221', files, sw) + super().__init__('UICC', desc='ETSI TS 102 221', files_in_mf=files, sw=sw) -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23563 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ia62597c59287848662dbbedcc38ba90f183c4aca Gerrit-Change-Number: 23563 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 Mar 31 15:35:14 2021 From: gerrit-no-reply at lists.osmocom.org (dexter) Date: Wed, 31 Mar 2021 15:35:14 +0000 Subject: Change in pysim[master]: ts_102_221: use keywords to avoid conflicts with positional args In-Reply-To: References: Message-ID: dexter has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23563 ) Change subject: ts_102_221: use keywords to avoid conflicts with positional args ...................................................................... Patch Set 1: There is a regression caused by 98f872bed170d7a6d10d8831418e992a38a87524 but I fixed it. -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23563 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ia62597c59287848662dbbedcc38ba90f183c4aca Gerrit-Change-Number: 23563 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: fixeria Gerrit-CC: Jenkins Builder Gerrit-Comment-Date: Wed, 31 Mar 2021 15:35:14 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: No Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 31 15:40:01 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 31 Mar 2021 15:40:01 +0000 Subject: Change in osmo-pcu[master]: sba: Document AGCH_START_OFFSET after some experimental tests In-Reply-To: References: Message-ID: Hello osmith, Jenkins Builder, Hoernchen, laforge, fixeria, daniel, lynxis lazus, I'd like you to reexamine a change. Please visit https://gerrit.osmocom.org/c/osmo-pcu/+/23511 to look at the new patch set (#5). Change subject: sba: Document AGCH_START_OFFSET after some experimental tests ...................................................................... sba: Document AGCH_START_OFFSET after some experimental tests Related: OS#5020 Change-Id: Id1460207be25750aeb5c1d7af2fac6591cf5e424 --- M src/sba.c 1 file changed, 18 insertions(+), 2 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/11/23511/5 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23511 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id1460207be25750aeb5c1d7af2fac6591cf5e424 Gerrit-Change-Number: 23511 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-CC: dexter Gerrit-MessageType: newpatchset -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 31 15:40:38 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 31 Mar 2021 15:40:38 +0000 Subject: Change in osmo-pcu[master]: pdch_ulc: Support picking RRBP other than N+13 In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23522 ) Change subject: pdch_ulc: Support picking RRBP other than N+13 ...................................................................... Patch Set 2: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23522 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ic6ddeea70e1f914cf423d0daab8fc492d0c992e2 Gerrit-Change-Number: 23522 Gerrit-PatchSet: 2 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 31 Mar 2021 15:40: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 Mar 31 15:40:48 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 31 Mar 2021 15:40:48 +0000 Subject: Change in osmo-pcu[master]: pdch_ulc: Store TBF poll reason In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23525 ) Change subject: pdch_ulc: Store TBF poll reason ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23525 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie8fefd1f47ad674ce597a8065b15284088956bde Gerrit-Change-Number: 23525 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 31 Mar 2021 15:40: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 Mar 31 15:47:53 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 31 Mar 2021 15:47:53 +0000 Subject: Change in osmo-pcu[master]: sba: Document AGCH_START_OFFSET after some experimental tests In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23511 ) Change subject: sba: Document AGCH_START_OFFSET after some experimental tests ...................................................................... Patch Set 5: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23511 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id1460207be25750aeb5c1d7af2fac6591cf5e424 Gerrit-Change-Number: 23511 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: dexter Gerrit-Comment-Date: Wed, 31 Mar 2021 15:47:53 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 31 15:48:16 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 31 Mar 2021 15:48:16 +0000 Subject: Change in osmo-pcu[master]: sba: Document AGCH_START_OFFSET after some experimental tests In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23511 ) Change subject: sba: Document AGCH_START_OFFSET after some experimental tests ...................................................................... sba: Document AGCH_START_OFFSET after some experimental tests Related: OS#5020 Change-Id: Id1460207be25750aeb5c1d7af2fac6591cf5e424 --- M src/sba.c 1 file changed, 18 insertions(+), 2 deletions(-) Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved diff --git a/src/sba.c b/src/sba.c index 2c3519d..3126893 100644 --- a/src/sba.c +++ b/src/sba.c @@ -33,8 +33,24 @@ #include "pdch.h" #include "pdch_ul_controller.h" -/* starting time for assigning single slot - * This offset must be a multiple of 13. */ +/* TBF Starting Time for assigning SBA. + * See TS 44.060 12.21 "Starting Frame Number Description". + * According to spec, k=0 (offset=4) "should not be used, so as to leave time + * for the MS to analyze the message and get ready to receive or transmit". + * Hence, k=1 (offset=8-9) is theoretically the minimum offset which could be + * used. + * + * However, it was found, empirically, that it takes around 30-40 FNs time for + * the Immediate Assignment message created with this "TBF Starting Time" to + * travel from PCU->BTS and be transmitted over CCCH on the Um interface. Hence, + * we must account for this delay here, otherwise the MS would be receiving eg. + * a TBF Starting Time of FN=40 while the Imm Assigned containing it is sent in + * eg. FN=50, which would be too late for the MS to answer to it. + * + * The situation described above, can even get worse on high BTS load for AGCH, + * since the Immediate Assignment will queue in the BTS waiting to be + * transmitted one after the other, hence increasing the required delay. + */ #define AGCH_START_OFFSET 52 -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23511 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Id1460207be25750aeb5c1d7af2fac6591cf5e424 Gerrit-Change-Number: 23511 Gerrit-PatchSet: 5 Gerrit-Owner: pespin Gerrit-Reviewer: Hoernchen Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: daniel Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: lynxis lazus Gerrit-Reviewer: osmith Gerrit-Reviewer: pespin Gerrit-CC: dexter Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 31 16:27:35 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 31 Mar 2021 16:27:35 +0000 Subject: Change in osmo-pcu[master]: pdch_ulc: Optimize rbtree FN search In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23519 ) Change subject: pdch_ulc: Optimize rbtree FN search ...................................................................... pdch_ulc: Optimize rbtree FN search Use logarithmic lookup algo to find if FN is available instead of iterating over the whole tree. Change-Id: I2843aedb5ce74c909bde82d29269d0f956e9a093 --- M src/pdch_ul_controller.c 1 file changed, 9 insertions(+), 6 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/pdch_ul_controller.c b/src/pdch_ul_controller.c index 3f3776d..e6e22a2 100644 --- a/src/pdch_ul_controller.c +++ b/src/pdch_ul_controller.c @@ -66,16 +66,19 @@ struct pdch_ulc_node *pdch_ulc_get_node(struct pdch_ulc *ulc, uint32_t fn) { - struct rb_node *node; + struct rb_node *node = ulc->tree_root.rb_node; struct pdch_ulc_node *it; int res; - for (node = rb_first(&ulc->tree_root); node; node = rb_next(node)) { - it = container_of(node, struct pdch_ulc_node, node); + + while (node) { + it = rb_entry(node, struct pdch_ulc_node, node); res = fn_cmp(it->fn, fn); - if (res == 0) /* it->fn == fn */ - return it; if (res > 0) /* it->fn AFTER fn */ - break; + node = node->rb_left; + else if (res < 0) /* it->fn BEFORE fn */ + node = node->rb_right; + else /* it->fn == fn */ + return it; } return NULL; } -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23519 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I2843aedb5ce74c909bde82d29269d0f956e9a093 Gerrit-Change-Number: 23519 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 Wed Mar 31 16:27:35 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 31 Mar 2021 16:27:35 +0000 Subject: Change in osmo-pcu[master]: Pick unreserved UL FN when allocating an SBA In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23520 ) Change subject: Pick unreserved UL FN when allocating an SBA ...................................................................... Pick unreserved UL FN when allocating an SBA Make sure an unreserved FN is picked and reserved when allocating and scheduling an SBA. In practice this has no change in behavior right now, since anyway using an offset of 52 FNs ensure no USF or POLL has alredy been scheduled that far in the future. Since it's also impossible to allocate more than 1 SBA per PDCH and RTS FN, we are also safe about multiple SBAs being allocated, because we use a hardcoded offset of 52. However, that could change in the future, when we dynamically tweak the current offset of 52 FN based on information from BTS about its AGCH queue load: * If load is high, we may need to increase the offset since it will take more time for the BTS to transmit the TBF and hence we must reserve a TBF starting time further in the future (higher FN). * If load turns low, we may schedule next SBA a bit more nearby in time than the previously allocated SBA, hence here there could be a collision. Related: OS#5020 Change-Id: I2d4e21e2307de6c17748e8da5c7e149c947a7eb9 --- M src/pdch_ul_controller.c M src/pdch_ul_controller.h M src/sba.c M tests/ulc/PdchUlcTest.cpp M tests/ulc/PdchUlcTest.ok 5 files changed, 64 insertions(+), 3 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved diff --git a/src/pdch_ul_controller.c b/src/pdch_ul_controller.c index e6e22a2..1ead3e9 100644 --- a/src/pdch_ul_controller.c +++ b/src/pdch_ul_controller.c @@ -128,6 +128,29 @@ return 0; } +/* Get next free (unreserved) FN which is not located in time before "start_fn" */ +uint32_t pdch_ulc_get_next_free_fn(struct pdch_ulc *ulc, uint32_t start_fn) +{ + struct rb_node *node; + struct pdch_ulc_node *it; + int res; + uint32_t check_fn = start_fn; + + for (node = rb_first(&ulc->tree_root); node; node = rb_next(node)) { + it = container_of(node, struct pdch_ulc_node, node); + res = fn_cmp(it->fn, check_fn); + if (res > 0) { /* it->fn AFTER check_fn */ + /* Next reserved FN is passed check_fn, hence it means check_fn is free */ + return check_fn; + } + /* if it->fn < check_fn, simply continue iterating, we want to reach at least check_fn */ + if (res == 0)/* it->fn == fn */ + check_fn = fn_next_block(check_fn); + /* if it->fn < check_fn, simply continue iterating, we want to reach at least check_fn */ + } + return check_fn; +} + static struct pdch_ulc_node *_alloc_node(struct pdch_ulc *ulc, uint32_t fn) { struct pdch_ulc_node *node; diff --git a/src/pdch_ul_controller.h b/src/pdch_ul_controller.h index 731cbe1..5339e90 100644 --- a/src/pdch_ul_controller.h +++ b/src/pdch_ul_controller.h @@ -71,6 +71,7 @@ bool pdch_ulc_fn_is_free(struct pdch_ulc *ulc, uint32_t fn); int pdch_ulc_get_next_free_rrbp_fn(struct pdch_ulc *ulc, uint32_t fn, uint32_t *poll_fn, unsigned int *rrbp); +uint32_t pdch_ulc_get_next_free_fn(struct pdch_ulc *ulc, uint32_t start_fn); struct pdch_ulc_node *pdch_ulc_get_node(struct pdch_ulc *ulc, uint32_t fn); struct pdch_ulc_node *pdch_ulc_pop_node(struct pdch_ulc *ulc, uint32_t fn); diff --git a/src/sba.c b/src/sba.c index 3126893..ce44fa5 100644 --- a/src/sba.c +++ b/src/sba.c @@ -57,15 +57,18 @@ struct gprs_rlcmac_sba *sba_alloc(void *ctx, struct gprs_rlcmac_pdch *pdch, uint8_t ta) { struct gprs_rlcmac_sba *sba; + uint32_t start_fn; + sba = talloc_zero(ctx, struct gprs_rlcmac_sba); if (!sba) return NULL; + /* TODO: Increase start_fn dynamically based on AGCH queue load in the BTS: */ + start_fn = next_fn(pdch->last_rts_fn, AGCH_START_OFFSET); + sba->pdch = pdch; sba->ta = ta; - - /* TODO: request ULC for next available FN instead of hardcoded AGCH_START_OFFSET */ - sba->fn = next_fn(pdch->last_rts_fn, AGCH_START_OFFSET); + sba->fn = pdch_ulc_get_next_free_fn(pdch->ulc, start_fn); pdch_ulc_reserve_sba(pdch->ulc, sba); return sba; diff --git a/tests/ulc/PdchUlcTest.cpp b/tests/ulc/PdchUlcTest.cpp index 0099101..f0e8dd9 100644 --- a/tests/ulc/PdchUlcTest.cpp +++ b/tests/ulc/PdchUlcTest.cpp @@ -212,6 +212,30 @@ printf("=== end: %s ===\n", __FUNCTION__); } +static void test_next_free_fn_sba() +{ + printf("=== start: %s ===\n", __FUNCTION__); + struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); + struct gprs_rlcmac_pdch *pdch = &bts->trx[0].pdch[0]; + struct gprs_rlcmac_sba *sba1, *sba2, *sba3, *sba4; + + pdch->last_rts_fn = 52; + printf("*** ALLOC 1 SBA FN=%" PRIu32 ":\n", pdch->last_rts_fn); + sba1 = sba_alloc(bts, pdch, 0); + print_ulc_nodes(pdch->ulc); + + pdch->last_rts_fn = 65; + printf("*** ALLOC 3 SBA FN=%" PRIu32 ":\n", pdch->last_rts_fn); + sba2 = sba_alloc(bts, pdch, 0); + sba3 = sba_alloc(bts, pdch, 0); + sba4 = sba_alloc(bts, pdch, 0); + print_ulc_nodes(pdch->ulc); + (void)sba1; (void)sba2; (void)sba3; (void)sba4; + + talloc_free(bts); + printf("=== end: %s ===\n", __FUNCTION__); +} + int main(int argc, char **argv) { tall_pcu_ctx = talloc_named_const(NULL, 1, "pdch_ulc test context"); @@ -231,6 +255,7 @@ test_reserve_multiple(); test_fn_wrap_around(); + test_next_free_fn_sba(); talloc_free(the_pcu); return EXIT_SUCCESS; diff --git a/tests/ulc/PdchUlcTest.ok b/tests/ulc/PdchUlcTest.ok index f20fb30..5bab5cc 100644 --- a/tests/ulc/PdchUlcTest.ok +++ b/tests/ulc/PdchUlcTest.ok @@ -247,3 +247,12 @@ FN=39 type=POLL *** EXPIRE FN=43: === end: test_fn_wrap_around === +=== start: test_next_free_fn_sba === +*** ALLOC 1 SBA FN=52: +FN=104 type=SBA +*** ALLOC 3 SBA FN=65: +FN=104 type=SBA +FN=117 type=SBA +FN=121 type=SBA +FN=125 type=SBA +=== end: test_next_free_fn_sba === -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23520 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I2d4e21e2307de6c17748e8da5c7e149c947a7eb9 Gerrit-Change-Number: 23520 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 Wed Mar 31 16:27:36 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 31 Mar 2021 16:27:36 +0000 Subject: Change in osmo-pcu[master]: pdch_ulc: Support picking RRBP other than N+13 In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23522 ) Change subject: pdch_ulc: Support picking RRBP other than N+13 ...................................................................... pdch_ulc: Support picking RRBP other than N+13 Current algo always tries to sched RRBP the soonest possible. Related: OS#5020 Change-Id: Ic6ddeea70e1f914cf423d0daab8fc492d0c992e2 --- M src/pcu_utils.h M src/pdch_ul_controller.c M src/pdch_ul_controller.h M tests/tbf/TbfTest.err M tests/ulc/PdchUlcTest.cpp M tests/ulc/PdchUlcTest.err M tests/ulc/PdchUlcTest.ok 7 files changed, 177 insertions(+), 12 deletions(-) Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, but someone else must approve dexter: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/src/pcu_utils.h b/src/pcu_utils.h index 1b90070..e1a8572 100644 --- a/src/pcu_utils.h +++ b/src/pcu_utils.h @@ -57,6 +57,12 @@ return (fn % 52) / 4; } +static inline bool fn_valid(uint32_t fn) +{ + uint32_t f = fn % 13; + return f == 0 || f == 4 || f == 8; +} + static inline unsigned fn_next_block(unsigned fn) { unsigned bn = fn2bn(fn) + 1; diff --git a/src/pdch_ul_controller.c b/src/pdch_ul_controller.c index 1ead3e9..6848d97 100644 --- a/src/pdch_ul_controller.c +++ b/src/pdch_ul_controller.c @@ -112,20 +112,43 @@ return !pdch_ulc_get_node(ulc, fn); } +struct rrbp_opt { + uint8_t offset; + enum rrbp_field coding; +}; + int pdch_ulc_get_next_free_rrbp_fn(struct pdch_ulc *ulc, uint32_t fn, uint32_t *poll_fn, unsigned int *rrbp) { - /* TODO: support other RRBP offsets, see TS 44.060 able 10.4.5.1 */ - uint32_t new_poll_fn = next_fn(fn, 13); - if (!pdch_ulc_fn_is_free(ulc, new_poll_fn)) { - LOGPDCH(ulc->pdch, DRLCMAC, LOGL_ERROR, "Polling is already scheduled " - "for single block allocation at FN=%u\n", fn); - return -EBUSY; + uint8_t i; + static const struct rrbp_opt rrbp_list[] = { + { 13, RRBP_N_plus_13 }, + { 17, RRBP_N_plus_17_18 }, + { 18, RRBP_N_plus_17_18 }, + { 21, RRBP_N_plus_21_22 }, + { 22, RRBP_N_plus_21_22 }, + { 26, RRBP_N_plus_26 }, + }; + + for (i = 0; i < ARRAY_SIZE(rrbp_list); i++) { + uint32_t new_poll_fn = next_fn(fn, rrbp_list[i].offset); + if (!fn_valid(new_poll_fn)) + continue; + if (pdch_ulc_fn_is_free(ulc, new_poll_fn)) { + LOGPDCH(ulc->pdch, DRLCMAC, LOGL_DEBUG, "POLL scheduled at FN %" PRIu32 + " + %" PRIu8 " = %" PRIu32 "\n", + fn, rrbp_list[i].offset, new_poll_fn); + *poll_fn = new_poll_fn; + *rrbp = (unsigned int)rrbp_list[i].coding; + return 0; + } + LOGPDCH(ulc->pdch, DRLCMAC, LOGL_DEBUG, "UL block already scheduled at FN %" PRIu32 + " + %" PRIu8 " = %" PRIu32 "\n", + fn, rrbp_list[i].offset, new_poll_fn); + } - - *poll_fn = new_poll_fn; - *rrbp = 0; - - return 0; + LOGPDCH(ulc->pdch, DRLCMAC, LOGL_ERROR, "FN=%" PRIu32 " " + "Failed allocating POLL, all RRBP values are already reserved!\n", fn); + return -EBUSY; } /* Get next free (unreserved) FN which is not located in time before "start_fn" */ diff --git a/src/pdch_ul_controller.h b/src/pdch_ul_controller.h index 5339e90..d5fea4d 100644 --- a/src/pdch_ul_controller.h +++ b/src/pdch_ul_controller.h @@ -30,6 +30,14 @@ struct gprs_rlcmac_ul_tbf; struct gprs_rlcmac_sba; +/* RRBP offsets, see TS 44.060 able 10.4.5.1 */ +enum rrbp_field { + RRBP_N_plus_13 = 0x0, + RRBP_N_plus_17_18 = 0x1, + RRBP_N_plus_21_22 = 0x2, + RRBP_N_plus_26 = 0x3, +}; + struct pdch_ulc { struct gprs_rlcmac_pdch *pdch; /* back pointer */ uint32_t last_fn; /* last FN rx from TDMA clock */ diff --git a/tests/tbf/TbfTest.err b/tests/tbf/TbfTest.err index 3b57d6a..76800b5 100644 --- a/tests/tbf/TbfTest.err +++ b/tests/tbf/TbfTest.err @@ -64,6 +64,7 @@ The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) appending 200 bytes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) appending 200 bytes +PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 0 + 13 = 13 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) New and old TBF are the same. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ @@ -153,6 +154,7 @@ The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) appending 200 bytes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) appending 200 bytes +PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 0 + 13 = 13 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) New and old TBF are the same. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ @@ -242,6 +244,7 @@ The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) appending 200 bytes TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) appending 200 bytes +PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 0 + 13 = 13 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) New and old TBF are the same. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ @@ -1544,6 +1547,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654270 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS +PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654270 + 13 = 2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) start Packet Uplink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- @@ -1628,6 +1632,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654270 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS +PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654270 + 13 = 2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) start Packet Uplink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- @@ -1679,6 +1684,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) appending 10 bytes Old MS: TLLI = 0xf1223344, TA = 7, IMSI = 0011223344, LLC = 1 Received RTS for PDCH: TRX=0 TS=7 FN=2654275 block_nr=9 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654275 + 13 = 2654288 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- @@ -1715,6 +1721,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). +PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654279 + 13 = 2654292 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Scheduled DL Acknowledgement polling on PACCH (FN=2654292, TS=7) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) starting timer T3191 [final block (DL-TBF)] with 5 sec. 0 microsec, cur_fn=2654288 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Scheduled Ack/Nack polling on FN=2654292, TS=7 @@ -1735,6 +1742,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Scheduling Ack/Nack polling, because polling timed out. +PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654296 + 13 = 2654309 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Scheduled DL Acknowledgement polling on PACCH (FN=2654309, TS=7) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) restarting timer T3191 [final block (DL-TBF)] with 5 sec. 0 microsec, cur_fn=2654292 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Scheduled Ack/Nack polling on FN=2654309, TS=7 @@ -1780,6 +1788,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Timeout for polling PACKET DOWNLINK ACK: |Assignment was on PACCH|No downlink ACK received yet| TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FINISHED) N3105 1 => 2 (< MAX 8) Received RTS for PDCH: TRX=0 TS=7 FN=2654348 block_nr=2 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654348 + 13 = 2654361 TBF(TFI=1 TLLI=0xf5667788 DIR=UL STATE=ASSIGN) start Packet Uplink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- @@ -1851,6 +1860,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: CS-1 -> CS-2 +PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654270 + 13 = 2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) start Packet Uplink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- @@ -1937,6 +1947,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) starting timer T3169 [allocation (UL-TBF)] with 5 sec. 0 microsec, cur_fn=2654327 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS +PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654327 + 13 = 2654340 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) start Packet Uplink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- @@ -1997,6 +2008,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: CS-1 -> CS-2 +PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654270 + 13 = 2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) start Packet Uplink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- @@ -2144,6 +2156,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xf1223344, IMSI=, TA=7, 1/0, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: CS-1 -> CS-2 +PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654270 + 13 = 2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN) start Packet Uplink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- @@ -2235,6 +2248,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) appending 13 bytes Old MS: TLLI = 0xf1223344, TA = 7, IMSI = 0011223344, LLC = 40 Received RTS for PDCH: TRX=0 TS=7 FN=2654275 block_nr=9 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654275 + 13 = 2654288 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- @@ -2649,6 +2663,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Copying data unit 0 (BSN 20) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Scheduling Ack/Nack polling, because 20 blocks sent. +PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654366 + 13 = 2654379 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Scheduled DL Acknowledgement polling on PACCH (FN=2654379, TS=7) TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) Scheduled Ack/Nack polling on FN=2654379, TS=7 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=FLOW) msg block (BSN 20, CS-1): 0f 00 28 16 35 45 54 20 32 38 4c 4c 43 20 50 41 43 4b 45 54 20 32 39 @@ -2897,6 +2912,7 @@ PDCH(bts=0,trx=0,ts=7) Expiring FN=2654379 but previous FN=2654374 is still reserved! PDCH(bts=0,trx=0,ts=7) Timeout for registered USF (FN=2654374): TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=RELEASING) N3101 22 => 23 (< MAX 10) +PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654400 + 13 = 2654413 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=ASSIGN) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- @@ -3118,6 +3134,7 @@ TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Copying 1 RLC blocks, 1 BSNs TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Copying data unit 0 (BSN 10) TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). +PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654448 + 13 = 2654461 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Scheduled DL Acknowledgement polling on PACCH (FN=2654461, TS=7) TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FINISHED) starting timer T3191 [final block (DL-TBF)] with 5 sec. 0 microsec, cur_fn=2654413 TBF(TFI=1 TLLI=0xf1223344 DIR=DL STATE=FINISHED) Scheduled Ack/Nack polling on FN=2654461, TS=7 @@ -3268,6 +3285,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: MCS-1 -> MCS-2 +PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654270 + 13 = 2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) start Packet Uplink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- @@ -3360,6 +3378,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: MCS-1 -> MCS-2 +PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654270 + 13 = 2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) start Packet Uplink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- @@ -3573,6 +3592,7 @@ TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) changes state from NULL to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 10 bytes +PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 0 + 13 = 13 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) New and old TBF are the same. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ @@ -3886,6 +3906,7 @@ TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) changes state from NULL to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 10 bytes +PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 0 + 13 = 13 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) New and old TBF are the same. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ @@ -4149,6 +4170,7 @@ TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) changes state from NULL to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 10 bytes +PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 0 + 13 = 13 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) New and old TBF are the same. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ @@ -4362,6 +4384,7 @@ TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) changes state from NULL to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 10 bytes +PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 0 + 13 = 13 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) New and old TBF are the same. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ @@ -4555,6 +4578,7 @@ TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) changes state from NULL to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 10 bytes +PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 0 + 13 = 13 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) New and old TBF are the same. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ @@ -4728,6 +4752,7 @@ TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) changes state from NULL to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 10 bytes +PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 0 + 13 = 13 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) New and old TBF are the same. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ @@ -4871,6 +4896,7 @@ TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) changes state from NULL to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 10 bytes +PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 0 + 13 = 13 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) New and old TBF are the same. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ @@ -5021,6 +5047,7 @@ TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) changes state from NULL to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 10 bytes +PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 0 + 13 = 13 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) New and old TBF are the same. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ @@ -5160,6 +5187,7 @@ TBF(TFI=0 TLLI=0xffffffff DIR=DL STATE=NULL EGPRS) changes state from NULL to FLOW The MS object cannot fully confirm an unexpected TLLI: 0xffeeddcc, partly confirmed TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) appending 10 bytes +PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 0 + 13 = 13 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) New and old TBF are the same. TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ @@ -5472,6 +5500,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). +PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 8 + 13 = 21 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=21, TS=4) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=21, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 1, MCS-5): 0f 40 00 08 d6 3f 4e 8e ce 0e 4f 8f cf 0f 50 90 d0 10 51 91 d1 11 52 92 d2 12 53 93 d3 13 54 94 d4 14 55 95 d5 15 56 96 d6 16 57 97 d7 17 58 98 d8 d8 ca ca ca ca ca ca ca ca ca 0a @@ -5549,6 +5578,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying 1 RLC blocks, 1 BSNs TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). +PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 8 + 13 = 21 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=21, TS=4) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=21, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 1, MCS-6): 0f 40 00 00 cd bf d2 12 53 93 d3 13 54 94 d4 14 55 95 d5 15 56 96 d6 16 57 97 d7 17 58 98 d8 d8 ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca ca 0a @@ -5621,6 +5651,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 1 (BSN 1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). +PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 4 + 13 = 17 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=17, TS=4) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=17, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-7): 0f 00 00 02 a0 01 04 08 0c 10 14 18 1c 20 24 28 2c 30 34 38 3c 40 44 48 4c 50 54 58 5c 60 64 68 6c 70 74 78 7c 80 84 88 8c 90 94 98 9c a0 a4 a8 ac b0 b4 b8 bc c0 c4 c8 cc d0 d4 d8 dc 80 f5 8f 93 a3 b3 c3 d3 e3 f3 03 14 24 34 44 54 64 74 84 94 a4 b4 c4 d4 e4 f4 04 15 25 35 45 55 65 75 85 95 a5 b5 c5 d5 e5 f5 05 16 26 36 b6 b2 b2 b2 b2 b2 b2 b2 b2 b2 02 @@ -5697,6 +5728,7 @@ TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 0 (BSN 0) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Copying data unit 1 (BSN 1) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduling Ack/Nack polling, because it was requested explicitly (e.g. first final block sent). +PDCH(bts=0,trx=0,ts=4) POLL scheduled at FN 4 + 13 = 17 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled DL Acknowledgement polling on UNKNOWN (FN=17, TS=4) TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) Scheduled Ack/Nack polling on FN=17, TS=4 TBF(TFI=0 TLLI=0xffeeddcc DIR=DL STATE=FLOW EGPRS) msg block (BSN 0, MCS-9): 0f 00 00 02 00 01 04 08 0c 10 14 18 1c 20 24 28 2c 30 34 38 3c 40 44 48 4c 50 54 58 5c 60 64 68 6c 70 74 78 7c 80 84 88 8c 90 94 98 9c a0 a4 a8 ac b0 b4 b8 bc c0 c4 c8 cc d0 d4 d8 dc e0 e4 e8 ec f0 f4 f8 fc 00 05 09 0d 11 15 19 1d 21 25 41 f3 af b4 c4 d4 e4 f4 04 15 25 35 45 55 65 75 85 95 a5 b5 c5 d5 e5 f5 05 16 26 36 b6 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 b2 02 @@ -6027,6 +6059,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: MCS-1 -> MCS-2 +PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654270 + 13 = 2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) start Packet Uplink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- @@ -6192,6 +6225,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: MCS-1 -> MCS-2 +PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654270 + 13 = 2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) start Packet Uplink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- @@ -6517,6 +6551,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) change control TS 7 -> 7 until assignment is complete. TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) changes UL ASS state from GPRS_RLCMAC_UL_ASS_NONE to GPRS_RLCMAC_UL_ASS_SEND_ASS MS(TLLI=0xf1223344, IMSI=, TA=7, 1/1, UL) Link quality 12dB (old 12dB) left window [-256, 6], modifying uplink CS level: MCS-1 -> MCS-2 +PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654270 + 13 = 2654283 TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=ASSIGN EGPRS) start Packet Uplink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Uplink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Uplink Assignment ------------------------- @@ -7295,6 +7330,7 @@ TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) changes UL ACK state from GPRS_RLCMAC_UL_ACK_NONE to GPRS_RLCMAC_UL_ACK_SEND_ACK TBF(TFI=0 TLLI=0xf1223344 DIR=UL STATE=FLOW EGPRS) changes UL ACK state from GPRS_RLCMAC_UL_ACK_SEND_ACK to GPRS_RLCMAC_UL_ACK_NONE Received RTS for PDCH: TRX=0 TS=7 FN=2654279 block_nr=10 scheduling USF=0 for required uplink resource of UL TFI=0 +PDCH(bts=0,trx=0,ts=7) POLL scheduled at FN 2654279 + 13 = 2654292 TBF(TFI=0 TLLI=0xf1223344 DIR=DL STATE=ASSIGN EGPRS) start Packet Downlink Assignment (PACCH) +++++++++++++++++++++++++ TX : Packet Downlink Assignment +++++++++++++++++++++++++ ------------------------- TX : Packet Downlink Assignment ------------------------- diff --git a/tests/ulc/PdchUlcTest.cpp b/tests/ulc/PdchUlcTest.cpp index f0e8dd9..3372d2f 100644 --- a/tests/ulc/PdchUlcTest.cpp +++ b/tests/ulc/PdchUlcTest.cpp @@ -236,6 +236,64 @@ printf("=== end: %s ===\n", __FUNCTION__); } +static void test_next_free_fn_rrbp() +{ + printf("=== start: %s ===\n", __FUNCTION__); + struct gprs_rlcmac_bts *bts = bts_alloc(the_pcu, 0); + struct gprs_rlcmac_pdch *pdch = &bts->trx[0].pdch[0]; + struct gprs_rlcmac_sba *sba1; + uint32_t poll_fn, curr_fn; + unsigned int rrbp; + int rc; + + rc = pdch_ulc_get_next_free_rrbp_fn(pdch->ulc, 26, &poll_fn, &rrbp); + OSMO_ASSERT(rc == 0); + OSMO_ASSERT(poll_fn == 26+13); + OSMO_ASSERT(rrbp == RRBP_N_plus_13); + + + pdch->last_rts_fn = 52; + printf("*** ALLOC 1 SBA FN=%" PRIu32 ":\n", pdch->last_rts_fn); + sba1 = sba_alloc(bts, pdch, 0); (void)sba1; + print_ulc_nodes(pdch->ulc); + curr_fn = sba1->fn - 13; + rc = pdch_ulc_get_next_free_rrbp_fn(pdch->ulc, curr_fn, &poll_fn, &rrbp); + OSMO_ASSERT(rc == 0); + printf("***NEXT FREE RRBP FN=%" PRIu32 ":\n", poll_fn); + OSMO_ASSERT(poll_fn == (curr_fn+17) || poll_fn == (curr_fn+18)); + OSMO_ASSERT(rrbp == RRBP_N_plus_17_18); + + pdch->last_rts_fn = fn_next_block(pdch->last_rts_fn); + printf("*** ALLOC 1 SBA FN=%" PRIu32 ":\n", pdch->last_rts_fn); + sba1 = sba_alloc(bts, pdch, 0); (void)sba1; + print_ulc_nodes(pdch->ulc); + rc = pdch_ulc_get_next_free_rrbp_fn(pdch->ulc, curr_fn, &poll_fn, &rrbp); + OSMO_ASSERT(rc == 0); + printf("***NEXT FREE RRBP FN=%" PRIu32 ":\n", poll_fn); + OSMO_ASSERT(poll_fn == (curr_fn+21) || poll_fn == (curr_fn+22)); + OSMO_ASSERT(rrbp == RRBP_N_plus_21_22); + + pdch->last_rts_fn = fn_next_block(pdch->last_rts_fn); + printf("*** ALLOC 1 SBA FN=%" PRIu32 ":\n", pdch->last_rts_fn); + sba1 = sba_alloc(bts, pdch, 0); (void)sba1; + print_ulc_nodes(pdch->ulc); + rc = pdch_ulc_get_next_free_rrbp_fn(pdch->ulc, curr_fn, &poll_fn, &rrbp); + OSMO_ASSERT(rc == 0); + printf("***NEXT FREE RRBP FN=%" PRIu32 ":\n", poll_fn); + OSMO_ASSERT(poll_fn == (curr_fn+26)); + OSMO_ASSERT(rrbp == RRBP_N_plus_26); + + pdch->last_rts_fn = fn_next_block(pdch->last_rts_fn); + printf("*** ALLOC 1 SBA FN=%" PRIu32 ":\n", pdch->last_rts_fn); + sba1 = sba_alloc(bts, pdch, 0); (void)sba1; + print_ulc_nodes(pdch->ulc); + rc = pdch_ulc_get_next_free_rrbp_fn(pdch->ulc, curr_fn, &poll_fn, &rrbp); + OSMO_ASSERT(rc == -EBUSY); + + talloc_free(bts); + printf("=== end: %s ===\n", __FUNCTION__); +} + int main(int argc, char **argv) { tall_pcu_ctx = talloc_named_const(NULL, 1, "pdch_ulc test context"); @@ -256,7 +314,7 @@ test_reserve_multiple(); test_fn_wrap_around(); test_next_free_fn_sba(); - + test_next_free_fn_rrbp(); talloc_free(the_pcu); return EXIT_SUCCESS; } diff --git a/tests/ulc/PdchUlcTest.err b/tests/ulc/PdchUlcTest.err index 34a090b..edc7a11 100644 --- a/tests/ulc/PdchUlcTest.err +++ b/tests/ulc/PdchUlcTest.err @@ -41,3 +41,18 @@ PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=34): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=RELEASING) PDCH(bts=0,trx=0,ts=0) Expiring FN=43 but previous FN=39 is still reserved! PDCH(bts=0,trx=0,ts=0) Timeout for registered POLL (FN=39): TBF(TFI=0 TLLI=0x12345678 DIR=DL STATE=RELEASING) +PDCH(bts=0,trx=0,ts=0) POLL scheduled at FN 26 + 13 = 39 +PDCH(bts=0,trx=0,ts=0) UL block already scheduled at FN 91 + 13 = 104 +PDCH(bts=0,trx=0,ts=0) POLL scheduled at FN 91 + 17 = 108 +PDCH(bts=0,trx=0,ts=0) UL block already scheduled at FN 91 + 13 = 104 +PDCH(bts=0,trx=0,ts=0) UL block already scheduled at FN 91 + 17 = 108 +PDCH(bts=0,trx=0,ts=0) POLL scheduled at FN 91 + 21 = 112 +PDCH(bts=0,trx=0,ts=0) UL block already scheduled at FN 91 + 13 = 104 +PDCH(bts=0,trx=0,ts=0) UL block already scheduled at FN 91 + 17 = 108 +PDCH(bts=0,trx=0,ts=0) UL block already scheduled at FN 91 + 21 = 112 +PDCH(bts=0,trx=0,ts=0) POLL scheduled at FN 91 + 26 = 117 +PDCH(bts=0,trx=0,ts=0) UL block already scheduled at FN 91 + 13 = 104 +PDCH(bts=0,trx=0,ts=0) UL block already scheduled at FN 91 + 17 = 108 +PDCH(bts=0,trx=0,ts=0) UL block already scheduled at FN 91 + 21 = 112 +PDCH(bts=0,trx=0,ts=0) UL block already scheduled at FN 91 + 26 = 117 +PDCH(bts=0,trx=0,ts=0) FN=91 Failed allocating POLL, all RRBP values are already reserved! diff --git a/tests/ulc/PdchUlcTest.ok b/tests/ulc/PdchUlcTest.ok index 5bab5cc..f61209c 100644 --- a/tests/ulc/PdchUlcTest.ok +++ b/tests/ulc/PdchUlcTest.ok @@ -256,3 +256,22 @@ FN=121 type=SBA FN=125 type=SBA === end: test_next_free_fn_sba === +=== start: test_next_free_fn_rrbp === +*** ALLOC 1 SBA FN=52: +FN=104 type=SBA +***NEXT FREE RRBP FN=108: +*** ALLOC 1 SBA FN=56: +FN=104 type=SBA +FN=108 type=SBA +***NEXT FREE RRBP FN=112: +*** ALLOC 1 SBA FN=60: +FN=104 type=SBA +FN=108 type=SBA +FN=112 type=SBA +***NEXT FREE RRBP FN=117: +*** ALLOC 1 SBA FN=65: +FN=104 type=SBA +FN=108 type=SBA +FN=112 type=SBA +FN=117 type=SBA +=== end: test_next_free_fn_rrbp === -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23522 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ic6ddeea70e1f914cf423d0daab8fc492d0c992e2 Gerrit-Change-Number: 23522 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 31 16:27:37 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 31 Mar 2021 16:27:37 +0000 Subject: Change in osmo-pcu[master]: Drop unused function tbf_check() In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23523 ) Change subject: Drop unused function tbf_check() ...................................................................... Drop unused function tbf_check() Change-Id: I90d75a75ae5b528c6ca7b409e60bd158d6043b35 --- M src/bts.cpp 1 file changed, 0 insertions(+), 9 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, approved dexter: Looks good to me, but someone else must approve fixeria: Looks good to me, approved diff --git a/src/bts.cpp b/src/bts.cpp index dc4159c..fee36be 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -467,15 +467,6 @@ meas->rssi, meas->link_qual, data, len); } -static inline bool tbf_check(gprs_rlcmac_tbf *tbf, uint32_t fn, uint8_t trx_no, uint8_t ts) -{ - if (tbf->state_is_not(GPRS_RLCMAC_RELEASING) && tbf->poll_scheduled() - && tbf->poll_fn == fn && tbf->trx->trx_no == trx_no && tbf->poll_ts == ts) - return true; - - return false; -} - /* lookup downlink TBF Entity (by TFI) */ struct gprs_rlcmac_dl_tbf *bts_dl_tbf_by_tfi(struct gprs_rlcmac_bts *bts, uint8_t tfi, uint8_t trx, uint8_t ts) { -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23523 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: I90d75a75ae5b528c6ca7b409e60bd158d6043b35 Gerrit-Change-Number: 23523 Gerrit-PatchSet: 3 Gerrit-Owner: pespin Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: dexter Gerrit-Reviewer: fixeria Gerrit-Reviewer: laforge Gerrit-Reviewer: pespin Gerrit-MessageType: merged -------------- next part -------------- An HTML attachment was scrubbed... URL: From gerrit-no-reply at lists.osmocom.org Wed Mar 31 16:27:38 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 31 Mar 2021 16:27:38 +0000 Subject: Change in osmo-pcu[master]: pdch_ulc: Store TBF poll reason In-Reply-To: References: Message-ID: pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-pcu/+/23525 ) Change subject: pdch_ulc: Store TBF poll reason ...................................................................... pdch_ulc: Store TBF poll reason This allows easily checking the initial reason to trigger the poll when either it is received or times out. Later on this reason can be transformed into an FSM event and sent to the related FSM. Related: OS#5020 Change-Id: Ie8fefd1f47ad674ce597a8065b15284088956bde --- M src/nacc_fsm.c M src/pdch.cpp M src/pdch_ul_controller.c M src/pdch_ul_controller.h M src/tbf.cpp M src/tbf.h M src/tbf_dl.cpp M src/tbf_ul.cpp M src/tbf_ul.h M tests/ulc/PdchUlcTest.cpp 10 files changed, 48 insertions(+), 43 deletions(-) Approvals: Jenkins Builder: Verified laforge: Looks good to me, but someone else must approve dexter: Looks good to me, but someone else must approve pespin: Looks good to me, approved diff --git a/src/nacc_fsm.c b/src/nacc_fsm.c index df7cd7d..6384fd5 100644 --- a/src/nacc_fsm.c +++ b/src/nacc_fsm.c @@ -206,7 +206,7 @@ LOGP(DNACC, LOGL_DEBUG, "------------------------- TX : Packet Cell Change Continue -------------------------\n"); rate_ctr_inc(&bts_rate_counters(ms->bts)->ctr[CTR_PKT_CELL_CHG_CONTINUE]); talloc_free(mac_control_block); - tbf_set_polling(tbf, *new_poll_fn, data->ts, GPRS_RLCMAC_POLL_CELL_CHG_CONTINUE); + tbf_set_polling(tbf, *new_poll_fn, data->ts, PDCH_ULC_POLL_CELL_CHG_CONTINUE); return msg; free_ret: diff --git a/src/pdch.cpp b/src/pdch.cpp index 45c7c98..22bac0b 100644 --- a/src/pdch.cpp +++ b/src/pdch.cpp @@ -306,6 +306,7 @@ uint32_t tlli = packet->TLLI; GprsMs *ms = bts_ms_by_tlli(bts(), tlli, GSM_RESERVED_TMSI); gprs_rlcmac_ul_tbf *ul_tbf; + enum pdch_ulc_tbf_poll_reason reason; struct pdch_ulc_node *poll; poll = pdch_ulc_get_node(ulc, fn); @@ -325,6 +326,7 @@ return; } tbf = poll->tbf_poll.poll_tbf; + reason = poll->tbf_poll.reason; /* Reset N3101 counter: */ tbf->n_reset(N3101); @@ -337,7 +339,7 @@ /* check if this control ack belongs to packet uplink ack */ ul_tbf = as_ul_tbf(tbf); - if (ul_tbf && ul_tbf->handle_ctrl_ack()) { + if (ul_tbf && ul_tbf->handle_ctrl_ack(reason)) { LOGPTBF(tbf, LOGL_DEBUG, "[UPLINK] END\n"); if (ul_tbf->ctrl_ack_to_toggle()) LOGPTBF(tbf, LOGL_NOTICE, "Recovered uplink ack for UL\n"); diff --git a/src/pdch_ul_controller.c b/src/pdch_ul_controller.c index 6848d97..8fb5582 100644 --- a/src/pdch_ul_controller.c +++ b/src/pdch_ul_controller.c @@ -220,11 +220,12 @@ return pdch_ulc_add_node(ulc, item); } -int pdch_ulc_reserve_tbf_poll(struct pdch_ulc *ulc, uint32_t fn, struct gprs_rlcmac_tbf *tbf) +int pdch_ulc_reserve_tbf_poll(struct pdch_ulc *ulc, uint32_t fn, struct gprs_rlcmac_tbf *tbf, enum pdch_ulc_tbf_poll_reason reason) { struct pdch_ulc_node *item = _alloc_node(ulc, fn); item->type = PDCH_ULC_NODE_TBF_POLL; item->tbf_poll.poll_tbf = tbf; + item->tbf_poll.reason = reason; return pdch_ulc_add_node(ulc, item); } @@ -317,7 +318,7 @@ LOGPDCH(ulc->pdch, DRLCMAC, LOGL_NOTICE, "Timeout for registered POLL (FN=%u): %s\n", item->fn, tbf_name(item->tbf_poll.poll_tbf)); - tbf_poll_timeout(item->tbf_poll.poll_tbf); + tbf_poll_timeout(item->tbf_poll.poll_tbf, item->tbf_poll.reason); break; case PDCH_ULC_NODE_SBA: sba = item->sba.sba; diff --git a/src/pdch_ul_controller.h b/src/pdch_ul_controller.h index d5fea4d..ff60d2f 100644 --- a/src/pdch_ul_controller.h +++ b/src/pdch_ul_controller.h @@ -52,6 +52,14 @@ }; extern const struct value_string pdch_ul_node_names[]; +enum pdch_ulc_tbf_poll_reason { + PDCH_ULC_POLL_UL_ASS, /* Expect CTRL ACK for UL ASS we transmit */ + PDCH_ULC_POLL_DL_ASS, /* Expect CTRL ACK for DL ASS we transmit */ + PDCH_ULC_POLL_UL_ACK, /* Expect CTRL ACK for UL ACK/NACK we transmit */ + PDCH_ULC_POLL_DL_ACK, /* Expect DL ACK/NACK requested by RRBP */ + PDCH_ULC_POLL_CELL_CHG_CONTINUE, /* Expect CTRL ACK for Pkt cell Change Continue we transmit */ +}; + struct pdch_ulc_node { struct rb_node node; /*! entry in pdch_ulc->tree_root */ uint32_t fn; @@ -62,6 +70,7 @@ } tbf_usf; struct { struct gprs_rlcmac_tbf *poll_tbf; + enum pdch_ulc_tbf_poll_reason reason; } tbf_poll; struct { struct gprs_rlcmac_sba *sba; @@ -73,7 +82,7 @@ struct pdch_ulc *pdch_ulc_alloc(struct gprs_rlcmac_pdch *pdch, void *ctx); int pdch_ulc_reserve_tbf_usf(struct pdch_ulc *ulc, uint32_t fn, struct gprs_rlcmac_ul_tbf *ul_tbf); -int pdch_ulc_reserve_tbf_poll(struct pdch_ulc *ulc, uint32_t fn, struct gprs_rlcmac_tbf *tbf); +int pdch_ulc_reserve_tbf_poll(struct pdch_ulc *ulc, uint32_t fn, struct gprs_rlcmac_tbf *tbf, enum pdch_ulc_tbf_poll_reason reason); int pdch_ulc_reserve_sba(struct pdch_ulc *ulc, struct gprs_rlcmac_sba *sba); bool pdch_ulc_fn_is_free(struct pdch_ulc *ulc, uint32_t fn); diff --git a/src/tbf.cpp b/src/tbf.cpp index a24f536..860b877 100644 --- a/src/tbf.cpp +++ b/src/tbf.cpp @@ -572,7 +572,7 @@ return 0; } -void gprs_rlcmac_tbf::set_polling(uint32_t new_poll_fn, uint8_t ts, enum gprs_rlcmac_tbf_poll_type t) +void gprs_rlcmac_tbf::set_polling(uint32_t new_poll_fn, uint8_t ts, enum pdch_ulc_tbf_poll_reason reason) { const char *chan = "UNKNOWN"; @@ -588,7 +588,7 @@ chan, new_poll_fn, ts); /* schedule polling */ - if (pdch_ulc_reserve_tbf_poll(trx->pdch[ts].ulc, new_poll_fn, this) < 0) { + if (pdch_ulc_reserve_tbf_poll(trx->pdch[ts].ulc, new_poll_fn, this, reason) < 0) { LOGPTBFDL(this, LOGL_ERROR, "Failed scheduling poll on %s (FN=%d, TS=%d)\n", chan, poll_fn, ts); return; @@ -597,37 +597,37 @@ poll_fn = new_poll_fn; poll_ts = ts; - switch (t) { - case GPRS_RLCMAC_POLL_UL_ASS: + switch (reason) { + case PDCH_ULC_POLL_UL_ASS: ul_ass_state = GPRS_RLCMAC_UL_ASS_WAIT_ACK; LOGPTBFDL(this, LOGL_INFO, "Scheduled UL Assignment polling on %s (FN=%d, TS=%d)\n", chan, poll_fn, poll_ts); break; - case GPRS_RLCMAC_POLL_DL_ASS: + case PDCH_ULC_POLL_DL_ASS: dl_ass_state = GPRS_RLCMAC_DL_ASS_WAIT_ACK; LOGPTBFDL(this, LOGL_INFO, "Scheduled DL Assignment polling on %s (FN=%d, TS=%d)\n", chan, poll_fn, poll_ts); break; - case GPRS_RLCMAC_POLL_UL_ACK: + case PDCH_ULC_POLL_UL_ACK: ul_ack_state = GPRS_RLCMAC_UL_ACK_WAIT_ACK; LOGPTBFUL(this, LOGL_DEBUG, "Scheduled UL Acknowledgement polling on %s (FN=%d, TS=%d)\n", chan, poll_fn, poll_ts); break; - case GPRS_RLCMAC_POLL_DL_ACK: + case PDCH_ULC_POLL_DL_ACK: LOGPTBFDL(this, LOGL_DEBUG, "Scheduled DL Acknowledgement polling on %s (FN=%d, TS=%d)\n", chan, poll_fn, poll_ts); break; - case GPRS_RLCMAC_POLL_CELL_CHG_CONTINUE: + case PDCH_ULC_POLL_CELL_CHG_CONTINUE: LOGPTBFDL(this, LOGL_DEBUG, "Scheduled 'Packet Cell Change Continue' polling on %s (FN=%d, TS=%d)\n", chan, poll_fn, poll_ts); break; } } -void gprs_rlcmac_tbf::poll_timeout() +void gprs_rlcmac_tbf::poll_timeout(enum pdch_ulc_tbf_poll_reason reason) { uint16_t pgroup; gprs_rlcmac_ul_tbf *ul_tbf = as_ul_tbf(this); @@ -637,7 +637,7 @@ poll_state = GPRS_RLCMAC_POLL_NONE; - if (ul_tbf && ul_tbf->handle_ctrl_ack()) { + if (ul_tbf && ul_tbf->handle_ctrl_ack(reason)) { if (!ul_tbf->ctrl_ack_to_toggle()) { LOGPTBF(this, LOGL_NOTICE, "Timeout for polling PACKET CONTROL ACK for PACKET UPLINK ACK: %s\n", @@ -945,7 +945,7 @@ bts_do_rate_ctr_inc(bts, CTR_PKT_DL_ASSIGNMENT); if (poll_ass_dl) { - set_polling(new_poll_fn, ts, GPRS_RLCMAC_POLL_DL_ASS); + set_polling(new_poll_fn, ts, PDCH_ULC_POLL_DL_ASS); } else { dl_ass_state = GPRS_RLCMAC_DL_ASS_NONE; TBF_SET_STATE(new_dl_tbf, GPRS_RLCMAC_FLOW); @@ -1048,7 +1048,7 @@ LOGP(DTBF, LOGL_DEBUG, "------------------------- TX : Packet Uplink Assignment -------------------------\n"); bts_do_rate_ctr_inc(bts, CTR_PKT_UL_ASSIGNMENT); - set_polling(new_poll_fn, ts, GPRS_RLCMAC_POLL_UL_ASS); + set_polling(new_poll_fn, ts, PDCH_ULC_POLL_UL_ASS); talloc_free(mac_control_block); return msg; @@ -1222,12 +1222,12 @@ return tbf->check_polling(fn, ts, poll_fn, rrbp); } -void tbf_set_polling(struct gprs_rlcmac_tbf *tbf, uint32_t new_poll_fn, uint8_t ts, enum gprs_rlcmac_tbf_poll_type t) +void tbf_set_polling(struct gprs_rlcmac_tbf *tbf, uint32_t new_poll_fn, uint8_t ts, enum pdch_ulc_tbf_poll_reason t) { return tbf->set_polling(new_poll_fn, ts, t); } -void tbf_poll_timeout(struct gprs_rlcmac_tbf *tbf) +void tbf_poll_timeout(struct gprs_rlcmac_tbf *tbf, enum pdch_ulc_tbf_poll_reason reason) { - tbf->poll_timeout(); + tbf->poll_timeout(reason); } diff --git a/src/tbf.h b/src/tbf.h index 779bc26..83c1b70 100644 --- a/src/tbf.h +++ b/src/tbf.h @@ -46,6 +46,7 @@ #include #include "coding_scheme.h" +#include #ifdef __cplusplus } #endif @@ -63,14 +64,6 @@ GPRS_RLCMAC_RELEASING, /* releasing, wait to free TBI/USF */ }; -enum gprs_rlcmac_tbf_poll_type { - GPRS_RLCMAC_POLL_UL_ASS, - GPRS_RLCMAC_POLL_DL_ASS, - GPRS_RLCMAC_POLL_UL_ACK, - GPRS_RLCMAC_POLL_DL_ACK, - GPRS_RLCMAC_POLL_CELL_CHG_CONTINUE, -}; - enum gprs_rlcmac_tbf_poll_state { GPRS_RLCMAC_POLL_NONE = 0, GPRS_RLCMAC_POLL_SCHED, /* a polling was scheduled */ @@ -208,8 +201,8 @@ uint8_t tbf_tfi(const struct gprs_rlcmac_tbf *tbf); int tbf_assign_control_ts(struct gprs_rlcmac_tbf *tbf); int tbf_check_polling(const struct gprs_rlcmac_tbf *tbf, uint32_t fn, uint8_t ts, uint32_t *poll_fn, unsigned int *rrbp); -void tbf_set_polling(struct gprs_rlcmac_tbf *tbf, uint32_t new_poll_fn, uint8_t ts, enum gprs_rlcmac_tbf_poll_type t); -void tbf_poll_timeout(struct gprs_rlcmac_tbf *tbf); +void tbf_set_polling(struct gprs_rlcmac_tbf *tbf, uint32_t new_poll_fn, uint8_t ts, enum pdch_ulc_tbf_poll_reason t); +void tbf_poll_timeout(struct gprs_rlcmac_tbf *tbf, enum pdch_ulc_tbf_poll_reason reason); #ifdef __cplusplus } #endif @@ -267,8 +260,8 @@ int check_polling(uint32_t fn, uint8_t ts, uint32_t *poll_fn, unsigned int *rrbp) const; - void set_polling(uint32_t poll_fn, uint8_t ts, enum gprs_rlcmac_tbf_poll_type t); - void poll_timeout(); + void set_polling(uint32_t poll_fn, uint8_t ts, enum pdch_ulc_tbf_poll_reason reason); + void poll_timeout(enum pdch_ulc_tbf_poll_reason reason); /** tlli handling */ uint32_t tlli() const; diff --git a/src/tbf_dl.cpp b/src/tbf_dl.cpp index 44baa00..a59b03b 100644 --- a/src/tbf_dl.cpp +++ b/src/tbf_dl.cpp @@ -975,7 +975,7 @@ rc = check_polling(fn, ts, &new_poll_fn, &rrbp); if (rc >= 0) { - set_polling(new_poll_fn, ts, GPRS_RLCMAC_POLL_DL_ACK); + set_polling(new_poll_fn, ts, PDCH_ULC_POLL_DL_ACK); m_tx_counter = 0; /* start timer whenever we send the final block */ diff --git a/src/tbf_ul.cpp b/src/tbf_ul.cpp index ba491f6..063d0ff 100644 --- a/src/tbf_ul.cpp +++ b/src/tbf_ul.cpp @@ -275,10 +275,10 @@ return false; /* GPRS_RLCMAC_FLAG_TO_UL_ACK was unset, now set */ } -bool gprs_rlcmac_ul_tbf::handle_ctrl_ack() +bool gprs_rlcmac_ul_tbf::handle_ctrl_ack(enum pdch_ulc_tbf_poll_reason reason) { /* check if this control ack belongs to packet uplink ack */ - if (ul_ack_state_is(GPRS_RLCMAC_UL_ACK_WAIT_ACK)) { + if (reason == PDCH_ULC_POLL_UL_ACK && ul_ack_state_is(GPRS_RLCMAC_UL_ACK_WAIT_ACK)) { TBF_SET_ACK_STATE(this, GPRS_RLCMAC_UL_ACK_NONE); return true; } @@ -324,7 +324,7 @@ m_contention_resolution_done = 1; if (final) { - set_polling(new_poll_fn, ts, GPRS_RLCMAC_POLL_UL_ACK); + set_polling(new_poll_fn, ts, PDCH_ULC_POLL_UL_ACK); /* waiting for final acknowledge */ m_final_ack_sent = 1; } else diff --git a/src/tbf_ul.h b/src/tbf_ul.h index e3de1da..a2ad25e 100644 --- a/src/tbf_ul.h +++ b/src/tbf_ul.h @@ -57,7 +57,7 @@ gprs_rlc_window *window(); struct msgb *create_ul_ack(uint32_t fn, uint8_t ts); bool ctrl_ack_to_toggle(); - bool handle_ctrl_ack(); + bool handle_ctrl_ack(enum pdch_ulc_tbf_poll_reason reason); /* blocks were acked */ int rcv_data_block_acknowledged( const struct gprs_rlc_data_info *rlc, diff --git a/tests/ulc/PdchUlcTest.cpp b/tests/ulc/PdchUlcTest.cpp index 3372d2f..84035d1 100644 --- a/tests/ulc/PdchUlcTest.cpp +++ b/tests/ulc/PdchUlcTest.cpp @@ -88,16 +88,16 @@ node = pdch_ulc_get_node(pdch->ulc, sba2->fn); OSMO_ASSERT(node->type == PDCH_ULC_NODE_SBA && node->sba.sba == sba2); - rc = pdch_ulc_reserve_tbf_poll(pdch->ulc, sba1->fn, tbf1); + rc = pdch_ulc_reserve_tbf_poll(pdch->ulc, sba1->fn, tbf1, PDCH_ULC_POLL_UL_ASS); OSMO_ASSERT(rc == -EEXIST); OSMO_ASSERT(pdch_ulc_get_tbf_poll(pdch->ulc, sba1->fn) == NULL); - rc = pdch_ulc_reserve_tbf_poll(pdch->ulc, sba2->fn, tbf1); + rc = pdch_ulc_reserve_tbf_poll(pdch->ulc, sba2->fn, tbf1, PDCH_ULC_POLL_UL_ASS); OSMO_ASSERT(rc == -EEXIST); OSMO_ASSERT(pdch_ulc_get_tbf_poll(pdch->ulc, sba2->fn) == NULL); /* Now Reserve correctly TBF1 */ OSMO_ASSERT(pdch_ulc_fn_is_free(pdch->ulc, tbf1_poll_fn1) == true); - rc = pdch_ulc_reserve_tbf_poll(pdch->ulc, tbf1_poll_fn1, tbf1); + rc = pdch_ulc_reserve_tbf_poll(pdch->ulc, tbf1_poll_fn1, tbf1, PDCH_ULC_POLL_UL_ASS); OSMO_ASSERT(rc == 0); OSMO_ASSERT(pdch_ulc_get_tbf_poll(pdch->ulc, tbf1_poll_fn1) == tbf1); OSMO_ASSERT(pdch_ulc_fn_is_free(pdch->ulc, tbf1_poll_fn1) == false); @@ -107,7 +107,7 @@ /* Now reserve correctly TBF2 */ OSMO_ASSERT(pdch_ulc_fn_is_free(pdch->ulc, tbf2_poll_fn1) == true); - rc = pdch_ulc_reserve_tbf_poll(pdch->ulc, tbf2_poll_fn1, tbf2); + rc = pdch_ulc_reserve_tbf_poll(pdch->ulc, tbf2_poll_fn1, tbf2, PDCH_ULC_POLL_UL_ASS); OSMO_ASSERT(rc == 0); OSMO_ASSERT(pdch_ulc_get_tbf_poll(pdch->ulc, tbf2_poll_fn1) == tbf2); OSMO_ASSERT(pdch_ulc_fn_is_free(pdch->ulc, tbf2_poll_fn1) == false); @@ -117,7 +117,7 @@ /* Now Reserve TBF1 for POLL again on a later FN, which is totally expected: */ OSMO_ASSERT(pdch_ulc_fn_is_free(pdch->ulc, tbf1_poll_fn2) == true); - rc = pdch_ulc_reserve_tbf_poll(pdch->ulc, tbf1_poll_fn2, tbf1); + rc = pdch_ulc_reserve_tbf_poll(pdch->ulc, tbf1_poll_fn2, tbf1, PDCH_ULC_POLL_UL_ASS); OSMO_ASSERT(rc == 0); OSMO_ASSERT(pdch_ulc_get_tbf_poll(pdch->ulc, tbf1_poll_fn2) == tbf1); OSMO_ASSERT(pdch_ulc_fn_is_free(pdch->ulc, tbf1_poll_fn2) == false); @@ -182,7 +182,7 @@ fn = start_fn; while (fn < 40 || fn >= start_fn) { printf("*** RESERVE FN=%" PRIu32 ":\n", fn); - rc = pdch_ulc_reserve_tbf_poll(pdch->ulc, fn, tbf1); + rc = pdch_ulc_reserve_tbf_poll(pdch->ulc, fn, tbf1, PDCH_ULC_POLL_UL_ASS); OSMO_ASSERT(rc == 0); print_ulc_nodes(pdch->ulc); fn = fn_next_block(fn); -- To view, visit https://gerrit.osmocom.org/c/osmo-pcu/+/23525 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-pcu Gerrit-Branch: master Gerrit-Change-Id: Ie8fefd1f47ad674ce597a8065b15284088956bde Gerrit-Change-Number: 23525 Gerrit-PatchSet: 2 Gerrit-Owner: pespin 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 Wed Mar 31 16:27:48 2021 From: gerrit-no-reply at lists.osmocom.org (pespin) Date: Wed, 31 Mar 2021 16:27:48 +0000 Subject: Change in docker-playground[master]: ogt: Add support to build open5gs In-Reply-To: References: Message-ID: pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/docker-playground/+/23562 ) Change subject: ogt: Add support to build open5gs ...................................................................... Patch Set 1: Verified+1 -- To view, visit https://gerrit.osmocom.org/c/docker-playground/+/23562 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: docker-playground Gerrit-Branch: master Gerrit-Change-Id: Id329726f93251b617219beeb674046065c30a436 Gerrit-Change-Number: 23562 Gerrit-PatchSet: 1 Gerrit-Owner: pespin Gerrit-Reviewer: pespin Gerrit-Comment-Date: Wed, 31 Mar 2021 16: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 Wed Mar 31 20:12:02 2021 From: gerrit-no-reply at lists.osmocom.org (fixeria) Date: Wed, 31 Mar 2021 20:12:02 +0000 Subject: Change in pysim[master]: ts_102_221: use keywords to avoid conflicts with positional args In-Reply-To: References: Message-ID: fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/pysim/+/23563 ) Change subject: ts_102_221: use keywords to avoid conflicts with positional args ...................................................................... Patch Set 1: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/c/pysim/+/23563 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: pysim Gerrit-Branch: master Gerrit-Change-Id: Ia62597c59287848662dbbedcc38ba90f183c4aca Gerrit-Change-Number: 23563 Gerrit-PatchSet: 1 Gerrit-Owner: dexter Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: fixeria Gerrit-Comment-Date: Wed, 31 Mar 2021 20:12:02 +0000 Gerrit-HasComments: No Gerrit-Has-Labels: Yes Gerrit-MessageType: comment -------------- next part -------------- An HTML attachment was scrubbed... URL: